Difference between revisions of "NPC equipment damage OXP"

From Elite Wiki
(Note on code: Changed from "Broken for everybody" to "Broken for Macs")
(Added newer versions (Phkb & Tsoj))
Line 5: Line 5:
 
Also damages NPC cargo, because Oolite does both with the same code for the player.
 
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.
  
==Note on code==
+
Here is the new version: [https://app.box.com/s/y7e38xnfsuoraochjpt76u72b4smzzaq 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.
 
OXP equipment which needs to be disabled by script when damaged can push a handler onto the worldScripts.NPC_Equipment_Damage.NPC_equipmentDamagedHandlers array.
  
Line 24: Line 28:
 
}</blockquote>
 
}</blockquote>
  
{{OXPNote|This OXP does ''not'' work on AppleMacs: see BB Discussion below for possible tweaks}}
+
{{OXPNote|The current Expansions Manager version of this OXP does ''not'' work on AppleMacs: see BB Discussion below for better versions}}
  
 
== License ==
 
== License ==
Line 30: Line 34:
  
 
== Version history ==
 
== 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.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.
+
*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.
 
**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.1 Fixed 'quantity is not defined' bug in cargo damage code
 
*0.1 Initial WIP release
 
*0.1 Initial WIP release
  
==Links==
+
== Links ==
 
[http://www.aegidian.org/bb/viewtopic.php?f=4&t=18139|BB Discussion]
 
[http://www.aegidian.org/bb/viewtopic.php?f=4&t=18139|BB Discussion]
  
 
[[File:Tag-colour-blue.png]]{{OXPLevel|0}}
 
[[File:Tag-colour-blue.png]]{{OXPLevel|0}}
 
{{mechanics-OXP}}
 
{{mechanics-OXP}}

Revision as of 04:35, 10 December 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.

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