Completely rewrite dialogue message system.

This commit is contained in:
Mari the Deer 2023-08-27 13:52:44 +02:00
commit 4ba1d51bcf
17 changed files with 1046 additions and 1108 deletions

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r944 \cu(Sat 26 Aug 18:41:52 CEST 2023)\c-";
SWWM_SHORTVER="\cw1.3pre r944 \cu(2023-08-26 18:41:52)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r945 \cu(Sun 27 Aug 13:52:44 CEST 2023)\c-";
SWWM_SHORTVER="\cw1.3pre r945 \cu(2023-08-27 13:52:44)\c-";

818
swwmdialogue.txt Normal file
View file

@ -0,0 +1,818 @@
# Doom 1
DLG PHOBOS
SEQ SAYA
NAME SAYAPHOBOS
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG DEIMOS
SEQ SAYA
NAME SAYADEIMOS
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG DIS
SEQ SAYA
NAME SAYADIS
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG THY
SEQ SAYA
NAME SAYATHY
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG SIGIL
SEQ CYTHO
NAME CYTHOSIGIL
CNT 4
DELAY 40
ENDSEQ
ENDDLG
# Doom 2
DLG DIMPLE
SEQ SAYA
NAME SAYADIMPLE
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG CIRCLE
SEQ SAYA
NAME SAYACIRCLE
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG GOTCHA
SEQ SAYA
NAME SAYAGOTCHA
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG GOTCHAEND
SEQ SAYA
NAME SAYAGOTCHAEND
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG IOS
SEQ SAYA
NAME SAYAIOS
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG RAMPANCY
SEQ SAYA
NAME SAYARAMPANCY
CNT 4
DELAY 250
ENDSEQ
ENDDLG
DLG NERVE
SEQ CYTHO
NAME CYTHONERVE
CNT 5
DELAY 40
ENDSEQ
ENDDLG
# Eviternity
DLG DMN
SEQ SAYA
NAME SAYADMN
CNT 8
DELAY 40
ENDSEQ
ENDDLG
DLG CRE
SEQ SAYA
NAME SAYACRE
CNT 4
DELAY 50
ENDSEQ
ENDDLG
DLG CRY
SEQ SAYA
NAME SAYACRY
CNT 5
DELAY 30
ENDSEQ
ENDDLG
DLG CON
SEQ SAYA
NAME SAYACON
CNT 5
DELAY 50
ENDSEQ
ENDDLG
DLG SLA
SEQ SAYA
NAME SAYASLA
CNT 1
DELAY 120
ENDSEQ
ENDDLG
DLG EVIA
SEQ SAYA
NAME SAYAEVIA
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG EVIB
SEQ SAYA
NAME SAYAEVIB
CNT 2
DELAY 20
ENDSEQ
ENDDLG
# Heretic
DLG MAW
SEQ SAYA
NAME SAYAMAW
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG PORTALS
SEQ SAYA
NAME SAYAPORTALS
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG DSPARIL
SEQ SAYA
NAME SAYADSPARIL
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG HEADS
SEQ SAYA
NAME SAYAHEADS
CNT 6
DELAY 40
ENDSEQ
ENDDLG
DLG BULLS
SEQ SAYA
NAME SAYABULLS
CNT 5
DELAY 40
ENDSEQ
ENDDLG
# Hexen
DLG GREET
SEQ SAYA
NAME SAYAGREETA
CNT 3
DELAY 150
ENDSEQ
SEQ KIRIN
NAME SAYAGREETB
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYAGREETC
CNT 3
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYAGREETD
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYAGREETE
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYAGREETF
CNT 1
DELAY 30
ENDSEQ
ENDDLG
DLG BLOOD
SEQ SAYA
NAME SAYABLOODA
CNT 2
DELAY 220
ENDSEQ
SEQ IBUKI
NAME SAYABLOODB
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYABLOODC
CNT 1
DELAY 30
ENDSEQ
ENDDLG
DLG HYPO
SEQ SAYA
NAME SAYAHYPO
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG WORSHIP
SEQ KIRIN
NAME KIRINWORSHIPA
CNT 1
DELAY 150
ENDSEQ
SEQ SAYA
NAME KIRINWORSHIPB
CNT 1
DELAY 40
ENDDELAY 50
ENDSEQ
SEQ KIRIN
NAME KIRINWORSHIPC
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME KIRINWORSHIPD
CNT 1
DELAY 40
ENDSEQ
SEQ KIRIN
NAME KIRINWORSHIPE
CNT 1
DELAY 20
ENDDELAY 30
ENDSEQ
SEQ SAYA
NAME KIRINWORSHIPF
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME KIRINWORSHIPG
CNT 1
DELAY 40
ENDSEQ
ENDDLG
DLG GAME
SEQ SAYA
NAME SAYAGAMEA
CNT 2
DELAY 200
ENDSEQ
SEQ IBUKI
NAME SAYAGAMEB
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYAGAMEC
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG MASTERS
SEQ SAYA
NAME SAYAMASTERSA
CNT 2
DELAY 150
ENDDELAY 60
ENDSEQ
SEQ IBUKI
NAME SAYAMASTERSB
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYAMASTERSC
CNT 1
DELAY 20
ENDSEQ
SEQ IBUKI
NAME SAYAMASTERSD
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYAMASTERSE
CNT 1
DELAY 40
ENDSEQ
SEQ SAYA
NAME SAYAMASTERSF
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG FIGHTER
SEQ SAYA
NAME SAYAFIGHTER
CNT 2
DELAY 40
ENDSEQ
ENDDLG
DLG CLERIC
SEQ SAYA
NAME SAYACLERICA
CNT 2
DELAY 40
ENDSEQ
SEQ KIRIN
NAME SAYACLERICB
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYACLERICC
CNT 2
DELAY 20
ENDSEQ
ENDDLG
DLG MAGE
SEQ SAYA
NAME SAYAMAGE
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG KORAX
SEQ SAYA
NAME SAYAKORAXA
CNT 1
DELAY 40
ENDSEQ
SEQ KIRIN
NAME SAYAKORAXB
CNT 1
DELAY 20
ENDSEQ
SEQ IBUKI
NAME SAYAKORAXC
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYAKORAXD
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYAKORAXE
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG BLIGHT
SEQ SAYA
NAME SAYABLIGHTA
CNT 1
DELAY 40
ENDSEQ
SEQ Kirin
NAME SAYABLIGHTB
CNT 1
DELAY 5
ENDDELAY 15
ENDSEQ
SEQ SAYA
NAME SAYABLIGHTC
CNT 2
DELAY 20
ENDSEQ
ENDDLG
DLG CONSTABLE
SEQ SAYA
NAME SAYACONSTABLEA
CNT 2
DELAY 40
ENDSEQ
SEQ IBUKI
NAME SAYACONSTABLEB
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYACONSTABLEC
CNT 1
DELAY 20
ENDSEQ
SEQ IBUKI
NAME SAYACONSTABLED
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG NAVE
SEQ SAYA
NAME SAYANAVEA
CNT 2
DELAY 40
ENDSEQ
SEQ IBUKI
NAME SAYANAVEB
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYANAVEC
CNT 1
DELAY 5
ENDDELAY 30
ENDSEQ
SEQ SAYA
NAME SAYANAVED
CNT 1
DELAY 20
ENDSEQ
SEQ IBUKI
NAME SAYANAVEE
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYANAVEF
CNT 1
DELAY 40
ENDSEQ
ENDDLG
DLG DEATHKINGS
SEQ SAYA
NAME SAYADEATHKINGS
CNT 1
DELAY 40
ENDSEQ
ENDDLG
# Hexen puzzles
DLG PUZZLE1
SEQ KIRIN
NAME KIRINPUZZLEA
CNT 2
DELAY 90
ENDSEQ
ENDDLG
DLG PUZZLE2
SEQ KIRIN
NAME KIRINPUZZLEB
CNT 1
DELAY 80
ENDSEQ
ENDDLG
DLG PUZZLE3
SEQ KIRIN
NAME KIRINPUZZLEC
CNT 2
DELAY 70
ENDSEQ
ENDDLG
DLG PUZZLE4
SEQ KIRIN
NAME KIRINPUZZLED
CNT 2
DELAY 70
ENDSEQ
ENDDLG
DLG PUZZLE5
SEQ KIRIN
NAME KIRINPUZZLEE
CNT 2
DELAY 60
ENDSEQ
ENDDLG
DLG PUZZLE6
SEQ KIRIN
NAME KIRINPUZZLEF
CNT 3
DELAY 60
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEG
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME KIRINPUZZLEH
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEI
CNT 2
DELAY 20
ENDSEQ
ENDDLG
DLG PUZZLE7
SEQ KIRIN
NAME KIRINPUZZLEJ
CNT 2
DELAY 80
ENDSEQ
ENDDLG
DLG PUZZLE8
SEQ KIRIN
NAME KIRINPUZZLEK
CNT 1
DELAY 60
ENDSEQ
SEQ IBUKI
NAME KIRINPUZZLEL
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME KIRINPUZZLEM
CNT 1
DELAY 60
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEN
CNT 1
DELAY 30
ENDSEQ
SEQ IBUKI
NAME KIRINPUZZLEO
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEP
CNT 1
DELAY 30
ENDSEQ
SEQ IBUKI
NAME KIRINPUZZLEQ
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG PUZZLE9
SEQ KIRIN
NAME KIRINPUZZLER
CNT 3
DELAY 60
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLES
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME KIRINPUZZLET
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEU
CNT 1
DELAY 20
ENDSEQ
ENDDLG
# miscellaneous
DLG CHEATS
SEQ ZNV
NAME ZNVTXT
CNT 5
DELAY 80
ENDDELAY 90
PAUSEDELAY 40
ZNVSPECIAL
ENDSEQ
ENDDLG
DLG WASTE1
SEQ SAYA
NAME SAYAWASTEA
CNT 1
DELAY 5
STARTDELAY 10
ENDDELAY 25
ENDSEQ
ENDDLG
DLG WASTE2
SEQ SAYA
NAME SAYAWASTEB
CNT 1
DELAY 10
STARTDELAY 20
ENDDELAY 30
ENDSEQ
ENDDLG
DLG WASTE3
SEQ SAYA
NAME SAYAWASTEC
CNT 1
DELAY 30
STARTDELAY 15
ENDDELAY 25
ENDSEQ
ENDDLG
DLG WASTE4
SEQ SAYA
NAME SAYAWASTED
CNT 2
DELAY 40
STARTDELAY 10
ENDDELAY 20
ENDSEQ
ENDDLG
DLG WASTE5
SEQ SAYA
NAME SAYAWASTEE
CNT 1
DELAY 20
STARTDELAY 10
ENDDELAY 30
ENDSEQ
ENDDLG
DLG WASTE6
SEQ SAYA
NAME SAYAWASTEF
CNT 1
DELAY 50
STARTDELAY 20
ENDDELAY 30
ENDSEQ
ENDDLG
DLG LEVER1
SEQ SAYA
NAME SAYALEVERA
CNT 1
DELAY 5
STARTDELAY 20
ENDDELAY 50
ENDSEQ
ENDDLG
DLG LEVER2
SEQ SAYA
NAME SAYALEVERB
CNT 1
DELAY 10
STARTDELAY 30
ENDDELAY 40
ENDSEQ
ENDDLG
DLG LEVER3
SEQ SAYA
NAME SAYALEVERC
CNT 1
DELAY 30
STARTDELAY 10
ENDDELAY 25
ENDSEQ
ENDDLG
DLG LEVER4
SEQ SAYA
NAME SAYALEVERD
CNT 1
DELAY 40
STARTDELAY 10
ENDDELAY 20
ENDSEQ
ENDDLG
DLG LEVER5
SEQ SAYA
NAME SAYALEVERE
CNT 1
DELAY 20
STARTDELAY 10
ENDDELAY 30
ENDSEQ
ENDDLG
DLG LEVER6
SEQ SAYA
NAME SAYALEVERF
CNT 1
DELAY 50
STARTDELAY 20
ENDDELAY 30
ENDSEQ
ENDDLG
DLG LEVER7
SEQ SAYA
NAME SAYALEVERG
CNT 2
DELAY 50
STARTDELAY 30
ENDDELAY 50
ENDSEQ
ENDDLG
DLG FOOL
SEQ SAYA
NAME SAYAFOOL
CNT 5
DELAY 120
ENDSEQ
ENDDLG
DLG CC
SEQ CYTHO
NAME CYTHOCCA
CNT 4
DELAY 120
ENDSEQ
SEQ SAYA
NAME CYTHOCCB
CNT 1
DELAY 30
ENDSEQ
SEQ CYTHO
NAME CYTHOCCC
CNT 1
DELAY 45
ENDSEQ
ENDDLG
DLG LILITH
SEQ SAYA
NAME SAYALILITHA
CNT 2
DELAY 1050 # give it about 15 seconds for it to happen
ENDSEQ
SEQ CYTHO
NAME SAYALILITHB
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYALILITHC
CNT 1
DELAY 20
ENDSEQ
SEQ CYTHO
NAME SAYALILITHD
CNT 1
DELAY 40
ENDSEQ
SEQ SAYA
NAME SAYALILITHE
CNT 1
DELAY 50
ENDSEQ
ENDDLG
DLG ROMERO
SEQ SAYA
NAME SAYAROMEROA
CNT 1
DELAY 50
ENDSEQ
SEQ CYTHO
NAME SAYAROMEROB
CNT 1
DELAY 40
ENDSEQ
SEQ SAYA
NAME SAYAROMEROC
CNT 1
DELAY 30
ENDSEQ
SEQ CYTHO
NAME SAYAROMEROD
CNT 2
DELAY 50
ENDSEQ
SEQ SAYA
NAME SAYAROMEROE
CNT 1
DELAY 70
ENDSEQ
ENDDLG
DLG CRANK1
SEQ SAYA
NAME SAYACRANKA
CNT 1
DELAY 30
ENDSEQ
ENDDLG
DLG CRANK2
SEQ SAYA
NAME SAYACRANKB
CNT 2
DELAY 20
ENDSEQ
ENDDLG
DLG CRANK3
SEQ SAYA
NAME SAYACRANKC
CNT 1
DELAY 80
STARTDELAY 50
ENDSEQ
ENDDLG
DLG CRANK4
SEQ SAYA
NAME SAYACRANKD
CNT 1
DELAY 40
STARTDELAY 40
ENDDELAY 80
CHARDELAY 5
ENDSEQ
ENDDLG

View file

@ -226,7 +226,7 @@ DoomEdNums
// ... and the chancebox
4206920 = Chancebox
// these are also pp stuff
4206930 = SWWMDialogueTrigger
4206930 = SWWMDialogueTriggerGOTCHAEND
4206990 = SWWMGuard
4206991 = SWWMHans
4206992 = SWWMSS

View file

@ -161,7 +161,6 @@ Class SWWMLevelCompatibility : LevelPostProcessor
SetThingArgument(nt,0,tiddy);
nt = AddThing(4206930,(0,0,0));
SetThingID(nt,tiddy);
SetThingArgument(nt,0,SWWMDLG_GOTCHAEND);
break;
// EQUINOX: various boss brain setups that could be cheesed with the Ynykron or silver bullet
// Equinox MAP04

View file

@ -269,7 +269,7 @@ Class Quadravol : SWWMWeapon
else return;
invoker.wastecycle = 0;
if (( s.quadegg > 0) && (player == players[consoleplayer]) )
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_LEVER1+(s.quadegg-1));
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.LEVER"..1+(s.quadegg-1));
}
action void A_LoadOverlay()

View file

@ -267,7 +267,7 @@ Class SWWMHandler : EventHandler
if ( m && (m.GetClassName() == 'CorruptionCardsSelector') ) incardmenu = true;
else if ( incardmenu )
{
if ( !swwm_ccmessage ) SWWMDialogues.StartSeq(SWWMDLG_CC);
if ( !swwm_ccmessage ) SWWMDialogues.StartSeq("CC");
CVar.GetCVar('swwm_ccmessage').SetBool(true);
cardmessaged = true;
SendNetworkEvent("swwmccstart");

View file

@ -409,7 +409,7 @@ extend Class SWWMHandler
let s = SWWMStats.Find(players[consoleplayer]);
if ( (i > 5) && !swwm_nomapmsg && (!s || !s.oldcheat) )
{
if ( !swwm_oldcheats ) SWWMDialogues.StartSeq(SWWMDLG_CHEATS);
if ( !swwm_oldcheats ) SWWMDialogues.StartSeq("CHEATS");
CVar.GetCVar('swwm_oldcheats').SetBool(true);
SendNetworkEvent("swwmsetoldcheat",consoleplayer);
}

View file

@ -42,8 +42,8 @@ extend Class SWWMHandler
override void InterfaceProcess( ConsoleEvent e )
{
if ( e.IsManual ) return;
if ( e.Name ~== "swwmsetdialogue" )
SWWMDialogues.StartSeq(e.Args[0]);
if ( e.Name.Left(16) ~== "swwmsetdialogue." )
SWWMDialogues.StartSeq(e.Name.Mid(16));
else if ( e.Name.Left(11) ~== "swwmkeyget." )
{
let bar = SWWMStatusBar(StatusBar);

View file

@ -49,7 +49,7 @@ Class ROM3R0Message : Inventory
if ( Owner.InStateSequence(Owner.CurState,Owner.SeeState) )
{
Console.PrintfEx(PRINT_CHAT,StringTable.Localize("$BOSSLINE_ROM3R0"));
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_ROMERO);
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.ROMERO");
DepleteOrDestroy();
return;
}
@ -459,7 +459,7 @@ extend Class SWWMHandler
bosstag = "$BT_ARCHANGELUS";
e.Thing.GiveInventory('BossMarker',1);
e.Thing.GiveInventory('EndgameBossMarker',1);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_EVIB);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EVIB");
}
}
if ( ccloaded && (e.Thing.GetClassName() == "CCards_Boss_Romero") )

View file

@ -152,19 +152,19 @@ extend Class SWWMHandler
switch ( whichboss )
{
case MAP_DE1M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_PHOBOS);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.PHOBOS");
break;
case MAP_DE2M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DEIMOS);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DEIMOS");
break;
case MAP_DE3M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DIS);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DIS");
break;
case MAP_DE4M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_THY);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.THY");
break;
case MAP_DMAP07:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DIMPLE);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DIMPLE");
break;
case MAP_DMAP30:
bool rampancy = false;
@ -174,46 +174,46 @@ extend Class SWWMHandler
rampancy = true;
break;
}
if ( rampancy ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_RAMPANCY);
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_IOS);
if ( rampancy ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.RAMPANCY");
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.IOS");
break;
case MAP_DLVL08:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_NERVE);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.NERVE");
break;
case MAP_EVMAP30:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_EVIA);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EVIA");
break;
case MAP_HE1M8_HE4M8:
if ( level.mapname ~== "E1M8" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_MAW);
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_HEADS);
if ( level.mapname ~== "E1M8" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.MAW");
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.HEADS");
break;
case MAP_HE2M8_HE5M8:
if ( level.mapname ~== "E2M8" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_PORTALS);
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_BULLS);
if ( level.mapname ~== "E2M8" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.PORTALS");
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.BULLS");
break;
case MAP_HE3M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DSPARIL);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DSPARIL");
break;
case MAP_HMAP38:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CLERIC);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CLERIC");
break;
case MAP_HMAP36:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_FIGHTER);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.FIGHTER");
break;
case MAP_HMAP37:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_MAGE);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.MAGE");
break;
case MAP_HMAP12:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_HYPO);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.HYPO");
break;
case MAP_HMAP40:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_KORAX);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.KORAX");
break;
case MAP_HMAP23_HMAP27_HMAP48_HMAP55:
if ( level.mapname ~== "MAP48" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CONSTABLE);
if ( level.mapname ~== "MAP48" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CONSTABLE");
break;
case MAP_HMAP60:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DEATHKINGS);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DEATHKINGS");
break;
case MAP_NONE:
String csum = level.GetChecksum();
@ -221,39 +221,39 @@ extend Class SWWMHandler
if ( (csum ~== "3D72FD17F36D2D43FD9A21E6E57EE357")
|| (csum ~== "09B30C9DA9D73D3D5A709502FBB947AA")
|| (csum ~== "6EAD80DA1F30B4B3546FA294EEF9F87C") )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_SIGIL);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.SIGIL");
// Doom 2 MAP11
else if ( (csum ~== "73D9E03CEE7BF1A97EFD2EAD86688EF8")
|| (csum ~== "F4F2A769609988837458772AAE99008C")
|| (csum ~== "DF6A001A6C42DB5CCA599EE5883B294A") )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CIRCLE);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CIRCLE");
// Doom 2 MAP20
else if ( (csum ~== "8898F5EC9CBDCD98019A1BC1BF892A8A")
|| (csum ~== "CC53CFFCB30E873669AA2F09DA0D3566") )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_GOTCHA);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.GOTCHA");
// Eviternity
// MAP05
else if ( csum ~== "33B8501B10CE5E2555C03725F765A914" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DMN);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DMN");
// MAP10
else if ( csum ~== "9E83602D325677B8D7C3BC44BEF9B03F" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CRE);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CRE");
// MAP15
else if ( csum ~== "CA40E6DDAB6B5C924CDC36B1F851421E" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CRY);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CRY");
// MAP20
else if ( csum ~== "F34B3FD4D13AC763469A8E0D7379B9D0" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CON);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CON");
// MAP25
else if ( csum ~== "196BC735473C593F924A59B238574C35" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_SLA);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.SLA");
// Deathkings
// Blight
else if ( csum ~== "E3EFB0156A20ADF2DF00915A0EA85DF5" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_BLIGHT);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.BLIGHT");
// Nave
else if ( csum ~== "E2B5D1400279335811C1C1C0B437D9C8" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_NAVE);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue.NAVE");
break;
}
}

View file

@ -359,7 +359,7 @@ extend Class SWWMHandler
}
else if ( ccloaded && (e.Thing.GetClassName() == "CCards_Token_Glitched") )
{
if ( !gdat.cclilithonce ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_LILITH);
if ( !gdat.cclilithonce ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.LILITH");
gdat.cclilithonce = true;
}
if ( SWWMUtility.IdentifyingDog(e.Thing) || SWWMUtility.IdentifyingCaco(e.Thing)

View file

@ -223,7 +223,7 @@ Class SWWMStaticHandler : StaticEventHandler
if ( gamestate != GS_LEVEL ) return;
if ( SystemTime.Format("%d%m",SystemTime.Now()) == "0104" )
{
if ( !aprilfools ) SWWMDialogues.StartSeq(SWWMDLG_FOOL);
if ( !aprilfools ) SWWMDialogues.StartSeq("FOOL");
aprilfools = true;
}
else aprilfools = false;

File diff suppressed because it is too large Load diff

View file

@ -35,13 +35,13 @@ extend Class SWWMStatusBar
{
EventHandler.SendNetworkEvent("swwmkoraxline",0,consoleplayer);
koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_GREET);
SWWMDialogues.StartSeq("GREET");
}
else if ( msg == StringTable.Localize("$TXT_ACS_MAP13_11_MYSER") )
{
EventHandler.SendNetworkEvent("swwmkoraxline",1,consoleplayer);
koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_BLOOD);
SWWMDialogues.StartSeq("BLOOD");
}
else if ( msg == StringTable.Localize("$TXT_ACS_MAP22_27_YOUHA") )
koraxline = true;
@ -49,7 +49,7 @@ extend Class SWWMStatusBar
{
EventHandler.SendNetworkEvent("swwmkoraxline",2,consoleplayer);
koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_GAME);
SWWMDialogues.StartSeq("GAME");
}
else if ( msg == StringTable.Localize("$TXT_ACS_MAP27_8_WORSH") )
koraxline = true;
@ -57,7 +57,7 @@ extend Class SWWMStatusBar
{
EventHandler.SendNetworkEvent("swwmkoraxline",3,consoleplayer);
koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_WORSHIP);
SWWMDialogues.StartSeq("WORSHIP");
}
else if ( msg == StringTable.Localize("$TXT_ACS_MAP35_12_AREYO") )
koraxline = true;
@ -65,7 +65,7 @@ extend Class SWWMStatusBar
{
EventHandler.SendNetworkEvent("swwmkoraxline",4,consoleplayer);
koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_MASTERS);
SWWMDialogues.StartSeq("MASTERS");
}
if ( koraxline )
{
@ -145,31 +145,31 @@ extend Class SWWMStatusBar
switch ( puzzlecnt )
{
case 1:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE1);
SWWMDialogues.StartSeq("PUZZLE1");
break;
case 2:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE2);
SWWMDialogues.StartSeq("PUZZLE2");
break;
case 3:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE3);
SWWMDialogues.StartSeq("PUZZLE3");
break;
case 5:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE4);
SWWMDialogues.StartSeq("PUZZLE4");
break;
case 8:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE5);
SWWMDialogues.StartSeq("PUZZLE5");
break;
case 11:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE6);
SWWMDialogues.StartSeq("PUZZLE6");
break;
case 20:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE7);
SWWMDialogues.StartSeq("PUZZLE7");
break;
case 30:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE8);
SWWMDialogues.StartSeq("PUZZLE8");
break;
case 31:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE9);
SWWMDialogues.StartSeq("PUZZLE9");
break;
}
}

View file

@ -575,17 +575,23 @@ Class SWWMDirectMessage : HUDMessageBase
// used to manually trigger dialogues
// the AMBUSH flag means the dialogue only shows for the activator
Class SWWMDialogueTrigger : SWWMNonInteractiveActor
Class SWWMDialogueTrigger : SWWMNonInteractiveActor abstract
{
override void Activate( Actor activator )
{
// this is a huge gross hack that only exists because you can't get arg0str out of actors
// (primarily, because you can convert names to ints, but not viceversa)
String dlg = GetClassName();
dlg.StripLeft("SWWMDialogueTrigger");
if ( !bAMBUSH || (activator && (activator.player == players[consoleplayer])) )
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",args[0]);
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue."..dlg);
Destroy();
}
override void Tick() {}
}
Class SWWMDialogueTriggerGOTCHAEND : SWWMDialogueTrigger {}
// I'm just doing this as an experiment, don't mind me
Class DSMapTitle : HUDMessageBase

View file

@ -316,7 +316,7 @@ Class DeepImpact : SWWMWeapon
else return;
invoker.wastecycle = 0;
if ( player == players[consoleplayer] )
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CRANK1+(s.deepegg-1));
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CRANK"..1+(s.deepegg-1));
}
override void MarkPrecacheSounds()

View file

@ -572,7 +572,7 @@ Class SilverBullet : SWWMWeapon
else return;
invoker.wastecycle = 0;
if ( (s.silveregg > 2) && (s.silveregg%2) && (player == players[consoleplayer]) )
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_WASTE1+(((s.silveregg-1)/2)-1));
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.WASTE"..1+(((s.silveregg-1)/2)-1));
}
action void A_DropMag()
{