I'm afraid the plans for strife support have been cancelled.

This commit is contained in:
Mari the Deer 2021-03-21 16:22:26 +01:00
commit 8c47601d90
38 changed files with 66 additions and 388 deletions

View file

@ -111,7 +111,7 @@ extend Class SWWMHandler
{
if ( !lastcombat || (gametic > lastcombat+40) )
{
if ( (e.Thing.IsFriend(e.DamageSource) || SWWMUtility.IsCivilian(e.DamageSource)) )
if ( e.Thing.IsFriend(e.DamageSource) )
lastcombat = AddOneliner("friendhit",1,10);
else if ( (!lastcombat || (gametic > lastcombat+100)) && !Random[DemoLines](0,e.DamageSource.bBOSS?2:4) && !SWWMHDoomHandler.IsCuteGirl(e.DamageSource) ) // [HDoom] don't shout at the girls
lastcombat = AddOneliner("gethit",1,15);
@ -122,7 +122,7 @@ extend Class SWWMHandler
if ( (e.DamageSource == players[consoleplayer].mo) && (e.Thing.bISMONSTER || e.Thing.player || (e.Thing is 'ScriptedMarine')) && (e.Thing.Health > 0) )
{
// make sure it's not a moth, because otherwise they won't shut up about accidentally hurting them (it happens a lot)
if ( (e.Thing.IsFriend(e.DamageSource) || SWWMUtility.IsCivilian(e.Thing)) && !(e.Thing is 'LampMoth') )
if ( e.Thing.IsFriend(e.DamageSource) && !(e.Thing is 'LampMoth') )
{
if ( !lastcombat || (gametic > lastcombat+40) )
lastcombat = AddOneliner("hitfriend",1,10);
@ -150,7 +150,7 @@ extend Class SWWMHandler
highesttic = gametic;
if ( !lastcombat || (gametic > lastcombat+40) )
{
if ( e.Thing.IsFriend(src) || SWWMUtility.IsCivilian(e.Thing) )
if ( e.Thing.IsFriend(src) )
lastcombat = AddOneliner("friendkill",1,5);
else if ( (!lastcombat || (gametic > lastcombat+100)) && !Random[DemoLines](0,e.Thing.bBOSS?2:5) && !SWWMHDoomHandler.IsCuteGirl(e.Thing) ) // [HDoom] don't shout at the girls
lastcombat = AddOneliner("scorekill",1,15);

View file

@ -72,19 +72,14 @@ extend Class SWWMHandler
l.DirectAdd("Gods");
l.DirectAdd("SUSAN");
}
if ( gameinfo.gametype&(GAME_Raven|GAME_Strife) )
if ( gameinfo.gametype&GAME_Raven )
{
l.DirectAdd("Parthoris");
l.DirectAdd("SerpentRiders");
l.DirectAdd("Sidhe");
}
if ( gameinfo.gametype&(GAME_Hexen|GAME_Strife) )
if ( gameinfo.gametype&GAME_Hexen )
l.DirectAdd("Cronos");
if ( gameinfo.gametype&GAME_Strife )
{
l.DirectAdd("TheOrder");
l.DirectAdd("TheFront");
}
// starting weapons (if owned)
if ( p.mo.FindInventory('DeepImpact') )
l.DirectAdd("DeepImpact");

View file

@ -16,44 +16,41 @@ extend Class SWWMHandler
SWWMStats s;
while ( s = SWWMStats(ti.Next()) )
{
if ( !(gameinfo.gametype&GAME_STRIFE) )
int clust = 0;
bool secret = false;
if ( SWWMUtility.IsEviternity() )
{
int clust = 0;
bool secret = false;
if ( SWWMUtility.IsEviternity() )
// we have to do some heavy lifting here because episodes don't match clusters
if ( level.levelnum <= 5 ) clust = 1;
else if ( level.levelnum <= 10 ) clust = 2;
else if ( level.levelnum <= 15 ) clust = 3;
else if ( level.levelnum <= 20 ) clust = 4;
else if ( level.levelnum <= 25 ) clust = 5;
else if ( level.levelnum <= 30 ) clust = 6;
else if ( level.levelnum <= 32 )
{
// we have to do some heavy lifting here because episodes don't match clusters
if ( level.levelnum <= 5 ) clust = 1;
else if ( level.levelnum <= 10 ) clust = 2;
else if ( level.levelnum <= 15 ) clust = 3;
else if ( level.levelnum <= 20 ) clust = 4;
else if ( level.levelnum <= 25 ) clust = 5;
else if ( level.levelnum <= 30 ) clust = 6;
else if ( level.levelnum <= 32 )
{
secret = true;
if ( level.levelnum <= 31 ) clust = 7;
else clust = 8;
}
}
else
{
if ( (gameinfo.gametype&GAME_DOOM) && ((level.cluster == 9) || (level.cluster == 10)) )
secret = true;
clust = level.cluster;
}
int csiz = s.clustervisit.Size();
if ( csiz == 0 )
{
s.clustervisit.Push(clust);
s.secretdone.Push(secret);
}
else if ( s.clustervisit[csiz-1] != clust )
{
s.clustervisit.Push(clust);
s.secretdone.Push(secret|s.secretdone[csiz-1]);
secret = true;
if ( level.levelnum <= 31 ) clust = 7;
else clust = 8;
}
}
else
{
if ( (gameinfo.gametype&GAME_DOOM) && ((level.cluster == 9) || (level.cluster == 10)) )
secret = true;
clust = level.cluster;
}
int csiz = s.clustervisit.Size();
if ( csiz == 0 )
{
s.clustervisit.Push(clust);
s.secretdone.Push(secret);
}
else if ( s.clustervisit[csiz-1] != clust )
{
s.clustervisit.Push(clust);
s.secretdone.Push(secret|s.secretdone[csiz-1]);
}
s.AddLevelStats();
s.lastcluster = level.cluster;
}

View file

@ -95,12 +95,6 @@ extend Class SWWMHandler
if ( (a.Health <= 0) || a.bKILLED || a.bCORPSE ) continue;
// ignore friends
if ( a.IsFriend(players[consoleplayer].mo) ) continue;
// [Strife] ignore if not in combat
if ( (gameinfo.gametype&GAME_Strife) && !a.bINCOMBAT && !a.bJUSTATTACKED ) continue;
// [Strife] ignore certain classes
if ( (a is 'RatBuddy') || (a is 'Peasant') || (a is 'Beggar') ) continue;
// [Strife] ignore Oracle's spectre while it's inactive
if ( (a is 'AlienSpectre3') && a.InStateSequence(a.CurState,a.FindState("Spawn")) ) continue;
// ignore if not targetted or player can't see it
if ( (a.target != players[consoleplayer].mo)
|| !SWWMUtility.InPlayerFOV(players[consoleplayer],a) ) continue;