From d0ec1c893e52b31ddd4e022737e8af30c0d68a62 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sat, 28 Nov 2020 23:36:34 +0100 Subject: [PATCH] Fix target healthbar boss detection --- language.version | 2 +- zscript/swwm_handler.zsc | 18 ++++++++++++++++++ zscript/swwm_thinkers.zsc | 1 - 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/language.version b/language.version index 13331037c..0f58bd7fe 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r647 \cu(Sat 28 Nov 22:14:35 CET 2020)"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r648 \cu(Sat 28 Nov 23:36:34 CET 2020)"; diff --git a/zscript/swwm_handler.zsc b/zscript/swwm_handler.zsc index a0719022a..d100d3948 100644 --- a/zscript/swwm_handler.zsc +++ b/zscript/swwm_handler.zsc @@ -1595,6 +1595,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 3; + if ( trk ) trk.bBOSS = true; } bosstag = "$BT_BRUISERS"; } @@ -1604,6 +1605,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 5; + if ( trk ) trk.bBOSS = true; } bosstag = "$BT_CYBIE"; } @@ -1613,6 +1615,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 6; + if ( trk ) trk.bBOSS = true; } bosstag = "$BT_SPIDER"; } @@ -1622,6 +1625,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 4; + if ( trk ) trk.bBOSS = true; } bosstag = "$BT_SPIDER2"; } @@ -1631,6 +1635,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 2; + if ( trk ) trk.bBOSS = true; } bosstag = "$BT_DIMPLE"; } @@ -1641,6 +1646,7 @@ Class SWWMHandler : EventHandler bossbrainactor = e.Thing; bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 40; // goodbye, instakills + if ( trk ) trk.bBOSS = true; } if ( e.Thing is 'BossEye' ) bossviewactor = e.Thing; @@ -1652,6 +1658,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 4; + if ( trk ) trk.bBOSS = true; } bosstag = "$BT_LICHES"; } @@ -1661,6 +1668,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 3; + if ( trk ) trk.bBOSS = true; } bosstag = "$BT_MINOTAUR"; } @@ -1670,6 +1678,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 2; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_DSPARIL"; } else if ( e.Thing is 'Sorcerer2' ) @@ -1679,6 +1688,7 @@ Class SWWMHandler : EventHandler initialized = false; bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 8; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_DSPARIL2"; } } @@ -1688,6 +1698,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 2; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_CLERIC"; } } @@ -1697,6 +1708,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 2; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_FIGHTER"; } } @@ -1706,6 +1718,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 2; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_MAGE"; } } @@ -1715,6 +1728,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 4; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_DRAGON"; } } @@ -1724,6 +1738,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 8; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_HERESIARCH"; } } @@ -1733,6 +1748,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 10; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_KORAX"; } } @@ -1742,6 +1758,7 @@ Class SWWMHandler : EventHandler { bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 5; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_ARCHANGELUS"; } else if ( e.Thing.GetClassName() == "ArchangelusB" ) @@ -1751,6 +1768,7 @@ Class SWWMHandler : EventHandler initialized = false; bossactors.Push(e.Thing); if ( upgrademe ) e.Thing.StartHealth = e.Thing.Health *= 5; + if ( trk ) trk.bBOSS = true; bosstag = "$BT_ARCHANGELUS"; } } diff --git a/zscript/swwm_thinkers.zsc b/zscript/swwm_thinkers.zsc index 4ef7768e3..0c21e84d2 100644 --- a/zscript/swwm_thinkers.zsc +++ b/zscript/swwm_thinkers.zsc @@ -948,7 +948,6 @@ Class SWWMCombatTracker : Thinker Console.Printf(StringTable.Localize("$SWWM_LTFORM"),mytag); } } - bBOSS = mytarget.bBOSS|(maxhealth>1000); bFRIENDLY = mytarget.bFRIENDLY; if ( mytarget.Health < lasthealth ) firsthit = true; lasthealth = mytarget.Health;