More work towards Legacy of Rust support (with caveats).
As of this commit, do not consider the experience when playing that new expansion to be complete. I've only partially written some of the mission texts and rudimentarily enhanced some boss fights. Currently there is one major limitation in that the intermission texts cannot be replaced, as they're hardcoded inside the UMAPINFO. I don't know if I can work around that.
This commit is contained in:
parent
7a3e0ae413
commit
2aa0ea4680
16 changed files with 414 additions and 43 deletions
|
|
@ -77,6 +77,28 @@ Class ROM3R0Death : Inventory
|
|||
return;
|
||||
}
|
||||
}
|
||||
Class TyrantWake : Inventory
|
||||
{
|
||||
override void DoEffect()
|
||||
{
|
||||
if ( Owner.InStateSequence(Owner.CurState,Owner.SeeState) )
|
||||
{
|
||||
let hnd = SWWMHandler(EventHandler.Find("SWWMHandler"));
|
||||
if ( hnd && (hnd.bosstag != "$BT_TYRANT2") )
|
||||
{
|
||||
hnd.bossactors.Clear();
|
||||
hnd.initialized = false;
|
||||
let ti = ThinkerIterator.Create('Deh_Actor_157');
|
||||
Actor a;
|
||||
while ( a = Actor(ti.Next()) )
|
||||
hnd.bossactors.Push(a);
|
||||
hnd.bosstag = "$BT_TYRANT2";
|
||||
}
|
||||
DepleteOrDestroy();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extend Class SWWMHandler
|
||||
{
|
||||
|
|
@ -124,7 +146,9 @@ extend Class SWWMHandler
|
|||
MAP_HMAP60,
|
||||
MAP_EVMAP30, // eviternity
|
||||
MAP_EVIIMAP30, // eviternity 2
|
||||
MAP_DE1M8B // "tech gone bad"
|
||||
MAP_DE1M8B, // "tech gone bad"
|
||||
MAP_ID24MAP13, // TODO Soul Silo cybies
|
||||
MAP_ID24MAP14 // TODO Brink tyrants
|
||||
};
|
||||
|
||||
static play void AddBoss( int tid, String tag, bool endgame = false )
|
||||
|
|
@ -237,6 +261,10 @@ extend Class SWWMHandler
|
|||
return MAP_EVMAP30;
|
||||
if ( mapsum ~== "CF2B3E2589CA6FBB6EE3E3A09F19BA18" )
|
||||
return MAP_EVIIMAP30;
|
||||
if ( mapsum ~== "7CABD8B043B69996D9777F7070C8BCCE" )
|
||||
return MAP_ID24MAP13;
|
||||
if ( mapsum ~== "A3F7A58FC08C369F1360741A99F1497C" )
|
||||
return MAP_ID24MAP14;
|
||||
return MAP_NONE;
|
||||
}
|
||||
private void VanillaBossSpawn( WorldEvent e )
|
||||
|
|
@ -320,6 +348,42 @@ extend Class SWWMHandler
|
|||
bosstag = "$BT_CYBIE2";
|
||||
}
|
||||
}
|
||||
else if ( bossmap == MAP_ID24MAP13 )
|
||||
{
|
||||
if ( e.Thing is 'Cyberdemon' )
|
||||
{
|
||||
bossactors.Push(e.Thing);
|
||||
e.Thing.StartHealth = e.Thing.Health *= 4;
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
bosstag = "$BT_CYBIE3";
|
||||
}
|
||||
}
|
||||
else if ( bossmap == MAP_ID24MAP14 )
|
||||
{
|
||||
if ( e.Thing is 'Deh_Actor_156' )
|
||||
{
|
||||
bossactors.Push(e.Thing);
|
||||
e.Thing.StartHealth = e.Thing.Health *= 4;
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
bosstag = "$BT_TYRANT";
|
||||
}
|
||||
else if ( e.Thing is 'Deh_Actor_155' )
|
||||
{
|
||||
e.Thing.StartHealth = e.Thing.Health *= 4;
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
}
|
||||
else if ( e.Thing is 'Deh_Actor_157' )
|
||||
{
|
||||
e.Thing.StartHealth = e.Thing.Health *= 4;
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
e.Thing.GiveInventory('TyrantWake',1);
|
||||
}
|
||||
else if ( e.Thing is 'Cyberdemon' )
|
||||
{
|
||||
e.Thing.StartHealth = e.Thing.Health *= 4;
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
}
|
||||
}
|
||||
else if ( bossmap == MAP_HE1M8_HE4M8 )
|
||||
{
|
||||
if ( e.Thing is 'IronLich' )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue