Difference between revisions of "NPC equipment damage OXP"
Cholmondely (talk | contribs) (→Note on code: Changed from "Broken for everybody" to "Broken for Macs") |
Cholmondely (talk | contribs) (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| |
+ | {{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] |
||
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.
Contents
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