4.10 support update (unfinished and untested).

This commit is contained in:
Mari the Deer 2022-12-05 02:10:56 +01:00
commit 8e952f412f
80 changed files with 2343 additions and 2356 deletions

View file

@ -49,8 +49,7 @@ Class ROM3R0Message : Inventory
if ( Owner.InStateSequence(Owner.CurState,Owner.SeeState) )
{
Console.PrintfEx(PRINT_CHAT,StringTable.Localize("$BOSSLINE_ROM3R0"));
let hnd = SWWMHandler(EventHandler.Find("SWWMHandler"));
if ( hnd ) hnd.doromerobotmsg = true;
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_ROMERO);
DepleteOrDestroy();
return;
}
@ -460,7 +459,7 @@ extend Class SWWMHandler
bosstag = "$BT_ARCHANGELUS";
e.Thing.GiveInventory('BossMarker',1);
e.Thing.GiveInventory('EndgameBossMarker',1);
doextramsg = true;
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_EVIB);
}
}
if ( ccloaded && (e.Thing.GetClassName() == "CCards_Boss_Romero") )
@ -478,10 +477,10 @@ extend Class SWWMHandler
{
if ( initialized ) return;
// wait until bosses are active
for ( int i=0; i<bossactors.Size(); i++ )
foreach ( a:bossactors )
{
if ( !bossactors[i] ) continue;
if ( (!bossactors[i].target || !bossactors[i].CheckSight(bossactors[i].target,SF_IGNOREVISIBILITY|SF_IGNOREWATERBOUNDARY))
if ( !a ) continue;
if ( (!a.target || !a.CheckSight(a.target,SF_IGNOREVISIBILITY|SF_IGNOREWATERBOUNDARY))
&& (!bossviewactor || (bossviewactor && !bossviewactor.target)) ) continue;
initialized = true;
// oneliners
@ -515,10 +514,10 @@ extend Class SWWMHandler
{
ui_initialized = true;
thealth = 0;
for ( int i=0; i<bossactors.Size(); i++ )
foreach ( a:bossactors )
{
if ( !bossactors[i] ) continue;
thealth += max(0,bossactors[i].SpawnHealth());
if ( !a ) continue;
thealth += max(0,a.SpawnHealth());
}
hmax = thealth;
for ( int i=0; i<30; i++ ) oldhealth[i] = thealth;
@ -532,10 +531,10 @@ extend Class SWWMHandler
if ( !ui_initialized ) return;
// update healthbar
int newhealth = 0;
for ( int i=0; i<bossactors.Size(); i++ )
foreach ( a:bossactors )
{
if ( !bossactors[i] ) continue;
newhealth += max(0,bossactors[i].Health);
if ( !a ) continue;
newhealth += max(0,a.Health);
}
oldhealth[0] = newhealth;
int curcumm = max(0,thealth-newhealth);