313 lines
8.1 KiB
Text
313 lines
8.1 KiB
Text
#library "SWWMCOMP"
|
|
#include "zcommon.acs"
|
|
|
|
// these scripts are redirected to by the compatibility postprocessor
|
|
|
|
SCRIPT "HHR_BRAINWALL" ( void )
|
|
{
|
|
SpawnSpotFacing("BossBrain",666);
|
|
Generic_Floor(827,32,0,2,0);
|
|
ClearLineSpecial();
|
|
}
|
|
|
|
SCRIPT "NERVE_EXITOPEN" ( void )
|
|
{
|
|
Stairs_BuildUpDoomCrush(14,32,16,0,0);
|
|
Ceiling_RaiseByValue(24,8,80);
|
|
}
|
|
|
|
SCRIPT "DIMPLE_EXITOPEN" ( void )
|
|
{
|
|
while ( GetLevelInfo(LEVELINFO_KILLED_MONSTERS) < GetLevelInfo(LEVELINFO_TOTAL_MONSTERS) )
|
|
Delay(35);
|
|
Delay(35);
|
|
Floor_RaiseByValue(669,8,72);
|
|
}
|
|
|
|
SCRIPT "EQUINOX_BRAINCRUSH" ( int tag )
|
|
{
|
|
ScriptCall("SWWMUtility","SpawnVanillaBossBrain",666);
|
|
Ceiling_CrushAndRaiseDist(tag,8,8,10);
|
|
}
|
|
|
|
SCRIPT "DVACATION_UNFUCK" ( void )
|
|
{
|
|
Delay(1);
|
|
SetLineSpecial(2,ACS_ExecuteAlways,StrArg("DVACATION_EXIT"));
|
|
SetLineSpecial(3,ACS_ExecuteAlways,StrArg("DVACATION_BED"));
|
|
}
|
|
|
|
bool gotexit = false;
|
|
|
|
SCRIPT "DVACATION_EXIT" ( void )
|
|
{
|
|
if ( gotexit ) terminate;
|
|
gotexit = true;
|
|
SetPlayerProperty(0,1,PROP_FROZEN);
|
|
for ( int i=0; i<5; i++ )
|
|
{
|
|
QuakeEx(666,1,1,1,3,0,120,"",QF_RELATIVE|QF_SCALEDOWN);
|
|
PlaySound(666,"misc/boink",CHAN_AUTO);
|
|
Delay(Random(2,4)*3);
|
|
}
|
|
Delay(5);
|
|
QuakeEx(666,3,3,3,15,0,120,"",QF_RELATIVE|QF_SCALEDOWN);
|
|
PlaySound(666,"misc/boinkend",CHAN_AUTO);
|
|
Delay(30);
|
|
SetPlayerProperty(0,0,PROP_FROZEN);
|
|
Exit_Normal(0);
|
|
}
|
|
|
|
bool inbed = false;
|
|
int boinks = 0;
|
|
|
|
SCRIPT "DVACATION_BED" ( void )
|
|
{
|
|
if ( inbed || (boinks >= 5) ) terminate;
|
|
inbed = true;
|
|
SetPlayerProperty(0,1,PROP_FROZEN);
|
|
for ( int i=0; i<5; i++ )
|
|
{
|
|
QuakeEx(667,1,1,1,3,0,120,"",QF_RELATIVE|QF_SCALEDOWN);
|
|
PlaySound(667,"misc/boink",CHAN_AUTO);
|
|
Delay(Random(2,4)*3);
|
|
}
|
|
Delay(5);
|
|
QuakeEx(667,3,3,3,15,0,120,"",QF_RELATIVE|QF_SCALEDOWN);
|
|
PlaySound(667,"misc/boinkend",CHAN_AUTO);
|
|
SpawnSpot("SWWMItemFog",27);
|
|
PlaySound(27,"misc/spawn",CHAN_AUTO);
|
|
Thing_SpawnNoFog(27,Random(23,25),0,0);
|
|
SetPlayerProperty(0,0,PROP_FROZEN);
|
|
Delay(15);
|
|
boinks++;
|
|
inbed = false;
|
|
if ( boinks >= 5 ) SetThingSpecial(667,0,0); // can headpat now
|
|
}
|
|
|
|
// WHACK
|
|
SCRIPT "E1M8_KNOCKOUT" ( void )
|
|
{
|
|
Teleport(0,3);
|
|
SetPlayerProperty(0,1,PROP_TOTALLYFROZEN);
|
|
Delay(60);
|
|
AmbientSound("demolitionist/knockout",127);
|
|
Delay(5);
|
|
ScriptCall("SWWMUtility","EndLevelDie");
|
|
Delay(100);
|
|
Exit_Normal(0);
|
|
}
|
|
|
|
// DUMP 2 and 3 rewritten hub progress scripts
|
|
// Because the way these use BigFont makes them unreadable otherwise
|
|
|
|
SCRIPT "DUMP2_HUB" ( void )
|
|
{
|
|
Delay(35);
|
|
ACS_Terminate(2,0);
|
|
int mapstodo;
|
|
switch( GameSkill() )
|
|
{
|
|
case 0:
|
|
mapstodo = 8;
|
|
break;
|
|
case 1:
|
|
mapstodo = 16;
|
|
break;
|
|
case 2:
|
|
mapstodo = 32;
|
|
break;
|
|
case 3:
|
|
mapstodo = 48;
|
|
break;
|
|
default:
|
|
mapstodo = 64;
|
|
break;
|
|
}
|
|
bool unlockedfinal = false;
|
|
while ( true )
|
|
{
|
|
int lvent = ScriptCall("BaseStatusBar","GetGlobalACSValue",59);
|
|
bool unlockfinal = false;
|
|
switch( GameSkill() )
|
|
{
|
|
case 0:
|
|
if ( lvent >= 8 ) unlockfinal = true;
|
|
break;
|
|
case 1:
|
|
if ( lvent >= 16 ) unlockfinal = true;
|
|
break;
|
|
case 2:
|
|
if ( lvent >= 32 ) unlockfinal = true;
|
|
break;
|
|
case 3:
|
|
if ( lvent >= 48 ) unlockfinal = true;
|
|
break;
|
|
default:
|
|
if ( lvent >= 64 ) unlockfinal = true;
|
|
break;
|
|
}
|
|
if ( unlockfinal && !unlockedfinal )
|
|
{
|
|
unlockedfinal = true;
|
|
Ceiling_LowerByValue(10,96,96);
|
|
}
|
|
SetFont("BigFont");
|
|
int progress = mapstodo-lvent;
|
|
SetHudSize(640,480,0);
|
|
if ( progress > 0 ) HudMessageBold(d:progress,s:" more maps to go...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
|
else HudMessageBold(s:"The final room is open...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
|
Delay(1);
|
|
}
|
|
}
|
|
|
|
SCRIPT "DUMP3_HUB" ( void )
|
|
{
|
|
Delay(1);
|
|
ACS_Terminate(1,0);
|
|
int mapstodo;
|
|
switch( GameSkill() )
|
|
{
|
|
case 0:
|
|
mapstodo = 8;
|
|
break;
|
|
case 1:
|
|
mapstodo = 16;
|
|
break;
|
|
case 2:
|
|
mapstodo = 32;
|
|
break;
|
|
case 3:
|
|
mapstodo = 48;
|
|
break;
|
|
default:
|
|
mapstodo = 64;
|
|
break;
|
|
}
|
|
bool unlockedfinal = false;
|
|
while ( true )
|
|
{
|
|
int lvent = ScriptCall("BaseStatusBar","GetGlobalACSValue",59);
|
|
bool unlockfinal = false;
|
|
switch( GameSkill() )
|
|
{
|
|
case 0:
|
|
if ( lvent >= 8 ) unlockfinal = true;
|
|
break;
|
|
case 1:
|
|
if ( lvent >= 16 ) unlockfinal = true;
|
|
break;
|
|
case 2:
|
|
if ( lvent >= 32 ) unlockfinal = true;
|
|
break;
|
|
case 3:
|
|
if ( lvent >= 48 ) unlockfinal = true;
|
|
break;
|
|
default:
|
|
if ( lvent >= 64 ) unlockfinal = true;
|
|
break;
|
|
}
|
|
if ( unlockfinal && !unlockedfinal )
|
|
{
|
|
unlockedfinal = true;
|
|
Floor_LowerByValue(11,96,256);
|
|
}
|
|
SetFont("BigFont");
|
|
int progress = mapstodo-lvent;
|
|
SetHudSize(640,480,0);
|
|
if ( progress > 1 ) HudMessageBold(d:progress,s:" more maps to go...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
|
else if ( progress > 0 ) HudMessageBold(d:progress,s:" more map to go...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
|
else HudMessageBold(s:"The final room is open...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
|
Delay(1);
|
|
}
|
|
}
|
|
|
|
// same here, just TOO BIG
|
|
str DUMP3MapNames[74][2] =
|
|
{
|
|
{ "", "" }, // 0
|
|
{ "Check-In", "undeadRyker" },
|
|
{ "Pissboy", "Anonymous" },
|
|
{ "Simplicity is Golden", "demo_the_man" },
|
|
{ "Invitation to Destruction", "Gardevoir" },
|
|
{ "SOLITARY", "CJacobs" },
|
|
{ "Ruins & Lava", "VBob" },
|
|
{ "Bloodsport Canyon", "Hoodoo456" },
|
|
{ "Nuclear Control Facilities", "Titan314" },
|
|
{ "Mountain Temple", "Project_ILE" },
|
|
{ "Overflow", "SpudTheRubbish" }, // 10
|
|
{ "'Venture into the Bouncy Castle", "Beed28" },
|
|
{ "The Crater", "combatxtreme & Plutonic Overkill" },
|
|
{ "The Fun Lab", "TerminusEst13" },
|
|
{ "Durex Waste Disposal", "Minimum Payne" },
|
|
{ "The Corporate Ladder", "Kinsie" },
|
|
{ "Regressive Experience", "Dukka" },
|
|
{ "Baby's First Map", "Bobman23" },
|
|
{ "Research Facility", "deathgod5309" },
|
|
{ "AMONG US", "HumansAmongUs" },
|
|
{ "The Darkness Beyond", "KarolineDianne" }, // 20
|
|
{ "Base Stimpack", "charcola" },
|
|
{ "Crunk Refinery", "BobBarker" },
|
|
{ "0-Pipe Gear", "Toooooasty" },
|
|
{ "Escape from Argent Prison", "Lance Charleson" },
|
|
{ "Live Fire Exorcise", "Sgt. Shivers" },
|
|
{ "Attack First", "simpletonn" },
|
|
{ "Hitler's Prison", "Luigi2600" },
|
|
{ "Tomb of Hetickhamen", "Action Max" },
|
|
{ "The Weed Number", "Abysswalker" },
|
|
{ "This Is Serious Mum", "deathz0r" }, // 30
|
|
{ "Not Another Tech Base", "ArchXeno" },
|
|
{ "Hydraulic Plant", "SpiritOfDecay" },
|
|
{ "Janus", "SoundOfDoomDoors" },
|
|
{ "Gamma Station Entrance", "SMG_Marine" },
|
|
{ "Realm of the Sempiternal Archvile", "Darsycho" },
|
|
{ "Judgement Day", "Stale_meat" },
|
|
{ "Complex Alive", "Roxas" },
|
|
{ "DUMP TD", "Arctangent" },
|
|
{ "Dumping Ground", "TotalInjury" },
|
|
{ "Mercury Rain", "Jimmy" }, // 40
|
|
{ "mapsterpiece", "idiotbitz" },
|
|
{ "Tunnel Crates Rule!", "Stale_Meat" },
|
|
{ "CLOVERHOUSE", "Icept" },
|
|
{ "Generic UAC Outpost", "Anonymous" },
|
|
{ "Felt", "FloatRand" },
|
|
{ "Panic Room", "comet1338" },
|
|
{ "Simple Chaos", "willykuo123" },
|
|
{ "EVISCERATED", "NAG" },
|
|
{ "The Mine to Hell", "InsanityBringer" },
|
|
{ "Sandcastley Sandcastling Sandcastles", "PinchySkree" }, // 50
|
|
{ "Dead", "Already Dead" },
|
|
{ "Broken Shit", "ZachBrowder" },
|
|
{ "Weapons Research Lab", "Vennobennu" },
|
|
{ "Winter in Summer", "TehRealSalt" },
|
|
{ "The UAC Ocean Base", "leodoom85" },
|
|
{ "Hot Water Music", "Protester" },
|
|
{ "Lambda Base", "floatRand" },
|
|
{ "inferno odyssey", "Anonymous" },
|
|
{ "Infested Installation", "Flipy" },
|
|
{ "The Duality", "NeuralStunner" }, // 60
|
|
{ "Municipal Well", "Flotilla" },
|
|
{ "Dropoff", "CharlieTheGnarly" },
|
|
{ "Dimensional Accelerator", "Untitled" },
|
|
{ "Urban Hell", "ChrisR91" },
|
|
{ "Electron", "floatRand" },
|
|
{ "Caco-lover", "everennui" },
|
|
{ "Brown Mesa", "Cheeki" },
|
|
{ "Bloody Hell", "Wivicer" },
|
|
{ "A Night at the Opera", "Temin_Dump" },
|
|
{ "An Online Virtual Reality Used By Hackers", "Shadow Hog" }, // 70
|
|
{ "BtFS", "Gageat" },
|
|
{ "The Runaround", "LogicalFallacy" },
|
|
{ "Attack From Within", "mumblemumble" }
|
|
};
|
|
|
|
SCRIPT "DUMP3_DISPLAY" ( int f1, int f2 )
|
|
{
|
|
int fuck = (f1*10)+f2;
|
|
SetHudSize(640,480,0);
|
|
SetFont("BigFont");
|
|
HudMessage(s:DUMP3MapNames[fuck][0];HUDMSG_FADEINOUT,2,CR_WHITE,320.4,380.2,2.5,0.15,0.65);
|
|
SetHudSize(320,240,0);
|
|
SetFont("SmallFont");
|
|
HudMessage(s:DUMP3MapNames[fuck][1];HUDMSG_FADEINOUT,3,CR_GOLD,160.4,200.0,2.5,0.15,0.65);
|
|
}
|