/***************************************************************************************************
**                                                                                                **
**                                       DAFE's Death Valley Lite                                 **
**  Features removed for Lite version of script to improve synch in laggier games:                **
**  BUSGANG, REMOTE MINIGUNJEEPS, NUDE FOUNTAING BOT HITMEN, ELITE!                               **
**                                                                                                **
**  Created April 2009 - map created & scripted by [DAFE], Ontario, Canada                        **
**  This map was designed based on 10 years of gta2 playing experience in what I've learned&liked **
**  about the game including utilizing skilled/glitch moves (term is interterchangable depending  **
**  on players).  The map rewards more to players who have these skills.  This was my first       **
**  attempt at GTA2 map creation and scripting.  First update June 2009, second update August 2009**
**  Third/FINAL update October 2009 (for 10th Anniversary of GTA2!)  Here is what is in the map:  **
**                                                                                                **
**  1-6 PLAYER COMPATABLE UTILIZING ONLY 1 .SCR FILE , SIMPLE TRAIN , 4 ISLANDS ( 1 HIDDEN )      **
**  EACH ISLAND HAS A GANG AND BOSS DEFENDING IT , CRANE SYSTEM , RESPAWNING CARS AND WEAPONS     **
**  3 GANGS IN TOTAL - NUDES WITH SHOTGUNS , COPS WITH DUAL PISTOLS , MEDICS WITH ELECTROBATONS   **
**  INVISIBILITY AND INVINCIBILITY ARE STORED ON EAST AND WEST ISLANDS AND CAN BE DISABLED IN GAME**
**  BY SIMPLY DESTROYING THE TRAINS IF PLAYERS DECIDE TO DO SO.  COMPLETE CARSHOPS, DUSK LIGHTING,**
**  ENVIRONMENTAL OBJECTS AND SOUNDS.  POLICE WANTED LEVEL IS SET TO 6 HEADS FOR 1P AND 5 HEADS   **
**  FOR 2P - 6P.  STARTING SPAWN TO DROWN IN FOUNTAIN WAS INTENDED TO BE COMEDIC.  2 TANKS ON     **
**  SOUTH ISLAND ONLY REACHABLE IF ABLE TO SURVIVE LONG FALL :)                                   **
**                                                                                                **
**  CUSTOM CODING:                                                                                **
**  OVER 3000 COMPILER COMMAND/LINE COUNT!!!  45256 BYTES                                         **
**  SOUTH ISLAND - SOUTHEAST BRIDGE COLLAPSES WHEN TRIGGERED AT $0 COST ONCE PER GAME EVENT.      **
**  RESPAWNING CARS WITH & WITHOUT WRECK CLEAN UP AT SPAWN POINTS AND OTHER LOCATIONS AROUND MAP. **
**  CENTER OF FOUNTAIN IN CENTRAL PARK WITH TRAIN STATIONS TRIGGERS 12 NUDE FOUNTAINBOT HITMEN TO **
**  SPAWN AROUND OUTER ROAD OF MAINLAND & DIVIDE INTO EQUIVELANT GROUPS TO HUNT OUT OPPONENTS OR  **
**  ATTACK PLAYER1 IF PLAYER1 IS THE ONLY PLAYER PLAYING IN GAME - THEY WILL ATTACK PLAYERS WITH  **
**  ROCKETS , INVULNERABILITY & GUNJEEPS AT $7000 REPEATABLE COST.  REMOTE MINI GUNJEEP TRIGGERED **
**  FROM N/E CAVE AND SPAWN ON CHURCH ROOFTOP AT $3000 REPEATABLE COST. 'ELITE!' DOORFRAG         **
**  (PUNCH&KILL OPPONENT WITHIN A SECOND OF TIME) REWARD/PUNISHMENT: THE VICTIM RECEIVES 5 WANTED **
**  AND CLOTHING STRIPPED FOR THAT SPAWN; THE WINNER HAS ALL WANTED REMOVED AND RECEIVES $10,000  **
**  CASH REWARD.  THERE'S A HIDDEN , PARKED , BLACK BUS WITH LOCKED DOORS IN A BUILDING THAT CAN  **
**  BE UNLOCKED AT A REPEATABLE $5000 COST.  WHOMEVER ENTERS THE UNLOCKED BUS FIRST WILL SPAWN 9  **
**  TEMPORARILY INVULNERABLE BLACK PEDESTRIAN BOTS WITH UNIQUE WEAPONS AS PART OF YOUR GANG. THEIR**
**  INVULNERABILITY & ALLEGIANCE IS RELIANT UPON A FEW SCRIPTED SECRETS THAT CAN BE DISCOVERED BY **
**  THE PLAYERS.  THE BUSGANG CAN BE STOLEN FROM PLAYERS BY SIMPLY STEALING THE BLACK BUS.        **
**                                                                                                **
**  THE BUSGANG ARE IMPORTANT INDIVIDUALS THAT CAN HELP A PLAYER EARN MORE FRAGS AND HAVE BEEN SO **
**  HELPFUL THAT THEY'VE EARNED *RESPECT* TO HAVE THEIR CREDITS AND BIOS LISTED HERE ( PRODUCED BY**
**  VYRULYNT):  1. ANTOINE - ROCKET LAUNCER, 1st in command & defends you but dont let him get    **
**  behind you for christ's sake!  Then only nonghetto member of the gang, he is a black french   **
**  national who is ultra senstive about his french heritage, thus, his scary, deadly sick aim    **
**  with the rocket launcher makes up for his inadequacies.  2. TYRONE - FlAMETHROWER, second in  **
**  command of the Black Bus Gang ( he always seems to take point and is often the only one left  **
**  standing when the gang turns on each other).  3. OJ - MOLOTOV COCKTAILS, it has been said his **
**  moli's have 40 oz of malt liquor in them. 4. E-ROC - GRENADES, dont be sleeping around him, he**
**  has good aim and timing with grenades.  5. LAMONT - SILENCED MACHINE GUN, this clean up man   **
**  will gun down your opponents.  6. DERELL - MACHINE GUN, this crazy nigga used to move keys,   **
**  now he's doing hits for you.  7. JIMMY - SHOTGUN, Jimmy has taken several pro player's faces  **
**  off with his shotgun blast.  8.  CHAUNCY - PISTOL, this guy blew GTA2 player PigE's brains out**
**  once... hahahahaha!  9. EZEL - ELECTROBATON, this dude comes in handy some times and makes a  **
**  good human shield invincible or not.                                                          **
**                                                                                                **
**  SOUTH ISLAND APC'S & GUNJEEPS ARE INVULNERABLE TO ROCKET FIRE AND ARE ARMED WITH VARIOUS      **
**  WEAPONS.  NORTH ISLAND POWER UPS ARE REACHABLE BY SKILLED PLAYERS.  DETAILS CAN BE FOUND AT:  **
**  http://gtamp.com/forum/viewtopic.php?f=5&t=20 & http://gtamp.com/GTA2/maps/ OR GOOGLE IT      **
**                                                                                                **
****************************************************************************************************

****************************************************************************************************
****************************************************************************************************
**  I wanted to thank SEKTOR AU for giving GTA2 Multiplayer extended life and for helping me      **
**  with all my questions.  Other thanks goes to others that have supported me and tested with me:**
**  WIKIGTA , BENMILLARD/CERBERA UK , WARIO5 US , RONALD_REAGAN US , VYRULYNT US , SAUCEBOSS US , **
**  SALAMANDER/DRSLONY PL , RAZOR PL , MREXCLUSIVE PL and all other players that inspired me to   **
**  create it! Extra thanks to the authors of some of their cars I've borrowed to be in my map and**
**  for Salamander/DrSlony's efforts for his first car attempt (Poland's Red Fiat Maluch replacing**
**  the Dementia.  The leftmost 5 digitized cars parked North of Ronald's Brothel's are cars I own**
**  presently.  Pontiac's 1967 Firebird, 1980 Turbo Trans Am Indy Pace Car/1987 GTA, 2003 Dodge Ram*
**  HEMI 4X4 Quadcab, 2006 Chrysler Sebring Convertible.  I can be reached at DAFE1@SYMPATICO.CA  **
**  for any inquiries or within GTA2 GameHunter via WWW.GTAMP.COM                                 **
**                                                                                                **
**  I hope everyone enjoys playing on this map as much as I enjoyed making it and playing it      **
**  myself!  Tons of hours were spent creating/troubleshooting/completing this thing  :)          **
****************************************************************************************************
***************************************************************************************************/

DELAY_HERE ( 30 )  //  Game seems to miss first few lines of code if this delay isn't here for Lite version of script.  Weird.

////////////////////////////////////////////////////////////////////////////////////////////////////
//  PLAYER SET UP  /////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

//PLAYER_PED name = ( X.x , Y.y , Z.z ) remap rotation
PLAYER_PED player1 = ( 131.5 , 129.5 , 6.75 ) 07 0    // Yellow
PLAYER_PED player2 = ( 133.5 , 131.5 , 6.75 ) 09 270  // Orange
PLAYER_PED player3 = ( 131.5 , 133.5 , 6.75 ) 11 180  // Green
PLAYER_PED player4 = ( 129.5 , 131.5 , 6.75 ) 06 90   // Light Blue
PLAYER_PED player5 = ( 129.5 , 129.5 , 6.75 ) 10 45   // Red
PLAYER_PED player6 = ( 133.5 , 129.5 , 6.75 ) 13 315  // Blue

////////////////////////////////////////////////////////////////////////////////////////////////////
//  DECLARE ISLAND BOSSBOTS  ///////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

CHAR_DATA eastislandbot = ( 195.5 , 131.5 , 4.0 ) 26 0 PSYCHO  //  BOTS USED TO PROTECT ISLANDS AGAINST PLAYERS
CHAR_DATA westislandbot = ( 67.5 , 131.5 , 4.0 ) 26 0 PSYCHO
CHAR_DATA northislandbot = ( 131.5 , 58.5 , 6.0 ) 26 0 PSYCHO
CHAR_DATA southislandbot = ( 131.5 , 203.5 , 6.0 ) 26 0 PSYCHO

////////////////////////////////////////////////////////////////////////////////////////////////////
//  TRAIN SET UP  //////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

//SET_STATION_INFO ( platform , passenger_cars , trailer_cars , box_cars )  *4 STATIONS, 1 TRAIN
SET_STATION_INFO ( trak00 , 2 , 1 , 1 )  //  NORTH STATION WHERE TRAIN STARTS
SET_STATION_INFO ( trak01 , NO_TRAIN )
SET_STATION_INFO ( trak02 , NO_TRAIN)
SET_STATION_INFO ( trak03 , NO_TRAIN )

//OBJ_DATA naam = ( X.x , Y.y , Z.z ) 0 TUNNEL_BLOCKER
OBJ_DATA tblocker1 = ( 190.5 , 121.5 , 3.0 ) 0 TUNNEL_BLOCKER  //  TUNNEL BLOCKERS TO PREVENT CARS FROM DRIVING TO ISLANDS OR PEDS WALKING OFF VIA RAILS
OBJ_DATA tblocker2 = ( 190.5 , 141.5 , 3.0 ) 0 TUNNEL_BLOCKER
OBJ_DATA tblocker3 = ( 72.5  , 141.5 , 3.0 ) 0 TUNNEL_BLOCKER
OBJ_DATA tblocker4 = ( 72.5  , 121.5 , 3.0 ) 0 TUNNEL_BLOCKER
OBJ_DATA tblocker5 = ( 197.5 , 123.5 , 3.0 ) 0 TUNNEL_BLOCKER
OBJ_DATA tblocker6 = ( 197.5 , 139.5 , 3.0 ) 180 TUNNEL_BLOCKER
OBJ_DATA tblocker7 = ( 65.5  , 139.5 , 3.0 ) 180 TUNNEL_BLOCKER
OBJ_DATA tblocker8 = ( 65.5  , 123.5 , 3.0 ) 0 TUNNEL_BLOCKER


////////////////////////////////////////////////////////////////////////////////////////////////////
//  GANGS SET UP  //////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

//SET_GANG_INFO ( gang_zone , outfit , weapon1 , weapon2 , weapon3 , ID , X.x , Y.y , Z.z , respect , car , car_color )
SET_GANG_INFO ( medigang , 16 , ELECTRO_BATON , ELECTRO_BATON , ELECTRO_BATON , 8 , 131.5 , 110.5 , 6.0 , 0 , MEDICAR , 0 ) //  MEDIC GANG
SET_GANG_INFO ( pigsgang , 0 , DUAL_PISTOL , DUAL_PISTOL , DUAL_PISTOL , 8 , 131.5 , 152.5 , 6.0 , 0 , COPCAR , 0 )         //  COPS GANG
SET_GANG_INFO ( nudegang , 26 , SHOTGUN , SHOTGUN , SHOTGUN , 8 , 131.5 , 51.5 , 6.0 , 0 , KRSNABUS , 11 )                  //  NUDE GANGS

//MAP_ZONE zone_name = ( car_ratio , good_cars, bad_cars , cop_cars , ped_ratio , pickpockets , car_thiefs , elvis , gang_members , cops , gang_cars )
MAP_ZONE mediinfo = ( 1000 , 200, 200 , 200 , 1000 , 100 , 100 , 200 , 400 , 200 , 400 )  //  SETUP FOR CAR AND PED RATIOS ETC
MAP_ZONE pigsinfo = ( 1000 , 100, 100 , 400 , 1000 , 100 , 100 , 100 , 400 , 300 , 400 )
MAP_ZONE nudeinfo = ( 0 , 0, 0 , 0 , 1000 , 0 , 0 , 100 , 900 , 0 , 0 )


////////////////////////////////////////////////////////////////////////////////////////////////////
// CARSHOPS SET UP  ////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

//OBJ_DATA name = ( X.x , Y.y , Z.z ) 0 CAR_SHOP shop_type 
OBJ_DATA machinegunshopN = ( 135.5 , 92.5 , 5.0 ) 0 CAR_SHOP MACHINEGUN_SHOP  //  NORTH SHOP
OBJ_DATA minesshopN = ( 133.5 , 92.5 , 5.0 ) 0 CAR_SHOP MINES_SHOP
OBJ_DATA sprayshopN = ( 131.5 , 92.5 , 5.0 ) 0 CAR_SHOP 5
OBJ_DATA oilslickshopN = ( 129.5 , 92.5 , 5.0 ) 0 CAR_SHOP OILSLICK_SHOP
OBJ_DATA bombshopN = ( 127.5 , 92.5 , 5.0 ) 0 CAR_SHOP BOMB_SHOP

OBJ_DATA machinegunshopS = ( 135.5 , 170.5 , 5.0 ) 0 CAR_SHOP MACHINEGUN_SHOP  // SOUTH SHOP
OBJ_DATA minesshopS = ( 133.5 , 170.5 , 5.0 ) 0 CAR_SHOP MINES_SHOP
OBJ_DATA sprayshopS = ( 131.5 , 170.5 , 5.0 ) 0 CAR_SHOP 26
OBJ_DATA oilslickshopS = ( 129.5 , 170.5 , 5.0 ) 0 CAR_SHOP OILSLICK_SHOP
OBJ_DATA bombshopS = ( 127.5 , 170.5 , 5.0 ) 0 CAR_SHOP BOMB_SHOP


////////////////////////////////////////////////////////////////////////////////////////////////////
//  CRANE SET UP  //////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

//CRUSHER name = ( X.x , Y.y )
CRUSHER crushera = ( 99.5 , 129.5 )
//CRANE_DATA name = ( X.x , Y.y ) crane_rotation NO_HOMECRANE FIRST ( X.x , Y.y 2) car_rotation 
CRANE_DATA cranea = ( 97.5 , 127.5 ) 90 NO_HOMECRANE FIRST ( 99.5 , 129.5 ) 0
//CRANE_DATA name = ( X.x , Y.y ) crane_rotation name_first_crane SECOND ( X.x , Y.y 2) car_rotation 
CRANE_DATA craneb = ( 101.5 , 131.5 ) 270 cranea SECOND (103.5 , 131.5 ) 0
//CONVEYOR name = ( X.x , Y.y , Z.z ) ( X.x , Y.y 2) X Y 
CONVEYOR conveyora = ( 103.5 , 131.0 , 3.0 ) ( 1.0 , 12.0 ) 0 1
//GENERATOR name = ( X.x , Y.y , Z.z ) rotation pickup_type timer_min timer_max ammo 
GENERATOR crane_generatora = ( 98.5 , 136.5 , 3.0 ) 0 COLLECT_06 1 2 5 
//DESTRUCTOR name = ( X.x , Y.y , Z.z ) ( X.x , Y.y 2)
DESTRUCTOR destructora = ( 103.5 , 137.0 , 3.0 ) ( 1.0 , 1.0 )
CONVEYOR conveyorb = ( 98.5 , 134.5 , 3.0 ) ( 1.0 , 5.0 ) 0 -1
DESTRUCTOR destructorb = ( 98.5 , 131.5 , 3.0 ) ( 1.0 , 1.0 )

//  SCANNER  //
//DECLARE_CRANE_POWERUP ( name_crane , name_generator , X , Y , Z ) 
DECLARE_CRANE_POWERUP ( craneb , crane_generatora , 103 , 136 , 3 )
//DECLARE_POWERUP_CARLIST ( MACHINE_GUN, ROCKET_LAUNCHER, ELECTRO_GUN, MOLOTOV, GRENADE, SHOTGUN, ELECTRO_BATON, FLAME_THROWER, SILENCED_MACHINE_GUN, HEALTH, ARMOUR, GET OUT OF JAIL, COP BRIBE, INVULNERABILITY, DOUBLE DAMAGE, FAST RELOAD, ELECTROFINGERS, RESPECT, INVISIBILITY )
DECLARE_POWERUP_CARLIST ( RTYPE , SPIDER , STYPE , BMW , MERC , JEFFREY , BUS , ZCX5 , GT24640 , STRIPETB , STINGRAY , XK120 , STRATOS  , MIURA , T2000GT , WBTWIN , GRAHAM , BUS , TRANCEAM )


////////////////////////////////////////////////////////////////////////////////////////////////////
//  WEAPONS/POWER UPS GENERATORS  //////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

//GENERATOR name = ( X.x , Y.y , Z.z ) rotation pickup_type timer_min timer_max ammo
GENERATOR health01 = ( 127.5 , 56.5 , 5.0 ) 0 COLLECT_30 7500 7500 99           //  North Hidden Island
GENERATOR armour01 = ( 127.5 , 59.5 , 5.0 ) 0 COLLECT_31 7500 7500
GENERATOR rocket01 = ( 143.5 , 67.5 , 1.0 ) 0 COLLECT_02 7500 7500 99
GENERATOR grenade07 = ( 135.5 , 56.5 , 5.0 ) 0 COLLECT_05 7500 7500 10
GENERATOR gang16 = ( 140.0 , 64.0 , 1.0 ) 0 COLLECT_40 7500 7500 10              //  Upper Left Quadrant Spawn

GENERATOR gang01 = ( 96.5 , 90.5 , 5.0 ) 0 COLLECT_40 7500 7500 10              //  Upper Left Quadrant Spawn
GENERATOR rocket02 = ( 103.5 , 91.5 , 5.25 ) 0 COLLECT_02 7500 7500 5
GENERATOR flamer01 = ( 106.5 , 91.5 , 5.25  ) 0 COLLECT_08 7500 7500 10
GENERATOR carbomb01 = ( 105.5 , 104.5 , 3.0 ) 0 COLLECT_15 7500 7500 1
GENERATOR grenade01 = ( 113.5 , 92.5 , 5.5 ) 0 COLLECT_05 7500 7500 10
GENERATOR doubledamage03 = ( 104.5 , 94.5 , 1.0 ) 0 COLLECT_35 7500 7500
GENERATOR machinegun03 = ( 105.5 , 94.5 , 1.0 ) 0 COLLECT_01 7500 7500 50
GENERATOR fastreload03 = ( 106.5 , 94.5 , 1.0 ) 0 COLLECT_36 7500 7500         //  Upper Left


GENERATOR gang02 = ( 166.5 , 90.5 , 5.0 ) 0 COLLECT_40 7500 7500 10             //  Upper Right Quadrant Spawn
GENERATOR rocket03 = ( 162.5 , 94.5 , 5.0 ) 0 COLLECT_02 7500 7500 5
GENERATOR electrogun01 = ( 166.5 , 94.5 , 5.0  ) 0 COLLECT_03 7500 7500 10
GENERATOR molotov02 = ( 165.5 , 103.5 , 6.0 ) 0 COLLECT_04 7500 7500 10

GENERATOR grenade02 = ( 97.5 , 137.5 , 5.0 ) 0 COLLECT_05 7500 7500 10          //  Crane Area Spawn
GENERATOR silenced01 = ( 104.5 , 137.5 , 5.0 ) 0 COLLECT_09 7500 7500 10
GENERATOR molotov03 = ( 103.5 , 123.5 , 4.0 ) 0 COLLECT_04 7500 7500 10
GENERATOR rocket11 = ( 98.5 , 131.5 , 4.0 ) 0 COLLECT_02 7500 7500 10
GENERATOR gang13 = ( 96.5 , 134.5 , 2.0 ) 0 COLLECT_40 7500 7500 10

GENERATOR gang03 = ( 126.5 , 126.5 , 2.0 ) 0 COLLECT_40 7500 7500 10            //  Park Fountain Train Spawn
GENERATOR gang04 = ( 136.5 , 126.5 , 2.0 ) 0 COLLECT_40 7500 7500 10
GENERATOR gang05 = ( 126.5 , 136.5 , 2.0 ) 0 COLLECT_40 7500 7500 10
GENERATOR gang06 = ( 136.5 , 136.5 , 2.0 ) 0 COLLECT_40 7500 7500 10
GENERATOR rocket04 = ( 125.5 , 125.5 , 2.0 ) 0 COLLECT_02 7500 7500 5
GENERATOR molotov04 = ( 137.5 , 125.5 , 2.0 ) 0 COLLECT_04 7500 7500 10
GENERATOR grenade03 = ( 125.5 , 137.5 , 2.0 ) 0 COLLECT_05 7500 7500 10
GENERATOR flamer02 = ( 137.5 , 137.5 , 2.0 ) 0 COLLECT_08 7500 7500 10
GENERATOR armour02 = ( 122.5 , 124.5 , 2.0 ) 0 COLLECT_31 7500 7500
GENERATOR health02 = ( 140.5 , 138.5 , 2.0 ) 0 COLLECT_30 7500 7500 99
GENERATOR molotov05 = ( 131.5 , 142.5 , 4.0 ) 0 COLLECT_04 7500 7500 10
GENERATOR molotov06 = ( 131.5 , 120.5 , 4.0 ) 0 COLLECT_04 7500 7500 10
GENERATOR electrofinger01 = ( 131.5 , 126.5 , 2.0 ) 0 COLLECT_37 7500 7500

GENERATOR molotov07 = ( 156.5 , 129.5 , 6.0 ) 0 COLLECT_04 7500 7500 10         //  Mosque Spawn
GENERATOR flamer03 = ( 155.5 , 123.5 , 3.0 ) 0 COLLECT_08 7500 7500 10
GENERATOR rocket05 = ( 154.5 , 129.5 , 6.0 ) 0 COLLECT_02 7500 7500 10
GENERATOR carbomb02 = ( 164.0 , 131.0 , 2.0 ) 0 COLLECT_15 7500 7500 1
GENERATOR gang15 = ( 160.5 , 130.5 , 2.0 ) 0 COLLECT_40 7500 7500 10

GENERATOR gang07 = ( 96.5 , 172.5 , 5.0 ) 0 COLLECT_40 7500 7500 10             //  Lower Left Quadrant Park Spawn
GENERATOR rocket06 = ( 100.5 , 170.5 , 5.0 ) 0 COLLECT_02 7500 7500 05
GENERATOR electrogun02 = ( 98.5 , 168.5 , 5.0  ) 0 COLLECT_03 7500 7500 10
GENERATOR molotov08 = ( 98.5 , 159.5 , 6.0 ) 0 COLLECT_04 7500 7500 10
GENERATOR fastreload04 = ( 106.0 , 159.5 , 4.0 ) 0 COLLECT_36 7500 7500

GENERATOR rocket07 = ( 155.5 , 169.5 , 6.0 ) 0 COLLECT_02 7500 7500 05          //  Lower Right Quadrant Apartments Spawn
GENERATOR flamer04 = ( 159.5 , 169.5 , 6.0 ) 0 COLLECT_08 7500 7500 10
GENERATOR grenade04 = ( 157.5 , 170.5 , 6.0 ) 0 COLLECT_05 7500 7500 10
GENERATOR gang08 = ( 166.5 , 172.5 , 5.0 ) 0 COLLECT_40 7500 7500 10
GENERATOR health04 = ( 158.5 , 157.5 , 2.0 ) 0 COLLECT_30 7500 7500 99
GENERATOR molotov09 = ( 153.5 , 150.5 , 4.0 ) 0 COLLECT_04 7500 7500 10
GENERATOR doubledamage04 = ( 92.5 , 176.5 , 5.0 ) 0 COLLECT_35 7500 7500
GENERATOR dualpistol02 = ( 93.5 , 176.5 , 5.0 ) 0 COLLECT_10 7500 7500 20
GENERATOR fastreload05 = ( 157.0 , 160.5 , 4.0 ) 0 COLLECT_36 7500 7500


GENERATOR instantbomb01 = ( 118.5 , 192.0 , 6.5 ) 0 COLLECT_23 7500 7500 1      //  South Island
GENERATOR instantbomb02 = ( 144.5 , 192.0 , 6.5 ) 0 COLLECT_23 7500 7500 1  
GENERATOR gang09 = ( 121.5 , 202.5 , 5.0 ) 0 COLLECT_40 7500 7500 10
GENERATOR gang10 = ( 141.5 , 202.5 , 5.0 ) 0 COLLECT_40 7500 7500 10
GENERATOR grenade05 = ( 144.5 , 202.5 , 5.0 ) 0 COLLECT_05 7500 7500 10
GENERATOR grenade06 = ( 118.5 , 202.5 , 5.0 ) 0 COLLECT_05 7500 7500 10
GENERATOR armour04 = ( 131.5 , 198.5 , 7.0 ) 0 COLLECT_31 7500 7500
GENERATOR electrogun03 = ( 131.5 , 199.5 , 7.0  ) 0 COLLECT_03 7500 7500 30
GENERATOR rocket12 = ( 131.5 , 197.5 , 7.0 ) 0 COLLECT_02 7500 7500 05
GENERATOR molotov10 = ( 131.5 , 200.5 , 7.0 ) 0 COLLECT_04 7500 7500 10
GENERATOR flamer05 = ( 148.5 , 202.5 , 5.0 ) 0 COLLECT_08 7500 7500 10
GENERATOR health05 = ( 131.5 , 202.5 , 5.0 ) 0 COLLECT_30 7500 7500
GENERATOR doubledamage01 = ( 148.5 , 196.5 , 5.0 ) 0 COLLECT_35 7500 7500
GENERATOR carbomb03 = ( 157.0 , 197.0 , 1.0 ) 0 COLLECT_15 7500 7500 1
GENERATOR carbomb04 = ( 106.0 , 197.0 , 1.0 ) 0 COLLECT_15 7500 7500 1

GENERATOR gang11 = ( 206.5 , 131.5 , 2.0 ) 0 COLLECT_40 7500 7500 10            //  East Island
GENERATOR invisibility01 = ( 195.5 , 131.5 , 3.0 ) 0 COLLECT_39 7500 7500 50
GENERATOR rocket08 = ( 198.5 , 138.5 , 2.0 ) 0 COLLECT_02 7500 7500 05
GENERATOR electrogun04 = ( 195.5 , 123.5 , 2.0 ) 0 COLLECT_03 7500 7500 10

GENERATOR gang12 = ( 56.5 , 131.5 , 3.0 ) 0 COLLECT_40 7500 7500 10             //  West Island
GENERATOR invulnerable01 = ( 67.5 , 131.5 , 3.0 ) 0 COLLECT_34 7500 7500 50
GENERATOR rocket09 = ( 64.5 , 124.5 , 2.0 ) 0 COLLECT_02 7500 7500 05
GENERATOR electrogun05 = ( 67.5 , 139.5 , 2.0  ) 0 COLLECT_03 7500 7500 10

GENERATOR fastreload01 = ( 170.5 , 86.5 , 5.0 ) 0 COLLECT_36 7500 7500          //  Upper Left
GENERATOR dualpistol01 = ( 169.5 , 86.5 , 5.0 ) 0 COLLECT_10 7500 7500 20

GENERATOR armour03 = ( 131.5 , 152.5 , 3.0 ) 0 COLLECT_31 7500 7500             //  Police Station
GENERATOR flamer06 = ( 129.5 , 151.5 , 2.0 ) 0 COLLECT_08 7500 7500 10

GENERATOR fastreload02 = ( 131.5 , 153.5 , 6.0 ) 0 COLLECT_36 7500 7500         //  Upper Left

GENERATOR health03 = ( 131.5 , 110.5 , 3.0 ) 0 COLLECT_30 7500 7500 99          //  Hospital
GENERATOR rocket10 = ( 125.5 , 111.5 , 2.0 ) 0 COLLECT_02 7500 7500 05
GENERATOR doubledamage02 = ( 131.5 , 109.5 , 6.0 ) 0 COLLECT_35 7500 7500
GENERATOR gang14 = ( 133.5 , 111.5 , 2.0 ) 0 COLLECT_40 7500 7500 10

GENERATOR machinegun01 = ( 118.5 , 116.5 , 2.0 ) 0 COLLECT_01 7500 7500 20      //  MAIN INTERSECTIONS
GENERATOR silenced02 = ( 144.5 , 116.5 , 2.0 ) 0 COLLECT_09 7500 7500 20
GENERATOR machinegun02 = ( 144.5 , 146.5 , 2.0 ) 0 COLLECT_01 7500 7500 20
GENERATOR silenced03 = ( 118.5 , 146.5 , 2.0 ) 0 COLLECT_09 7500 7500 20

GENERATOR invisibility02 = ( 171.5 , 95.5 , 3.0 ) 0 COLLECT_39 7500 7500 50     //  REMOTE AREA


////////////////////////////////////////////////////////////////////////////////////////////////////
//  CARSPAWNS  /////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

//CAR_DATA name = ( X.x , Y.y , Z.z ) color rotation vehicle
PARKED_CAR_DATA medicar1 = ( 128.35 , 112.0 , 2.0 ) 0 45 MEDICAR                //  Hospital
PARKED_CAR_DATA medicar2 = ( 135.35 , 112.0 , 2.0 ) 0 45 MEDICAR

PARKED_CAR_DATA copcar1 = ( 134.9 , 151.25 , 2.0 ) 0 45 COPCAR                  //  Police Station
PARKED_CAR_DATA copcar2 = ( 136.9 , 151.25 , 2.0 ) 0 225 COPCAR
PARKED_CAR_DATA fbicar1 = ( 127.9 , 151.25 , 2.0 ) 0 225 EDSELFBI
PARKED_CAR_DATA fbicar2 = ( 125.9 , 151.25 , 2.0 ) 0 45 EDSELFBI

CAR_DATA  parkedrig1                                                            //BROTHEL/PARK
CAR_DATA  parkedrig2
PARKED_CAR_DATA  parkedcar1 = ( 114.5 , 132.0 ) 21 300 ISETTA
PARKED_CAR_DATA  parkedcar2 = ( 102.5 , 107.5 ) 22 180 GT24640
PARKED_CAR_DATA  parkedcar3 = ( 104.5 , 107.5 ) 15 180 VTYPE
PARKED_CAR_DATA  parkedcar5 = ( 101.8 , 90.5 ) 09 315 BMW
PARKED_CAR_DATA  parkedcar6 = ( 106.5 , 108.0 ) 0 180 BUS
PARKED_CAR_DATA  parkedcar7 = ( 108.5 , 107.5 ) 27 180 STRIPETB
PARKED_CAR_DATA  parkedcar8 = ( 110.5 , 107.75 ) 0 180 FIRETRUK
PARKED_CAR_DATA  parkedcar9 = ( 109.8 , 90.5 ) 34 315 TRANCEAM
PARKED_CAR_DATA  parkedcar10 = ( 107.8 , 90.5 ) 21 315 PICKUP
PARKED_CAR_DATA  parkedcar11 = ( 103.8 , 90.5 ) 17 315 T2000GT
PARKED_CAR_DATA  parkedcar12 = ( 105.8 , 90.5 ) 30 315 DART

PARKED_CAR_DATA  parkedcar13 = ( 163.2 , 124.5 ) 0 270 KRSNABUS                 //  MOSQUE
PARKED_CAR_DATA  parkedcar14 = ( 163.2 , 125.5 ) 0 270 KRSNABUS
PARKED_CAR_DATA  parkedcar15 = ( 163.2 , 127.5 ) 0 270 KRSNABUS
PARKED_CAR_DATA  parkedcar16 = ( 163.2 , 128.5 ) 2 270 TVVAN

PARKED_CAR_DATA  parkedcar18 = ( 159.0 , 156.5 ) 34 90 BOXTRUCK                 //  DINER
PARKED_CAR_DATA  parkedcar19 = ( 161.5 , 153.5 ) 0 180 HOTDOG
PARKED_CAR_DATA  parkedcar20 = ( 163.5 , 153.5 ) 0 180 GTRUCK

PARKED_CAR_DATA  bankvan1 = ( 102.5 , 150.5 ) 0 90 BANKVAN                      //  BANKS
PARKED_CAR_DATA  swat1 = ( 111.5 , 150.25 ) 0 45 SWATVAN

CAR_DATA tankE = ( 157.0 , 198.0 , 1.0 ) 0 180 TANK                             //  SOUTH ISLAND HIDDEN TANKS
CAR_DATA tankW = ( 106.0 , 198.0 , 1.0 ) 0 180 TANK

PARKED_CAR_DATA transporter9 = ( 139.5 , 92.5 ) 0 180 TRUKTRNS                  //  TRANSPORTER TRAILERS AT NORTH & SOUTH SHOPS
PARKED_CAR_DATA transporter10 = ( 123.5 , 170.5 ) 0 0 TRUKTRNS

PARKED_CAR_DATA apc1 = ( 140.5 , 201.5 ) 0 45 APC                        //  SOUTH ISLAND ARMORY PARKED VEHICLES
PARKED_CAR_DATA apc2 = ( 122.5 , 201.5 ) 0 315 APC
PARKED_CAR_DATA gunjeep1 = ( 129.0 , 201.5 ) 0 135 GUNJEEP                 
PARKED_CAR_DATA gunjeep2 = ( 134.0 , 201.5 ) 0 135 GUNJEEP

CAR_DATA  respawncar1 = ( 113.0 , 90.5 ) 0 315 MIURA        //  BROTHEL SPAWN
CAR_DATA  respawncar2 = ( 164.0 , 95.5 ) 16 225 EDSEL         //  CASINO SPAWN
CAR_DATA  respawncar3 = ( 164.5 , 124.5 ) 0 90 GRAHAM        //  MOSQUE SPAWN
CAR_DATA  respawncar4 = ( 155.5 , 164.0 ) 2 180 LIMO2         //  APARTMENT/DINER
CAR_DATA  respawncar5 = ( 97.2 , 156.8 ) 32 225 BUICK         //  BANKS
CAR_DATA  respawncar6 = ( 97.5 , 139.5 ) 0 270  TOWTRUCK      //  CRANE
CAR_DATA  respawncar7 = ( 141.5 , 127.5 ) 0 0 ICECREAM        //  CENTRAL FOUNTAIN PARK

DECLARE_DOOR_INFO ( 928 , 935 , 2 )                           //  CRANE BUS DOOR
DOOR_DATA cranedoor1 = SINGLE ( 97 , 137 , 2 ) ( 97.0 , 137.5 , 2.0 , 1.0 , 1.0 ) LEFT 0 ANY_PLAYER CLOSE_WHEN_CLEAR 0 NOT_FLIPPED NOT_REVERSED 


////////////////////////////////////////////////////////////////////////////////////////////////////
//  OBJECTS  ///////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

OBJ_DATA bollardE = ( 157.5 , 198.5 , 5.0 ) 0 BOLLARD              //  FOR SOUTH ISLAND HIDDEN TANK DROPS TO PREVENT CARS FROM DROPPING IN HOLES
OBJ_DATA bollardW = ( 105.5 , 198.5 , 5.0 ) 0 BOLLARD
OBJ_DATA mineE = ( 140.0 , 203.0 , 5.0 ) 0 MINE
OBJ_DATA mineW = ( 123.0 , 203.0 , 5.0 ) 0 MINE

OBJ_DATA bomb1 = ( 144.5 , 180.5 , 5.0 ) 0 BOMB                    //  BRIDGE BOMB TRIGGER ICON
OBJ_DATA soccerball = ( 106.0 , 167.0 , 5.0 ) 0 FOOTY              //  SOCCERBALL IN PARK

OBJ_DATA parkphone1 = ( 132.5 , 124.5 , 2.0 ) 90 PHONE_RINGING     //  CENTRAL STATION/PARK AREA OBJECTS
OBJ_DATA parkphone2 = ( 130.5 , 138.5 , 2.0 ) 270 PHONE_RINGING
OBJ_DATA parkbench1 = ( 125.5 , 130.5 , 2.0 ) 90 BENCH
OBJ_DATA parkbench2 = ( 125.5 , 132.5 , 2.0 ) 90 BENCH
OBJ_DATA parkbench3 = ( 137.5 , 130.5 , 2.0 ) 270 BENCH
OBJ_DATA parkbench4 = ( 137.5 , 132.5 , 2.0 ) 270 BENCH
OBJ_DATA parknews1 = ( 129.5 , 125.5 , 2.0 ) 0 NEWSDIS
OBJ_DATA parkradio1 = ( 135.5 , 137.5 , 2.0 ) 0 BLASTER

OBJ_DATA parkbench5 = ( 150.5 , 92.5 , 5.0 ) 45 BENCH              //  MISC BENCHES IN OTHER PARKS
OBJ_DATA parkbench6 = ( 164.5 , 92.5 , 5.0 ) 315 BENCH

OBJ_DATA parkbench7 = ( 100.0 , 164.0 , 5.0 ) 45 BENCH
OBJ_DATA parkbench8 = ( 111.0 , 164.0 , 5.0 ) 315 BENCH

OBJ_DATA craneoil1 = ( 96.5 , 139.5 , 2.0 ) 0 OILDRUM              //  MISC OBJECTS AROUND CRANE
OBJ_DATA craneoil2 = ( 95.5 , 139.5 , 2.0 ) 0 ANIMATING_OIL
OBJ_DATA craneoil3 = ( 96.5 , 124.5 , 2.0 ) 0 OILDRUM
OBJ_DATA craneoil4 = ( 95.5 , 124.5 , 2.0 ) 0 ANIMATING_OIL
OBJ_DATA cranebox2 = ( 96.5 , 131.5 , 2.0 ) 0 HARDBOX
OBJ_DATA cranebox1 = ( 96.5 , 127.5 , 2.0 ) 0 HARDBOX

OBJ_DATA brothelbarrier1 = ( 96.5 , 99.5 , 6.0 ) 0 ROADBLOCK       //  ROADBLOCKS FOR BROTHEL JUMP
OBJ_DATA brothelbarrier2 = ( 100.5 , 99.5 , 6.0 ) 0 ROADBLOCK
OBJ_DATA brothelbarrier3 = ( 110.5 , 99.5 , 6.0 ) 0 ROADBLOCK
OBJ_DATA brothelbarrier4 = ( 114.5 , 99.5 , 6.0 ) 0 ROADBLOCK

OBJ_DATA bridgebarrier1 = ( 115.5 , 183.5 , 6.0 ) 0 ROADBLOCK      //  SOUTHWEST BRIDGE ROADBLOCKS
OBJ_DATA bridgebarrier2 = ( 121.5 , 183.5 , 6.0 ) 0 ROADBLOCK
OBJ_DATA bridgebarrier3 = ( 115.5 , 193.5 , 6.0 ) 0 ROADBLOCK      //  SOUTHWEST BRIDGE ROADBLOCKS
OBJ_DATA bridgebarrier4 = ( 121.5 , 193.5 , 6.0 ) 0 ROADBLOCK

OBJ_DATA flatboxes1 = ( 167.5 , 172.5 , 5.0 ) 0 BOXES              //  OBJECTS AROUND FLATS
OBJ_DATA flattrash1 = ( 148.5 , 172.5 , 5.0 ) 0 RUBBISH

OBJ_DATA dinercrate1 = ( 147.5 , 149.5 , 2.0 ) 0 CRATE             //  OBJECTS AROUND DINER
OBJ_DATA dinercrate2 = ( 158.5 , 149.5 , 2.0 ) 0 CRATE

OBJ_DATA lotcone1 = ( 98.0 , 107.0 ) 0 CONE                  //  LARGE PARKING LOT CONES
OBJ_DATA lotcone2 = ( 113.0 , 107.0 ) 0 CONE
OBJ_DATA lotcone3 = ( 113.0 , 111.0 ) 0 CONE
OBJ_DATA lotcone4 = ( 98.0 , 111.0 ) 0 CONE

OBJ_DATA mosquecone1 = ( 163.0 , 129.0 , 2.0 ) 0 CONE              //  MOSQUE CONES
OBJ_DATA mosquecone2 = ( 165.0 , 129.0 , 2.0 ) 0 CONE
OBJ_DATA mosquecone3 = ( 163.0 , 133.0 , 2.0 ) 0 CONE
OBJ_DATA mosquecone4 = ( 165.0 , 133.0 , 2.0 ) 0 CONE


////////////////////////////////////////////////////////////////////////////////////////////////////
//  SOUNDS  ////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

SOUND waterfall1  =  ( 131.5 , 131.5 , 2.0 )  WATERFALL PLAY_FOREVER           // FOUNTAIN                     

SOUND churchorgan1  =  ( 115.0  , 132.0  , 2.0 )  CHURCH_SINGING PLAY_FOREVER  //  CHURCH SOUNDS
SOUND templechant1  =  ( 111.0  , 137.0 , 2.0 )  TEMPLE_CHANT PLAY_FOREVER
SOUND templechant2  =  ( 111.0  , 127.0  , 2.0 )  TEMPLE_CHANT PLAY_FOREVER

SOUND krishnachant1  =  ( 155.5  , 123.5  , 3.0 )  TEMPLE_2 PLAY_FOREVER       //MOSQUE SOUNDS
SOUND krishnachant2  =  ( 155.5  , 129.5  , 6.0 )  KRISHNA_CHANT PLAY_FOREVER

SOUND fan1  =  ( 131.5  , 105.5  , 6.0 )  FAN_NOISE PLAY_FOREVER               //ROOFTOP SOUNDS
SOUND fan2  =  ( 154.5  , 106.5  , 6.0 )  FAN_NOISE PLAY_FOREVER
SOUND fan3  =  ( 160.5  , 106.5  , 6.0 )  FAN_NOISE PLAY_FOREVER
SOUND fan4  =  ( 131.5  , 157.5  , 6.0 )  FAN_NOISE PLAY_FOREVER
SOUND fan5  =  ( 110.5  , 156.5  , 6.0 )  FAN_NOISE PLAY_FOREVER
SOUND fan6  =  ( 101.5  , 156.5  , 6.0 )  FAN_NOISE PLAY_FOREVER
SOUND fan7  =  ( 153.0  , 169.0  , 6.0 )  FAN_NOISE PLAY_FOREVER
SOUND fan8  =  ( 162.0  , 169.0  , 6.0 )  FAN_NOISE PLAY_FOREVER
SOUND fan9  =  ( 153.0  , 151.5  , 4.0 )  FAN_NOISE PLAY_FOREVER
SOUND fan10  =  ( 153.0  , 158.5  , 3.0 )  FAN_NOISE PLAY_FOREVER

SOUND brothel1  =  ( 105.5  , 94.5  , 2.0 )  STRIP_CLUB PLAY_FOREVER
SOUND casino1  =  ( 157.5  , 113.5  , 2.0 )  SMUG_LAUGH PLAY_FOREVER
SOUND park1  =  ( 105.0  , 166.0  , 5.0 )  CRICKETS PLAY_FOREVER
SOUND park2  =  ( 157.0  , 95.0  , 5.0 )  CRICKETS PLAY_FOREVER
SOUND park3  =  ( 105.5  , 102.5  , 5.0 )  CRICKETS PLAY_FOREVER
SOUND bank1  =  ( 110.5  , 150.5  , 2.0 )  BANK_ALARM PLAY_FOREVER
SOUND bank2  =  ( 101.5  , 150.5  , 2.0 )  PRISON_ALARM PLAY_FOREVER
SOUND diner1  =  ( 152.0  , 149.5  , 2.0 )  JAZZ_CLUB PLAY_FOREVER

SOUND industrial1  =  ( 140.5  , 198.5  , 5.0 )  INDUSTRIAL_HIGH PLAY_FOREVER  //  SOUTH ISLAND SOUNDS
SOUND industrial2  =  ( 122.5  , 198.5  , 5.0 )  INDUSTRIAL_HIGH PLAY_FOREVER

SOUND police1  =  ( 136.5  , 151.5  , 2.0 )  LET_ME_OUT PLAY_FOREVER           //  POLICE STATION SOUNDS
SOUND police2  =  ( 126.5  , 151.5  , 2.0 )  GANG_DUMPED PLAY_FOREVER

SOUND hospital1  =  ( 126.5  , 111.5  , 2.0 )  SCREAM PLAY_FOREVER             //  HOSPITAL SOUNDS
SOUND hospital2  =  ( 136.5  , 111.5  , 2.0 )  HUMAN_ABATTOIR PLAY_FOREVER

////////////////////////////////////////////////////////////////////////////////////////////////////
//  LOWER BRIDGE  //////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

COUNTER blownbridgeflag = 0  //  BRIDGE IS NOT BLOWN FLAG                                           

blowbridgeE:
            IF ( blownbridgeflag = 0 )  //  IF THE BRIDGE IS NOT BLOWN GO AHEAD AND BLOW IT!
               EXPLODE_LARGE (144.5 , 184.0 , 6.0 )  //  NORTH EXPLOSION 
               EXPLODE (144.5 , 194.0 , 6.0 )  //  SOUTH EXPLOSION                
               DELAY_HERE ( 60 )  //  WAIT TO DROP BRIDGE 1 Z LEVEL SO CAR CAN MAKE LANDING RAMP               
               LOWER_LEVEL ( 141 , 184 ) ( 147 , 192 )  //  LOWER BRIDGE CUBE AREA 1 Z LEVEL
               SET blownbridgeflag = 1  //  BRIDGE BLOWN FLAG TRUE TO PREVENT FURTHER DROPS - DISABLE TRIGGERS
            ENDIF
RETURN

THREAD_TRIGGER p1bridgeE = THREAD_WAIT_FOR_CHAR_IN_AREA_ANY_MEANS ( player1 , 144.5 , 181.5 , 6.0 , 0.5 , 0.5 , blowbridgeE: ) 
THREAD_TRIGGER p2bridgeE = THREAD_WAIT_FOR_CHAR_IN_AREA_ANY_MEANS ( player2 , 144.5 , 181.5 , 6.0 , 0.5 , 0.5 , blowbridgeE: ) 
THREAD_TRIGGER p3bridgeE = THREAD_WAIT_FOR_CHAR_IN_AREA_ANY_MEANS ( player3 , 144.5 , 181.5 , 6.0 , 0.5 , 0.5 , blowbridgeE: ) 
THREAD_TRIGGER p4bridgeE = THREAD_WAIT_FOR_CHAR_IN_AREA_ANY_MEANS ( player4 , 144.5 , 181.5 , 6.0 , 0.5 , 0.5 , blowbridgeE: ) 
THREAD_TRIGGER p5bridgeE = THREAD_WAIT_FOR_CHAR_IN_AREA_ANY_MEANS ( player5 , 144.5 , 181.5 , 6.0 , 0.5 , 0.5 , blowbridgeE: ) 
THREAD_TRIGGER p6bridgeE = THREAD_WAIT_FOR_CHAR_IN_AREA_ANY_MEANS ( player6 , 144.5 , 181.5 , 6.0 , 0.5 , 0.5 , blowbridgeE: ) 

////////////////////////////////////////////////////////////////////////////////////////////////////
//  MAXIMUM POLICE WANTED LEVEL  ///////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

DECLARE_POLICELEVEL ( 6 )  // DEFAULT POLICE LEVEL - USED FOR ONLY 1P GAME


//##################################################################################################
//##  BEGIN START OF LEVEL  ########################################################################
//##################################################################################################

LEVELSTART

DISPLAY_MESSAGE ( 2957 )
DISPLAY_BRIEF_NOW ( 2219 ) 

SET_AMBIENT_LEVEL ( 0.33 , 0 )  //  AMBIENT LIGHT LEVEL AT DUSK
SET_SHADING_LEVEL ( 31 )  // SHADING LEVEL

SET_CHAR_INVINCIBLE ( player1  ,  ON ) //  MAKE ALL PLAYRES INVINCIBLE FOR DROP IN FOUNTAIN TO MAKE SPLASH!
SET_CHAR_INVINCIBLE ( player2  ,  ON )
SET_CHAR_INVINCIBLE ( player3  ,  ON )
SET_CHAR_INVINCIBLE ( player4  ,  ON )
SET_CHAR_INVINCIBLE ( player5  ,  ON )
SET_CHAR_INVINCIBLE ( player6  ,  ON )


////////////////////////////////////////////////////////////////////////////////////////////////////
//  LOWER GANG RESPECT TO ALL PLAYERS, SET WANTED LEVEL TO 5 IF MULTIPLAYER, LEAVE AT 6 OTHERWISE //
//  ADD STARTING CASH FOR PLAYERS                                                                 //
////////////////////////////////////////////////////////////////////////////////////////////////////

//  CHANGE_GANG_CHAR_RESPECT  ( gang_name  ,  player_name , respect )

IF ( CHECK_CHARACTER_HEALTH ( player1 , 0 ) )
   CHANGE_GANG_CHAR_RESPECT  ( medigang  ,  player1 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( pigsgang  ,  player1 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( nudegang  ,  player1 , -5 )
ENDIF

IF ( CHECK_CHARACTER_HEALTH ( player2 , 0 ) )
   CHANGE_GANG_CHAR_RESPECT  ( medigang  ,  player2 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( pigsgang  ,  player2 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( nudegang  ,  player2 , -5 )
   CHANGE_POLICE_LEVEL ( 5 )
ENDIF

IF ( CHECK_CHARACTER_HEALTH ( player3 , 0 ) )
   CHANGE_GANG_CHAR_RESPECT  ( medigang  ,  player3 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( pigsgang  ,  player3 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( nudegang  ,  player3 , -5 )
   CHANGE_POLICE_LEVEL ( 5 )
ENDIF

IF ( CHECK_CHARACTER_HEALTH ( player4 , 0 ) )
   CHANGE_GANG_CHAR_RESPECT  ( medigang  ,  player4 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( pigsgang  ,  player4 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( nudegang  ,  player4 , -5 )
   CHANGE_POLICE_LEVEL ( 5 )
ENDIF

IF ( CHECK_CHARACTER_HEALTH ( player5 , 0 ) )
   CHANGE_GANG_CHAR_RESPECT  ( medigang  ,  player5 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( pigsgang  ,  player5 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( nudegang  ,  player5 , -5 )
   CHANGE_POLICE_LEVEL ( 5 )
ENDIF

IF ( CHECK_CHARACTER_HEALTH ( player6 , 0 ) ) 
   CHANGE_GANG_CHAR_RESPECT  ( medigang  ,  player6 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( pigsgang  ,  player6 , -5 )
   CHANGE_GANG_CHAR_RESPECT  ( nudegang  ,  player6 , -5 )
   CHANGE_POLICE_LEVEL ( 5 )
ENDIF

////////////////////////////////////////////////////////////////////////////////////////////////////
//  SWITCH ON WEAPON/POWERUP PICKUP GENERATORS  ////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

//SWITCH_GENERATOR ( generator_name , ON/OFF/value ) 
SWITCH_GENERATOR ( health01 , ON )        //  North Hidden Island
SWITCH_GENERATOR ( armour01 , ON )
SWITCH_GENERATOR ( rocket01 , ON )
SWITCH_GENERATOR ( grenade07 , ON )
SWITCH_GENERATOR ( gang16 , ON )

SWITCH_GENERATOR ( gang01 , ON )          //  Upper Left Quadrant Spawn
SWITCH_GENERATOR ( rocket02 , ON )
SWITCH_GENERATOR ( electrogun01 , ON )
SWITCH_GENERATOR ( carbomb01 , ON )
SWITCH_GENERATOR ( grenade01 , ON )
SWITCH_GENERATOR ( doubledamage03 , ON )
SWITCH_GENERATOR ( machinegun03 , ON )
SWITCH_GENERATOR ( fastreload03 , ON )

SWITCH_GENERATOR ( gang02 , ON )          //  Upper Right Quadrant Spawn
SWITCH_GENERATOR ( rocket03 , ON )
SWITCH_GENERATOR ( flamer01 , ON )
SWITCH_GENERATOR ( molotov02 , ON )

SWITCH_GENERATOR ( grenade02 , ON )       //  Crane Area Spawn
SWITCH_GENERATOR ( silenced01 , ON )
SWITCH_GENERATOR ( molotov03 , ON )
SWITCH_GENERATOR ( rocket11 , ON )
SWITCH_GENERATOR ( gang13 , ON )

SWITCH_GENERATOR ( gang03 , ON )          //  Park Fountain Train Spawn
SWITCH_GENERATOR ( gang04 , ON )
SWITCH_GENERATOR ( gang05 , ON )
SWITCH_GENERATOR ( gang06 , ON )
SWITCH_GENERATOR ( rocket04 , ON )
SWITCH_GENERATOR ( molotov04 , ON )
SWITCH_GENERATOR ( grenade03 , ON )
SWITCH_GENERATOR ( flamer02 , ON )
SWITCH_GENERATOR ( armour02 , ON )
SWITCH_GENERATOR ( health02 , ON )
SWITCH_GENERATOR ( molotov05 , ON )
SWITCH_GENERATOR ( molotov06 , ON )
SWITCH_GENERATOR ( electrofinger01 , ON )

SWITCH_GENERATOR ( molotov07 , ON )      //  Mosque Spawn
SWITCH_GENERATOR ( flamer03 , ON )
SWITCH_GENERATOR ( rocket05 , ON )
SWITCH_GENERATOR ( carbomb02 , ON )
SWITCH_GENERATOR ( gang15 , ON )

SWITCH_GENERATOR ( gang07 , ON )         //  Lower Left Quadrant Park
SWITCH_GENERATOR ( rocket06 , ON )
SWITCH_GENERATOR ( electrogun02 , ON )
SWITCH_GENERATOR ( molotov08 , ON )
SWITCH_GENERATOR ( fastreload04 , ON )

SWITCH_GENERATOR ( rocket07 , ON )       //  Lower Right Quadrant Apartments
SWITCH_GENERATOR ( flamer04 , ON )
SWITCH_GENERATOR ( grenade04 , ON )
SWITCH_GENERATOR ( gang08 , ON )
SWITCH_GENERATOR ( health04 , ON )
SWITCH_GENERATOR ( molotov09 , ON )
SWITCH_GENERATOR ( doubledamage04 , ON )
SWITCH_GENERATOR ( dualpistol02 , ON )
SWITCH_GENERATOR ( fastreload05 , ON )

SWITCH_GENERATOR ( instantbomb01 , ON )  //  South Island
SWITCH_GENERATOR ( instantbomb02 , ON )
SWITCH_GENERATOR ( gang09 , ON )
SWITCH_GENERATOR ( gang10 , ON )
SWITCH_GENERATOR ( grenade05 , ON )
SWITCH_GENERATOR ( grenade06 , ON )
SWITCH_GENERATOR ( electrogun03 , ON )
SWITCH_GENERATOR ( rocket12 , ON )
SWITCH_GENERATOR ( flamer05 , ON )
SWITCH_GENERATOR ( molotov10 , ON )
SWITCH_GENERATOR ( health05 , ON )
SWITCH_GENERATOR ( doubledamage01 , ON )
SWITCH_GENERATOR ( armour04 , ON )
SWITCH_GENERATOR ( carbomb03 , ON )
SWITCH_GENERATOR ( carbomb04 , ON )

SWITCH_GENERATOR ( gang11 , ON )        //  East Island
SWITCH_GENERATOR ( invisibility01 , ON )
SWITCH_GENERATOR ( rocket08 , ON )
SWITCH_GENERATOR ( electrogun04 , ON )

SWITCH_GENERATOR ( gang12 , ON )        //  West Island
SWITCH_GENERATOR ( invulnerable01 , ON )
SWITCH_GENERATOR ( rocket09 , ON )
SWITCH_GENERATOR ( electrogun05 , ON )

SWITCH_GENERATOR ( fastreload01 , ON )  //  Upper Left
SWITCH_GENERATOR ( dualpistol01 , ON )


SWITCH_GENERATOR ( armour03 , ON )      //  Police Station
SWITCH_GENERATOR ( flamer06 , ON )
SWITCH_GENERATOR ( fastreload02 , ON )

SWITCH_GENERATOR ( health03 , ON )      //  Hospital
SWITCH_GENERATOR ( rocket10 , ON )
SWITCH_GENERATOR ( doubledamage02 , ON )
SWITCH_GENERATOR ( gang14 , ON )

SWITCH_GENERATOR ( machinegun01 , ON )  //  MAIN INTERSECTIONS
SWITCH_GENERATOR ( silenced02 , ON )
SWITCH_GENERATOR ( machinegun02 , ON )
SWITCH_GENERATOR ( silenced03 , ON )

SWITCH_GENERATOR ( invisibility02 , ON )  //  REMOTE AREA

////////////////////////////////////////////////////////////////////////////////////////////////////
//  SPAWN AND SET UP ISLAND BOTS  //////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

SET_CHAR_GRAPHIC_TYPE ( eastislandbot , DUMMY_GRAPHIC , 26 )
SET_CHAR_OBJECTIVE ( eastislandbot , GUARD_AREA )
SET_CHAR_BRAVERY_LEVEL ( eastislandbot , LOONY )
SET_CHAR_THREAT_REACTION ( eastislandbot , REACT_AS_NORMAL )
SET_CHAR_THREAT_SEARCH ( eastislandbot , AREA_PLAYER_ONLY )
ADD_PATROL_POINT ( eastislandbot , 195.5 , 126.5 , 3.0 )
ADD_PATROL_POINT ( eastislandbot , 195.5 , 136.5 , 3.0 )

SET_CHAR_GRAPHIC_TYPE ( westislandbot , DUMMY_GRAPHIC , 26 )
SET_CHAR_OBJECTIVE ( westislandbot , GUARD_AREA )
SET_CHAR_BRAVERY_LEVEL ( westislandbot , LOONY )
SET_CHAR_THREAT_REACTION ( westislandbot , REACT_AS_NORMAL )
SET_CHAR_THREAT_SEARCH ( westislandbot , AREA_PLAYER_ONLY )
ADD_PATROL_POINT ( westislandbot , 67.5 , 126.5 , 3.0 )
ADD_PATROL_POINT ( westislandbot , 67.5 , 136.5 , 3.0 )

SET_CHAR_GRAPHIC_TYPE ( northislandbot , DUMMY_GRAPHIC , 26 )
SET_CHAR_OBJECTIVE ( northislandbot , GUARD_AREA )
SET_CHAR_BRAVERY_LEVEL ( northislandbot , LOONY )
SET_CHAR_THREAT_REACTION ( northislandbot , REACT_AS_NORMAL )
SET_CHAR_THREAT_SEARCH ( northislandbot , AREA_PLAYER_ONLY )
ADD_PATROL_POINT ( northislandbot , 128.5 , 58.5 , 5.0 )
ADD_PATROL_POINT ( northislandbot , 134.5 , 58.5 , 5.0 )
GIVE_WEAPON ( northislandbot , FLAME_THROWER )

SET_CHAR_GRAPHIC_TYPE ( southislandbot , DUMMY_GRAPHIC , 26 )
SET_CHAR_OBJECTIVE ( southislandbot , GUARD_AREA )
SET_CHAR_BRAVERY_LEVEL ( southislandbot , LOONY )
SET_CHAR_THREAT_REACTION ( southislandbot , REACT_AS_NORMAL )
SET_CHAR_THREAT_SEARCH ( southislandbot , AREA_PLAYER_ONLY )
ADD_PATROL_POINT ( southislandbot , 110.5 , 202.5 , 5.0 )
ADD_PATROL_POINT ( southislandbot , 152.5 , 202.5 , 5.0 )
GIVE_WEAPON ( southislandbot , ELECTRO_GUN )

////////////////////////////////////////////////////////////////////////////////////////////////////
//  ADD CARBOMBS TO TANKS AND TURN ON LIGHTS FOR SOME EMERGENCY VEHICLES  //////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
parkedrig1 = CREATE_CAR ( 98.5 , 107.5 ) 0 180 TRUKCAB1 TANKER END  // PARKED TRUCK AND TRAILER SYSTEMS
parkedrig2 = CREATE_CAR ( 112.5 , 107.5 ) 4 180 TRUKCAB2 TRUKCONT END

GIVE_WEAPON ( parkedcar8 , CAR_FLAMETHROWER , 1 )  // ROCKET PROOF, FLAME THROWING FIRETRUCK
SET_CAR_ROCKETPROOF ( parkedcar8 , ON )

GIVE_WEAPON ( gunjeep1 , CAR_FLAMETHROWER , 1 )  // ROCKET PROOF, FLAME THROWING GUNJEEPS
SET_CAR_ROCKETPROOF ( gunjeep1 , ON )
GIVE_WEAPON ( gunjeep2 , CAR_FLAMETHROWER , 1 )
SET_CAR_ROCKETPROOF ( gunjeep2 , ON )

GIVE_WEAPON ( apc1 , CAR_MACHINE_GUN , 99 )  // ROCKET PROOF, VEHICLE GUNNING APCS
SET_CAR_ROCKETPROOF ( apc1 , ON )
GIVE_WEAPON ( apc2 , CAR_MACHINE_GUN , 99 )
SET_CAR_ROCKETPROOF ( apc2 , ON )

SET_CAR_EMERG_LIGHTS ( swat1  ,  ON ) // TURN ON EMERGENCY LIGHTS OF POLICE STATION/BANK PARKED POLICE CARS
SET_CAR_EMERG_LIGHTS ( fbicar1 , ON ) 
SET_CAR_EMERG_LIGHTS ( copcar1 , ON )
GIVE_CAR_ALARM ( copcar2 )
SET_CAR_JAMMED_ACCELERATOR ( copcar2 , ON )

SET_DIR_OF_TV_VANS ( 111.0 , 132.0 )  

////////////////////////////////////////////////////////////////////////////////////////////////////
//  MAIN GAME LOOP  ////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

COUNTER mainloop = 1

WHILE_EXEC ( mainloop = 1 )

////////////////////////////////////////////////////////////////////////////////////////////////////
//  DISABLE BRIDGE TRIGGERS IF ALREADY LOWERED 1 Z BLOCK IN HEIGHT  ////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

      IF ( blownbridgeflag = 1 )  // Bridge has been blown, disable all triggers to prevent anymore drops
         DISABLE_THREAD_TRIGGER ( p1bridgeE )
         DISABLE_THREAD_TRIGGER ( p2bridgeE )
         DISABLE_THREAD_TRIGGER ( p3bridgeE )
         DISABLE_THREAD_TRIGGER ( p4bridgeE )
         DISABLE_THREAD_TRIGGER ( p5bridgeE )
         DISABLE_THREAD_TRIGGER ( p6bridgeE )
      ENDIF

////////////////////////////////////////////////////////////////////////////////////////////////////
//  RESPAWNING CARS WITH AND WITHOUT WRECK CLEANUP  ////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

//  RESPAWNING CARS FOR PLAYER SPAWN AREAS WITH WRECK CLEAN UP

      IF ( IS_CAR_WRECKED ( medicar1 ) )  // AMBULANCE 1
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 128.35 , 112.0 , 2.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )  // PREVENT CAR SPAWN ON PLAYER
            DELETE_ITEM ( medicar1 )
            medicar1 = CREATE_CAR ( 128.35 , 112.0 , 2.0 ) 0 45 MEDICAR END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( medicar2 ) )  // AMBULANCE 2
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 135.35 , 112.0 , 2.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( medicar2 )
            medicar2 = CREATE_CAR ( 135.35 , 112.0 , 2.0 ) 0 45 MEDICAR END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( apc1 ) )  //  SOUTH ISLAND SPAWN
         IF ( ( NOT ( IS_POINT_ONSCREEN (  140.5 , 201.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( apc1 )
            apc1 = CREATE_CAR ( 140.5 , 201.5 ) 0 45 APC END
            GIVE_WEAPON ( apc1 , CAR_MACHINE_GUN , 99 )
            SET_CAR_ROCKETPROOF ( apc1 , ON )
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( gunjeep2 ) )  //  SOUTH ISLAND SPAWN
         IF ( ( NOT ( IS_POINT_ONSCREEN (  134.0 , 201.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( gunjeep2 )
            gunjeep2 = CREATE_CAR ( 134.0 , 201.5 ) 0 135 GUNJEEP END
            GIVE_WEAPON ( gunjeep2 , CAR_FLAMETHROWER , 1 )
            SET_CAR_ROCKETPROOF ( gunjeep2 , ON )
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( respawncar1 ) )  //  BROTHEL SPAWN
         IF ( ( NOT ( IS_POINT_ONSCREEN (  113.0 , 90.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( respawncar1 )
            respawncar1 = CREATE_CAR ( 113.0 , 90.5 ) 0 315 MIURA END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( respawncar2 ) )  //  CASINO SPAWN
         IF ( ( NOT ( IS_POINT_ONSCREEN (  164.0 , 95.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( respawncar2 )
            respawncar2 = CREATE_CAR ( 164.0 , 95.5 ) 16 225 EDSEL END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( respawncar3 ) )  //  MOSQUE SPAWN
         IF ( ( NOT ( IS_POINT_ONSCREEN (  164.5 , 124.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( respawncar3 )
            respawncar3 = CREATE_CAR ( 164.5 , 124.5 ) 0 90 GRAHAM END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( respawncar4 ) )  //  APARTMENT/DINER SPAWN
         IF ( ( NOT ( IS_POINT_ONSCREEN (  155.5 , 164.0 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( respawncar4 )
            respawncar4 = CREATE_CAR ( 155.5 , 164.0 ) 2 180 LIMO2 END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( respawncar5 ) )  //  BANKS SPAWN
         IF ( ( NOT ( IS_POINT_ONSCREEN (  97.2 , 156.8 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( respawncar5 )
            respawncar5 = CREATE_CAR ( 97.2 , 156.8 ) 32 225 BUICK END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( respawncar6 ) )  //  CRANE SPAWN
         IF ( ( NOT ( IS_POINT_ONSCREEN (  97.5 , 139.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( respawncar6 )
            respawncar6 = CREATE_CAR ( 97.5 , 139.5 ) 0 270  TOWTRUCK END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( respawncar7 ) )  //  PARK SPAWN
         IF ( ( NOT ( IS_POINT_ONSCREEN (  141.5 , 127.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            DELETE_ITEM ( respawncar7 )
            respawncar7 = CREATE_CAR ( 141.5 , 127.5 ) 0 0 ICECREAM END
         ENDIF
      ENDIF
      
//  RESPAWNING CARS WITH NO WRECK CLEAN UP TO PLAY 'PILE UP' IN PIT OF BROTHEL
      IF ( IS_CAR_WRECKED ( parkedrig1 ) )  //  BROTHEL/PIT RESPAWNING CARS
         IF ( ( NOT ( IS_POINT_ONSCREEN (  98.5 , 107.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedrig1 = CREATE_CAR ( 98.5 , 107.5 ) 0 180 TRUKCAB1 TANKER END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedrig2 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN (  112.5 , 107.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedrig2 = CREATE_CAR ( 112.5 , 107.5 ) 4 180 TRUKCAB2 TRUKCONT END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar1 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 114.5 , 132.0 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar1 = CREATE_CAR ( 114.5 , 132.0 ) 21 300 ISETTA END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar2 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 102.5 , 107.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar2 = CREATE_CAR ( 102.5 , 107.5 ) 22 180 GT24640 END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar3 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 104.5 , 107.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar3 = CREATE_CAR ( 104.5 , 107.5 ) 15 180 VTYPE END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar5 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 101.8 , 90.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar5 = CREATE_CAR ( 101.8 , 90.5 ) 09 315 BMW END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar6 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 106.5 , 108.0 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar6 = CREATE_CAR ( 106.5 , 108.0 ) 0 180 BUS END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar7 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN (  108.5 , 107.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar7 = CREATE_CAR ( 108.5 , 107.5 ) 27 180 STRIPETB END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar8 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 110.5 , 107.75 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar8 = CREATE_CAR ( 110.5 , 107.75 ) 0 180 FIRETRUK END
            GIVE_WEAPON ( parkedcar8 , CAR_FLAMETHROWER , 1 )
            SET_CAR_ROCKETPROOF ( parkedcar8 , ON )            
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar9 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 109.8 , 90.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar9 = CREATE_CAR ( 109.8 , 90.5 ) 34 315 TRANCEAM END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar10 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 107.8 , 90.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar10 = CREATE_CAR ( 107.8 , 90.5 ) 21 315 PICKUP END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar11 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 103.8 , 90.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar11 = CREATE_CAR ( 103.8 , 90.5 ) 17 315 T2000GT END
         ENDIF
      ENDIF
      IF ( IS_CAR_WRECKED ( parkedcar12 ) )
         IF ( ( NOT ( IS_POINT_ONSCREEN ( 105.8 , 90.5 , 6.0 ) ) ) AND ( NOT ( DELAY ( 450 ) ) ) )
            parkedcar12 = CREATE_CAR ( 105.8 , 90.5 ) 30 315 DART END
         ENDIF
      ENDIF
      
////////////////////////////////////////////////////////////////////////////////////////////////////
//  RESPAWN NUDE ISLAND BOSS BOTS IF DEAD  /////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
    IF ( HAS_CHARACTER_DIED ( eastislandbot ) )  //  HAS BOT DIED?
       IF ( NOT ( DELAY ( 600 ) ) )
          DELETE_ITEM ( eastislandbot )  //  REMOVE CARCUS
          eastislandbot = CREATE_CHAR ( 195.5 , 131.5 , 4.0 ) 26 0 PSYCHO END //  RECREATE BOT
          SET_CHAR_GRAPHIC_TYPE ( eastislandbot , DUMMY_GRAPHIC , 26 )  //  SETUP CHARACTERISTICS OF BOT
          SET_CHAR_OBJECTIVE ( eastislandbot , GUARD_AREA )
          SET_CHAR_BRAVERY_LEVEL ( eastislandbot , LOONY )
          SET_CHAR_THREAT_REACTION ( eastislandbot , REACT_AS_NORMAL )
          SET_CHAR_THREAT_SEARCH ( eastislandbot , AREA_PLAYER_ONLY )
          ADD_PATROL_POINT ( eastislandbot , 195.5 , 126.5 , 3.0 )
          ADD_PATROL_POINT ( eastislandbot , 195.5 , 136.5 , 3.0 )
       ENDIF
    ENDIF
    IF ( HAS_CHARACTER_DIED ( westislandbot ) )
       IF ( NOT ( DELAY ( 600 ) ) )
          DELETE_ITEM (westislandbot )
          westislandbot = CREATE_CHAR ( 67.5 , 131.5 , 4.0 ) 26 0 PSYCHO END 
          SET_CHAR_GRAPHIC_TYPE ( westislandbot , DUMMY_GRAPHIC , 26 )
          SET_CHAR_OBJECTIVE ( westislandbot , GUARD_AREA )
          SET_CHAR_BRAVERY_LEVEL ( westislandbot , LOONY )
          SET_CHAR_THREAT_REACTION ( westislandbot , REACT_AS_NORMAL )
          SET_CHAR_THREAT_SEARCH ( westislandbot , AREA_PLAYER_ONLY )
          ADD_PATROL_POINT ( westislandbot , 67.5 , 126.5 , 3.0 )
          ADD_PATROL_POINT ( westislandbot , 67.5 , 136.5 , 3.0 )
       ENDIF
    ENDIF   
    IF ( HAS_CHARACTER_DIED ( northislandbot ) )
       IF ( NOT ( DELAY ( 300 ) ) )
          DELETE_ITEM (northislandbot )
          northislandbot = CREATE_CHAR ( 131.5 , 58.5 , 6.0 ) 26 0 CRIMINAL_TYPE2 END
          SET_CHAR_GRAPHIC_TYPE ( northislandbot , DUMMY_GRAPHIC , 26 )
          SET_CHAR_OBJECTIVE ( northislandbot , GUARD_AREA )
          SET_CHAR_BRAVERY_LEVEL ( northislandbot , LOONY )
          SET_CHAR_THREAT_REACTION ( northislandbot , REACT_AS_NORMAL )
          SET_CHAR_THREAT_SEARCH ( northislandbot , AREA_PLAYER_ONLY )
          ADD_PATROL_POINT ( northislandbot , 128.5 , 58.5 , 5.0 )
          ADD_PATROL_POINT ( northislandbot , 134.5 , 58.5 , 5.0 )
          GIVE_WEAPON ( northislandbot , FLAME_THROWER )
       ENDIF
    ENDIF
    IF ( HAS_CHARACTER_DIED ( southislandbot ) )
       IF ( NOT ( DELAY ( 300 ) ) )
          DELETE_ITEM ( southislandbot )
          southislandbot = CREATE_CHAR ( 131.5 , 203.5 , 6.0 ) 26 0 CRIMINAL_TYPE2 END
          SET_CHAR_GRAPHIC_TYPE ( southislandbot , DUMMY_GRAPHIC , 26 )
          SET_CHAR_OBJECTIVE ( southislandbot , GUARD_AREA )
          SET_CHAR_BRAVERY_LEVEL ( southislandbot , LOONY )
          SET_CHAR_THREAT_REACTION ( southislandbot , REACT_AS_NORMAL )
          SET_CHAR_THREAT_SEARCH ( southislandbot , AREA_PLAYER_ONLY )
          ADD_PATROL_POINT ( southislandbot , 110.5 , 202.5 , 5.0 )
          ADD_PATROL_POINT ( southislandbot , 152.5 , 202.5 , 5.0 )
          GIVE_WEAPON ( southislandbot , ELECTRO_GUN )
       ENDIF
    ENDIF
    
DO_NOWT
ENDWHILE

LEVELEND
