Additional dialogue for cranking Deep Impact while full.

This commit is contained in:
Mari the Deer 2023-01-21 01:09:46 +01:00
commit 070a842d76
7 changed files with 68 additions and 5 deletions

View file

@ -317,3 +317,9 @@ SWWM_SAYAROMEROC1 = "That doesn't explain the robot.";
SWWM_SAYAROMEROD1 = "I'll summarize by saying it's just a robot, and I don't know why Lord Baphomet brought it here."; // Cytho reply
SWWM_SAYAROMEROD2 = "It's simply the last obstacle in the \cdDemolitionist\c-'s path.";
SWWM_SAYAROMEROE1 = "Romerobot's about to make you his bitch, huh...";
// another easter egg
SWWM_SAYACRANKA1 = "\cdDemo\c-... Can't you see it's already full? You're going to break it.";
SWWM_SAYACRANKB1 = "You're doing this stuff on purpose just to get a reaction out of me, aren't you?";
SWWM_SAYACRANKB2 = "Well, congratulations, I am reacting and I think you should stop.";
SWWM_SAYACRANKC1 = "... Damn it, \cdDemo\c-, that's enough.";
SWWM_SAYACRANKD1 = "*sigh*";

View file

@ -308,3 +308,9 @@ SWWM_SAYAROMEROC1 = "Eso no explica el robot.";
SWWM_SAYAROMEROD1 = "Resumiré diciendo que es solo un robot, y no sé por que Lord Baphomet lo ha traido aquí."; // Cytho reply
SWWM_SAYAROMEROD2 = "Es simplemente el último obstáculo en el camino de la \cdDemolicionista\c-.";
SWWM_SAYAROMEROE1 = "Romerobot está a punto de hacerte su perra, hm...";
// another easter egg
SWWM_SAYACRANKA1 = "\cdDemo\c-... ¿No ves que ya está lleno? Lo vas a romper.";
SWWM_SAYACRANKB1 = "Estás haciendo esto a propósito solo por ver como reacciono, ¿verdad?";
SWWM_SAYACRANKB2 = "Bueno, enhorabuena, estoy reaccionando y creo que deberías parar.";
SWWM_SAYACRANKC1 = "... Coño, \cdDemo\c-, ya vale.";
SWWM_SAYACRANKD1 = "*suspiro*";

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r737 \cu(Sat 21 Jan 00:16:53 CET 2023)\c-";
SWWM_SHORTVER="\cw1.3pre r737 \cu(2023-01-21 00:16:53)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r738 \cu(Sat 21 Jan 01:11:58 CET 2023)\c-";
SWWM_SHORTVER="\cw1.3pre r738 \cu(2023-01-21 01:11:58)\c-";

View file

@ -67,6 +67,10 @@ enum SWWMDialogue
SWWMDLG_CC,
SWWMDLG_LILITH,
SWWMDLG_ROMERO,
SWWMDLG_CRANK1,
SWWMDLG_CRANK2,
SWWMDLG_CRANK3,
SWWMDLG_CRANK4,
NUM_SWWMDLG
};
@ -980,6 +984,38 @@ Class SWWMDialogues abstract
msg.nextmsg = msg2;
msg.nextdirect = true;
break;
case SWWMDLG_CRANK1:
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYACRANKA";
msg.seqcnt = 1;
msg.delay = 30;
StatusBar.AttachMessage(msg,-1232);
break;
case SWWMDLG_CRANK2:
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYACRANKB";
msg.seqcnt = 2;
msg.delay = 20;
StatusBar.AttachMessage(msg,-1232);
break;
case SWWMDLG_CRANK3:
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYACRANKC";
msg.seqcnt = 1;
msg.delay = 80;
msg.startdelay = 50;
StatusBar.AttachMessage(msg,-1232);
break;
case SWWMDLG_CRANK4:
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYACRANKD";
msg.seqcnt = 1;
msg.delay = 40;
msg.startdelay = 40;
msg.enddelay = 80;
msg.chardelay = 5;
StatusBar.AttachMessage(msg,-1232);
break;
}
}

View file

@ -279,7 +279,7 @@ Class SWWMDirectMessage : HUDMessageBase
String seqname, chrname, chrfullname;
bool znvspecial; // seqnum 2 string replacement
int seqnum, seqcnt, delay, charcnt, blinktics, talktics, talkframe;
int startdelay, enddelay, pausedelay;
int startdelay, enddelay, pausedelay, chardelay;
int rss;
int fadein, fadeout;
double hs;
@ -316,6 +316,7 @@ Class SWWMDirectMessage : HUDMessageBase
startdelay = 30;
enddelay = 40;
pausedelay = 30;
chardelay = 1;
rss = 1232;
mSmallFont = Font.GetFont('TewiFont');
bDontResetMe = true;
@ -436,7 +437,7 @@ Class SWWMDirectMessage : HUDMessageBase
talktics = 5;
}
// delay relative to stuff
delay = 1;
delay = chardelay;
int idx = punctuation.IndexOf(ch);
if ( idx >= 0 ) delay += (idx*2)+1;
charcnt++;

View file

@ -141,7 +141,7 @@ Class SWWMStats : SWWMStaticThinker
// stored for hexen
int puzzlecnt, realpuzzlecnt;
// easter eggs
int silveregg, quadegg;
int silveregg, quadegg, deepegg;
bool oldcheat;
bool gotyorick;
// caching

View file

@ -49,6 +49,8 @@ Class DeepImpact : SWWMWeapon
double charge;
bool charging;
int wastecycle; // for easter egg
transient ui SmoothDynamicValueInterpolator ChargeInter;
transient int failtime;
@ -295,12 +297,24 @@ Class DeepImpact : SWWMWeapon
invoker.clipcount = min(invoker.default.clipcount,invoker.clipcount+25);
A_StartSound("deepimpact/reload",CHAN_WEAPON,CHANF_OVERLAP);
A_QuakeEx(1,1,1,7,0,1,"",QF_RELATIVE|QF_SCALEUP,rollIntensity:.05);
invoker.wastecycle = 0;
}
action void A_NoCrank()
{
A_StartSound("deepimpact/noreload",CHAN_WEAPON,CHANF_OVERLAP);
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE|QF_SCALEUP,rollIntensity:.05);
invoker.wastecycle++;
let s = Demolitionist(self).mystats;
if ( s.deepegg < 4 )
{
if ( invoker.wastecycle < (10+s.deepegg*10) ) return;
s.deepegg++;
}
else return;
invoker.wastecycle = 0;
if ( player == players[consoleplayer] )
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CRANK1+(s.deepegg-1));
}
override void MarkPrecacheSounds()