NPC equipment damage OXP

From Elite Wiki
Revision as of 01:21, 21 December 2021 by Tsoj (talk | contribs)

Allows NPC equipment & cargo to get damaged in combat, just as happens to the player.

Overview

Ngalo was famous for pushing equal rights for NPC's. Just as the player gets shields, so too should the NPC's... But here the player is disadvantaged. So Ngalo evened things up here too...


Newest Version

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

This oxp also damages NPC cargo, because Oolite does both with the same code for the player.

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, fixing the manifest
  • 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

Download

Links


Tag-colour-blue.png

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