Healthbar tweaks for compatibility with mods that dynamically change monster tags.
This commit is contained in:
parent
f5694bc630
commit
d93432f2ed
3 changed files with 22 additions and 3 deletions
|
|
@ -335,6 +335,7 @@ Class SWWMQuickCombatTracker : Inventory
|
|||
SmoothLinearValueInterpolator intpl;
|
||||
PlayerInfo myplayer; // for multiplayer compatibility (this breaks inventory logic, but alas...)
|
||||
String mytag;
|
||||
bool PMHack;
|
||||
|
||||
void UpdateTag( SWWMHandler hnd )
|
||||
{
|
||||
|
|
@ -367,6 +368,14 @@ Class SWWMQuickCombatTracker : Inventory
|
|||
Super.AttachToOwner(other);
|
||||
}
|
||||
|
||||
override bool HandlePickup( Inventory item )
|
||||
{
|
||||
// force update tag if Grace of Lilith has glitched our owner
|
||||
if ( item.GetClassName() == 'CCards_Token_Glitched' )
|
||||
UpdateTag();
|
||||
return Super.HandlePickup(item);
|
||||
}
|
||||
|
||||
static SWWMQuickCombatTracker Update( SWWMHandler hnd, PlayerInfo p, Actor target, int damage = 0 )
|
||||
{
|
||||
// no-damage entities get no healthbars
|
||||
|
|
@ -421,6 +430,15 @@ Class SWWMQuickCombatTracker : Inventory
|
|||
t.fadein = 0;
|
||||
t.lvheight = target.Height;
|
||||
t.UpdateTag(hnd);
|
||||
// hack for some Project Malice void monsters that regularly change tags
|
||||
switch ( target.GetClassName() )
|
||||
{
|
||||
case 'PM_EntropicAvatar':
|
||||
case 'PM_Broken':
|
||||
case 'PM_VoidFloater':
|
||||
t.PMHack = true;
|
||||
break;
|
||||
}
|
||||
return t;
|
||||
}
|
||||
|
||||
|
|
@ -434,6 +452,7 @@ Class SWWMQuickCombatTracker : Inventory
|
|||
Destroy();
|
||||
return;
|
||||
}
|
||||
if ( PMHack && !Owner.isFrozen() ) UpdateTag();
|
||||
// cap lifespan if owner is dead
|
||||
if ( Owner.Health <= 0 ) lifespan = min(lifespan,35);
|
||||
else lvheight = Owner.Height;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue