swwmgz_m/swwmcomp.acs

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);
}