Some easter egg tweaks.

Backport placeholder textures from common library.
This commit is contained in:
Mari the Deer 2022-03-07 23:24:13 +01:00
commit 7a4ec53e16
28 changed files with 301 additions and 213 deletions

View file

@ -436,7 +436,8 @@ extend Class SWWMHandler
if ( kstr != cht[i].Left(kstr.length()) ) continue;
matchany = true;
if ( kstr != cht[i] ) continue;
if ( (i > 5) && !swwm_nomapmsg && !swwm_oldcheat )
let s = SWWMStats.Find(players[consoleplayer]);
if ( (i > 5) && !swwm_nomapmsg && (!s || !s.oldcheat) )
{
let m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_ZNVSNAME"),StringTable.Localize("$SWWM_ZNVNAME"),"Znv");
m.seqname = "ZNVTXT";
@ -446,7 +447,7 @@ extend Class SWWMHandler
m.enddelay = 90;
m.pausedelay = 40;
StatusBar.AttachMessage(m,-1232);
CVar.FindCVar('swwm_oldcheat').SetBool(true);
SendNetworkEvent("swwmsetoldcheat",consoleplayer);
}
if ( SWWMUtility.CheatsDisabled(consoleplayer) )
{

View file

@ -694,6 +694,11 @@ extend Class SWWMHandler
s.realpuzzlecnt = e.Args[2];
}
}
else if ( e.Name ~== "swwmsetoldcheat" )
{
let s = SWWMStats.Find(players[e.Args[0]]);
if ( s ) s.oldcheat = true;
}
// cheats go here
else CheatEvent(e);
}

View file

@ -153,14 +153,56 @@ Class SWWMStatusBar : BaseStatusBar
AttachMessage(m,-1232);
return true;
}
else if ( msg ~== "swwmsilverbulleteasteregg" )
else if ( msg.Left(25) ~== "swwmsilverbulleteasteregg" )
{
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m.seqname = "SAYAWASTE";
m.seqcnt = 1;
m.delay = 5;
m.startdelay = 10;
m.enddelay = 25;
let num = msg.Mid(25).ToInt();
switch ( num )
{
case 1:
default:
m.seqname = "SAYAWASTEA";
m.seqcnt = 1;
m.delay = 5;
m.startdelay = 10;
m.enddelay = 25;
break;
case 2:
m.seqname = "SAYAWASTEB";
m.seqcnt = 1;
m.delay = 10;
m.startdelay = 20;
m.enddelay = 30;
break;
case 3:
m.seqname = "SAYAWASTEC";
m.seqcnt = 1;
m.delay = 30;
m.startdelay = 15;
m.enddelay = 25;
break;
case 4:
m.seqname = "SAYAWASTED";
m.seqcnt = 2;
m.delay = 40;
m.startdelay = 10;
m.enddelay = 20;
break;
case 5:
m.seqname = "SAYAWASTEE";
m.seqcnt = 1;
m.delay = 20;
m.startdelay = 10;
m.enddelay = 30;
break;
case 6:
m.seqname = "SAYAWASTEF";
m.seqcnt = 1;
m.delay = 50;
m.startdelay = 20;
m.enddelay = 30;
break;
}
AttachMessage(m,-1232);
return true;
}
@ -172,75 +214,81 @@ Class SWWMStatusBar : BaseStatusBar
{
EventHandler.SendNetworkEvent("swwmkoraxline",0,consoleplayer);
koraxline = true;
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m.seqname = "SAYAGREETA";
m.seqcnt = 3;
m.delay = 150;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "SAYAGREETB";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAGREETC";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "SAYAGREETD";
m2.seqcnt = 1;
m2.delay = 30;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAGREETE";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "SAYAGREETF";
m2.seqcnt = 1;
m2.delay = 30;
m.nextmsg = m2;
m.nextdirect = true;
if ( !swwm_nomapmsg )
{
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m.seqname = "SAYAGREETA";
m.seqcnt = 3;
m.delay = 150;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "SAYAGREETB";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAGREETC";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "SAYAGREETD";
m2.seqcnt = 1;
m2.delay = 30;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAGREETE";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "SAYAGREETF";
m2.seqcnt = 1;
m2.delay = 30;
m.nextmsg = m2;
m.nextdirect = true;
}
}
else if ( msg == StringTable.Localize("$TXT_ACS_MAP13_11_MYSER") )
{
EventHandler.SendNetworkEvent("swwmkoraxline",1,consoleplayer);
koraxline = true;
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m.seqname = "SAYABLOODA";
m.seqcnt = 2;
m.delay = 220;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYABLOODB";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYABLOODC";
m2.seqcnt = 1;
m2.delay = 30;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYABLOODD";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
if ( !swwm_nomapmsg )
{
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m.seqname = "SAYABLOODA";
m.seqcnt = 2;
m.delay = 220;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYABLOODB";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYABLOODC";
m2.seqcnt = 1;
m2.delay = 30;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYABLOODD";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
}
}
else if ( msg == StringTable.Localize("$TXT_ACS_MAP22_27_YOUHA") )
koraxline = true;
@ -248,24 +296,27 @@ Class SWWMStatusBar : BaseStatusBar
{
EventHandler.SendNetworkEvent("swwmkoraxline",2,consoleplayer);
koraxline = true;
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m.seqname = "SAYAGAMEA";
m.seqcnt = 2;
m.delay = 200;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYAGAMEB";
m2.seqcnt = 1;
m2.delay = 30;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAGAMEC";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
if ( !swwm_nomapmsg )
{
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m.seqname = "SAYAGAMEA";
m.seqcnt = 2;
m.delay = 200;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYAGAMEB";
m2.seqcnt = 1;
m2.delay = 30;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAGAMEC";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
}
}
else if ( msg == StringTable.Localize("$TXT_ACS_MAP27_8_WORSH") )
koraxline = true;
@ -273,33 +324,36 @@ Class SWWMStatusBar : BaseStatusBar
{
EventHandler.SendNetworkEvent("swwmkoraxline",3,consoleplayer);
koraxline = true;
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m.seqname = "KIRINWORSHIPA";
m.seqcnt = 1;
m.delay = 150;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "KIRINWORSHIPB";
m2.seqcnt = 1;
m2.delay = 40;
m2.enddelay = 10;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "KIRINWORSHIPC";
m2.seqcnt = 1;
m2.delay = 10;
m2.enddelay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "KIRINWORSHIPD";
m2.seqcnt = 2;
m2.delay = 10;
m.nextmsg = m2;
m.nextdirect = true;
if ( !swwm_nomapmsg )
{
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m.seqname = "KIRINWORSHIPA";
m.seqcnt = 1;
m.delay = 150;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "KIRINWORSHIPB";
m2.seqcnt = 1;
m2.delay = 40;
m2.enddelay = 10;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "KIRINWORSHIPC";
m2.seqcnt = 1;
m2.delay = 10;
m2.enddelay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "KIRINWORSHIPD";
m2.seqcnt = 2;
m2.delay = 10;
m.nextmsg = m2;
m.nextdirect = true;
}
}
else if ( msg == StringTable.Localize("$TXT_ACS_MAP35_12_AREYO") )
koraxline = true;
@ -307,46 +361,49 @@ Class SWWMStatusBar : BaseStatusBar
{
EventHandler.SendNetworkEvent("swwmkoraxline",4,consoleplayer);
koraxline = true;
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m.seqname = "SAYAMASTERSA";
m.seqcnt = 2;
m.delay = 150;
m.enddelay = 60;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYAMASTERSB";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAMASTERSC";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYAMASTERSD";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "SAYAMASTERSE";
m2.seqcnt = 1;
m2.delay = 40;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAMASTERSF";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
if ( !swwm_nomapmsg )
{
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m.seqname = "SAYAMASTERSA";
m.seqcnt = 2;
m.delay = 150;
m.enddelay = 60;
AttachMessage(m,-1232);
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYAMASTERSB";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAMASTERSC";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
m2.seqname = "SAYAMASTERSD";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
m2.seqname = "SAYAMASTERSE";
m2.seqcnt = 1;
m2.delay = 40;
m.nextmsg = m2;
m.nextdirect = true;
m = m2;
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
m2.seqname = "SAYAMASTERSF";
m2.seqcnt = 1;
m2.delay = 20;
m.nextmsg = m2;
m.nextdirect = true;
}
}
if ( koraxline )
{

View file

@ -557,7 +557,8 @@ Class SWWMDialogueTrigger : Actor
{
"swwmultdoom2map20dlg"
};
Console.MidPrint(null,dlglist[args[0]]);
if ( !swwm_nomapmsg )
Console.MidPrint(null,dlglist[args[0]]);
Destroy();
}
override void Tick() {}

View file

@ -77,6 +77,9 @@ Class SWWMStats : Thinker
int nazicleanup;
// stored for hexen
int puzzlecnt, realpuzzlecnt;
// easter eggs
int silveregg;
bool oldcheat;
bool GotWeapon( Class<Weapon> which )
{

View file

@ -748,12 +748,18 @@ Class SilverBullet : SWWMWeapon
c.vel = x*FRandom[Junk](-.5,.5)+y*FRandom[Junk](4,8)-(0,0,FRandom[Junk](1,3));
c.vel += vel*.5;
}
if ( !Demolitionist(self) || !(Demolitionist(self).mystats) || !swwm_nomapmsg ) return;
invoker.wastecycle++;
if ( (invoker.wastecycle >= 5) && CheckLocalView() && !swwm_silveregg )
let s = Demolitionist(self).mystats;
if ( s.silveregg < 13 )
{
CVar.GetCVar('swwm_silveregg').SetBool(true);
Console.MidPrint(null,"swwmsilverbulleteasteregg");
if ( invoker.wastecycle < 5 ) return;
s.silveregg++;
}
else return;
invoker.wastecycle = 0;
if ( (s.silveregg > 2) && (s.silveregg%2) && player == players[consoleplayer] )
Console.MidPrint(null,"swwmsilverbulleteasteregg"..((s.silveregg-1)/2));
}
action void A_DropMag()
{
@ -869,6 +875,7 @@ Class SilverBullet : SWWMWeapon
invoker.Ammo1.Amount = max(0,invoker.Ammo1.Amount-1);
invoker.clipcount = invoker.default.clipcount;
}
invoker.wastecycle = 0;
}
action void A_LoadMagAlt()
{
@ -886,6 +893,7 @@ Class SilverBullet : SWWMWeapon
invoker.Ammo2.Amount = max(0,invoker.Ammo2.Amount-1);
invoker.clipcount = invoker.default.clipcount;
}
invoker.wastecycle = 0;
}
override bool PickupForAmmoSWWM( SWWMWeapon ownedWeapon )
@ -1126,6 +1134,7 @@ Class SilverBullet : SWWMWeapon
else A_Overlay(layer,"ZoomBullet");
}
}
if ( !invoker.chambered || invoker.fired ) invoker.wastecycle = 0;
invoker.fired = false;
invoker.chambered = (invoker.clipcount>0);
if ( invoker.clipcount > 0 ) invoker.fcbchambered = invoker.fcbloaded;
@ -1156,6 +1165,7 @@ Class SilverBullet : SWWMWeapon
else A_Overlay(layer,"Bullet");
}
}
if ( !invoker.chambered || invoker.fired ) invoker.wastecycle = 0;
invoker.fired = false;
invoker.chambered = (invoker.clipcount>0);
if ( invoker.clipcount > 0 ) invoker.fcbchambered = invoker.fcbloaded;
@ -1188,6 +1198,7 @@ Class SilverBullet : SWWMWeapon
else A_Overlay(layer,"Bullet");
}
}
if ( !invoker.chambered || invoker.fired ) invoker.wastecycle = 0;
invoker.fired = false;
invoker.chambered = (invoker.clipcount>0);
if ( invoker.clipcount > 0 ) invoker.fcbchambered = invoker.fcbloaded;