/* BUILDING SITE - Game name "OUTLANDS" */ /* -------------------- SETUP INFO -----------------------*/ PLAY_TIME 4800 SKIP_MINI_GAMES // Arena LANDSCAPE sitemesh01.obe 0 0 0 ACTOR_DONT_STATIC_LIGHT ACTOR_DONT_FOG // Periphery BACKGROUND site_periphery.obe 0 0 0 ACTOR_DONT_LIGHT // Sky PLATFORM_BACKGROUND site_back.obe 0 0 0 ACTOR_DONT_FOG ACTOR_DONT_LIGHT // Floor PLATFORM_BACKGROUND site_floor.obe 0 0 0 ACTOR_DONT_LIGHT // Turn players to face camera PLAYER_ROT 5.5 RESPAWN_POINT -500 8000 100 RESPAWN_POINT 700 8000 100 RESPAWN_POINT -100 8000 500 RESPAWN_POINT -100 8000 -700 /* --------------------- CAMERA ----------------------*/ CAMERA_ROT -0.45 CAMERA_ORIGIN -4000 0 2000 INTRO_CAM site1.lom INTRO_CAM_LOW_DETAIL INTRO_CAM site2.lom INTRO_CAM site3.lom INTRO_CAM site4.lom INTRO_CAM site5.lom WINNER_CAM //910 490 -1250 845 545 -1150 // Winners 420 200 -590 560 200 -450 750 200 -370 400 200 -740 //Losers 150 200 -450 620 200 -60 280 200 -180 /* --------------------- FOG -------------------------*/ FOG 3000 16000 63 48 5 /* ----------------- SCENE LIGHTING ------------------*/ AMBIENTLIGHT 140 140 120 DIRECTIONAL_LIGHT 250 250 250 -0.4 2.1 // xRot yRot zRot SHADOW DIRECTIONAL 0.7 5.5 0 /* ---------------------- SFX -----------------------*/ #define SFX_BALL_FORWARDS 1 #define SFX_BALL_BACK 2 #define SFX_WALL_SMASH_1 3 #define SFX_RUBBLE_LAND 4 #define SFX_CHAIN_REEL_DOWN 5 #define SFX_BALL_WARNING 6 #define SFX_DYNAMITE_LAND_1 7 #define SFX_DYNAMITE_FUSE 8 #define SFX_DYNAMITE_BANG_1 9 #define SFX_DYNAMITE_BANG_2 10 #define SFX_TANK_MOVE 11 #define SFX_TANK_ROTATE 12 #define SFX_MACHINE_CLUNK 13 #define SFX_MACHINE_COGG 14 #define SFX_BUTTON_HAZARD 15 #define SFX_CRUMBLE 16 #define SFX_WIND 17 SAMPLE constr_02b.wav SFX_BALL_FORWARDS SAMPLE constr_02a.wav SFX_BALL_BACK SAMPLE constr_03a.wav SFX_WALL_SMASH_1 SAMPLE constr_04a.wav SFX_RUBBLE_LAND SAMPLE constr_06b.wav SFX_CHAIN_REEL_DOWN SAMPLE military_05b.wav SFX_BALL_WARNING SAMPLE constr_10a.wav SFX_DYNAMITE_LAND_1 SAMPLE constr_11a.wav SFX_DYNAMITE_FUSE SAMPLE demolish_01b.wav SFX_DYNAMITE_BANG_1 SAMPLE demolish_01c.wav SFX_DYNAMITE_BANG_2 SAMPLE constr_07a.wav SFX_TANK_MOVE SAMPLE constr_08a.wav SFX_TANK_ROTATE SAMPLE constr_09a.wav SFX_MACHINE_CLUNK SAMPLE constr_09c.wav SFX_MACHINE_COGG SAMPLE hazard.wav SFX_BUTTON_HAZARD SAMPLE constr_05b.wav SFX_CRUMBLE SAMPLE tanks_01a.wav SFX_WIND #define TEMP_VOL 255 #define AMB_VOL 127 #define FUSE_VOL 127 PUZZLE START_OF_FIRST_HALF ACTION PLAY_SAMPLE SFX_CRUMBLE TEMP_VOL 0 0 ACTION PLAY_SAMPLE SFX_WIND TEMP_VOL 0 0 /* ------------------------------------ GAME -------------------------------------*/ /* ------------------------- GOAL ---------------------------*/ #define GOAL_EFFECT_1 1 #define GOAL_EFFECT_2 2 // Left PLATFORM goalbase.obe 200 -180 -1000 TEXTURE_ANIM activegoalanim.gif 1 GOAL ACTOR_DONT_LIGHT // RIght PLATFORM goalbase.obe 1000 -180 -200 TEXTURE_ANIM activegoalanim.gif 1 GOAL ACTOR_DONT_LIGHT PLATFORM_BACKGROUND goaleffect.obe 200 -220 -1000 TAG GOAL_EFFECT_1 TEXTURE_ANIM goalsign_anim.gif 1 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND goaleffect.obe 1000 -220 -200 TAG GOAL_EFFECT_2 TEXTURE_ANIM goalsign_anim.gif 1 ACTOR_DONT_LIGHT PUZZLE START_OF_FIRST_HALF ACTION ANIMATE_PLATFORM GOAL_EFFECT_1 active 1 0 0.5 0.1 0 ACTION ANIMATE_PLATFORM GOAL_EFFECT_2 active 1 0 0.5 0.1 0 ACTION SET_TEXTURE_ANIM_SPEED GOAL_EFFECT_1 1 0 0 ACTION SET_TEXTURE_ANIM_SPEED GOAL_EFFECT_2 1 0 0 /* --------------------------- BUTTON ------------------------*/ // Button #define BUTTON 30 #define BUTTON_SPRITE_FLASH 31 PLATFORM brb.obe -400 500 400 BIGREDBUTTON AUTOMATIC 125 3.2 0 TAG BUTTON ACTOR_DONT_STATIC_LIGHT PUZZLE AFTER_TIME 300 NUMTIMES 1 ACTION ACTIVATE_BRB BUTTON 1 0 ACTION SPRITE_ONOFF SPRITE_BUTTON 1 0 // Stuff falls on the goal ------------------------ #define DROP_1 300 #define DROP_2 301 #define SHADOW_1 302 #define SHADOW_2 303 #define DROPPER_LANDS 60 // Left PLATFORM goalattack.obe 200 2000 -1000 TAG DROP_1 BEHAVIOUR LOOP SPEED 0 INACTIVE MOVEKEY 200 2000 -1000 0 MOVEKEY 200 -200 -1000 DROPPER_LANDS MOVEKEY 200 -200 -1000 120 ACTOR_DONT_LIGHT // Right PLATFORM goalattack.obe 1000 2000 -200 TAG DROP_2 BEHAVIOUR LOOP SPEED 0 INACTIVE MOVEKEY 1000 2000 -200 0 MOVEKEY 1000 -200 -200 DROPPER_LANDS MOVEKEY 1000 -200 -200 120 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND goalattack_shadow.obe 200 -190 -1000 TAG SHADOW_1 INACTIVE ACTOR_DONT_LIGHT PLATFORM_BACKGROUND goalattack_shadow.obe 1000 -190 -200 TAG SHADOW_2 INACTIVE ACTOR_DONT_LIGHT #define BUTTON_ACTIVE 32 #define BUTTON_PRESSED 33 PUZZLE BRB_JUST_DOWN BUTTON 0 // Play warning ACTION PLAY_SAMPLE SFX_BUTTON_HAZARD TEMP_VOL 0 0 // dropping items ACTION ACTIVATE_PLATFORM DROP_1 30 ACTION ACTIVATE_PLATFORM DROP_2 20 ACTION MAKE_KO DROP_1 1 30 ACTION MAKE_KO DROP_2 1 20 ACTION SET_PLATFORM_SPEED DROP_1 1 ONE_CYCLE 30 ACTION SET_PLATFORM_SPEED DROP_2 1 ONE_CYCLE 20 ACTION ANIMATE_PLATFORM DROP_1 idle 0 0 1 0.1 0 ACTION ANIMATE_PLATFORM DROP_2 idle 0 0 1 0.1 0 ACTION ANIMATE_PLATFORM DROP_1 attack 0 0 0.5 0.1 90 ACTION ANIMATE_PLATFORM DROP_2 attack 0 0 0.5 0.1 80 // shadows ACTION ACTIVATE_PLATFORM SHADOW_1 10 ACTION ACTIVATE_PLATFORM SHADOW_2 0 ACTION ANIMATE_PLATFORM SHADOW_1 grow 0 0 0.5 0.1 10 ACTION ANIMATE_PLATFORM SHADOW_2 grow 0 0 0.5 0.1 0 ACTION DEACTIVATE_PLATFORM SHADOW_1 90 ACTION DEACTIVATE_PLATFORM SHADOW_2 80 // SFX ACTION PLAY_SAMPLE SFX_RUBBLE_LAND TEMP_VOL 0 90 ACTION PLAY_SAMPLE SFX_RUBBLE_LAND TEMP_VOL 0 80 // Debris ACTION CREATE_EXPLOSION_SMOKE 200 -100 -1000 8 250 8 250 176 96 23 74 ACTION CREATE_EXPLOSION_SMOKE 1000 -100 -200 8 250 8 250 176 96 23 74 ACTION CREATE_DEBRIS_EXPLOSION RUBBLE1 0 0 0 200 -100 -1000 10 20 40 84 //ACTION CREATE_DEBRIS_EXPLOSION RUBBLE2 0 0 0 200 -100 -1000 12 10 40 84 ACTION CREATE_DEBRIS_EXPLOSION RUBBLE1 0 0 0 1000 -100 -200 10 20 40 74 //ACTION CREATE_DEBRIS_EXPLOSION RUBBLE2 0 0 0 1000 -100 -200 12 10 40 74 // Button ACTION ACTIVATE_BRB BUTTON 0 0 ACTION SPRITE_ONOFF SPRITE_BUTTON 0 0 ACTION ACTIVATE_BRB BUTTON 1 600 ACTION SPRITE_ONOFF SPRITE_BUTTON 1 600 // // ACTION SET_VAR BUTTON_PRESSED 1 NO_FLAGS 10 // ACTION SET_VAR BUTTON_PRESSED 0 NO_FLAGS 60 // /* // FIRST 1610 // SECOND 3210 PUZZLE AFTER_TIME 1 NUMTIMES 1 ACTION SET_VAR BUTTON_ACTIVE 0 NO_FLAGS 1410 ACTION ACTIVATE_BRB BUTTON 1 2060 ACTION SPRITE_ONOFF SPRITE_BUTTON 1 2060 ACTION SET_VAR BUTTON_ACTIVE 1 NO_FLAGS 2060 ACTION SET_VAR BUTTON_ACTIVE 0 NO_FLAGS 3010 ACTION ACTIVATE_BRB BUTTON 1 2060 ACTION SPRITE_ONOFF SPRITE_BUTTON 1 2060 ACTION SET_VAR BUTTON_ACTIVE 1 NO_FLAGS 3650 PUZZLE ( VAR_EQUAL BUTTON_ACTIVE 0 ) & ( VAR_NOT_EQUAL BUTTON_ACTIVE 1 ) & ( REPEAT ) ACTION ACTIVATE_BRB BUTTON 0 1 ACTION SPRITE_ONOFF SPRITE_BUTTON 0 1 */ /*--------------------- WALL OBJECTS ----------------------*/ // Destroyable walls - before and after meshes #define FIRST_WALL_BEFORE 102 #define FIRST_WALL_AFTER 132 #define FIRST_WALL_DEBRIS 103 #define SECOND_WALL_BEFORE 100 #define SECOND_WALL_AFTER 130 #define SECOND_WALL_DEBRIS 101 // Right-hand wall ----------------------- PLATFORM tank02-st1.obe -900 0 -100 TAG FIRST_WALL_BEFORE ACTOR_DONT_STATIC_LIGHT PLATFORM tank02-st2.obe -900 0 -100 TAG FIRST_WALL_AFTER INACTIVE ACTOR_DONT_STATIC_LIGHT PLATFORM_BACKGROUND tank_2.obe -900 0 -100 TAG FIRST_WALL_DEBRIS INACTIVE ACTOR_DONT_LIGHT // Left-hand wall ------------------------ PLATFORM tank01-st1.obe -1000 0 -700 TAG SECOND_WALL_BEFORE ACTOR_DONT_STATIC_LIGHT PLATFORM tank01-st2.obe -1000 0 -700 TAG SECOND_WALL_AFTER INACTIVE ACTOR_DONT_STATIC_LIGHT PLATFORM_BACKGROUND tank_1.obe -1000 0 -700 TAG SECOND_WALL_DEBRIS INACTIVE ACTOR_DONT_LIGHT /* -------------------------- DESTROY WALLS -----------------------------*/ // Commonly used delay when objects change as wrecking ball smashes through #define SWAP_WALLS 230 /*--------------------- WRECKER --------------------*/ #define WRECKER 451 #define WRECKER_BALL 452 #define WRECKER_LIGHTS 453 #define WRECKER_ANIMSPEED 0.5 PLATFORM_BACKGROUND wrecker.obe -3490 70 -88 TAG WRECKER MOVEKEY -3490 70 -88 0 MOVEKEY -3042 70 -744 120 ROTATEKEY 0 0 0 0 ROTATEKEY 0 90 0 1 BEHAVIOUR STOP SPEED 0 ACTOR_DONT_STATIC_LIGHT // Invisible ball object which hurts players PLATFORM wrecker_ball.obe -5000 543 -105 TAG WRECKER_BALL ACTOR_DONT_LIGHT // Beams of light PLATFORM_BACKGROUND wrecker_lights.obe -3490 70 -88 TAG WRECKER_LIGHTS ACTOR_DONT_LIGHT // Variable to count animations #define WRECKER_COUNTER 99 // Setup wrecker ------------------------------- PUZZLE START_OF_FIRST_HALF ACTION ATTACH_PLATFORM_TO_NODE WRECKER_LIGHTS WRECKER wrecker_basecover 0 0 0 0 ACTION ATTACH_PLATFORM_TO_NODE WRECKER_BALL WRECKER wrecker_ball 0 0 0 0 ACTION MAKE_KO WRECKER_BALL 1 0 ACTION SET_PLATFORM_SPEED WRECKER 1 SPIN_ONE_STEP 0 ACTION SET_VAR WRECKER_COUNTER 99 NO_FLAGS 0 // Start wrecker ------------------------------- PUZZLE AFTER_TIME 900 NUMTIMES 1 // Draw ball up ACTION ANIMATE_PLATFORM WRECKER 02draw 0 0 WRECKER_ANIMSPEED 0.1 0 ACTION PLAY_SAMPLE SFX_CHAIN_REEL_DOWN TEMP_VOL 0 0 ACTION PLAY_SAMPLE SFX_MACHINE_CLUNK TEMP_VOL 0 240 // Create super orb on top of wall 5 secs before wall is destroyed ACTION CREATE_RANDOM_TILE_GROUP 1 SUPER 12 1 240 // Set variable ACTION SET_VAR WRECKER_COUNTER 0 NO_FLAGS 480 /* --------------------- SIRENS ------------------------*/ // SIRENS_3 is used for the first wall knocked down in the first half and the first in the second half. // SIRENS_1 is for the second wall knocked down in the second half #define SIRENS_3 40 #define SIRENS_1 41 // On first wall ----------------- PLATFORM_BACKGROUND sirens_3.obe -900 800 -100 TAG SIRENS_3 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND warninglight.obe -1150 800 -350 TAG 42 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND warninglight.obe -650 800 -350 TAG 43 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND warninglight.obe -650 800 150 TAG 44 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND warninglight.obe -1150 800 150 TAG 45 ACTOR_DONT_LIGHT // On second wall ----------------- PLATFORM_BACKGROUND sirens_1.obe -1000 500 -700 TAG SIRENS_1 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND warninglight.obe -1150 550 -450 TAG 46 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND warninglight.obe -850 550 -450 TAG 47 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND warninglight.obe -850 500 -950 TAG 48 ACTOR_DONT_LIGHT PLATFORM_BACKGROUND warninglight.obe -1150 500 -950 TAG 49 ACTOR_DONT_LIGHT /* ------------------- DESTROY FIRST WALL -----------------*/ #define LIGHT_SPIN_ANIMSPEED 0.7 // Destroy tall wall -------------------------- PUZZLE ( ANIM_ENDED WRECKER ) & ( VAR_EQUAL WRECKER_COUNTER 0 ) NUMTIMES 1 //Warning light ACTION PLAY_SAMPLE SFX_BALL_WARNING TEMP_VOL 0 0 ACTION ANIMATE_PLATFORM 42 warnspin 1 0 LIGHT_SPIN_ANIMSPEED 0.1 0 ACTION ANIMATE_PLATFORM 43 warnspin 1 0 LIGHT_SPIN_ANIMSPEED 0.1 15 ACTION ANIMATE_PLATFORM 44 warnspin 1 0 LIGHT_SPIN_ANIMSPEED 0.1 20 ACTION ANIMATE_PLATFORM 45 warnspin 1 0 LIGHT_SPIN_ANIMSPEED 0.1 30 // r g b xRot yRot rotSpeed lifetime delay ACTION CREATE_SPINNING_LIGHT 127 120 90 0.1 0.1 0.2 230 0 ACTION SPRITE_ONOFF SPRITE_SIRENS_3_1 1 0 ACTION SPRITE_ONOFF SPRITE_SIRENS_3_2 1 15 ACTION SPRITE_ONOFF SPRITE_SIRENS_3_3 1 20 ACTION SPRITE_ONOFF SPRITE_SIRENS_3_4 1 30 ACTION SPRITE_ONOFF SPRITE_SIRENS_3_1 0 SWAP_WALLS ACTION SPRITE_ONOFF SPRITE_SIRENS_3_2 0 SWAP_WALLS ACTION SPRITE_ONOFF SPRITE_SIRENS_3_3 0 SWAP_WALLS ACTION SPRITE_ONOFF SPRITE_SIRENS_3_4 0 SWAP_WALLS ACTION DEACTIVATE_PLATFORM SIRENS_3 SWAP_WALLS ACTION DEACTIVATE_PLATFORM 42 SWAP_WALLS ACTION DEACTIVATE_PLATFORM 43 SWAP_WALLS ACTION DEACTIVATE_PLATFORM 44 SWAP_WALLS ACTION DEACTIVATE_PLATFORM 45 SWAP_WALLS // Switch Walls ACTION DEACTIVATE_PLATFORM FIRST_WALL_BEFORE SWAP_WALLS ACTION ACTIVATE_PLATFORM FIRST_WALL_DEBRIS SWAP_WALLS ACTION ANIMATE_PLATFORM FIRST_WALL_DEBRIS blast 0 0 0.7 0.1 SWAP_WALLS ACTION ACTIVATE_PLATFORM FIRST_WALL_AFTER SWAP_WALLS ACTION PLAY_SAMPLE SFX_WALL_SMASH_1 TEMP_VOL 0 SWAP_WALLS ACTION DEACTIVATE_PLATFORM FIRST_WALL_DEBRIS 500 //ACTION SHAKE_CAMERA 20 45 SWAP_WALLS ACTION CREATE_EXPLOSION_SMOKE -700 500 -250 8 250 8 250 176 96 23 230 // r g b x y z num vel randVel ACTION CREATE_DEBRIS_EXPLOSION RUBBLE1 0 0 0 -900 400 -100 20 20 50 SWAP_WALLS ACTION CREATE_DEBRIS_EXPLOSION RUBBLE2 0 0 0 -900 400 -100 20 20 50 SWAP_WALLS // Change Tile groups ACTION DEACTIVATE_TILE_GROUP 12 SWAP_WALLS ACTION DESTROY_TILE_GROUP 12 SWAP_WALLS ACTION ACTIVATE_TILE_GROUP 3 SWAP_WALLS // Animate wrecker ACTION ANIMATE_PLATFORM WRECKER 04swing 0 0 WRECKER_ANIMSPEED 0.1 180 ACTION PLAY_SAMPLE SFX_BALL_FORWARDS TEMP_VOL 0 180 ACTION PLAY_SAMPLE SFX_BALL_BACK TEMP_VOL 0 240 ACTION PLAY_SAMPLE SFX_CHAIN_REEL_DOWN TEMP_VOL 0 390 //360 ACTION PLAY_SAMPLE SFX_MACHINE_CLUNK TEMP_VOL 0 630 //600 ACTION SET_VAR WRECKER_COUNTER 3 NO_FLAGS 700 // Turn wrecker -------------------------------------- PUZZLE ( ANIM_ENDED WRECKER ) & ( VAR_EQUAL WRECKER_COUNTER 3 ) NUMTIMES 1 ACTION ANIMATE_PLATFORM WRECKER 08rotatecentre-right 0 0 WRECKER_ANIMSPEED 0.1 60 ACTION PLAY_SAMPLE SFX_TANK_ROTATE TEMP_VOL 0 60 ACTION SET_VAR WRECKER_COUNTER 5 NO_FLAGS 300 // Move wrecker to new location ---------------------- PUZZLE ( ANIM_ENDED WRECKER ) & ( VAR_EQUAL WRECKER_COUNTER 5 ) NUMTIMES 1 ACTION SET_PLATFORM_SPEED WRECKER 1 MOVE_ONE_STEP 0 ACTION PLAY_SAMPLE SFX_TANK_MOVE TEMP_VOL 0 0 ACTION ANIMATE_PLATFORM WRECKER move_right 0 0 1 0.1 0 ACTION SET_PLATFORM_SPEED WRECKER 0 NO_FLAGS 120 ACTION ANIMATE_PLATFORM WRECKER 09rotateright-centre 0 0 WRECKER_ANIMSPEED 0.1 120 ACTION PLAY_SAMPLE SFX_TANK_ROTATE TEMP_VOL 0 120 ACTION PLAY_SAMPLE SFX_MACHINE_COGG TEMP_VOL 0 480 //360 ACTION SET_VAR WRECKER_COUNTER 6 NO_FLAGS 600 // Create super orb on top of small wall 5 secs before it is destoyed ACTION CREATE_RANDOM_TILE_GROUP 1 SUPER 11 1 360 /* ------------------- DESTROY SECOND WALL -----------------*/ PUZZLE ( ANIM_ENDED WRECKER ) & ( VAR_EQUAL WRECKER_COUNTER 6 ) NUMTIMES 1 //Warning light ACTION PLAY_SAMPLE SFX_BALL_WARNING TEMP_VOL 0 0 ACTION ANIMATE_PLATFORM 46 warnspin 1 0 LIGHT_SPIN_ANIMSPEED 0.1 0 ACTION ANIMATE_PLATFORM 47 warnspin 1 0 LIGHT_SPIN_ANIMSPEED 0.1 15 ACTION ANIMATE_PLATFORM 48 warnspin 1 0 LIGHT_SPIN_ANIMSPEED 0.1 20 ACTION ANIMATE_PLATFORM 49 warnspin 1 0 LIGHT_SPIN_ANIMSPEED 0.1 30 // r g b xRot yRot rotSpeed lifetime delay ACTION CREATE_SPINNING_LIGHT 127 120 90 0.1 0.1 0.2 230 0 ACTION SPRITE_ONOFF SPRITE_SIRENS_1_1 1 0 ACTION SPRITE_ONOFF SPRITE_SIRENS_1_2 1 15 ACTION SPRITE_ONOFF SPRITE_SIRENS_1_3 1 20 ACTION SPRITE_ONOFF SPRITE_SIRENS_1_4 1 30 ACTION SPRITE_ONOFF SPRITE_SIRENS_1_1 0 SWAP_WALLS ACTION SPRITE_ONOFF SPRITE_SIRENS_1_2 0 SWAP_WALLS ACTION SPRITE_ONOFF SPRITE_SIRENS_1_3 0 SWAP_WALLS ACTION SPRITE_ONOFF SPRITE_SIRENS_1_4 0 SWAP_WALLS ACTION DEACTIVATE_PLATFORM SIRENS_1 SWAP_WALLS ACTION DEACTIVATE_PLATFORM 46 SWAP_WALLS ACTION DEACTIVATE_PLATFORM 47 SWAP_WALLS ACTION DEACTIVATE_PLATFORM 48 SWAP_WALLS ACTION DEACTIVATE_PLATFORM 49 SWAP_WALLS // Switch walls ACTION DEACTIVATE_PLATFORM SECOND_WALL_BEFORE SWAP_WALLS ACTION ACTIVATE_PLATFORM SECOND_WALL_DEBRIS SWAP_WALLS ACTION ANIMATE_PLATFORM SECOND_WALL_DEBRIS blast 0 0 0.7 0.1 SWAP_WALLS ACTION ACTIVATE_PLATFORM SECOND_WALL_AFTER SWAP_WALLS ACTION DEACTIVATE_PLATFORM SECOND_WALL_DEBRIS 400 ACTION PLAY_SAMPLE SFX_WALL_SMASH_1 TEMP_VOL 0 SWAP_WALLS ACTION CREATE_EXPLOSION_SMOKE -700 500 -700 8 250 8 250 176 96 23 230 // r g b x y z num vel randVel ACTION CREATE_DEBRIS_EXPLOSION RUBBLE1 0 0 0 -1000 200 -700 20 20 50 SWAP_WALLS ACTION CREATE_DEBRIS_EXPLOSION RUBBLE2 0 0 0 -1000 200 -700 20 20 50 SWAP_WALLS // Change tile groups ACTION DEACTIVATE_TILE_GROUP 11 SWAP_WALLS ACTION DESTROY_TILE_GROUP 11 SWAP_WALLS ACTION ACTIVATE_TILE_GROUP 2 SWAP_WALLS //Animate wrecker ACTION ANIMATE_PLATFORM WRECKER 04swing 0 0 WRECKER_ANIMSPEED 0.1 180 ACTION PLAY_SAMPLE SFX_BALL_FORWARDS TEMP_VOL 0 180 ACTION PLAY_SAMPLE SFX_BALL_BACK TEMP_VOL 0 240 ACTION PLAY_SAMPLE SFX_CHAIN_REEL_DOWN TEMP_VOL 0 390 //360 ACTION PLAY_SAMPLE SFX_MACHINE_CLUNK TEMP_VOL 0 630 //600 /*-------------------------- DYNAMITE ----------------------------*/ PUZZLE AFTER_TIME 420 NUMTIMES 1 // ACTION CREATE_TILE_GROUP SUPER 5 0 0 // ACTION DESTROY_TILE_GROUP 5 240 ACTION CREATE_COLLECTABLE SPEEDUP 350 200 -350 0 ACTION CREATE_BOMB DYNAMITE 520 1500 -525 0 ACTION CREATE_BOMB DYNAMITE 570 1500 -170 10 ACTION CREATE_BOMB DYNAMITE 260 1500 15 20 ACTION CREATE_BOMB DYNAMITE -20 1500 -235 30 ACTION CREATE_BOMB DYNAMITE 155 1500 -595 40 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 50 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 65 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 80 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 90 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 100 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 100 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 110 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 120 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 130 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 140 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_1 TEMP_VOL 0 200 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_2 TEMP_VOL 0 210 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_1 TEMP_VOL 0 220 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_2 TEMP_VOL 0 230 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_1 TEMP_VOL 0 240 PUZZLE AFTER_TIME 2700 NUMTIMES 1 // ACTION CREATE_TILE_GROUP SUPER 5 0 0 // ACTION DESTROY_TILE_GROUP 5 240 ACTION CREATE_COLLECTABLE SUPER_ATTACK 250 200 -250 0 ACTION CREATE_BOMB DYNAMITE 520 1500 -525 0 ACTION CREATE_BOMB DYNAMITE 570 1500 -170 10 ACTION CREATE_BOMB DYNAMITE 260 1500 15 20 ACTION CREATE_BOMB DYNAMITE -20 1500 -235 30 ACTION CREATE_BOMB DYNAMITE 155 1500 -595 40 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 50 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 65 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 80 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 90 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 100 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 100 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 110 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 120 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 130 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 140 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_1 TEMP_VOL 0 200 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_2 TEMP_VOL 0 210 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_1 TEMP_VOL 0 220 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_2 TEMP_VOL 0 230 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_1 TEMP_VOL 0 240 PUZZLE AFTER_TIME 4200 NUMTIMES 1 ACTION CREATE_TILE_GROUP SUPER 5 0 0 ACTION DESTROY_TILE_GROUP 5 240 ACTION CREATE_BOMB DYNAMITE 520 1500 -525 0 ACTION CREATE_BOMB DYNAMITE 570 1500 -170 10 ACTION CREATE_BOMB DYNAMITE 260 1500 15 20 ACTION CREATE_BOMB DYNAMITE -20 1500 -235 30 ACTION CREATE_BOMB DYNAMITE 155 1500 -595 40 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 50 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 65 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 80 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 90 ACTION PLAY_SAMPLE SFX_DYNAMITE_LAND_1 TEMP_VOL 0 100 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 100 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 110 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 120 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 130 ACTION PLAY_SAMPLE SFX_DYNAMITE_FUSE FUSE_VOL 0 140 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_1 TEMP_VOL 0 200 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_2 TEMP_VOL 0 210 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_1 TEMP_VOL 0 220 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_2 TEMP_VOL 0 230 ACTION PLAY_SAMPLE SFX_DYNAMITE_BANG_1 TEMP_VOL 0 240 /* --------------------- ORB HANDLING ---------------------*/ #define GOLDEN PERSONALISED PUZZLE START_OF_FIRST_HALF ACTION SET_TILE_DEAL_DELAY 0 0 ACTION ACTIVATE_TILE_GROUP 1 0 ACTION CHANGE_HEIGHT_MAP 0 #define TILE_GENERATION_LOOP 21 PUZZLE AFTER_TIME 1 & REPEAT ACTION CREATE_RANDOM_TILE_GROUP 1 GOLDEN 1 1 0 ACTION SET_VAR TILE_GENERATION_LOOP 1 NO_FLAGS 60 /* ---------------------- POWER UPS -----------------------*/ PUZZLE AFTER_TIME 1 NUMTIMES 1 ACTION CREATE_COLLECTABLE SPEEDUP 500 0 700 1200 ACTION CREATE_COLLECTABLE SPEEDUP -1100 0 -1100 1800 ACTION CREATE_COLLECTABLE SUPER_ATTACK 1100 -200 -1100 1500 ACTION CREATE_COLLECTABLE INVINCIBILITY 1100 0 1100 4140 /* ------------------ ORB POSITIONS -----------------------*/ // Middle of dynamite TILE_POSITION 300 200 -300 5 SUPER // Top of lower wall TILE_POSITION -900 500 -500 11 SUPER TILE_POSITION -900 500 -900 11 SUPER TILE_POSITION -900 500 -700 11 SUPER TILE_POSITION -1100 500 -500 11 SUPER TILE_POSITION -1100 500 -700 11 SUPER TILE_POSITION -1100 500 -900 11 SUPER // Top of upper wall TILE_POSITION -700 800 100 12 SUPER TILE_POSITION -700 800 -100 12 SUPER TILE_POSITION -700 800 -300 12 SUPER TILE_POSITION -900 800 -300 12 SUPER TILE_POSITION -900 800 -100 12 SUPER TILE_POSITION -900 800 100 12 SUPER TILE_POSITION -1100 800 100 12 SUPER TILE_POSITION -1100 800 -100 12 SUPER TILE_POSITION -1100 800 -300 12 SUPER // Used to be 15 TILE_POSITION -1100 200 -900 2 GOLDEN TILE_POSITION -1100 200 -700 2 GOLDEN TILE_POSITION -1100 400 -500 2 GOLDEN TILE_POSITION -900 200 -700 2 GOLDEN TILE_POSITION -900 200 -900 2 GOLDEN TILE_POSITION -900 200 -500 2 GOLDEN // Used to be 16 TILE_POSITION -1100 400 -300 3 GOLDEN TILE_POSITION -1100 400 -100 3 GOLDEN TILE_POSITION -900 400 -100 3 GOLDEN TILE_POSITION -900 400 -300 3 GOLDEN TILE_POSITION -700 400 -100 3 GOLDEN TILE_POSITION -700 400 -300 3 GOLDEN TILE_POSITION -700 700 100 3 GOLDEN TILE_POSITION -900 800 100 3 GOLDEN TILE_POSITION -1100 800 100 3 GOLDEN // Used to be 17 TILE_POSITION 300 500 700 1 GOLDEN TILE_POSITION 300 500 900 1 GOLDEN TILE_POSITION 300 500 1100 1 GOLDEN TILE_POSITION 100 500 1100 1 GOLDEN TILE_POSITION 100 500 900 1 GOLDEN TILE_POSITION 100 500 700 1 GOLDEN TILE_POSITION -100 500 700 1 GOLDEN TILE_POSITION -100 600 900 1 GOLDEN TILE_POSITION -100 800 1100 1 GOLDEN // Used to be 18 TILE_POSITION 700 200 900 1 GOLDEN TILE_POSITION 700 200 1100 1 GOLDEN TILE_POSITION 500 200 1100 1 GOLDEN TILE_POSITION 500 200 900 1 GOLDEN //TILE_POSITION 1100 -200 -1100 1 GOLDEN TILE_POSITION 900 -200 -1100 1 GOLDEN TILE_POSITION 1100 -200 -900 1 GOLDEN //TILE_POSITION 900 -200 -900 1 GOLDEN TILE_POSITION 1100 -200 -700 1 GOLDEN TILE_POSITION 900 -200 -700 1 GOLDEN //TILE_POSITION 1100 -200 -500 1 GOLDEN //TILE_POSITION 900 -200 -500 1 GOLDEN //TILE_POSITION 1100 -200 -300 1 GOLDEN //TILE_POSITION 900 -200 -300 1 GOLDEN //TILE_POSITION 1100 -200 -100 1 GOLDEN //TILE_POSITION 900 -200 -100 1 GOLDEN //TILE_POSITION 1100 -200 100 1 GOLDEN //TILE_POSITION 900 -200 100 1 GOLDEN TILE_POSITION 1100 -200 300 1 GOLDEN TILE_POSITION 900 -200 300 1 GOLDEN TILE_POSITION 700 -200 -900 1 GOLDEN TILE_POSITION 700 -200 -1100 1 GOLDEN //TILE_POSITION 500 -200 -1100 1 GOLDEN //TILE_POSITION 500 -200 -900 1 GOLDEN //TILE_POSITION 300 -200 -900 1 GOLDEN //TILE_POSITION 300 -200 -1100 1 GOLDEN //TILE_POSITION 100 -200 -1100 1 GOLDEN //TILE_POSITION 100 -200 -900 1 GOLDEN //TILE_POSITION -100 -200 -900 1 GOLDEN //TILE_POSITION -100 -200 -1100 1 GOLDEN //TILE_POSITION -300 -200 -1100 1 GOLDEN TILE_POSITION -300 -200 -900 1 GOLDEN TILE_POSITION -500 0 -1100 1 GOLDEN TILE_POSITION -500 0 -900 1 GOLDEN TILE_POSITION -700 0 -900 1 GOLDEN TILE_POSITION -700 0 -700 1 GOLDEN TILE_POSITION -700 0 -500 1 GOLDEN TILE_POSITION -700 0 -1100 1 GOLDEN TILE_POSITION -900 0 -1100 1 GOLDEN //TILE_POSITION -1100 0 -1100 1 GOLDEN TILE_POSITION 1100 0 500 1 GOLDEN TILE_POSITION 900 0 500 1 GOLDEN TILE_POSITION 1100 0 700 1 GOLDEN TILE_POSITION 900 0 700 1 GOLDEN TILE_POSITION 1100 0 900 1 GOLDEN TILE_POSITION 900 0 900 1 GOLDEN //TILE_POSITION 1100 0 1100 1 GOLDEN TILE_POSITION 900 0 1100 1 GOLDEN TILE_POSITION 700 0 700 1 GOLDEN TILE_POSITION 300 200 500 1 GOLDEN TILE_POSITION 100 200 500 1 GOLDEN TILE_POSITION 300 200 300 1 GOLDEN TILE_POSITION 100 200 300 1 GOLDEN TILE_POSITION -100 200 300 1 GOLDEN //TILE_POSITION 300 200 100 1 GOLDEN //TILE_POSITION 100 200 100 1 GOLDEN TILE_POSITION -100 200 100 1 GOLDEN //TILE_POSITION 300 200 -100 1 GOLDEN //TILE_POSITION 100 200 -100 1 GOLDEN //TILE_POSITION -100 200 -100 1 GOLDEN //TILE_POSITION 100 200 -300 1 GOLDEN //TILE_POSITION -100 200 -300 1 GOLDEN //TILE_POSITION 300 200 -500 1 GOLDEN //TILE_POSITION 100 200 -500 1 GOLDEN TILE_POSITION -100 200 -500 1 GOLDEN //TILE_POSITION 100 200 -700 1 GOLDEN TILE_POSITION 500 200 -700 1 GOLDEN //TILE_POSITION 300 200 -700 1 GOLDEN TILE_POSITION 700 200 -500 1 GOLDEN //TILE_POSITION 500 200 -500 1 GOLDEN //TILE_POSITION 700 200 -300 1 GOLDEN //TILE_POSITION 500 200 -300 1 GOLDEN //TILE_POSITION 700 200 -100 1 GOLDEN //TILE_POSITION 500 200 -100 1 GOLDEN TILE_POSITION 500 200 100 1 GOLDEN TILE_POSITION -500 200 -100 1 GOLDEN TILE_POSITION -300 200 -100 1 GOLDEN TILE_POSITION -300 200 100 1 GOLDEN TILE_POSITION -300 800 700 1 GOLDEN TILE_POSITION -500 800 700 1 GOLDEN TILE_POSITION -300 800 900 1 GOLDEN TILE_POSITION -500 800 900 1 GOLDEN TILE_POSITION -700 800 900 1 GOLDEN TILE_POSITION -700 800 700 1 GOLDEN TILE_POSITION -700 800 500 1 GOLDEN TILE_POSITION -700 800 300 1 GOLDEN TILE_POSITION -900 800 300 1 GOLDEN TILE_POSITION -900 800 500 1 GOLDEN TILE_POSITION -900 800 700 1 GOLDEN //TILE_POSITION -900 800 900 1 GOLDEN TILE_POSITION -1100 800 500 1 GOLDEN TILE_POSITION -1100 800 700 1 GOLDEN TILE_POSITION -1100 800 900 1 GOLDEN TILE_POSITION -500 800 1100 1 GOLDEN TILE_POSITION -700 800 1100 1 GOLDEN TILE_POSITION -900 800 1100 1 GOLDEN TILE_POSITION -1100 800 1100 1 GOLDEN TILE_POSITION -300 800 1100 1 GOLDEN TILE_POSITION -1100 800 300 1 GOLDEN /* -------------------------- SPRITES --------------------------*/ // Twinkles on lights in trough //CAMERA_ALIGNED_SPRITE x y z xSize ySize texture name r g b a distance on/off CAMERA_ALIGNED_SPRITE 1000 -40 400 150 100 ai_light_glow_4.bmp 120 120 90 90 100 1 CAMERA_ALIGNED_SPRITE -400 -40 -1000 150 100 ai_light_glow_4.bmp 120 120 90 90 50 1 // Attached to wrecker #define SPRITE_WRECK_BASE_LEFT 10 #define SPRITE_WRECK_BASE_RIGHT 11 #define SPRITE_WRECK_HEAD_LEFT 12 #define SPRITE_WRECK_HEAD_RIGHT 13 CAMERA_ALIGNED_SPRITE -4048 355 371 500 400 ai_light_glow_2.bmp 90 90 50 90 100 1 TAG SPRITE_WRECK_BASE_LEFT CAMERA_ALIGNED_SPRITE -4048 355 -536 500 400 ai_light_glow_2.bmp 90 90 50 90 100 1 TAG SPRITE_WRECK_BASE_RIGHT CAMERA_ALIGNED_SPRITE -3852 1148 -83 150 100 ai_light_glow_2.bmp 90 70 50 90 50 1 TAG SPRITE_WRECK_HEAD_LEFT CAMERA_ALIGNED_SPRITE -3852 1148 -83 150 100 ai_light_glow_2.bmp 90 70 50 90 50 1 TAG SPRITE_WRECK_HEAD_RIGHT PUZZLE START_OF_FIRST_HALF ACTION ATTACH_SPRITE_TO_NODE SPRITE_WRECK_BASE_LEFT WRECKER wrecker_basecover 558 285 -460 0 ACTION ATTACH_SPRITE_TO_NODE SPRITE_WRECK_BASE_RIGHT WRECKER wrecker_basecover 558 285 448 0 ACTION ATTACH_SPRITE_TO_NODE SPRITE_WRECK_HEAD_LEFT WRECKER wrecker_cabin 344 474 -201 0 ACTION ATTACH_SPRITE_TO_NODE SPRITE_WRECK_HEAD_RIGHT WRECKER wrecker_cabin 385 474 175 0 // Appear over sirens when they spin // Triggered on and off in wall-smashing puzzles above. #define SPRITE_SIRENS_3_1 14 #define SPRITE_SIRENS_3_2 15 #define SPRITE_SIRENS_3_3 16 #define SPRITE_SIRENS_3_4 17 #define SPRITE_SIRENS_1_1 18 #define SPRITE_SIRENS_1_2 19 #define SPRITE_SIRENS_1_3 20 #define SPRITE_SIRENS_1_4 21 #define XSIZE 500 #define YSIZE 400 #define RED 127 #define GREEN 90 #define BLUE 30 #define DISTANCE 50 CAMERA_ALIGNED_SPRITE -1150 850 -350 XSIZE YSIZE ai_light_glow_2.bmp RED GREEN BLUE 90 DISTANCE 0 TAG SPRITE_SIRENS_3_1 CAMERA_ALIGNED_SPRITE -650 850 -350 XSIZE YSIZE ai_light_glow_2.bmp RED GREEN BLUE 90 DISTANCE 0 TAG SPRITE_SIRENS_3_2 CAMERA_ALIGNED_SPRITE -650 850 150 XSIZE YSIZE ai_light_glow_2.bmp RED GREEN BLUE 90 DISTANCE 0 TAG SPRITE_SIRENS_3_3 CAMERA_ALIGNED_SPRITE -1150 850 150 XSIZE YSIZE ai_light_glow_2.bmp RED GREEN BLUE 90 DISTANCE 0 TAG SPRITE_SIRENS_3_4 CAMERA_ALIGNED_SPRITE -1150 600 -450 XSIZE YSIZE ai_light_glow_2.bmp RED GREEN BLUE 90 DISTANCE 0 TAG SPRITE_SIRENS_1_1 CAMERA_ALIGNED_SPRITE -850 600 -450 XSIZE YSIZE ai_light_glow_2.bmp RED GREEN BLUE 90 DISTANCE 0 TAG SPRITE_SIRENS_1_2 CAMERA_ALIGNED_SPRITE -850 550 -950 XSIZE YSIZE ai_light_glow_2.bmp RED GREEN BLUE 90 DISTANCE 0 TAG SPRITE_SIRENS_1_3 CAMERA_ALIGNED_SPRITE -1150 550 -950 XSIZE YSIZE ai_light_glow_2.bmp RED GREEN BLUE 90 DISTANCE 0 TAG SPRITE_SIRENS_1_4 // On button when active #define SPRITE_BUTTON 22 CAMERA_ALIGNED_SPRITE -370 540 370 275 250 ai_light_glow_2.bmp RED GREEN BLUE 90 200 0 TAG SPRITE_BUTTON