Sigil 2 (v1.0) and Eviternity 2 (RC5) support.
+ Invinciball activation now voiced by Demo (thanks, Vyolette). + Retooled exit line merging (should fix those pesky duplicate exit markers). Note: Oneliners for the Eviternity 2 final boss are not voiced yet.
This commit is contained in:
parent
9a252b72fe
commit
cbb1b2a8cb
36 changed files with 1177 additions and 165 deletions
|
|
@ -50,6 +50,7 @@ extend Class SWWMUtility
|
|||
if ( gameinfo.gametype&GAME_DOOM )
|
||||
{
|
||||
if ( IsEviternity() ) return true;
|
||||
if ( IsEviternityTwo() ) return true;
|
||||
if ( IsUltDoom2() ) return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -73,6 +74,18 @@ extend Class SWWMUtility
|
|||
return false;
|
||||
}
|
||||
|
||||
// detect eviternity 2 (naive method)
|
||||
static bool IsEviternityTwo()
|
||||
{
|
||||
foreach ( cls:AllActorClasses )
|
||||
{
|
||||
if ( cls.GetClassName() != "EviternatusAnta" )
|
||||
continue;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// detect doom vacation
|
||||
static bool InDoomVacation()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -41,6 +41,8 @@ extend Class SWWMUtility
|
|||
basetag = "SPECTRE";
|
||||
break;
|
||||
case 'LostSoul':
|
||||
case 'LostSoulEvit2':
|
||||
case 'LostSoulCount':
|
||||
basetag = "LOST";
|
||||
break;
|
||||
case 'Cacodemon':
|
||||
|
|
@ -78,6 +80,8 @@ extend Class SWWMUtility
|
|||
basetag = "SPIDER";
|
||||
break;
|
||||
case 'Cyberdemon':
|
||||
case 'CyberdemonEvit2':
|
||||
case 'CyberdemonMAP24':
|
||||
basetag = "CYBER";
|
||||
break;
|
||||
case 'SWWMBossBrain':
|
||||
|
|
@ -223,6 +227,46 @@ extend Class SWWMUtility
|
|||
case 'NightmareDemon':
|
||||
basetag = "NDEMON";
|
||||
break;
|
||||
// eviternity 2
|
||||
case 'FormerCorporal':
|
||||
basetag = "FCORPORAL";
|
||||
break;
|
||||
case 'AstralArachnotron':
|
||||
basetag = "ASTRALARACH";
|
||||
break;
|
||||
case 'AstralCacodemon':
|
||||
basetag = "ASTRAL";
|
||||
break;
|
||||
case 'Veilimp':
|
||||
basetag = "VEILIMP";
|
||||
break;
|
||||
case 'GoldenAstralCaco':
|
||||
case 'GoldenAstralCacoBoss':
|
||||
basetag = "ASTRALGOLD";
|
||||
break;
|
||||
case 'DukeOfHell':
|
||||
basetag = "DUKE";
|
||||
break;
|
||||
case 'AstralBabyCaco':
|
||||
basetag = "ASTRALBABY";
|
||||
break;
|
||||
case 'NAC':
|
||||
basetag = "NAC";
|
||||
break;
|
||||
case 'AstralMancubus':
|
||||
basetag = "ASTRALFATSO";
|
||||
break;
|
||||
case 'NecromenaceA':
|
||||
case 'NecromenaceB':
|
||||
case 'NecromenaceC':
|
||||
case 'NecromenaceD':
|
||||
basetag = "NECROMENACE";
|
||||
break;
|
||||
case 'EviternatusAnta':
|
||||
case 'EviternatusBete':
|
||||
case 'EviternatusCeph':
|
||||
basetag = "EVITERNATUS";
|
||||
break;
|
||||
}
|
||||
if ( basetag == "" ) return a.GetTag(defstr);
|
||||
String funtag = "FN_"..basetag.."_FUN";
|
||||
|
|
@ -263,6 +307,11 @@ extend Class SWWMUtility
|
|||
if ( a == 'StealthRevenant' ) return 'Revenant';
|
||||
if ( a == 'StealthShotgunGuy' ) return 'ShotgunGuy';
|
||||
if ( a == 'StealthZombieMan' ) return 'ZombieMan';
|
||||
// eviternity 2 hackery
|
||||
if ( a.GetClassName() == 'LostSoulEvit2' ) return 'LostSoul';
|
||||
if ( a.GetClassName() == 'LostSoulCount' ) return 'LostSoul';
|
||||
if ( a.GetClassName() == 'CyberdemonEvit2' ) return 'Cyberdemon';
|
||||
if ( a.GetClassName() == 'CyberdemonMAP24' ) return 'Cyberdemon';
|
||||
// heretic monsters
|
||||
if ( a == 'Sorcerer2' ) return 'Sorcerer1';
|
||||
if ( a == 'HereticImpLeader' ) return 'HereticImp';
|
||||
|
|
|
|||
|
|
@ -676,4 +676,15 @@ extend Class SWWMUtility
|
|||
// is the point behind both lines?
|
||||
return (Level.PointOnLineSide(p,a) && Level.PointOnLineSide(p,b));
|
||||
}
|
||||
|
||||
static bool SameSpecial( Line a, Line b )
|
||||
{
|
||||
if ( a.special != b.special ) return false;
|
||||
for ( int i=0; i<5; i++ )
|
||||
{
|
||||
if ( a.args[i] != b.args[i] )
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue