If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

The Simpsons: Hit & Run/Unused Script Code

From The Cutting Room Floor
Jump to navigation Jump to search
This page contains changes which are not marked for translation.
Other languages:
English • ‎polski • ‎русский

This is a sub-page of The Simpsons: Hit & Run.

Hmmm...
To do:
Look for more unused script code and/or functionality.

There are lots of cut and unused content lurking inside the game's code, let it be hardcode or a bit softer MFK scripts that can be opened through MS Notepad.

Dummied Out Scripts

Throughout the game's mission scripts, there are quite a few mission objectives that Radical dummied out by adding "//" to the start of each line in the objective. Some of the removed objectives range from minor to fairly major differences in how the mission plays out.

Blind Big Brother - Unused "goto" Objective

At the end of Blind Big Brother there is a duplicate of the goto objective for re-entering the workstation, but with a few notable changes. There is now a 30 second time limit, which could have been cut in order to prevent it being too hard for new players, and there is also a "Completion Dialog" set that would replace the dialog at the end where Mr Burns tells all his "Mindless Drones" to go home. This was likely changed as it might get interrupted by the mission complete dialog.

//AddStage("final");
//	SetStageMessageIndex(11);
//	SetHUDIcon( "wstation" ); 
//	AddObjective("goto");
//		TurnGotoDialogOff();
//		SetDestination("m4_locator_sd","triggersphere");
//		SetCollectibleEffect("wrench_collect");
//	CloseObjective();
//	AddStageTime(30);
//	AddCondition("timeout");
//	CloseCondition();
//	SetCompletionDialog("sleep","burns");
//CloseStage();

Flowers By Irene - Unused Objectives

Level 1's fifth Mission, Flowers By Irene has two unused objectives, both of which would have been used before following the Surveillance Van. The first involves interacting with an interact spot near the van, and the second involves the player entering their vehicle (The MustActionTrigger line makes the trigger interactable). In the final game, these both went unused and the player only needs to approach the Surveillance Van before following it.

	AddObjective("goto","nearest road");
		SetDestination("van_start", "carsphere"); 
		SetCollectibleEffect("wrench_collect");
		//MustActionTrigger();
	CloseObjective();


//AddStage(0);
//	SetStageMessageIndex(12);
//	AddObjective("getin");
//		SetObjTargetVehicle("current");
//	CloseObjective();
//CloseStage();

The Fat and Furious - Unused "goto" Objective

In Level 1's last mission, The Fat and Furious, there is an unused objective in the m7i.mfk file. Re-enabling this objective shows that it is mostly complete. The HUD icon used is Mr. Burns' mansion, but the objective text reads "Race Smithers to Mr. Burns' Mansion." This could mean that the race did not start right away, because the goto location is "limo_start", which is set to be under the large blue billboard in front of the Power Plant.

//AddStage(0);
//	SetStageMessageIndex(12);
//	AddObjective("getin","neither");
//		SetObjTargetVehicle("current");
//	CloseObjective();
//CloseStage();


//AddStage();
//	RESET_TO_HERE();
//	SetHUDIcon( "mansion" );
//	SetStageMessageIndex(18);
//	SetMaxTraffic(2); //for this race, reduce traffic to prevent overwhelming the user
//	AddStageVehicle("smith_v","m7_smithers_carstart","NULL","Missions\level01\M7race.con", "smithers");
//	AddObjective("goto","nearest here");
//		SetDestination("limo_start", "carsphere");
//		SetCollectibleEffect("wrench_collect");
//	CloseObjective();
//CloseStage();

Vox Nerduli - Unused "talkto" Objective

Similarly to the E3 demo of "Ketchup Logic" there is an unused "talkto" objective at the end of "Vox Nerduli". Originally, you were meant to get out of your car and talk to Comic Book Guy, but in the final the conversation happens automatically. This was probably done because you are already in the car with Comic Book Guy and this would spawn another, confusing the player.

//AddStage(0);
//	SetStageMessageIndex(54);
//	SetHUDIcon( "cbg" );
//	AddObjective("talkto");
//		AddNPC("cbg", "m3_cbg_end");
//		SetTalkToTarget("cbg", 0, 0);
//	CloseObjective();
//CloseStage();

Bart 'n' Frink - Unused "goto" Objective

In Level 2's fourth mission, Bart 'n' Frink, there is an unused objective in the level's m4i.mfk file. Re-enabling it causes the game to crash, though. The objective's goto location is set to Herman's Military Antiques, which could mean that you were meant to drive to Herman's instead of following the Black Van there. Additionally, there is a second unused objective that requires the player to enter their car before the black van activates. In the final game - the chase starts right away.

//AddStage(0);
//	RESET_TO_HERE();
//	SetMaxTraffic(3);
//	SetStageMusicAlwaysOn();
//	SetStageMessageIndex(57);
//	SetHUDIcon( "hermans" );
//	AddObjective("goto");
//		AddNPC("wiggum","m4_wiggum");
//		SetDestination("hermans", "carsphere");
//		SetCollectibleEffect("wrench_collect");
//	CloseObjective();
//CloseStage();


//AddStage(0);
//	SetStageMessageIndex(12);
//	AddObjective("getin");
//		SetObjTargetVehicle("current");
//		AddStageVehicle("pizza","m4_pizzastart","NULL", "Missions\level01\M5evade.con", "none");
//	CloseObjective();
//CloseStage();

Cell-Outs - Unused "timeout" Condition

At the end of "Cell-Outs", when you are meant to talk to Professor Frink, there is an unused timeout condition. There is no actual time applied so re-enabling it causes the mission to fail instantly.

AddStage(0);
	SetStageMessageIndex(66);
	SetHUDIcon( "frink" );
	AddObjective("talkto","neither");
		AddNPC("frink", "m4_frink_sd"); //reusing mission 4 start locator
		AddObjectiveNPCWaypoint( "frink", "m4_frink_walk1" );
		AddObjectiveNPCWaypoint( "frink", "m4_frink_walk2" );
		AddObjectiveNPCWaypoint( "frink", "m4_frink_sd" );
		SetTalkToTarget("frink", 0, 0);
	CloseObjective();
//	AddCondition("timeout");
//		//SetHitNRun();
//	CloseCondition();
CloseStage();

Nerd Race Queen - Unused Objective

In Level 3's first mission, Nerd Race Queen, there is an unused objective located before the final dialogue conversation in the level's m1i.mfk file. Re-enabling this objective shows that it is completed and functional. The player was intended to go inside the Android's Dungeon and talk to the Comic Book Guy inside the building. However, in the final, the conversation happens outside and is triggered immediately.

//AddStage(0);
//	SetStageMessageIndex(176);
//	SetHUDIcon( "android" );
//	AddObjective("interior");
//		SetDestination("Android", "ad_mission_doorstar");
//	CloseObjective();
//CloseStage();
</pre
<br />
<pre>
//AddStage(0);
//	SetStageMessageIndex(54);
//	SetHUDIcon( "cbg" );
//	AddObjective("talkto");
//		AddNPC("cbg", "m1_cbg_sd");
//		SetTalkToTarget("cbg", 0, -0.2, "3.0");
//	CloseObjective();
//CloseStage();

Clueless - Removed Sedan Chases

Level 3's second main mission, Clueless, has a total of three unused sedan chases, each of which are close to Milhouse's locations in the normal mission. By using Notepad++, it's possible to edit the mission file and re-enable the sedan chases. Like Apu in the E3 version of Better Than Beef, the sedan AI uses the EasyCop AI. The black sedan is already loaded in the m2l.mfk file, which means that the file doesn't have to be edited to get the black sedan chases working.

Also worth pointing out that underneath the second and third sedan chases are two strange locations that also can be enabled. "mhouse_loc2" and "mil_loc3" both seem to refer to possible Milhouse locations, but Milhouse doesn't appear in these locations in the final. The first unused location ("mhouse_loc2") is on the path of grass that leads to the Burns' Casino ramp shortcut, while the other one ("mil_loc3") is near Krustylu Studios.

Slithery Sleuthing - Unused "talkto" Objective

At the end of "Slithery Sleuthing", you was supposed to talk to Wiggum, however, in the final game the conversation happens automatically.

//AddStage();
//	SetStageMessageIndex(104);
//	SetHUDIcon( "wiggum" );
//	AddObjective("dialogue");
//		//AddStageCharacter("lisa", "m5_lisa_start", "", "wiggu_v", "m5_wiggumcar_sd" );
//		AddNPC("wiggum", "m5_wiggum_sd");
//		AddObjectiveNPCWaypoint( "wiggum", "m5_wiggum_walk1_sd" );
//		AddObjectiveNPCWaypoint( "wiggum", "m5_wiggum_walk2_sd" );
//		SetCamBestSide("m5_bestside");
//		SetTalkToTarget("wiggum", 0, 0);
//	CloseObjective();
//CloseStage();

Fishy Deals - Unused Fish Location

In Level 3's Fishy Deals, the player must collect 22 fish before time runs out. However, there is an unused 23rd fish located in the level's m6i file. Re-enabling it causes the unused fish to appear on the pier in front of the C. Spanker. The fish counter is also updated from 22 to 23 in order to accommodate for the extra fish.

AddStage("final"); 
	RESET_TO_HERE();
	SetMaxTraffic(3);
	SetStageMessageIndex(17);
	SetHUDIcon( "fish" );
	SetStageTime(115);
	AddObjective("delivery");
		AddCollectible("m6_fish_1","fish","fish");
		AddCollectible("m6_fish_2","fish");
		AddCollectible("m6_fish_3","fish","good");
		AddCollectible("m6_fish_4","fish","plenty");
//		AddCollectible("m6_fish_5","fish");
		AddCollectible("m6_fish_6","fish");
		AddCollectible("m6_fish_7","fish","tartar");
		AddCollectible("m6_fish_8","fish");
		AddCollectible("m6_fish_9","fish","nets");
		AddCollectible("m6_fish_10","fish","wild");
		AddCollectible("m6_fish_11","fish");
		AddCollectible("m6_fish_12","fish");
		AddCollectible("m6_fish_14","fish","brave");
		AddCollectible("m6_fish_15","fish");
		AddCollectible("m6_fish_16","fish");
		AddCollectible("m6_fish_16a","fish","deep");
		AddCollectible("m6_fish_13","fish");
		AddCollectible("m6_fish_13a","fish");
		AddCollectible("m6_fish_13b","fish");
		AddCollectible("m6_fish_17","fish","savor");
		AddCollectible("m6_fish_18","fish");
		AddCollectible("m6_fish_19","fish");
		AddCollectible("m6_fish_20","fish","ahab");
		SetCollectibleEffect("carfish");
	CloseObjective();
	AddCondition("timeout");
	CloseCondition();
CloseStage();

Ketchup Logic - The 19th Ketchup Packet

In Level 4's Ketchup Logic mission, the player must collect 18 ketchup packets for Cletus. However, there is an unused 19th ketchup packet in the level's m3i file. Re-enabling it causes the game to crash, though, because there is no location set for this unused ketchup packet.

AddStage(0); 
	RESET_TO_HERE();
	ShowStageComplete(); 
	SetStageMessageIndex(5);
	SetHUDIcon( "ketchup" );

	StartCountdown("count");
		AddToCountdownSequence( "3", 1000 ); // duration time in milliseconds
		AddToCountdownSequence( "2", 1000 ); // duration time in milliseconds
		AddToCountdownSequence( "1", 1000 ); // duration time in milliseconds
		AddToCountdownSequence( "GO", 400 ); // duration time in milliseconds

	AddObjective("delivery");
		AddNPC("cletus","m3_cletus_hide");
		AddCollectible("m3_ketchup1","ketchup","winter");
		AddCollectible("m3_ketchup2","ketchup");
		AddCollectible("m3_ketchup3","ketchup","dumpster");
		AddCollectible("m3_ketchup4","ketchup"); 
		AddCollectible("m3_ketchup5","ketchup");
		AddCollectible("m3_ketchup6","ketchup");
		AddCollectible("m3_ketchup7", "ketchup","ketchup","cletus");
		AddCollectible("m3_ketchup8","ketchup");
		AddCollectible("m3_ketchup9","ketchup");
//		AddCollectible("m3_ketchup10","ketchup");
		AddCollectible("m3_ketchup11","ketchup");
		AddCollectible("m3_ketchup12","ketchup");
		AddCollectible("m3_ketchup13","ketchup");
		AddCollectible("m3_ketchup14","ketchup");
		AddCollectible("m3_ketchup15","ketchup");
		AddCollectible("m3_ketchup16","ketchup");
		AddCollectible("m3_ketchup17","ketchup");
		AddCollectible("m3_ketchup18","ketchup");
		AddCollectible("m3_ketchup19","ketchup");
	CloseObjective();
	SetStageTime(120);
	AddCondition("timeout");
		//SetHitNRun();
	CloseCondition();
	AddCondition("outofvehicle");
		SetCondTime( 10000 );
	CloseCondition();
	AddCondition( "damage" );
		SetCondMinHealth( 0.0 );
		SetCondTargetVehicle( "cletu_v" );
	CloseCondition();
	SetCompletionDialog("pappy","cletus");
CloseStage();

And Baby Makes 8 - Unused "goto" Objective

In the premission info file there's a dummied out objective. SetHUDIcon command has an "lbsc" as a parameter, which means that possibly, the truck in the end of the previous mission should've stopped in the different place so the player would drive to the Legitimate Businessman's Social Club. Re-enabling the objective causes the game to automatically skip it, due to the player being located at the Legitimate Businessman's Social Club. The interesting part, is that the message index is set to "0000000000000000000", which is possibly a joke from the developer team. The mission itself has an unused objective where the player was required to enter their car to proceed, nothing special.

//AddStage(0);
//	SetStageMessageIndex(0000000000000000000);
//	SetHUDIcon( "lbsc" );
//	SetMaxTraffic(4);
//	AddObjective("goto");
//		AddNPC("louie", "m2_louie_sd");
//		SetDestination("m2_start");
//	CloseObjective();
//CloseStage();


//AddStage(0);
//	SetStageMessageIndex(12);
//	AddObjective("getin");
//		SetObjTargetVehicle("current");
//	CloseObjective();
//CloseStage();

Eight is Too Much - Unused Objective and Condition

In Level 5's Eight is Too Much mission, there is an unused objective in the level's m3i.mfk file. Re-enabling this objective shows that it is mostly useless. The objective requires the player to drive to the Shelbyvillian's Van (in front of the Hospital) before collecting the diapers. The HUD icon is the diaper icon used in this mission, and the objective text reads "HIT THE VAN AND COLLECT THE DIAPERS". This objective may have been dummied out because the player starts out at the hospital.

//AddStage(1);
//	RESET_TO_HERE();
//	SetMaxTraffic(3);
//	SetStageMessageIndex(73);
//	SetHUDIcon( "diaper" );
//	AddObjective("goto");
//		AddStageVehicle("cNonup","m3_diaper_carstart","NULL","Missions\level05\M3dump.con"); 
//		SetDestination("m3_diaper_chase", "carsphere");
//		//SetCollectibleEffect("wrench_collect");
//	CloseObjective();
//	AddCondition("timeout");
//		//SetHitNRun();
//	CloseCondition();
//	AddCondition( "damage" );
//		SetCondMinHealth( 0.0 );
//		SetCondTargetVehicle( "carhom_v" );
//	CloseCondition();
//	AddCondition("outofvehicle");
//		SetCondTime( 10000 );
//	CloseCondition();
//	ShowStageComplete();
//CloseStage();


Additionally, the stage where you collect the diapers has an unused race condition, suggesting that at some point during development the player was supposed to collect the diapers before the van reaches a certain point, just like in Office Spaced. The condition itself is copied over twice for unknown reasons.

AddStageTime(90);
	AddCondition("timeout");
		//SetHitNRun();
	CloseCondition();
//	AddCondition("race");
//		SetCondTargetVehicle("cNonup");
//	CloseCondition();

	AddCondition( "damage" );
		SetCondMinHealth( 0.0 );
		SetCondTargetVehicle( "carhom_v" );
	CloseCondition();
	AddCondition("outofvehicle");
		SetCondTime( 10000 );
	CloseCondition();
//	AddCondition("race");
//		SetCondTargetVehicle("cNonup");
//	CloseCondition();

	ShowStageComplete();

Kwik Cash - Unused Timer

In Level 5's sixth mission, Kwik Cash, there is an unused timer during the "Destroy the Armored Car" stage. The timer is set to 3:30, and was likely dummied out because the armored car is very difficult to destroy, and you have to prevent destroying your own car.

AddObjective("destroy");
		SetObjTargetVehicle("cArmor");
	CloseObjective();
//	AddStageTime(210);
//	AddCondition("timeout");
//		//SetHitNRun();
//	CloseCondition();
	AddCondition("outofvehicle");
		SetCondTime( 10000 );
	CloseCondition();

Kinky Frinky - Unused "goto" Objective

Kinky Frinky has an unused objective that involved the player having to drive to the Sit-N-Rotate to find Frink's Hovercar. Since this is commented out and thus never used, the player never has to visit the Sit-N-Rotate for a Mission, which renders the HUD Icon for it unused. However, you can delete the slashes that comment out the strings and re-enable the objective. Re-enabling it causes the unused HUD icon to appear, as well as the unused stage message (DRIVE TO THE SIT 'N' ROTATE). Once you get there though, the Hover Car spawns back at the park since there was no location set for it at the SNR.

//AddStage(3);
//    SetPresentationBitmap( "art/frontend/dynaload/images/mis05_08.p3d" );
//	RESET_TO_HERE();
//	SetMaxTraffic(3);
//	SetStageMessageIndex(208);
//	SetHUDIcon( "sitnrota" );
//	AddStageVehicle("frink_v","bm1_hovercar_carstart","NULL","Missions\level05\BM1dest.con");
//	AddObjective("goto");
//		SetDestination("bm1_hovercar_start", "carsphere");
//		SetCollectibleEffect("wrench_collect");
//	CloseObjective();
//	SetStageTime(60);
//	AddCondition("timeout");
//		//SetHitNRun();
//	CloseCondition();
//CloseStage();

Lab Coat Caper - Unused "goto" Objective

At the beginning of "Lab Coat Caper" there is an unused goto objective. Originally, you were meant to drive to the Aztec Theater before Professor Frink appears. This objective may possibly be linked to the fact that in the final mission, Frink will drive around the Aztec Theater twice.

//AddStage(0);
//	RESET_TO_HERE();
//	SetMaxTraffic(4);
//	SetStageMessageIndex(185);
//	SetHUDIcon( "aztec" );
//	AddObjective( "goto" );
//		AddStageVehicle("frink_v","m3_frink_carstart","NULL","Missions\level06\M3chase.con","frink");
//		SetDestination( "m3_frink_path", "carsphere");
//		SetCollectibleEffect("wrench_collect");
//	CloseObjective();
//	ShowStageComplete();
//CloseStage();

Milking the Pigs - Unused "goto" Objective

At the beginning of "Milking the Pigs" there is an unused goto objective. Originally, you were meant to drive to the Krusty Burger before Chief Wiggum appears. This was removed for unknown reasons.

//AddStage(0);
//	RESET_TO_HERE();
//	SetStageMessageIndex(180);
//	SetHUDIcon( "kburger" );
//	AddObjective( "goto" );
//		AddStageVehicle("wiggu_v","bm1_wiggum_carstart","NULL","Missions\level06\BM1dest.con", "wiggum");
//		SetDestination( "bm_krustyburger", "carsphere");
//		//SetCollectibleEffect("wrench_collect");
//	CloseObjective();
//	ShowStageComplete();
//CloseStage();

Rigor Motors - Unused "interior" Objective

In L7M1 there was supposed to be a final objective in which the player has to enter the Simpsons House and the mission ends there. The message says "GO INSIDE THE HOUSE AND DROP OFF THE SUPPLIES". It is complete but is quite useless.

//AddStage(1);
//	SetStageMessageIndex(269);
//	SetHUDIcon("simpsons");
//	AddObjective("interior");
//		SetDestination("SimpsonsHouse", "simp_mission_doorstar");
//	CloseObjective();
//CloseStage();

This objective is used in the July 2003 prototype, which suggests it was cut late in development.

There's Something About Monty - Unused Timer

In the second part of There's Something About Monty where the player has to climb the wreckage at the Power Plant to reach Mr. Burns' Office, the player was supposed to get there before 1:30 minutes were up. This was slashed out in the mission data due to the fact that since jumping the destroyed debris is hard, it would have been harsh for the player to fall down and start from the beginning. Because of this, the Mission Failed jingle for the song that plays here (land_of_choc_end_neg) goes unused.

AddStage("final");
	SetStageMessageIndex(148);
	SetHUDIcon( "pwrplant" );
	AddObjective( "goto" );
		AddNPC("burns", "m5_burns_sd");
		SetDestination( "m4_burns_location" );
	CloseObjective();
//	AddStageTime(90);
//	AddCondition( "timeout" );
//	CloseCondition();
	SetMusicState("Mission4", "Stage2");
CloseStage();

Alien "Auto"topsy Part II - Unused "goto" Objective

In Level 7's second to last Mission, Alien "Auto"topsy Part II, there is an unused objective where the player had to drive to the Power Plant after escaping from the alien car. Re-enabling this objective shows that it is mostly incomplete, as there is no HUD icon and the objective text reads "DRIVE THROUGH THE POWERPLANT ENTRANCE." The player would have to drive inside the Power Plant before the toxic waste barrel appears.

//AddStage(0);
//	SetStageMessageIndex(248);
//	SetHUDIcon( "pwrplant" );
//	AddObjective( "goto" );
//		SetDestination( "m6_ppentrance", "carsphere");
//		SetCollectibleEffect("wrench_collect");
//	CloseObjective();
//	AddCondition("outofvehicle");
//		SetCondTime( 10000 );
//	CloseCondition();
//	AddCondition( "damage" );
//		SetCondMinHealth( 0.0 );
//		SetCondTargetVehicle( "snake_v" );
//	CloseCondition();
//CloseStage();

Mission Meta

There's a little more than dummied out objectives in the game - actually unused objectives, conditions, and the rest!

Unused and Broken Music Events

Every music part of the game is assigned to a specific region which later activates upon completing specific tasks, which is shown in the decompiled RMS files.

Broken "Drama" Events

There's a plethora of missions that were supposed to switch their music to a drama variation.
A good example would be Level 5 Mission - Kwik Cash. It has two "StageStartMusicEvent" lines in the script files, one appears during the first chase sequence with Wiggum:

AddStage(0);
	SetStageMessageIndex(48);
	SetHUDIcon( "wiggu_v" );
	ActivateVehicle( "cPolice","NULL","chase" );
	AddObjective( "losetail" );
		SetObjTargetVehicle( "cPolice" );
		SetObjDistance(150);
	CloseObjective();
	AddStageTime(45);
	AddCondition( "timeout" );
	CloseCondition();
	AddCondition("outofvehicle");
		SetCondTime( 10000 );
	CloseCondition();
	AddCondition( "damage" );
		SetCondMinHealth( 0.0 );
		SetCondTargetVehicle( "snake_v" );
	CloseCondition();
	StageStartMusicEvent("L6_drama");
	ShowStageComplete();
	AddStageVehicle("cArmor","m6_armor_carstart","NULL","Missions\level05\M6dest.con", "eddie");
CloseStage();

And the latter during the second one near the end of the mission:

AddStage(0); // Oh Oh there's wiggum again
	SetStageMessageIndex(48);
	SetHUDIcon( "wiggu_v" );
	ActivateVehicle( "cPolice","NULL","chase" );
	AddObjective( "losetail" );
		SetObjTargetVehicle( "cPolice" );
		SetObjDistance(150);
	CloseObjective();
	AddStageTime(45);
	AddCondition( "timeout" );
	CloseCondition();
	AddCondition("outofvehicle");
		SetCondTime( 10000 );
	CloseCondition();
	AddCondition( "damage" );
		SetCondMinHealth( 0.0 );
		SetCondTargetVehicle( "snake_v" );
	CloseCondition();
	StageStartMusicEvent("L6_drama");
	ShowStageComplete();
CloseStage();

There is a problem however, and it's the fact that "M6_drama", the name of the music event, is spelled as "L6_drama", thus rendering the function useless.
It's worth noting that the mission actually uses the drama music during the stage where you destroy the armored van.
The same issues can be found in the last mission of the game - Alien Auto-Topsy Part III. The chase objective near the Simpsons house has a broken StageStartMusicEvent.

AddStage(0);
	SetStageMessageIndex(265);
	SetHUDIcon( "sports_v" );
	ActivateVehicle( "cBlbart","NULL","chase" );
	AddObjective( "losetail" );
		SetObjTargetVehicle( "cBlbart" );
		SetObjDistance(150);
	CloseObjective();
	AddStageTime(40);// <<--- Adding stage time so not too make is so hard
	AddCondition( "timeout" );
	CloseCondition();
	AddCondition("outofvehicle");
		SetCondTime( 10000 );
	CloseCondition();
	AddCondition( "damage" );
		SetCondMinHealth( 0.0 );
		SetCondTargetVehicle( "gramR_v" );
	CloseCondition();
	StageStartMusicEvent("L7_drama");
	AddCondition("keepbarrel", 2);
	ShowStageComplete();
CloseStage();

The problem here is the same, "L7" instead of "M7". The mission has its own drama music track, but it's not used in Level 7 explicitly.
This issue reoccurs in five more missions: Alien Auto-Topsy Part II:

AddStage(0);
	SetStageMessageIndex(265);
	SetMaxTraffic(3);
	SetHUDIcon( "sports_v" );
	AddStageWaypoint( "m6_waypoint" );
	ActivateVehicle( "cBlbart","NULL","chase" );
	AddObjective( "losetail" );
		SetObjTargetVehicle("cBlbart");
		SetObjDistance(150);
	CloseObjective();
	AddCondition("outofvehicle");
		SetCondTime( 10000 );
	CloseCondition();
	AddCondition( "damage" );
		SetCondMinHealth( 0.0 );
		SetCondTargetVehicle( "snake_v" );
	CloseCondition();
	AddStageTime(0);
	AddCondition("timeout");
	CloseCondition();
	ShowStageComplete();
	StageStartMusicEvent("L6_drama");
CloseStage();

There's Something About Monty:

AddStage(0);
	SetStageMessageIndex(9);
	SetHUDIcon( "sports_v" );
	ActivateVehicle( "cBlbart","NULL","chase" );
	AddObjective( "losetail" );
		SetObjTargetVehicle( "cBlbart" );
		SetObjDistance(150);
	CloseObjective();
	AddStageTime(0);
	AddCondition( "timeout" );
	CloseCondition();
	ShowStageComplete();
	StageStartMusicEvent("L4_drama");
CloseStage();

Wolves Stole My Pills:

AddStage(0);
	SetStageMessageIndex(178);
	SetHUDIcon( "bsedan_v" );
	ActivateVehicle( "cSedan","NULL","chase" );
	AddObjective( "losetail" );
		SetObjTargetVehicle( "cSedan" );
		SetObjDistance(150);
	CloseObjective();
	SetStageTime(90);
	AddCondition( "timeout" );
	CloseCondition();
	StageStartMusicEvent("L4_drama");
	ShowStageComplete();
CloseStage();

Return Of The Nearly Dead:

AddStage("final");
	
//SetStageAIRaceCatchupParams( 
//	STAGEVEHICLENAME,
//      ALONGROADDISTFROMPLAYER_TO_APPLYMAXCATCHUP, // default = 80
//      FRACTIONPLAYERSPEED_MINCATCHUP,   // default = 0.5
//      FRACTIONPLAYERSPEED_NOCATCHUP,    // default = 1.1
//      FRACTIONPLAYERSPEED_MAXCATCHUP )  // default = 1.7	AddStageWaypoint( "m7_smithers_race1" );
//SetStageAIRaceCatchupParams("wiggu_v", 80, 0.5, 1.1, 1.7); 
	
	RESET_TO_HERE();
	SetStageMessageIndex(100);
	SetHUDIcon( "retire" );
	AddStageVehicle("wiggu_v","m4_wiggum_start","race","Missions\level04\M4race.con", "wiggum");
	SetStageAIRaceCatchupParams("wiggu_v", 80, 0.9, 1.5, 2.3); 
	SetVehicleAIParams( "wiggu_v", 50, 51 );   // no shortcuts
	AddStageWaypoint( "m4_race_finish" );
	AddObjective( "race" );
//		SetHitAndRunMeter(100);
		AddNPC("grandpa", "m5_grampa_sd"); 
		AddCollectible("m4_race_finish","finish_line");
//		SetCollectibleEffect("finish_line_col");
	CloseObjective();
	AddCondition("race");
		SetCondTargetVehicle("wiggu_v");
	CloseCondition();
	StageStartMusicEvent("L4_drama");
CloseStage();

And finally, Ketchup Logic:

AddStage(0);
	SetStageMessageIndex(178);
	SetHUDIcon( "bsedan_v" );
	ActivateVehicle( "cSedan","NULL","chase" );
	AddObjective( "losetail" );
		SetObjTargetVehicle( "cSedan" );
		SetObjDistance(150);
	CloseObjective();
	SetStageTime(60);
	AddCondition( "timeout" );
	CloseCondition();
	AddCondition("outofvehicle");
		SetCondTime( 10000 );
	CloseCondition();
	AddCondition( "damage" );
		SetCondMinHealth( 0.0 );
		SetCondTargetVehicle( "cletu_v" );
	CloseCondition();
	StageStartMusicEvent("L4_drama");
	ShowStageComplete();
CloseStage();

The funny part here is that only Alien Auto-Topsy Part II has a separate drama track for its music, any other mission desperately trying to switch the music will inevitably fail since it doesn't even have music composed let alone assigned to it.

Vox Nerdulli Events

In l2_music.xml you can find a series of regions named as "M3_drama_region" and "M3_victory_region" respectively. "M3" and "CBG" stands for Mission 3 and Comic Book Guy, referencing the mission Vox Nerdulli.

	<Region Name="M3_drama_region" Volume="1">
		<Layer Name="music" Constant="true" Volume="1">
			<StreamEvent Name="CBG_Pickup" />
			<LogicRepeatEvent>
				<StreamEvent Name="CBG_Main" />
			</LogicRepeatEvent>
		</Layer>
	</Region>
	<Region Name="M3_victory_region" Volume="1">
		<Layer Name="music" Constant="true" Volume="1">
			<StreamEvent Name="CBG_Pickup" />
			<LogicRepeatEvent>
				<StreamEvent Name="CBG_Main" />
			</LogicRepeatEvent>
		</Layer>
	</Region>
	<Region Name="M3_end_drama_region" Volume="1">
		<Layer Name="music" Constant="true" Volume="1">
			<StreamEvent Name="CBG_Pickup" />
			<LogicRepeatEvent>
				<StreamEvent Name="CBG_Main" />
			</LogicRepeatEvent>
		</Layer>
	</Region>

It has some similarities with "Kang and Kodos Strikes back", which is also a race-only mission with music separated in three parts. Unlike that mission, Vox Nerduli's regions write the same song all over again. The songs do not activate in-game as they are lacking 'Event' strings to define them to be used in certain scenarios. The same effect can be found in Nerd Race Queen as well;

	<Region Name="M1_drama_region" Volume="1">
		<Layer Name="music" Constant="true" Volume="1">
			<StreamEvent Name="CBG_Pickup" />
			<LogicRepeatEvent>
				<StreamEvent Name="CBG_Main" />
			</LogicRepeatEvent>
		</Layer>
	</Region>
	<Region Name="M1_victory_region" Volume="1">
		<Layer Name="music" Constant="true" Volume="1">
			<StreamEvent Name="CBG_Pickup" />
			<LogicRepeatEvent>
				<StreamEvent Name="CBG_Main" />
			</LogicRepeatEvent>
		</Layer>
	</Region>
	<Region Name="M1_end_drama_region" Volume="1">
		<Layer Name="music" Constant="true" Volume="1">
			<StreamEvent Name="CBG_Pickup" />
			<LogicRepeatEvent>
				<StreamEvent Name="CBG_Main" />
			</LogicRepeatEvent>
		</Layer>
	</Region>


Unused Objectives

Objectives are used to advance the player upon completing them. A good example of an objective would be `goto`, which is completed upon arriving to a certain destination/collecting a singular item. Most of them are used, but there are still some more or less interesting that ended up getting cut from the final game.

  • dummy - This objective does nothing and there is no way to complete it. Potentially it was used by the developers for debugging purposes.
  • coins - The name of the objective suggests that the player had to collect a certain amount of coins to proceed. However this was cut from the game, most likely because required vehicle/costume purchases were introduced.
  • pickupitem - The name once again suggests the objective's purpose - picking up a singular item. This might have been used in certain cases, but developers just ended up using goto. This could've been an early name for the delivery objective, which serves the purpose of collecting several objects to complete it (example - Monkey See Monkey D'oh).
  • loadvehicle - This is the most peculiar objective, since the game normally loads the vehicles through separate commands that don't even relate to objectives at all. This might just be an old engine leftover.

Unused Conditions

Alongside the objectives, the game has a countermeasure - conditions. They automatically fail the mission if they're not met. A good example would be `timeout`, it fails the player if the set amount of time has run out. However, there are a couple of unused conditions inside the game's code, some of which crash the game, while the others work (almost) flawlessly.

  • outofbounds - This condition fails the player after they enter any of the death triggers and respawn. The condition also has its respective hints, that will appear if it's used in the mission. It is unclear where in the game the condition could've been used, some suggest it was made for street races, but there are no death triggers surrounding the street race area, instead, street race props are used to block off the "out of bounds" section.
  • carryingspcollectible - This condition doesn't work and crashes the game. Potentially, its name stands for "Carrying State Prop Collectible". It's completely unknown what was its purpose, most likely it was an earlier version of keepbarrel, since technically, the waste barrel you're carrying is a state prop.
  • getcollectibles - This condition doesn't work and crashes the game. The purpose of this condition is unknown. Potentially, it was an alternative version of the delivery objective, where you had to collect various collectibles, but instead of completing the stage you would fail it.
  • hitandruncought - This condition doesn't work and it crashes the game during mission load. Based on its misspelled name (cought instead of caught), it was supposed to fail the player when they get busted by the Hit and Run police.
  • invalid - This condition doesn't work and crashes the game. Its purpose is also unknown, most likely it's a placeholder, or a testing condition.
  • leaveinterior - This condition doesn't work, instead it just stops current objectives from being completed until the pause menu is brought up. Based on the name, the condition suggests that the player had to leave the interior in order to trigger the mission fail. It makes no sense to put it into the game, since interiors are small and only serve as a place where you talk to characters.
  • notabducted - This condition fails the player if they get out of their car while it is being abducted by Kang and Kodos' UFO. This was probably meant for the Alien Autotopsy missions, but for some reason was cut. The failure hints of this condition don't seem to appear.
  • playerhit - This condition doesn't work and it crashes the game during mission load. Probably, it was supposed to be used for certain missions where the playable character could've been hit, but the only things that can hit the player - are the wasp cameras and police cars.