Eviternity 2 changed some monsters.
This commit is contained in:
parent
816d9b6b25
commit
d3ce281abb
10 changed files with 148 additions and 93 deletions
|
|
@ -99,8 +99,8 @@ extend Class SWWMHandler
|
|||
ui Font mSmallFont, mTinyFont;
|
||||
|
||||
bool archangelus_zapped; // skips second phase dialogue
|
||||
bool eviternatus_zapped; // bonus dlg for ynykron survival
|
||||
bool eviternatus_postzap; // so the bonus dlg doesn't play twice
|
||||
bool origin_zapped; // bonus dlg for ynykron survival
|
||||
bool origin_postzap; // so the bonus dlg doesn't play twice
|
||||
|
||||
enum EVanillaMap
|
||||
{
|
||||
|
|
@ -471,15 +471,15 @@ extend Class SWWMHandler
|
|||
}
|
||||
else if ( bossmap == MAP_EVIIMAP30 )
|
||||
{
|
||||
if ( e.Thing.GetClassName() == "EviternatusAntaSpawner" )
|
||||
if ( (e.Thing.GetClassName() == "The_Origin_Phase_1_Spawner") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_1_Spawner") )
|
||||
{
|
||||
bossactors.Push(e.Thing);
|
||||
bossviewactor = e.Thing;
|
||||
bosstag = "$BT_EVITERNATUS";
|
||||
bosstag = "$BT_ORIGIN";
|
||||
// hack to avoid "all clear" between phases
|
||||
level.total_monsters += 3;
|
||||
}
|
||||
else if ( e.Thing.GetClassName() == "EviternatusAnta" )
|
||||
else if ( (e.Thing.GetClassName() == "The_Origin_Phase_1") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_1") )
|
||||
{
|
||||
// first phase
|
||||
bossactors.Clear();
|
||||
|
|
@ -487,13 +487,13 @@ extend Class SWWMHandler
|
|||
initialized = false;
|
||||
bossactors.Push(e.Thing);
|
||||
e.Thing.StartHealth = e.Thing.Health *= 5;
|
||||
bosstag = "$BT_EVITERNATUS";
|
||||
bosstag = "$BT_ORIGIN";
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
e.Thing.GiveInventory('EndgameBossMarker',1);
|
||||
// undo the hack (part 1)
|
||||
level.total_monsters--;
|
||||
}
|
||||
else if ( e.Thing.GetClassName() == "EviternatusBete" )
|
||||
else if ( (e.Thing.GetClassName() == "The_Origin_Phase_2") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_2") )
|
||||
{
|
||||
// second phase
|
||||
bossactors.Clear();
|
||||
|
|
@ -501,19 +501,19 @@ extend Class SWWMHandler
|
|||
initialized = false;
|
||||
bossactors.Push(e.Thing);
|
||||
e.Thing.StartHealth = e.Thing.Health *= 5;
|
||||
bosstag = "$BT_EVITERNATUS";
|
||||
bosstag = "$BT_ORIGIN";
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
e.Thing.GiveInventory('EndgameBossMarker',1);
|
||||
if ( eviternatus_zapped )
|
||||
if ( origin_zapped )
|
||||
{
|
||||
eviternatus_postzap = true;
|
||||
origin_postzap = true;
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2N");
|
||||
}
|
||||
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2L");
|
||||
// undo the hack (part 2)
|
||||
level.total_monsters--;
|
||||
}
|
||||
else if ( e.Thing.GetClassName() == "EviternatusCeph" )
|
||||
else if ( (e.Thing.GetClassName() == "The_Origin_Phase_3") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_3") )
|
||||
{
|
||||
// third phase
|
||||
bossactors.Clear();
|
||||
|
|
@ -521,12 +521,12 @@ extend Class SWWMHandler
|
|||
initialized = false;
|
||||
bossactors.Push(e.Thing);
|
||||
e.Thing.StartHealth = e.Thing.Health *= 5;
|
||||
bosstag = "$BT_EVITERNATUS";
|
||||
bosstag = "$BT_ORIGIN";
|
||||
e.Thing.GiveInventory('BossMarker',1);
|
||||
e.Thing.GiveInventory('EndgameBossMarker',1);
|
||||
if ( eviternatus_zapped )
|
||||
if ( origin_zapped )
|
||||
{
|
||||
if ( eviternatus_postzap )
|
||||
if ( origin_postzap )
|
||||
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2O");
|
||||
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EV2N");
|
||||
}
|
||||
|
|
@ -581,12 +581,12 @@ extend Class SWWMHandler
|
|||
else if ( bossmap == MAP_EVIIMAP30 )
|
||||
{
|
||||
highesttic = gametic;
|
||||
if ( a.GetClassName() == "EviternatusAnta" )
|
||||
lastcombat = AddOneliner("eviternatus1",1,40);
|
||||
else if ( a.GetClassName() == "EviternatusBete" )
|
||||
lastcombat = AddOneliner("eviternatus2",1,40);
|
||||
else if ( a.GetClassName() == "EviternatusCeph" )
|
||||
lastcombat = AddOneliner("eviternatus3",1,40);
|
||||
if ( (a.GetClassName() == "The_Origin_Phase_1") || (a.GetClassName() == "The_Absolute_Origin_Phase_1") )
|
||||
lastcombat = AddOneliner("origin1",1,40);
|
||||
else if ( (a.GetClassName() == "The_Origin_Phase_2") || (a.GetClassName() == "The_Absolute_Origin_Phase_2") )
|
||||
lastcombat = AddOneliner("origin2",1,40);
|
||||
else if ( (a.GetClassName() == "The_Origin_Phase_3") || (a.GetClassName() == "The_Absolute_Origin_Phase_3") )
|
||||
lastcombat = AddOneliner("origin3",1,40);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,11 +135,13 @@ extend Class SWWMHandler
|
|||
a.DamageMobj(e.Thing,e.Thing,a.Health,'EndMii',DMG_FORCED|DMG_THRUSTLESS);
|
||||
}
|
||||
}
|
||||
// Eviternatus instakill
|
||||
if ( ((e.Thing.GetClassName() == "EviternatusAnta") || (e.Thing.GetClassName() == "EviternatusBete")) && (e.Thing.DamageType == 'Ynykron') )
|
||||
// Origin instakill
|
||||
if ( ((e.Thing.GetClassName() == "The_Origin_Phase_1") || (e.Thing.GetClassName() == "The_Origin_Phase_2")
|
||||
|| (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_1") || (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_2"))
|
||||
&& (e.Thing.DamageType == 'Ynykron') )
|
||||
{
|
||||
// this will trigger special dialogue on the next phase
|
||||
eviternatus_zapped = true;
|
||||
origin_zapped = true;
|
||||
}
|
||||
if ( swwm_partytime )
|
||||
{
|
||||
|
|
@ -293,7 +295,7 @@ extend Class SWWMHandler
|
|||
e.Thing.SetTag("$FN_DUKE");
|
||||
else if ( e.Thing.GetClassName() == "AstralBabycaco" )
|
||||
e.Thing.SetTag("$FN_ASTRALBABY");
|
||||
else if ( e.Thing.GetClassName() == "NAC" )
|
||||
else if ( e.Thing.GetClassName() == "NightmareCacodemon" )
|
||||
e.Thing.SetTag("$FN_NAC");
|
||||
else if ( e.Thing.GetClassName() == "AstralMancubus" )
|
||||
e.Thing.SetTag("$FN_ASTRALFATSO");
|
||||
|
|
@ -302,10 +304,17 @@ extend Class SWWMHandler
|
|||
|| (e.Thing.GetClassName() == "NecromenaceC")
|
||||
|| (e.Thing.GetClassName() == "NecromenaceD") )
|
||||
e.Thing.SetTag("$FN_NECROMENACE");
|
||||
else if ( (e.Thing.GetClassName() == "EviternatusAnta")
|
||||
|| (e.Thing.GetClassName() == "EviternatusBete")
|
||||
|| (e.Thing.GetClassName() == "EviternatusCeph") )
|
||||
e.Thing.SetTag("$FN_EVITERNATUS");
|
||||
else if ( (e.Thing.GetClassName() == "The_Origin_Phase_1")
|
||||
|| (e.Thing.GetClassName() == "The_Origin_Phase_2")
|
||||
|| (e.Thing.GetClassName() == "The_Origin_Phase_3")
|
||||
|| (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_1")
|
||||
|| (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_2")
|
||||
|| (e.Thing.GetClassName() == "The_Absolute_Origin_Phase_3") )
|
||||
e.Thing.SetTag("$FN_ORIGIN");
|
||||
else if ( e.Thing.GetClassName() == "SpectralAstralCacodemon" )
|
||||
e.Thing.SetTag("$FN_SAC");
|
||||
else if ( e.Thing.GetClassName() == "GrandDukeofHell" )
|
||||
e.Thing.SetTag("$FN_GDUKE");
|
||||
// doom vacation stuff
|
||||
else if ( indoomvacation )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ extend Class SWWMUtility
|
|||
{
|
||||
foreach ( cls:AllActorClasses )
|
||||
{
|
||||
if ( cls.GetClassName() != "EviternatusAnta" )
|
||||
if ( cls.GetClassName() != "The_Origin_Phase_1" )
|
||||
continue;
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ extend Class SWWMUtility
|
|||
case 'AstralBabyCaco':
|
||||
basetag = "ASTRALBABY";
|
||||
break;
|
||||
case 'NAC':
|
||||
case 'NightmareCacodemon':
|
||||
basetag = "NAC";
|
||||
break;
|
||||
case 'AstralMancubus':
|
||||
|
|
@ -262,10 +262,19 @@ extend Class SWWMUtility
|
|||
case 'NecromenaceD':
|
||||
basetag = "NECROMENACE";
|
||||
break;
|
||||
case 'EviternatusAnta':
|
||||
case 'EviternatusBete':
|
||||
case 'EviternatusCeph':
|
||||
basetag = "EVITERNATUS";
|
||||
case 'The_Origin_Phase_1':
|
||||
case 'The_Origin_Phase_2':
|
||||
case 'The_Origin_Phase_3':
|
||||
case 'The_Absolute_Origin_Phase_1':
|
||||
case 'The_Absolute_Origin_Phase_2':
|
||||
case 'The_Absolute_Origin_Phase_3':
|
||||
basetag = "ORIGIN";
|
||||
break;
|
||||
case 'SpectralAstralCacodemon':
|
||||
basetag = "SAC";
|
||||
break;
|
||||
case 'GrandDukeofHell':
|
||||
basetag = "GDUKE";
|
||||
break;
|
||||
}
|
||||
if ( basetag == "" ) return a.GetTag(defstr);
|
||||
|
|
@ -312,6 +321,12 @@ extend Class SWWMUtility
|
|||
if ( a.GetClassName() == 'LostSoulCount' ) return 'LostSoul';
|
||||
if ( a.GetClassName() == 'CyberdemonEvit2' ) return 'Cyberdemon';
|
||||
if ( a.GetClassName() == 'CyberdemonMAP24' ) return 'Cyberdemon';
|
||||
// merge all boss phases into one entry
|
||||
if ( a.GetClassName() == 'The_Origin_Phase_2' ) return 'The_Origin_Phase_1';
|
||||
if ( a.GetClassName() == 'The_Origin_Phase_3' ) return 'The_Origin_Phase_1';
|
||||
if ( a.GetClassName() == 'The_Absolute_Origin_Phase_1' ) return 'The_Origin_Phase_1';
|
||||
if ( a.GetClassName() == 'The_Absolute_Origin_Phase_2' ) return 'The_Origin_Phase_1';
|
||||
if ( a.GetClassName() == 'The_Absolute_Origin_Phase_2' ) return 'The_Origin_Phase_1';
|
||||
// heretic monsters
|
||||
if ( a == 'Sorcerer2' ) return 'Sorcerer1';
|
||||
if ( a == 'HereticImpLeader' ) return 'HereticImp';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue