Original voice acting (batch 1). Plus other stuff.

This commit is contained in:
Mari the Deer 2021-10-05 19:22:34 +02:00
commit 651376f182
450 changed files with 1556 additions and 768 deletions

View file

@ -439,7 +439,7 @@ extend Class SWWMHandler
if ( kstr != cht[i] ) continue;
if ( (i > 5) && !swwm_nomapmsg && !swwm_oldcheat )
{
let m = new("SWWMDirectMessage").Init("\chZanaveth\c-","\chZanaveth Nekuraku III\c-","Znv");
let m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_ZNVSNAME"),StringTable.Localize("$SWWM_ZNVNAME"),"Znv");
m.seqname = "ZNVTXT";
m.seqcnt = 5;
m.znvspecial = true;

View file

@ -22,12 +22,28 @@ extend Class SWWMHandler
String voicetype = CVar.FindCVar('swwm_voicetype').GetString();
// suppress non-rage comments when ragekit is active, only screaming allowed
if ( players[consoleplayer].mo.FindInventory("RagekitPower") && (type != "ragekit") ) return 0;
int whichline;
// check first if it's a multiple option line type
String testme = String.Format("SWWM_SUBS_%s_N%s",voicetype.MakeUpper(),type.MakeUpper());
String locme = StringTable.Localize(testme,false);
int countem;
if ( testme == locme ) countem = 0;
else countem = locme.ToInt();
if ( testme == locme )
{
// it might be a single option line type
testme = String.Format("SWWM_SUBS_%s_%s",voicetype.MakeUpper(),type.MakeUpper());
locme = StringTable.Localize(testme,false);
if ( testme == locme ) return 0; // nope, the voicepack doesn't have it
hnd.oneliner = String.Format("$SWWM_SUBS_%s_%s",voicetype.MakeUpper(),type.MakeUpper());
hnd.onelinersnd = String.Format("voice/%s/%s",voicetype,type);
hnd.onelinertic = gametic+delay;
hnd.onelinerspan = int(S_GetLength(hnd.onelinersnd)*GameTicRate);
if ( hnd.onelinerspan == 0 )
{
if ( developer >= 2 ) Console.Printf("No sound for voice line '%s'",type);
hnd.onelinerspan = 35;
}
hnd.onelinerlevel = level;
return hnd.onelinertic+hnd.onelinerspan;
}
int countem = locme.ToInt();
if ( countem == 0 ) return 0; // voicepack doesn't have this
// check last line so we don't repeat
int last = 0, ent;
@ -38,6 +54,7 @@ extend Class SWWMHandler
ent = i;
break;
}
int whichline;
if ( countem == 1 ) whichline = 1;
else if ( last > 0 )
{
@ -57,6 +74,11 @@ extend Class SWWMHandler
hnd.onelinersnd = String.Format("voice/%s/%s%d",voicetype,type,whichline);
hnd.onelinertic = gametic+delay;
hnd.onelinerspan = int(S_GetLength(hnd.onelinersnd)*GameTicRate);
if ( hnd.onelinerspan == 0 )
{
if ( developer >= 2 ) Console.Printf("No sound for voice line '%s%d'",type,whichline);
hnd.onelinerspan = 35;
}
hnd.onelinerlevel = level;
return hnd.onelinertic+hnd.onelinerspan;
}
@ -67,7 +89,10 @@ extend Class SWWMHandler
if ( players[consoleplayer].health > 0 )
{
if ( onelinerlevel > swwm_mutevoice )
{
players[consoleplayer].mo.A_StartSound(onelinersnd,CHAN_DEMOVOICE,CHANF_DEFAULT,1.,ATTN_NONE);
players[consoleplayer].mo.A_StartSound(onelinersnd,CHAN_DEMOVOICEAUX,CHANF_DEFAULT,1.,ATTN_NONE);
}
SendNetworkEvent("swwmremoteliner."..onelinersnd,consoleplayer,onelinerlevel);
}
onelinertic = 0;

View file

@ -96,8 +96,15 @@ extend Class SWWMHandler
s.favweapon = -1;
for ( Inventory i=p.mo.Inv; i; i=i.inv )
{
if ( i is 'Weapon' )
s.GotWeapon(Weapon(i).GetClass());
if ( !(i is 'Weapon') ) continue;
// skip dual weapons if their sister weapon amount isn't 2
String cn = i.GetClassName();
if ( cn.Left(4) ~== "Dual" )
{
let ss = Weapon(i).SisterWeapon;
if ( !ss || (ss.Amount == 1) ) continue;
}
s.GotWeapon(Weapon(i).GetClass());
}
}
// reset some vars

View file

@ -13,7 +13,7 @@ extend Class SWWMHandler
if ( !swwm_nomapmsg )
{
// angry about phase two
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAEVIB";
msg.seqcnt = 2;
msg.delay = 20;
@ -30,7 +30,7 @@ extend Class SWWMHandler
int whichboss = WhichVanillaBossMap();
if ( bossmap == MAP_DE1M8 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAPHOBOS";
msg.seqcnt = 4;
msg.delay = 40;
@ -38,7 +38,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_DE2M8 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYADEIMOS";
msg.seqcnt = 4;
msg.delay = 40;
@ -46,7 +46,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_DE3M8 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYADIS";
msg.seqcnt = 4;
msg.delay = 40;
@ -54,7 +54,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_DE4M8 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYATHY";
msg.seqcnt = 4;
msg.delay = 40;
@ -62,7 +62,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_DMAP07 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYADIMPLE";
msg.seqcnt = 5;
msg.delay = 40;
@ -80,7 +80,7 @@ extend Class SWWMHandler
}
if ( rampancy )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYARAMPANCY";
msg.seqcnt = 4;
msg.delay = 250;
@ -88,7 +88,7 @@ extend Class SWWMHandler
}
else
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAIOS";
msg.seqcnt = 5;
msg.delay = 40;
@ -97,7 +97,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_DLVL08 )
{
let msg = new("SWWMDirectMessage").Init("\cvCytho\c-",StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_CYTHOSNAME"),StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
msg.seqname = "CYTHONERVE";
msg.seqcnt = 5;
msg.delay = 40;
@ -105,7 +105,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_EVMAP30 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAEVIA";
msg.seqcnt = 4;
msg.delay = 40;
@ -115,7 +115,7 @@ extend Class SWWMHandler
{
if ( level.mapname ~== "E1M8" )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAMAW";
msg.seqcnt = 5;
msg.delay = 40;
@ -123,7 +123,7 @@ extend Class SWWMHandler
}
else
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAHEADS";
msg.seqcnt = 6;
msg.delay = 40;
@ -134,7 +134,7 @@ extend Class SWWMHandler
{
if ( level.mapname ~== "E2M8" )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAMASTERS";
msg.seqcnt = 5;
msg.delay = 40;
@ -142,7 +142,7 @@ extend Class SWWMHandler
}
else
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYABULLS";
msg.seqcnt = 5;
msg.delay = 40;
@ -151,7 +151,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_HE3M8 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYADSPARIL";
msg.seqcnt = 5;
msg.delay = 40;
@ -159,19 +159,19 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_HMAP38 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let 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);
let msg2 = new("SWWMDirectMessage").Init("\cxKirin\c-","\cxKirin Xanai\c-","Kirin");
let 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("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg2.seqname = "SAYACLERICC";
msg2.seqcnt = 2;
msg2.delay = 20;
@ -180,7 +180,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_HMAP36 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAFIGHTER";
msg.seqcnt = 2;
msg.delay = 40;
@ -188,7 +188,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_HMAP37 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAMAGE";
msg.seqcnt = 4;
msg.delay = 40;
@ -196,7 +196,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_HMAP12 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYAHYPO";
msg.seqcnt = 4;
msg.delay = 40;
@ -204,33 +204,33 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_HMAP40 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let 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);
let msg2 = new("SWWMDirectMessage").Init("\cxKirin\c-","\cxKirin Xanai\c-","Kirin");
let 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("\crIbuki\c-","\crIbuki Miyamoto\c-","Ibuki");
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("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
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("\cxKirin\c-","\cxKirin Xanai\c-","Kirin");
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
msg2.seqname = "SAYAKORAXE";
msg2.seqcnt = 1;
msg2.delay = 20;
@ -239,26 +239,26 @@ extend Class SWWMHandler
}
else if ( (bossmap == MAP_HMAP23_HMAP27_HMAP48_HMAP55) && (level.mapname ~== "MAP48") )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let 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);
let msg2 = new("SWWMDirectMessage").Init("\crIbuki\c-","\crIbuki Miyamoto\c-","Ibuki");
let 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("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
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("\crIbuki\c-","\crIbuki Miyamoto\c-","Ibuki");
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki");
msg2.seqname = "SAYACONSTABLED";
msg2.seqcnt = 1;
msg2.delay = 20;
@ -267,7 +267,7 @@ extend Class SWWMHandler
}
else if ( bossmap == MAP_HMAP60 )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let msg = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg.seqname = "SAYADEATHKINGS";
msg.seqcnt = 1;
msg.delay = 40;
@ -281,22 +281,43 @@ extend Class SWWMHandler
|| (csum ~== "09B30C9DA9D73D3D5A709502FBB947AA")
|| (csum ~== "6EAD80DA1F30B4B3546FA294EEF9F87C") )
{
let msg = new("SWWMDirectMessage").Init("\cvCytho\c-",StringTable.Localize("$SWWM_CYTHONAME"),"Cytho");
let 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);
}
// Doom 2 MAP11
else if ( (csum ~== "73D9E03CEE7BF1A97EFD2EAD86688EF8")
|| (csum ~== "F4F2A769609988837458772AAE99008C")
|| (csum ~== "DF6A001A6C42DB5CCA599EE5883B294A") )
{
let 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);
}
// Doom 2 MAP20
else if ( (csum ~== "8898F5EC9CBDCD98019A1BC1BF892A8A")
|| (csum ~== "CC53CFFCB30E873669AA2F09DA0D3566") )
{
let 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);
}
// Deathkings
// Blight
else if ( csum ~== "E3EFB0156A20ADF2DF00915A0EA85DF5" )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let 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);
let msg2 = new("SWWMDirectMessage").Init("\cxKirin\c-","\cxKirin Xanai\c-","Kirin");
let msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
msg2.seqname = "SAYABLIGHTB";
msg2.seqcnt = 1;
msg2.delay = 5;
@ -304,7 +325,7 @@ extend Class SWWMHandler
msg.nextmsg = msg2;
msg.nextdirect = true;
msg = msg2;
msg2 = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg2.seqname = "SAYABLIGHTC";
msg2.seqcnt = 2;
msg2.delay = 20;
@ -314,19 +335,19 @@ extend Class SWWMHandler
// Nave
else if ( csum ~== "E2B5D1400279335811C1C1C0B437D9C8" )
{
let msg = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
let 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);
let msg2 = new("SWWMDirectMessage").Init("\crIbuki\c-","\crIbuki Miyamoto\c-","Ibuki");
let 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("\cxKirin\c-","\cxKirin Xanai\c-","Kirin");
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin");
msg2.seqname = "SAYANAVEC";
msg2.seqcnt = 1;
msg2.delay = 5;
@ -334,21 +355,21 @@ extend Class SWWMHandler
msg.nextmsg = msg2;
msg.nextdirect = true;
msg = msg2;
msg2 = new("SWWMDirectMessage").Init("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
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("\crIbuki\c-","\crIbuki Miyamoto\c-","Ibuki");
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("\cgSaya\c-","\cgSaya Miyamoto\c-","Saya");
msg2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya");
msg2.seqname = "SAYANAVEF";
msg2.seqcnt = 1;
msg2.delay = 40;

View file

@ -65,7 +65,8 @@ extend Class SWWMHandler
return MAP_HE2M8_HE5M8;
if ( mapsum ~== "4719C2C71EF28F52310B889DD5A9778B" )
return MAP_HE3M8;
if ( mapsum ~== "291F24417FB3DD411339AE82EF9B3597" )
if ( (mapsum ~== "291F24417FB3DD411339AE82EF9B3597")
|| (mapsum ~== "FF8620A6B4EB60CCE737EBC1E6CC7A9F") ) // second sum is for Ultimate Doom 2
return MAP_DMAP07;
if ( mapsum ~== "5EECD88F4491F516D590CE4BBF45F532" )
return MAP_DMAP30;
@ -354,6 +355,12 @@ extend Class SWWMHandler
if ( (!bossactors[i].target || !bossactors[i].CheckSight(bossactors[i].target,SF_IGNOREVISIBILITY|SF_IGNOREWATERBOUNDARY))
&& (!bossviewactor || (bossviewactor && !bossviewactor.target)) ) continue;
initialized = true;
// hacky
if ( bossmap == MAP_DMAP30 )
{
highesttic = gametic;
lastcombat = AddOneliner("romero",1,200);
}
break;
}
}

View file

@ -19,6 +19,7 @@ extend Class SWWMHandler
int lastorder;
bool lastloop;
transient ThinkerIterator cti;
bool tauntedboss;
private void LangRefresh()
{
@ -97,7 +98,7 @@ extend Class SWWMHandler
// add new entries
if ( !cti ) cti = ThinkerIterator.Create("Actor");
else cti.Reinit();
Actor a;
Actor a, keyactor = null;
while ( a = Actor(cti.Next()) )
{
if ( !a.player && !a.bISMONSTER ) continue;
@ -125,8 +126,19 @@ extend Class SWWMHandler
combatactors.Push(a);
combattics.Push(gametic);
enteredcombat = true;
if ( (a is 'Korax') || (a is 'Sorcerer1') || (a.GetClassName() == "ArchangelusA") )
keyactor = a;
}
}
// special combat start lines
if ( enteredcombat && keyactor && !tauntedboss )
{
if ( keyactor is 'Korax' ) lastcombat = AddOneliner("korax",1,40);
else if ( keyactor is 'Sorcerer1' ) lastcombat = AddOneliner("dsparil",1,100);
else if ( keyactor.GetClassName() == "ArchangelusA" ) lastcombat = AddOneliner("archangelus",1,350);
tauntedboss = true;
return;
}
// be smart, demo-chan, don't shout if you're invisible, or you'll make it worse
if ( enteredcombat && (!highesttic || (gametic > highesttic+700)) && !players[consoleplayer].mo.FindInventory("GhostPower") )
lastcombat = AddOneliner("fightstart",1,10);