Difference between revisions of "NPC equipment damage OXP"

From Elite Wiki
m (oops!)
(Added not about being broken on AppleMacs)
Line 23: Line 23:
   
 
}</blockquote>
 
}</blockquote>
  +
  +
{{Broken-OXP|This OXP does not work on AppleMacs: see BB Discussion below for possible tweaks}}
   
 
== License ==
 
== License ==

Revision as of 19:34, 28 May 2021

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.


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.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}}}