NPC equipment damage OXP

From Elite Wiki
Revision as of 03:35, 10 December 2021 by Cholmondely (talk | contribs) (Added newer versions (Phkb & Tsoj))

NPC Equipment Damage 0.2.1 by Ngalo

Does what it says on the tin: allows NPC equipment to get damaged in combat, as much like the core player damage handling as I can manage.

Also damages NPC cargo, because Oolite does both with the same code for the player.

Newest Version (not on Expansions Manager)

Tsoj found a few bugs (damage probability calculation was way too low compared to what Oolite does for the player, and a typo made the OXP incompatible with N-Shields), that he fixed.

Here is the new version: NPC Equipment Damage OXP 0.3.0. This includes the manifest fix by phkb.

Note on code

OXP equipment which needs to be disabled by script when damaged can push a handler onto the worldScripts.NPC_Equipment_Damage.NPC_equipmentDamagedHandlers array.

Note that such handlers will be called as if they were in the damaged ship's script, not your worldScript.


A simple example handler from my NPC Energy Units OXP:

this.NPC_energy_equipmentDamaged = function(equipment)

{

if (equipment == "EQ_NPC_NAVAL_ENERGY_UNIT") this.ship.energyRechargeRate /= worldScripts.NPC_Energy_Units.NEU_multiplier;

if (equipment == "EQ_NPC_ENERGY_UNIT") this.ship.energyRechargeRate /= worldScripts.NPC_Energy_Units.EEU_multiplier;

}

License

You may use, adapt, distribute etc. this Oolite Expansion Pack as permitted by the Creative Commons Attribution-NonCommercial-ShareAlike License (CC-BY-NC-SA).

Version history

  • 0.3.0 Tsoj made the oxp fairer to players, and fixed compatibility with N-Shields
  • 0.2.3 Phkb made the oxp AppleMac compliant
  • 0.2.1 Added a small fix which prevents time-wasting if the damaged ship is about to die anyway.
  • 0.2 Made use of compatibility improvements in Ship Configuration OXP.
    • Prevented the script from trying to damage equipment which is already damaged, or which can't be damaged at all.
  • 0.1.1 Fixed 'quantity is not defined' bug in cargo damage code
  • 0.1 Initial WIP release

Links

Discussion

Tag-colour-blue.png

Levelindicator0.png
0-{{{2}}}