Detect when all clear levels get "uncleared" by newly spawning stuff.
Try to fix blood pools on skies (hopefully).
This commit is contained in:
parent
4597ee6d2e
commit
ddd198974d
7 changed files with 53 additions and 15 deletions
|
|
@ -658,6 +658,9 @@ SWWM_LASTMONSTER = "\cf%s\cf killed the last monster. +%d\c-";
|
|||
SWWM_NEWLORE = "New entries have been added to the Library.";
|
||||
SWWM_SELLEXTRA = "\cf%s\cf sold an extra %s\cf. +%d\c-";
|
||||
SWWM_ALLCLEAR = "\cxLevel all clear! \cf+%d\c-";
|
||||
SWWM_NOTCLEAR = "\cxLevel not clear?\c-";
|
||||
SWWM_ALLCLEARAGAIN = "\cxLevel all clear... again!? \cf+%d\c-";
|
||||
SWWM_NOTCLEARAGAIN = "\cxLevel not clear... again??\c-";
|
||||
SWWM_NEWMISSION = "Mission briefing has been updated.";
|
||||
// intermission tips
|
||||
SWWM_NINTERTIP = "120";
|
||||
|
|
|
|||
|
|
@ -585,6 +585,9 @@ SWWM_NEWLORE = "Hay nuevas entradas disponibles en la Biblioteca.";
|
|||
SWWM_SELLEXTRA = "\cf%s\cf vendió un %s\cf extra. +%d\c-";
|
||||
SWWM_SELLEXTRA_FEM = "\cf%s\cf vendió una %s\cf extra. +%d\c-";
|
||||
SWWM_ALLCLEAR = "\cx¡Nivel despejado! \cf+%d\c-";
|
||||
SWWM_NOTCLEAR = "\cx¿Nivel no despejado?\c-";
|
||||
SWWM_ALLCLEARAGAIN = "\cx¿¡Nivel despejado... otra vez!? \cf+%d\c-";
|
||||
SWWM_NOTCLEARAGAIN = "\cx¿¿Nivel no despejado... otra vez??\c-";
|
||||
SWWM_NEWMISSION = "El informe de misión ha sido actualizado.";
|
||||
// intermission tips
|
||||
SWWM_INTERTIP = "Consejo #%d:";
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r278 \cu(Tue 16 Feb 00:51:55 CET 2021)\c-";
|
||||
SWWM_SHORTVER="\cw0.9.11b-pre r278 \cu(2021-02-16 00:51:55)\c-";
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r279 \cu(Tue 16 Feb 21:05:27 CET 2021)\c-";
|
||||
SWWM_SHORTVER="\cw0.9.11b-pre r279 \cu(2021-02-16 21:05:27)\c-";
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ bestsound sounds/CORK.ogg
|
|||
haha/dab sounds/DAB.ogg
|
||||
bruh sounds/BRUH.ogg
|
||||
squeak sounds/SQUEAK.ogg
|
||||
recordscratch sounds/RECSCRAP.ogg
|
||||
|
||||
saya/giggle1 sounds/saya/saya_giggle1.ogg
|
||||
saya/giggle2 sounds/saya/saya_giggle2.ogg
|
||||
|
|
|
|||
BIN
sounds/RECSCRAP.ogg
Normal file
BIN
sounds/RECSCRAP.ogg
Normal file
Binary file not shown.
|
|
@ -223,7 +223,7 @@ Class mkBloodDrop : Actor
|
|||
if ( !d.HitSector )
|
||||
{
|
||||
d.HitSector = floorsector;
|
||||
d.HitTexture = floorpic;
|
||||
d.HitTexture = floorsector.GetTexture(0);
|
||||
}
|
||||
if ( d.HitTexture == skyflatnum )
|
||||
{
|
||||
|
|
@ -265,7 +265,7 @@ Class mkBloodDrop : Actor
|
|||
if ( !d.HitSector )
|
||||
{
|
||||
d.HitSector = ceilingsector;
|
||||
d.HitTexture = ceilingpic;
|
||||
d.HitTexture = ceilingsector.GetTexture(1);
|
||||
}
|
||||
if ( (d.HitTexture == skyflatnum) || master )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -232,9 +232,10 @@ Class SWWMHandler : EventHandler
|
|||
int lastkill[MAXPLAYERS];
|
||||
int multilevel[MAXPLAYERS];
|
||||
int lastitemcount[MAXPLAYERS];
|
||||
bool mnotify;
|
||||
bool allkills, allitems, allsecrets;
|
||||
bool mapclear;
|
||||
bool mnotify;
|
||||
int mapclearagain, restartmus;
|
||||
// for custom cheats
|
||||
transient ui int kcode;
|
||||
transient ui String kstr;
|
||||
|
|
@ -1240,16 +1241,37 @@ Class SWWMHandler : EventHandler
|
|||
|
||||
private void OneHundredPercentCheck()
|
||||
{
|
||||
if ( !mapclear && (restartmus > 0) )
|
||||
{
|
||||
restartmus--;
|
||||
if ( restartmus == 0 ) S_ChangeMusic("*",force:true);
|
||||
return;
|
||||
}
|
||||
// ignore levels that have NOTHING
|
||||
if ( (level.total_secrets <= 0)
|
||||
&& (level.total_items <= 0)
|
||||
&& (level.total_monsters <= 0) ) return;
|
||||
if ( mapclear ) return;
|
||||
if ( (level.found_secrets < level.total_secrets)
|
||||
|| (level.found_items < level.total_items)
|
||||
|| (level.killed_monsters < level.total_monsters) ) return;
|
||||
if ( (level.total_secrets <= 0) && (level.total_items <= 0) && (level.total_monsters <= 0) ) return;
|
||||
if ( mapclear )
|
||||
{
|
||||
if ( (swwm_silencemap > 1) && (musplaying.name != "music/olg.ogg") )
|
||||
S_ChangeMusic("music/olg.ogg",force:true);
|
||||
if ( (level.found_secrets < level.total_secrets) || (level.found_items < level.total_items) || (level.killed_monsters < level.total_monsters) )
|
||||
{
|
||||
if ( swwm_silencemap > 0 )
|
||||
{
|
||||
restartmus = 25;
|
||||
S_ChangeMusic("",force:true);
|
||||
S_StartSound("recordscratch",CHAN_VOICE,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
|
||||
}
|
||||
mapclear = false;
|
||||
if ( mapclearagain > 1 ) Console.Printf(StringTable.Localize("$SWWM_NOTCLEARAGAIN"));
|
||||
else Console.Printf(StringTable.Localize("$SWWM_NOTCLEAR"));
|
||||
}
|
||||
return;
|
||||
}
|
||||
if ( (level.found_secrets < level.total_secrets) || (level.found_items < level.total_items) || (level.killed_monsters < level.total_monsters) ) return;
|
||||
restartmus = 0;
|
||||
mapclear = true;
|
||||
Console.Printf(StringTable.Localize("$SWWM_ALLCLEAR"),5000);
|
||||
if ( mapclearagain ) Console.Printf(StringTable.Localize("$SWWM_ALLCLEARAGAIN"),500);
|
||||
else Console.Printf(StringTable.Localize("$SWWM_ALLCLEAR"),5000);
|
||||
S_StartSound("misc/wow",CHAN_VOICE,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
|
||||
if ( swwm_silencemap == 1 ) S_ChangeMusic("",force:true);
|
||||
else if ( swwm_silencemap > 1 ) S_ChangeMusic("music/olg.ogg",force:true);
|
||||
|
|
@ -1258,10 +1280,19 @@ Class SWWMHandler : EventHandler
|
|||
if ( !playeringame[i] || !players[i].mo ) continue;
|
||||
let f = Actor.Spawn("PartyTime",players[i].mo.pos);
|
||||
f.bAMBUSH = true;
|
||||
if ( mapclearagain )
|
||||
{
|
||||
SWWMCredits.Give(players[i],500);
|
||||
SWWMScoreObj.Spawn(500,players[i].mo.Vec3Offset(0,0,players[i].mo.Height/2));
|
||||
}
|
||||
else
|
||||
{
|
||||
SWWMCredits.Give(players[i],5000);
|
||||
SWWMScoreObj.Spawn(5000,players[i].mo.Vec3Offset(0,0,players[i].mo.Height/2));
|
||||
}
|
||||
}
|
||||
mapclearagain++;
|
||||
}
|
||||
|
||||
override void WorldTick()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue