Difference between revisions of "NPC equipment damage OXP"
Cholmondely (talk | contribs) (Added not about being broken on AppleMacs) |
Cholmondely (talk | contribs) (→Note on code: Changed from "Broken for everybody" to "Broken for Macs") |
||
Line 24: | Line 24: | ||
}</blockquote> |
}</blockquote> |
||
− | {{ |
+ | {{OXPNote|This OXP does ''not'' work on AppleMacs: see BB Discussion below for possible tweaks}} |
== License == |
== License == |
Revision as of 20:55, 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.
Contents
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