4.10 support update (unfinished and untested).
This commit is contained in:
parent
eb624f15e3
commit
8e952f412f
80 changed files with 2343 additions and 2356 deletions
994
zscript/hud/swwm_dialogue.zsc
Normal file
994
zscript/hud/swwm_dialogue.zsc
Normal file
|
|
@ -0,0 +1,994 @@
|
|||
// dialogue sequences
|
||||
enum SWWMDialogue
|
||||
{
|
||||
SWWMDLG_None = 0, // dummy
|
||||
SWWMDLG_PHOBOS,
|
||||
SWWMDLG_DEIMOS,
|
||||
SWWMDLG_DIS,
|
||||
SWWMDLG_THY,
|
||||
SWWMDLG_SIGIL,
|
||||
SWWMDLG_DIMPLE,
|
||||
SWWMDLG_CIRCLE,
|
||||
SWWMDLG_GOTCHA,
|
||||
SWWMDLG_GOTCHAEND,
|
||||
SWWMDLG_IOS,
|
||||
SWWMDLG_RAMPANCY,
|
||||
SWWMDLG_NERVE,
|
||||
SWWMDLG_DMN,
|
||||
SWWMDLG_CRE,
|
||||
SWWMDLG_CRY,
|
||||
SWWMDLG_CON,
|
||||
SWWMDLG_SLA,
|
||||
SWWMDLG_EVIA,
|
||||
SWWMDLG_EVIB,
|
||||
SWWMDLG_MAW,
|
||||
SWWMDLG_PORTALS,
|
||||
SWWMDLG_DSPARIL,
|
||||
SWWMDLG_HEADS,
|
||||
SWWMDLG_BULLS,
|
||||
SWWMDLG_GREET,
|
||||
SWWMDLG_BLOOD,
|
||||
SWWMDLG_HYPO,
|
||||
SWWMDLG_WORSHIP,
|
||||
SWWMDLG_GAME,
|
||||
SWWMDLG_MASTERS,
|
||||
SWWMDLG_FIGHTER,
|
||||
SWWMDLG_CLERIC,
|
||||
SWWMDLG_MAGE,
|
||||
SWWMDLG_KORAX,
|
||||
SWWMDLG_BLIGHT,
|
||||
SWWMDLG_CONSTABLE,
|
||||
SWWMDLG_NAVE,
|
||||
SWWMDLG_DEATHKINGS,
|
||||
SWWMDLG_PUZZLE1,
|
||||
SWWMDLG_PUZZLE2,
|
||||
SWWMDLG_PUZZLE3,
|
||||
SWWMDLG_PUZZLE4,
|
||||
SWWMDLG_PUZZLE5,
|
||||
SWWMDLG_PUZZLE6,
|
||||
SWWMDLG_PUZZLE7,
|
||||
SWWMDLG_PUZZLE8,
|
||||
SWWMDLG_PUZZLE9,
|
||||
SWWMDLG_CHEATS,
|
||||
SWWMDLG_WASTE1,
|
||||
SWWMDLG_WASTE2,
|
||||
SWWMDLG_WASTE3,
|
||||
SWWMDLG_WASTE4,
|
||||
SWWMDLG_WASTE5,
|
||||
SWWMDLG_WASTE6,
|
||||
SWWMDLG_LEVER1,
|
||||
SWWMDLG_LEVER2,
|
||||
SWWMDLG_LEVER3,
|
||||
SWWMDLG_LEVER4,
|
||||
SWWMDLG_LEVER5,
|
||||
SWWMDLG_LEVER6,
|
||||
SWWMDLG_LEVER7,
|
||||
SWWMDLG_FOOL,
|
||||
SWWMDLG_CC,
|
||||
SWWMDLG_LILITH,
|
||||
SWWMDLG_ROMERO,
|
||||
NUM_SWWMDLG
|
||||
};
|
||||
|
||||
// this immense string of spaghetti code should be proof enough of the fact I did not think things through when writing the message system
|
||||
Class SWWMDialogues abstract
|
||||
{
|
||||
// try to work around "too many registers" by splitting the pasta into chunks
|
||||
private static ui void StartSeq_SubA( int dlg )
|
||||
{
|
||||
SWWMDirectMessage msg, msg2;
|
||||
switch ( dlg )
|
||||
{
|
||||
case SWWMDLG_PHOBOS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAPHOBOS";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_DEIMOS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYADEIMOS";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_DIS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYADIS";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_THY:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYATHY";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_SIGIL:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_CYTHOSNAME"),StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
|
||||
msg.seqname = "CYTHOSIGIL";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_DIMPLE:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYADIMPLE";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_CIRCLE:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYACIRCLE";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_GOTCHA:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAGOTCHA";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_GOTCHAEND:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAGOTCHAEND";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_IOS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAIOS";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_RAMPANCY:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYARAMPANCY";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 250;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_NERVE:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_CYTHOSNAME"),StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
|
||||
msg.seqname = "CYTHONERVE";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_DMN:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYADMN";
|
||||
msg.seqcnt = 8;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_CRE:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYACRE";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 50;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_CRY:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYACRY";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 30;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_CON:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYACON";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 50;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_SLA:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYASLA";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 120;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_EVIA:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAEVIA";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_EVIB:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAEVIB";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 20;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
}
|
||||
}
|
||||
private static ui void StartSeq_SubB( int dlg )
|
||||
{
|
||||
SWWMDirectMessage msg, msg2;
|
||||
switch ( dlg )
|
||||
{
|
||||
case SWWMDLG_MAW:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAMAW";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_PORTALS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAPORTALS";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_DSPARIL:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYADSPARIL";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_HEADS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAHEADS";
|
||||
msg.seqcnt = 6;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_BULLS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYABULLS";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_GREET:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAGREETA";
|
||||
msg.seqcnt = 3;
|
||||
msg.delay = 150;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "SAYAGREETB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYAGREETC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "SAYAGREETD";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYAGREETE";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "SAYAGREETF";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_BLOOD:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYABLOODA";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 220;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYABLOODB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYABLOODC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYABLOODD";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_HYPO:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAHYPO";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_WORSHIP:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINWORSHIPA";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 150;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "KIRINWORSHIPB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 40;
|
||||
msg2.enddelay = 10;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "KIRINWORSHIPC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 10;
|
||||
msg2.enddelay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "KIRINWORSHIPD";
|
||||
msg2.seqcnt = 2;
|
||||
msg2.delay = 10;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "KIRINWORSHIPE";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg2.enddelay = 10;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "KIRINWORSHIPF";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 10;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_GAME:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAGAMEA";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 200;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYAGAMEB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYAGAMEC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_MASTERS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAMASTERSA";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 150;
|
||||
msg.enddelay = 60;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYAMASTERSB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYAMASTERSC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYAMASTERSD";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "SAYAMASTERSE";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 40;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYAMASTERSF";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_FIGHTER:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAFIGHTER";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_CLERIC:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYACLERICA";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "SAYACLERICB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYACLERICC";
|
||||
msg2.seqcnt = 2;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_MAGE:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAMAGE";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_KORAX:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAKORAXA";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "SAYAKORAXB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYAKORAXC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYAKORAXD";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "SAYAKORAXE";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_BLIGHT:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYABLIGHTA";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "SAYABLIGHTB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 5;
|
||||
msg2.enddelay = 15;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYABLIGHTC";
|
||||
msg2.seqcnt = 2;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_CONSTABLE:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYACONSTABLEA";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYACONSTABLEB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYACONSTABLEC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYACONSTABLED";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_NAVE:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYANAVEA";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYANAVEB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "SAYANAVEC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 5;
|
||||
msg2.enddelay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYANAVED";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "SAYANAVEE";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYANAVEF";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 40;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_DEATHKINGS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYADEATHKINGS";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
}
|
||||
}
|
||||
private static ui void StartSeq_SubC( int dlg )
|
||||
{
|
||||
SWWMDirectMessage msg, msg2;
|
||||
switch ( dlg )
|
||||
{
|
||||
case SWWMDLG_PUZZLE1:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINPUZZLEA";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 90;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_PUZZLE2:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINPUZZLEB";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 80;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_PUZZLE3:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINPUZZLEC";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 70;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_PUZZLE4:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINPUZZLED";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 70;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_PUZZLE5:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINPUZZLEE";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 60;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_PUZZLE6:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINPUZZLEF";
|
||||
msg.seqcnt = 3;
|
||||
msg.delay = 60;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "KIRINPUZZLEG";
|
||||
msg2.seqcnt = 1;
|
||||
msg.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "KIRINPUZZLEH";
|
||||
msg2.seqcnt = 1;
|
||||
msg.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "KIRINPUZZLEI";
|
||||
msg2.seqcnt = 2;
|
||||
msg.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_PUZZLE7:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINPUZZLEJ";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 80;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_PUZZLE8:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINPUZZLEK";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 60;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "KIRINPUZZLEL";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "KIRINPUZZLEM";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 10;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "KIRINPUZZLEN";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "KIRINPUZZLEO";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "KIRINPUZZLEP";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
msg2.seqname = "KIRINPUZZLEQ";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_PUZZLE9:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg.seqname = "KIRINPUZZLER";
|
||||
msg.seqcnt = 3;
|
||||
msg.delay = 60;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "KIRINPUZZLES";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
msg2.seqname = "KIRINPUZZLET";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "KIRINPUZZLEU";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_CHEATS:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_ZNVSNAME"),StringTable.Localize("$SWWM_ZNVNAME"),"Znv");
|
||||
msg.seqname = "ZNVTXT";
|
||||
msg.seqcnt = 5;
|
||||
msg.znvspecial = true;
|
||||
msg.delay = 80;
|
||||
msg.enddelay = 90;
|
||||
msg.pausedelay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_WASTE1:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAWASTEA";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 5;
|
||||
msg.startdelay = 10;
|
||||
msg.enddelay = 25;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_WASTE2:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAWASTEB";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 10;
|
||||
msg.startdelay = 20;
|
||||
msg.enddelay = 30;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_WASTE3:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAWASTEC";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 30;
|
||||
msg.startdelay = 15;
|
||||
msg.enddelay = 25;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_WASTE4:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAWASTED";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 40;
|
||||
msg.startdelay = 10;
|
||||
msg.enddelay = 20;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_WASTE5:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAWASTEE";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 20;
|
||||
msg.startdelay = 10;
|
||||
msg.enddelay = 30;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_WASTE6:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAWASTEF";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 50;
|
||||
msg.startdelay = 20;
|
||||
msg.enddelay = 30;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_LEVER1:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYALEVERA";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 5;
|
||||
msg.startdelay = 20;
|
||||
msg.enddelay = 50;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_LEVER2:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYALEVERB";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 10;
|
||||
msg.startdelay = 30;
|
||||
msg.enddelay = 40;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_LEVER3:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYALEVERC";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 30;
|
||||
msg.startdelay = 10;
|
||||
msg.enddelay = 25;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_LEVER4:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYALEVERD";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 40;
|
||||
msg.startdelay = 10;
|
||||
msg.enddelay = 20;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_LEVER5:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYALEVERE";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 20;
|
||||
msg.startdelay = 10;
|
||||
msg.enddelay = 30;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_LEVER6:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYALEVERF";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 50;
|
||||
msg.startdelay = 20;
|
||||
msg.enddelay = 30;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_LEVER7:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYALEVERG";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 50;
|
||||
msg.startdelay = 30;
|
||||
msg.enddelay = 50;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
}
|
||||
}
|
||||
private static ui void StartSeq_SubD( int dlg )
|
||||
{
|
||||
SWWMDirectMessage msg, msg2;
|
||||
switch ( dlg )
|
||||
{
|
||||
case SWWMDLG_FOOL:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAFOOL";
|
||||
msg.seqcnt = 5;
|
||||
msg.delay = 120;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
break;
|
||||
case SWWMDLG_CC:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_CYTHOSNAME"),StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
|
||||
msg.seqname = "CYTHOCCA";
|
||||
msg.seqcnt = 4;
|
||||
msg.delay = 120;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "CYTHOCCB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_CYTHOSNAME"),StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
|
||||
msg2.seqname = "CYTHOCCC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 45;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_LILITH:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYALILITHA";
|
||||
msg.seqcnt = 2;
|
||||
msg.delay = 1050; // give it about 15 seconds for it to happen
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_CYTHOSNAME"),StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
|
||||
msg2.seqname = "SAYALILITHB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYALILITHC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 20;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_CYTHOSNAME"),StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
|
||||
msg2.seqname = "SAYALILITHD";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 40;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYALILITHE";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 50;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
case SWWMDLG_ROMERO:
|
||||
msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg.seqname = "SAYAROMEROA";
|
||||
msg.seqcnt = 1;
|
||||
msg.delay = 50;
|
||||
StatusBar.AttachMessage(msg,-1232);
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_CYTHOSNAME"),StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
|
||||
msg2.seqname = "SAYAROMEROB";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 40;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYAROMEROC";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 30;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_CYTHOSNAME"),StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
|
||||
msg2.seqname = "SAYAROMEROD";
|
||||
msg2.seqcnt = 2;
|
||||
msg2.delay = 50;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
msg = msg2;
|
||||
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
msg2.seqname = "SAYAROMEROE";
|
||||
msg2.seqcnt = 1;
|
||||
msg2.delay = 70;
|
||||
msg.nextmsg = msg2;
|
||||
msg.nextdirect = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static ui void StartSeq( int dlg )
|
||||
{
|
||||
if ( swwm_nomapmsg ) return;
|
||||
if ( dlg < SWWMDLG_MAW ) StartSeq_SubA(dlg);
|
||||
else if ( dlg < SWWMDLG_PUZZLE1 ) StartSeq_SubB(dlg);
|
||||
else if ( dlg < SWWMDLG_FOOL ) StartSeq_SubC(dlg);
|
||||
else StartSeq_SubD(dlg);
|
||||
}
|
||||
}
|
||||
|
|
@ -234,167 +234,6 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
|
||||
override bool ProcessMidPrint( Font fnt, String msg, bool bold )
|
||||
{
|
||||
// hack lol
|
||||
if ( msg.Left(15) ~== "swwmwpntooltip." )
|
||||
{
|
||||
String wname = msg.Mid(15);
|
||||
Class<SWWMWeapon> w = wname;
|
||||
if ( w )
|
||||
{
|
||||
let tt = new("SWWMWeaponTooltip").Init(w);
|
||||
bool appended = false;
|
||||
for ( SWWMWeaponTooltip t=ctip; t; t=t.next )
|
||||
{
|
||||
if ( t.next ) continue;
|
||||
appended = true;
|
||||
t.next = tt;
|
||||
break;
|
||||
}
|
||||
if ( !appended )
|
||||
{
|
||||
ctip = tt;
|
||||
AttachMessage(tt,-2910);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if ( msg.Left(11) ~== "swwmkeyget." )
|
||||
{
|
||||
String kname = msg.Mid(11);
|
||||
Class<Key> k = kname;
|
||||
if ( k )
|
||||
{
|
||||
let kg = new("KeyGet");
|
||||
kg.got = k;
|
||||
kg.flashtime = gametic+25;
|
||||
keyflash.Push(kg);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
SWWMDirectMessage m, m2;
|
||||
// more hack
|
||||
if ( msg ~== "swwmultdoom2map20dlg" )
|
||||
{
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
m.seqname = "SAYAGOTCHAEND";
|
||||
m.seqcnt = 5;
|
||||
m.delay = 40;
|
||||
AttachMessage(m,-1232);
|
||||
return true;
|
||||
}
|
||||
else if ( msg.Left(25) ~== "swwmsilverbulleteasteregg" )
|
||||
{
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
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;
|
||||
}
|
||||
else if ( msg.Left(22) ~== "swwmquadravoleasteregg" )
|
||||
{
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
let num = msg.Mid(22).ToInt();
|
||||
switch ( num )
|
||||
{
|
||||
case 1:
|
||||
default:
|
||||
m.seqname = "SAYALEVERA";
|
||||
m.seqcnt = 1;
|
||||
m.delay = 5;
|
||||
m.startdelay = 20;
|
||||
m.enddelay = 50;
|
||||
break;
|
||||
case 2:
|
||||
m.seqname = "SAYALEVERB";
|
||||
m.seqcnt = 1;
|
||||
m.delay = 10;
|
||||
m.startdelay = 30;
|
||||
m.enddelay = 40;
|
||||
break;
|
||||
case 3:
|
||||
m.seqname = "SAYALEVERC";
|
||||
m.seqcnt = 1;
|
||||
m.delay = 30;
|
||||
m.startdelay = 10;
|
||||
m.enddelay = 25;
|
||||
break;
|
||||
case 4:
|
||||
m.seqname = "SAYALEVERD";
|
||||
m.seqcnt = 1;
|
||||
m.delay = 40;
|
||||
m.startdelay = 10;
|
||||
m.enddelay = 20;
|
||||
break;
|
||||
case 5:
|
||||
m.seqname = "SAYALEVERE";
|
||||
m.seqcnt = 1;
|
||||
m.delay = 20;
|
||||
m.startdelay = 10;
|
||||
m.enddelay = 30;
|
||||
break;
|
||||
case 6:
|
||||
m.seqname = "SAYALEVERF";
|
||||
m.seqcnt = 1;
|
||||
m.delay = 50;
|
||||
m.startdelay = 20;
|
||||
m.enddelay = 30;
|
||||
break;
|
||||
case 7:
|
||||
m.seqname = "SAYALEVERG";
|
||||
m.seqcnt = 2;
|
||||
m.delay = 50;
|
||||
m.startdelay = 30;
|
||||
m.enddelay = 50;
|
||||
break;
|
||||
}
|
||||
AttachMessage(m,-1232);
|
||||
return true;
|
||||
}
|
||||
// check for Korax lines, add them to chat (and reply to some of them)
|
||||
bool koraxline = false;
|
||||
if ( msg == StringTable.Localize("$TXT_ACS_MAP02_9_GREET") )
|
||||
|
|
@ -403,81 +242,13 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
{
|
||||
EventHandler.SendNetworkEvent("swwmkoraxline",0,consoleplayer);
|
||||
koraxline = 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;
|
||||
}
|
||||
SWWMDialogues.StartSeq(SWWMDLG_GREET);
|
||||
}
|
||||
else if ( msg == StringTable.Localize("$TXT_ACS_MAP13_11_MYSER") )
|
||||
{
|
||||
EventHandler.SendNetworkEvent("swwmkoraxline",1,consoleplayer);
|
||||
koraxline = 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;
|
||||
}
|
||||
SWWMDialogues.StartSeq(SWWMDLG_BLOOD);
|
||||
}
|
||||
else if ( msg == StringTable.Localize("$TXT_ACS_MAP22_27_YOUHA") )
|
||||
koraxline = true;
|
||||
|
|
@ -485,27 +256,7 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
{
|
||||
EventHandler.SendNetworkEvent("swwmkoraxline",2,consoleplayer);
|
||||
koraxline = 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;
|
||||
}
|
||||
SWWMDialogues.StartSeq(SWWMDLG_GAME);
|
||||
}
|
||||
else if ( msg == StringTable.Localize("$TXT_ACS_MAP27_8_WORSH") )
|
||||
koraxline = true;
|
||||
|
|
@ -513,51 +264,7 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
{
|
||||
EventHandler.SendNetworkEvent("swwmkoraxline",3,consoleplayer);
|
||||
koraxline = 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;
|
||||
m = m2;
|
||||
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m2.seqname = "KIRINWORSHIPE";
|
||||
m2.seqcnt = 1;
|
||||
m2.delay = 20;
|
||||
m2.enddelay = 10;
|
||||
m.nextmsg = m2;
|
||||
m.nextdirect = true;
|
||||
m = m2;
|
||||
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
m2.seqname = "KIRINWORSHIPF";
|
||||
m2.seqcnt = 1;
|
||||
m2.delay = 10;
|
||||
m.nextmsg = m2;
|
||||
m.nextdirect = true;
|
||||
}
|
||||
SWWMDialogues.StartSeq(SWWMDLG_WORSHIP);
|
||||
}
|
||||
else if ( msg == StringTable.Localize("$TXT_ACS_MAP35_12_AREYO") )
|
||||
koraxline = true;
|
||||
|
|
@ -565,49 +272,7 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
{
|
||||
EventHandler.SendNetworkEvent("swwmkoraxline",4,consoleplayer);
|
||||
koraxline = 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;
|
||||
}
|
||||
SWWMDialogues.StartSeq(SWWMDLG_MASTERS);
|
||||
}
|
||||
if ( koraxline )
|
||||
{
|
||||
|
|
@ -687,148 +352,31 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
switch ( puzzlecnt )
|
||||
{
|
||||
case 1:
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m.seqname = "KIRINPUZZLEA";
|
||||
m.seqcnt = 2;
|
||||
m.delay = 90;
|
||||
AttachMessage(m,-1232);
|
||||
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE1);
|
||||
break;
|
||||
case 2:
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m.seqname = "KIRINPUZZLEB";
|
||||
m.seqcnt = 1;
|
||||
m.delay = 80;
|
||||
AttachMessage(m,-1232);
|
||||
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE2);
|
||||
break;
|
||||
case 3:
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m.seqname = "KIRINPUZZLEC";
|
||||
m.seqcnt = 2;
|
||||
m.delay = 70;
|
||||
AttachMessage(m,-1232);
|
||||
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE3);
|
||||
break;
|
||||
case 5:
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m.seqname = "KIRINPUZZLED";
|
||||
m.seqcnt = 2;
|
||||
m.delay = 70;
|
||||
AttachMessage(m,-1232);
|
||||
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE4);
|
||||
break;
|
||||
case 8:
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m.seqname = "KIRINPUZZLEE";
|
||||
m.seqcnt = 2;
|
||||
m.delay = 60;
|
||||
AttachMessage(m,-1232);
|
||||
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE5);
|
||||
break;
|
||||
case 11:
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m.seqname = "KIRINPUZZLEF";
|
||||
m.seqcnt = 3;
|
||||
m.delay = 60;
|
||||
AttachMessage(m,-1232);
|
||||
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
m2.seqname = "KIRINPUZZLEG";
|
||||
m2.seqcnt = 1;
|
||||
m.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 = "KIRINPUZZLEH";
|
||||
m2.seqcnt = 1;
|
||||
m.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 = "KIRINPUZZLEI";
|
||||
m2.seqcnt = 2;
|
||||
m.delay = 20;
|
||||
m.nextmsg = m2;
|
||||
m.nextdirect = true;
|
||||
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE6);
|
||||
break;
|
||||
case 20:
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m.seqname = "KIRINPUZZLEJ";
|
||||
m.seqcnt = 2;
|
||||
m.delay = 80;
|
||||
AttachMessage(m,-1232);
|
||||
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE7);
|
||||
break;
|
||||
case 30:
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m.seqname = "KIRINPUZZLEK";
|
||||
m.seqcnt = 1;
|
||||
m.delay = 60;
|
||||
AttachMessage(m,-1232);
|
||||
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
|
||||
m2.seqname = "KIRINPUZZLEL";
|
||||
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 = "KIRINPUZZLEM";
|
||||
m2.seqcnt = 1;
|
||||
m2.delay = 10;
|
||||
m.nextmsg = m2;
|
||||
m.nextdirect = true;
|
||||
m = m2;
|
||||
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
m2.seqname = "KIRINPUZZLEN";
|
||||
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 = "KIRINPUZZLEO";
|
||||
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 = "KIRINPUZZLEP";
|
||||
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 = "KIRINPUZZLEQ";
|
||||
m2.seqcnt = 1;
|
||||
m2.delay = 20;
|
||||
m.nextmsg = m2;
|
||||
m.nextdirect = true;
|
||||
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE8);
|
||||
break;
|
||||
case 31:
|
||||
m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
|
||||
m.seqname = "KIRINPUZZLER";
|
||||
m.seqcnt = 3;
|
||||
m.delay = 60;
|
||||
AttachMessage(m,-1232);
|
||||
m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
|
||||
m2.seqname = "KIRINPUZZLES";
|
||||
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 = "KIRINPUZZLET";
|
||||
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 = "KIRINPUZZLEU";
|
||||
m2.seqcnt = 1;
|
||||
m2.delay = 20;
|
||||
m.nextmsg = m2;
|
||||
m.nextdirect = true;
|
||||
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE9);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -1120,22 +668,8 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
}
|
||||
}
|
||||
lastwep = CPlayer.PendingWeapon;
|
||||
// make sure vanilla nametags don't display
|
||||
DetachMessageID(0x5745504e); // WEPN
|
||||
DetachMessageID(0x53494e56); // SINV
|
||||
// also try with different endianness, just in case
|
||||
DetachMessageID(0x4e504557); // WEPN
|
||||
DetachMessageID(0x564e4953); // SINV
|
||||
// deathmatch stuff
|
||||
if ( !deathmatch ) return;
|
||||
// forcibly strip these messages
|
||||
// (I decided to drop MP support, so even though there are no
|
||||
// actual spree/multikill announcements in this mod, keeping
|
||||
// the vanilla ones out is important for graphical consistency)
|
||||
DetachMessageID(0x4b535052); // KSPR
|
||||
DetachMessageID(0x5250534b);
|
||||
DetachMessageID(0x4d4b494c); // MKIL
|
||||
DetachMessageID(0x4c494b4d);
|
||||
if ( teamplay )
|
||||
{
|
||||
if ( teamactive.Size() != Teams.Size() ) teamactive.Resize(Teams.Size());
|
||||
|
|
@ -2008,13 +1542,48 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
}
|
||||
private bool CheckFFBoundary( Line l )
|
||||
{
|
||||
if ( !hnd || !hnd.ffsectors.Size() ) return false;
|
||||
int frontidx = hnd.ffsectors.Find(l.frontsector.Index());
|
||||
int backidx = hnd.ffsectors.Find(l.backsector.Index());
|
||||
int fcount = l.frontsector.Get3DFloorCount(),
|
||||
bcount = l.backsector.Get3DFloorCount();
|
||||
// no 3D floors, no boundary
|
||||
if ( (frontidx == hnd.ffsectors.Size()) && (backidx == frontidx) )
|
||||
return false;
|
||||
return true;
|
||||
if ( !fcount && !bcount ) return false;
|
||||
int fvalid = 0, bvalid = 0;
|
||||
for ( int i=0; i<fcount; i++ )
|
||||
{
|
||||
F3DFloor ff = l.frontsector.Get3DFloor(i);
|
||||
if ( (ff.flags&F3DFloor.FF_THISINSIDE) || !(ff.flags&F3DFloor.FF_EXISTS) || (ff.alpha == 0) )
|
||||
continue;
|
||||
fvalid++;
|
||||
}
|
||||
for ( int i=0; i<bcount; i++ )
|
||||
{
|
||||
F3DFloor ff = l.backsector.Get3DFloor(i);
|
||||
if ( (ff.flags&F3DFloor.FF_THISINSIDE) || !(ff.flags&F3DFloor.FF_EXISTS) || (ff.alpha == 0) )
|
||||
continue;
|
||||
bvalid++;
|
||||
}
|
||||
// unmatched counts, there's definitely a boundary
|
||||
if ( fvalid != bvalid ) return true;
|
||||
for ( int i=0; i<fcount; i++ )
|
||||
{
|
||||
F3DFloor ff = l.frontsector.Get3DFloor(i);
|
||||
if ( (ff.flags&F3DFloor.FF_THISINSIDE) || !(ff.flags&F3DFloor.FF_EXISTS) || (ff.alpha == 0) )
|
||||
continue;
|
||||
bool found = false;
|
||||
for ( int j=0; j<bcount; j++ )
|
||||
{
|
||||
F3DFloor ff2 = l.frontsector.Get3DFloor(i);
|
||||
if ( (ff2.flags&F3DFloor.FF_THISINSIDE) || !(ff2.flags&F3DFloor.FF_EXISTS) || (ff2.alpha == 0) )
|
||||
continue;
|
||||
if ( (ff.model != ff2.model) || (ff.flags != ff2.flags) )
|
||||
continue;
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
// at least one mismatch between sectors, there's a boundary for sure
|
||||
if ( !found ) return true;
|
||||
}
|
||||
// no boundary here
|
||||
return false;
|
||||
}
|
||||
|
||||
private void DrawMapLines( Vector2 basepos )
|
||||
|
|
@ -2023,102 +1592,109 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
double zoomview = MAPVIEWDIST*zoomlevel, zoomclip = CLIPDIST*zoomlevel;
|
||||
Vector2 cpos = SWWMUtility.LerpVector2(players[consoleplayer].Camera.prev.xy,players[consoleplayer].Camera.pos.xy,FracTic);
|
||||
Sector csec = players[consoleplayer].Camera.CurSector;
|
||||
for ( int i=0; i<level.lines.Size(); i++ )
|
||||
int thisgroup = csec.portalgroup;
|
||||
int numgroups = level.GetPortalGroupCount();
|
||||
// draw overlays first
|
||||
for ( int p=numgroups-1; p >= -1; p-- )
|
||||
{
|
||||
Line l = level.lines[i];
|
||||
if ( !(l.flags&Line.ML_MAPPED) && !level.allmap && !am_cheat ) continue;
|
||||
if ( (l.flags&Line.ML_DONTDRAW) && ((am_cheat == 0) || (am_cheat >= 4)) )
|
||||
continue;
|
||||
Vector2 rv1 = l.v1.p-cpos, rv2 = l.v2.p-cpos;
|
||||
bool isportal = false;
|
||||
Sector linesector;
|
||||
if ( l.sidedef[0].flags&Side.WALLF_POLYOBJ ) linesector = level.PointInSector(l.v1.p+l.delta/2.);
|
||||
else linesector = l.frontsector;
|
||||
isportal = (linesector.portalgroup!=csec.portalgroup);
|
||||
if ( isportal )
|
||||
if ( p == thisgroup ) continue;
|
||||
foreach ( l : level.lines )
|
||||
{
|
||||
// portal displacement
|
||||
Vector2 pofs = SWWMUtility.PortalDisplacement(csec,linesector);
|
||||
rv1 -= pofs;
|
||||
rv2 -= pofs;
|
||||
}
|
||||
Vector2 mid = (rv1+rv2)/2.;
|
||||
Vector2 siz = (abs(rv1.x-rv2.x),abs(rv1.y-rv2.y))/2.;
|
||||
if ( (((siz.x+zoomview)-abs(mid.x)) <= 0) || (((siz.y+zoomview)-abs(mid.y)) <= 0) )
|
||||
continue;
|
||||
// flip Y
|
||||
rv1.y *= -1;
|
||||
rv2.y *= -1;
|
||||
// rotate by view
|
||||
rv1 = Actor.RotateVector(rv1,ViewRot.x-90);
|
||||
rv2 = Actor.RotateVector(rv2,ViewRot.x-90);
|
||||
// clip to frame
|
||||
bool visible;
|
||||
[visible, rv1, rv2] = SWWMUtility.LiangBarsky((-1,-1)*zoomclip,(1,1)*zoomclip,rv1,rv2);
|
||||
if ( !visible ) continue;
|
||||
// scale to minimap frame
|
||||
rv1 *= (HALFMAPSIZE/zoomclip)*hs;
|
||||
rv2 *= (HALFMAPSIZE/zoomclip)*hs;
|
||||
// offset to minimap center
|
||||
rv1 += basepos;
|
||||
rv2 += basepos;
|
||||
// get the line color
|
||||
Color col = mm_wallcolor;
|
||||
if ( (l.flags&Line.ML_MAPPED) || am_cheat )
|
||||
{
|
||||
int secwit = CheckSecret(l);
|
||||
int lock = SWWMUtility.GetLineLock(l);
|
||||
if ( secwit == 1 ) col = mm_secretsectorcolor;
|
||||
else if ( secwit == 2 ) col = mm_unexploredsecretcolor;
|
||||
else if ( l.flags&Line.ML_SECRET )
|
||||
if ( !(l.flags&Line.ML_MAPPED) && !level.allmap && !am_cheat ) continue;
|
||||
if ( (l.flags&Line.ML_DONTDRAW) && ((am_cheat == 0) || (am_cheat >= 4)) )
|
||||
continue;
|
||||
Vector2 rv1 = l.v1.p-cpos, rv2 = l.v2.p-cpos;
|
||||
int lgroup;
|
||||
if ( l.sidedef[0].flags&Side.WALLF_POLYOBJ ) lgroup = level.PointInSector(l.v1.p+l.delta/2.).portalgroup;
|
||||
else lgroup = l.frontsector.portalgroup;
|
||||
bool isportal = ((numgroups>0)&&(lgroup!=thisgroup));
|
||||
if ( lgroup == p )
|
||||
{
|
||||
if ( am_cheat && l.backsector && mm_secretwallcolor )
|
||||
col = mm_secretwallcolor;
|
||||
else col = mm_wallcolor;
|
||||
// portal displacement
|
||||
Vector2 pofs = level.GetDisplacement(lgroup,thisgroup);
|
||||
rv1 += pofs;
|
||||
rv2 += pofs;
|
||||
}
|
||||
else if ( mm_interlevelcolor
|
||||
&& ((l.special == Exit_Normal)
|
||||
|| (l.special == Exit_Secret)
|
||||
|| (l.special == Teleport_NewMap)
|
||||
|| (l.special == Teleport_EndGame)) )
|
||||
col = mm_interlevelcolor;
|
||||
else if ( mm_intralevelcolor &&
|
||||
(l.activation&SPAC_PlayerActivate)
|
||||
&& ((l.special == Teleport)
|
||||
|| (l.special == Teleport_NoFog)
|
||||
|| (l.special == Teleport_ZombieChanger)
|
||||
|| (l.special == Teleport_Line)) )
|
||||
col = mm_intralevelcolor;
|
||||
else if ( mm_displaylocks
|
||||
&& (lock > 0) && (lock < 256) )
|
||||
else if ( (p != -1) || (lgroup != thisgroup) )
|
||||
continue;
|
||||
Vector2 mid = (rv1+rv2)/2.;
|
||||
Vector2 siz = (abs(rv1.x-rv2.x),abs(rv1.y-rv2.y))/2.;
|
||||
if ( (((siz.x+zoomview)-abs(mid.x)) <= 0) || (((siz.y+zoomview)-abs(mid.y)) <= 0) )
|
||||
continue;
|
||||
// flip Y
|
||||
rv1.y *= -1;
|
||||
rv2.y *= -1;
|
||||
// rotate by view
|
||||
rv1 = Actor.RotateVector(rv1,ViewRot.x-90);
|
||||
rv2 = Actor.RotateVector(rv2,ViewRot.x-90);
|
||||
// clip to frame
|
||||
bool visible;
|
||||
[visible, rv1, rv2] = SWWMUtility.LiangBarsky((-1,-1)*zoomclip,(1,1)*zoomclip,rv1,rv2);
|
||||
if ( !visible ) continue;
|
||||
// scale to minimap frame
|
||||
rv1 *= (HALFMAPSIZE/zoomclip)*hs;
|
||||
rv2 *= (HALFMAPSIZE/zoomclip)*hs;
|
||||
// offset to minimap center
|
||||
rv1 += basepos;
|
||||
rv2 += basepos;
|
||||
// get the line color
|
||||
Color col = mm_wallcolor;
|
||||
if ( (l.flags&Line.ML_MAPPED) || am_cheat )
|
||||
{
|
||||
let lcol = SWWMUtility.GetLockColor(lock);
|
||||
if ( lcol ) col = lcol;
|
||||
else col = mm_lockedcolor;
|
||||
}
|
||||
else if ( mm_specialwallcolor && ShowTriggerLine(l) )
|
||||
col = mm_specialwallcolor;
|
||||
else if ( l.frontsector && l.backsector )
|
||||
{
|
||||
if ( !CmpFloorPlanes(l) ) col = mm_fdwallcolor;
|
||||
else if ( !CmpCeilingPlanes(l) ) col = mm_cdwallcolor;
|
||||
else if ( CheckFFBoundary(l) ) col = mm_efwallcolor;
|
||||
else
|
||||
int secwit = CheckSecret(l);
|
||||
int lock = SWWMUtility.GetLineLock(l);
|
||||
if ( secwit == 1 ) col = mm_secretsectorcolor;
|
||||
else if ( secwit == 2 ) col = mm_unexploredsecretcolor;
|
||||
else if ( l.flags&Line.ML_SECRET )
|
||||
{
|
||||
if ( (am_cheat == 0) || (am_cheat >= 4) )
|
||||
continue;
|
||||
col = mm_tswallcolor;
|
||||
if ( am_cheat && l.backsector && mm_secretwallcolor )
|
||||
col = mm_secretwallcolor;
|
||||
else col = mm_wallcolor;
|
||||
}
|
||||
else if ( mm_interlevelcolor
|
||||
&& ((l.special == Exit_Normal)
|
||||
|| (l.special == Exit_Secret)
|
||||
|| (l.special == Teleport_NewMap)
|
||||
|| (l.special == Teleport_EndGame)) )
|
||||
col = mm_interlevelcolor;
|
||||
else if ( mm_intralevelcolor &&
|
||||
(l.activation&SPAC_PlayerActivate)
|
||||
&& ((l.special == Teleport)
|
||||
|| (l.special == Teleport_NoFog)
|
||||
|| (l.special == Teleport_ZombieChanger)
|
||||
|| (l.special == Teleport_Line)) )
|
||||
col = mm_intralevelcolor;
|
||||
else if ( mm_displaylocks
|
||||
&& (lock > 0) && (lock < 256) )
|
||||
{
|
||||
let lcol = SWWMUtility.GetLockColor(lock);
|
||||
if ( lcol ) col = lcol;
|
||||
else col = mm_lockedcolor;
|
||||
}
|
||||
else if ( mm_specialwallcolor && ShowTriggerLine(l) )
|
||||
col = mm_specialwallcolor;
|
||||
else if ( l.frontsector && l.backsector )
|
||||
{
|
||||
if ( !CmpFloorPlanes(l) ) col = mm_fdwallcolor;
|
||||
else if ( !CmpCeilingPlanes(l) ) col = mm_cdwallcolor;
|
||||
else if ( CheckFFBoundary(l) ) col = mm_efwallcolor;
|
||||
else
|
||||
{
|
||||
if ( (am_cheat == 0) || (am_cheat >= 4) )
|
||||
continue;
|
||||
col = mm_tswallcolor;
|
||||
}
|
||||
}
|
||||
}
|
||||
else col = mm_notseencolor;
|
||||
// draw the line
|
||||
if ( isportal )
|
||||
{
|
||||
col = Color((col.r+mm_portalcolor.r*7)/8,(col.g+mm_portalcolor.g*7)/8,(col.b+mm_portalcolor.b*7)/8);
|
||||
Screen.DrawThickLine(int(rv1.x),int(rv1.y),int(rv2.x),int(rv2.y),max(1.,hs*.25),col);
|
||||
}
|
||||
else Screen.DrawThickLine(int(rv1.x),int(rv1.y),int(rv2.x),int(rv2.y),max(1.,hs*.5),col);
|
||||
}
|
||||
else col = mm_notseencolor;
|
||||
// draw the line
|
||||
if ( isportal )
|
||||
{
|
||||
col = Color((col.r+mm_portalcolor.r*7)/8,(col.g+mm_portalcolor.g*7)/8,(col.b+mm_portalcolor.b*7)/8);
|
||||
Screen.DrawThickLine(int(rv1.x),int(rv1.y),int(rv2.x),int(rv2.y),max(1.,hs*.25),col);
|
||||
}
|
||||
else Screen.DrawThickLine(int(rv1.x),int(rv1.y),int(rv2.x),int(rv2.y),max(1.,hs*.5),col);
|
||||
}
|
||||
}
|
||||
private void DrawMapMarkers( Vector2 basepos )
|
||||
|
|
@ -2159,7 +1735,7 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
{
|
||||
isportal = true;
|
||||
// portal displacement
|
||||
rv -= SWWMUtility.PortalDisplacement(csec,sec);
|
||||
rv += level.GetDisplacement(sec.portalgroup,csec.portalgroup);
|
||||
}
|
||||
if ( (((radius+zoomview)-abs(rv.x)) <= 0) || (((radius+zoomview)-abs(rv.y)) <= 0) )
|
||||
continue;
|
||||
|
|
@ -2184,7 +1760,7 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
{
|
||||
isportal = true;
|
||||
// portal displacement
|
||||
rv -= SWWMUtility.PortalDisplacement(csec,sec);
|
||||
rv += level.GetDisplacement(sec.portalgroup,csec.portalgroup);
|
||||
}
|
||||
if ( (((radius+zoomview)-abs(rv.x)) <= 0) || (((radius+zoomview)-abs(rv.y)) <= 0) )
|
||||
continue;
|
||||
|
|
@ -2256,7 +1832,7 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
{
|
||||
isportal = true;
|
||||
// portal displacement
|
||||
rv -= SWWMUtility.PortalDisplacement(csec,sec);
|
||||
rv += level.GetDisplacement(sec.portalgroup,csec.portalgroup);
|
||||
// and blend in the color too
|
||||
col = Color((col.r+mm_portalcolor.r*7)/8,(col.g+mm_portalcolor.g*7)/8,(col.b+mm_portalcolor.b*7)/8);
|
||||
}
|
||||
|
|
@ -2509,18 +2085,17 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
klist.Push(k);
|
||||
}
|
||||
int maxcolc = (gameinfo.gametype&GAME_DOOMCHEX)?6:4;
|
||||
for ( int i=0; i<klist.Size(); i++ )
|
||||
foreach ( k:klist )
|
||||
{
|
||||
let k = klist[i];
|
||||
// Hexen key icons aren't meant for this kind of HUD
|
||||
TextureID icon = (k is 'HexenKey')?k.SpawnState.GetSpriteTexture(0):k.Icon;
|
||||
Vector2 siz = TexMan.GetScaledSize(icon);
|
||||
Screen.DrawTexture(icon,false,keypos.x-siz.x,keypos.y,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_TopLeft,true);
|
||||
for ( int j=0; j<keyflash.Size(); j++ )
|
||||
foreach ( f:keyflash )
|
||||
{
|
||||
if ( !(k is keyflash[j].got) ) continue;
|
||||
if ( !keyflash[j].flashtime || (gametic >= keyflash[j].flashtime) ) continue;
|
||||
double alph = max((keyflash[j].flashtime-(gametic+FracTic))/25.,0.)**1.5;
|
||||
if ( !(k is f.got) ) continue;
|
||||
if ( !f.flashtime || (gametic >= f.flashtime) ) continue;
|
||||
double alph = max((f.flashtime-(gametic+FracTic))/25.,0.)**1.5;
|
||||
Screen.DrawTexture(icon,false,keypos.x-siz.x,keypos.y,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_TopLeft,true,DTA_ColorOverlay,0xFFFFC040,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
|
||||
break;
|
||||
}
|
||||
|
|
@ -2738,9 +2313,9 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
if ( checkowned )
|
||||
{
|
||||
bool owned = false;
|
||||
for ( int j=0; j<OwnedWeapons.Size(); j++ )
|
||||
foreach ( w:OwnedWeapons )
|
||||
{
|
||||
if ( OwnedWeapons[j].UsesAmmo(a) )
|
||||
if ( w.UsesAmmo(a) )
|
||||
owned = true;
|
||||
}
|
||||
if ( !owned ) continue;
|
||||
|
|
@ -3311,8 +2886,25 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
|
||||
override void Draw( int state, double TicFrac )
|
||||
{
|
||||
Super.Draw(state,TicFrac);
|
||||
double CurFrame = MSTimeF();
|
||||
// make sure vanilla nametags don't display
|
||||
DetachMessageID(0x5745504e); // WEPN
|
||||
DetachMessageID(0x53494e56); // SINV
|
||||
// also try with different endianness, just in case
|
||||
DetachMessageID(0x4e504557); // WEPN
|
||||
DetachMessageID(0x564e4953); // SINV
|
||||
if ( deathmatch )
|
||||
{
|
||||
// forcibly strip these messages
|
||||
// (I decided to drop MP support, so even though there are no
|
||||
// actual spree/multikill announcements in this mod, keeping
|
||||
// the vanilla ones out is important for graphical consistency)
|
||||
DetachMessageID(0x4b535052); // KSPR
|
||||
DetachMessageID(0x5250534b);
|
||||
DetachMessageID(0x4d4b494c); // MKIL
|
||||
DetachMessageID(0x4c494b4d);
|
||||
}
|
||||
Super.Draw(state,TicFrac);
|
||||
FrameTime = (CurFrame-PrevFrame)/1000.;
|
||||
if ( !hnd ) hnd = SWWMHandler(EventHandler.Find("SWWMHandler"));
|
||||
hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.);
|
||||
|
|
|
|||
|
|
@ -339,11 +339,11 @@ Class SWWMDirectMessage : HUDMessageBase
|
|||
// some messages may have newlines in them, split them
|
||||
Array<String> storemsg;
|
||||
txt.Split(storemsg,"\n");
|
||||
for ( int i=0; i<storemsg.Size(); i++ )
|
||||
foreach ( msg:storemsg )
|
||||
{
|
||||
EventHandler.SendNetworkEvent("swwmstoremessage."..chrname..": "..storemsg[i],level.totaltime,PRINT_CHAT,consoleplayer);
|
||||
EventHandler.SendNetworkEvent("swwmstoremessage."..chrname..": "..msg,level.totaltime,PRINT_CHAT,consoleplayer);
|
||||
// stick it into the console as well
|
||||
Console.PrintfEx(PRINT_CHAT|PRINT_NONOTIFY,chrname..": "..storemsg[i]);
|
||||
Console.PrintfEx(PRINT_CHAT|PRINT_NONOTIFY,chrname..": "..msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -537,24 +537,14 @@ Class SWWMDirectMessage : HUDMessageBase
|
|||
}
|
||||
}
|
||||
|
||||
// used to manually trigger dialogues through a hacky method in the hud
|
||||
// because zscript is fucking stupid with its handling of names, we can't
|
||||
// pass the dialogue name to arguments, so it'll have to be hardcoded
|
||||
Class SWWMDialogueTrigger : Actor
|
||||
// used to manually trigger dialogues
|
||||
// the AMBUSH flag means the dialogue only shows for the activator
|
||||
Class SWWMDialogueTrigger : SWWMNonInteractiveActor
|
||||
{
|
||||
default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Activate( Actor activator )
|
||||
{
|
||||
static const String dlglist[] =
|
||||
{
|
||||
"swwmultdoom2map20dlg"
|
||||
};
|
||||
if ( !swwm_nomapmsg )
|
||||
Console.MidPrint(null,dlglist[args[0]]);
|
||||
if ( !bAMBUSH || (activator && (activator.player == players[consoleplayer])) )
|
||||
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",args[0]);
|
||||
Destroy();
|
||||
}
|
||||
override void Tick() {}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue