game_manager { spawn { // Game rules wm_number_of_objectives 1 wm_set_round_timelimit 5 wait 50 // Set all the non-LMS entities invisible setstate bank_door2 invisible setstate bank_door1 invisible setstate bankdoors_toi invisible setstate bankdoors_cm_marker invisible setstate defense1_toi invisible setstate defense1_hurt invisible setstate defense1_flag invisible setstate defense1_wire invisible setstate defense1_teeth1 invisible setstate defense1_teeth2 invisible setstate defense1_materials invisible setstate defense1_materials_clip invisible setstate defense2_toi invisible setstate defense2_hurt invisible setstate defense2_flag invisible setstate defense2_materials invisible setstate defense2_materials_clip invisible setstate defense2_wire invisible setstate defense2_teeth1 invisible setstate defense2_teeth2 invisible setstate defense3_toi invisible setstate defense3_hurt invisible setstate defense3_flag invisible setstate defense3_materials invisible setstate defense3_materials_clip invisible setstate defense3_wire invisible setstate defense3_teeth1 invisible setstate defense3_teeth2 invisible setstate defense4_toi invisible setstate defense4_hurt invisible setstate defense4_flag invisible setstate defense4_materials invisible setstate defense4_materials_clip invisible setstate defense4_wire invisible setstate defense4_teeth1 invisible setstate defense4_teeth2 invisible setstate doorframe invisible setstate goldbars_toi invisible setstate goldbars_cm_marker invisible setstate mg42_3 invisible setstate north_hacabinet_toi invisible setstate north_hacabinet_cm_marker invisible setstate mg42_bank invisible setstate mg42_allied invisible setstate mg42_bridge invisible setstate mg42turret invisible setstate mg42_turret invisible setstate mg42_turret_2 invisible setstate mg42turret_2 invisible // LMS spawning setautospawn "Axis Spawn" 0 setautospawn "Allied Spawn" 1 // start triggered loops on/off as required (eg: command post radio sounds) disablespeaker allies_compost_sound disablespeaker axis_compost_sound disablespeaker allies_compost_sound_lms disablespeaker axis_compost_sound_lms wait 1000 // *----------------------------------- vo ------------------------------------------* wm_addteamvoiceannounce 0 "axis_hq_compost_construct" wm_addteamvoiceannounce 1 "allies_hq_compost_construct" wm_teamvoiceannounce 0 "axis_hq_compost_construct" wm_teamvoiceannounce 1 "allies_hq_compost_construct" // *---------------------------------------------------------------------------------* } } // ================================================ // =========== SPAWN POINT CONTROLS =============== // ================================================ tankdepot_axis_spawns { spawn { remove } } tankdepotblob { spawn { remove } } ceilingfan { spawn { wait 100 setrotation 0 300 0 } } // ============== end spawn point controls ======== // ================================================ // ===================================================== // ============ NEUTRAL COMMAND POST LMS =============== // ===================================================== allied_compost_built_lms { spawn { wait 400 trigger allied_compost_built_lms setup constructible_class 2 } trigger setup { setchargetimefactor 1 soldier 1 setchargetimefactor 1 lieutenant 1 setchargetimefactor 1 medic 1 setchargetimefactor 1 engineer 1 setchargetimefactor 1 covertops 1 sethqstatus 1 0 } buildstart final { setstate allied_compost_built_model_lms underconstruction setstate neutral_compost_closed_clip_lms invisible setstate neutral_compost_closed_model_lms invisible } built final { setstate allied_compost_built_model_lms default setstate neutral_compost_closed_clip_lms invisible setstate neutral_compost_closed_model_lms invisible trigger allied_compost_built_model_lms enable_allied_features enablespeaker allies_compost_sound_lms } decayed final { setstate allied_compost_built_model_lms invisible setstate neutral_compost_closed_clip_lms default setstate neutral_compost_closed_model_lms default } death { setstate allied_compost_built_model_lms invisible setstate neutral_compost_closed_clip_lms default setstate neutral_compost_closed_model_lms default trigger allied_compost_built_model_lms disable_allied_features disablespeaker allies_compost_sound_lms } } allied_compost_built_model_lms { spawn { wait 400 setstate allied_compost_built_model_lms invisible } trigger enable_allied_features { setchargetimefactor 1 soldier 0.75 setchargetimefactor 1 lieutenant 0.75 setchargetimefactor 1 medic 0.75 setchargetimefactor 1 engineer 0.75 setchargetimefactor 1 covertops 0.75 sethqstatus 1 1 wm_announce "Allied Command Post constructed. Charge speed increased!" // *----------------------------------- vo ------------------------------------------* wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies" wm_teamvoiceannounce 1 "allies_hq_compost_constructed" wm_removeteamvoiceannounce 1 "allies_hq_compost_construct" // *---------------------------------------------------------------------------------* } trigger disable_allied_features { setchargetimefactor 1 soldier 1 setchargetimefactor 1 lieutenant 1 setchargetimefactor 1 medic 1 setchargetimefactor 1 engineer 1 setchargetimefactor 1 covertops 1 sethqstatus 1 0 wm_announce "Axis team has destroyed the Allied Command Post!" // *----------------------------------- vo ------------------------------------------* wm_addteamvoiceannounce 0 "axis_hq_compost_construct" wm_addteamvoiceannounce 1 "allies_hq_compost_construct" wm_teamvoiceannounce 0 "axis_hq_compost_construct" wm_teamvoiceannounce 1 "allies_hq_compost_damaged" // *---------------------------------------------------------------------------------* } } axis_compost_built_lms { spawn { wait 400 trigger axis_compost_built_lms setup constructible_class 2 } trigger setup { setchargetimefactor 0 soldier 1 setchargetimefactor 0 lieutenant 1 setchargetimefactor 0 medic 1 setchargetimefactor 0 engineer 1 setchargetimefactor 0 covertops 1 sethqstatus 0 0 } buildstart final { setstate axis_compost_built_model_lms underconstruction setstate neutral_compost_closed_clip_lms invisible setstate neutral_compost_closed_model_lms invisible } built final { setstate axis_compost_built_model_lms default setstate neutral_compost_closed_clip_lms invisible setstate neutral_compost_closed_model_lms invisible trigger axis_compost_built_model_lms enable_axis_features enablespeaker axis_compost_sound_lms } decayed final { setstate axis_compost_built_model_lms invisible setstate neutral_compost_closed_clip_lms default setstate neutral_compost_closed_model_lms default } death { setstate axis_compost_built_model_lms invisible setstate neutral_compost_closed_clip_lms default setstate neutral_compost_closed_model_lms default trigger axis_compost_built_model_lms disable_axis_features disablespeaker axis_compost_sound_lms } } axis_compost_built_model_lms { spawn { wait 400 setstate axis_compost_built_model_lms invisible } trigger enable_axis_features { setchargetimefactor 0 soldier 0.75 setchargetimefactor 0 lieutenant 0.75 setchargetimefactor 0 medic 0.75 setchargetimefactor 0 engineer 0.75 setchargetimefactor 0 covertops 0.75 sethqstatus 0 1 wm_announce "Axis Command Post constructed. Charge speed increased!" // *----------------------------------- vo ------------------------------------------* wm_teamvoiceannounce 0 "axis_hq_compost_constructed" wm_teamvoiceannounce 1 "allies_hq_compost_constructed_axis" wm_removeteamvoiceannounce 0 "axis_hq_compost_construct" // *---------------------------------------------------------------------------------* } trigger disable_axis_features { setchargetimefactor 0 soldier 1 setchargetimefactor 0 lieutenant 1 setchargetimefactor 0 medic 1 setchargetimefactor 0 engineer 1 setchargetimefactor 0 covertops 1 sethqstatus 0 0 wm_announce "Allied team has destroyed the Axis Command Post!" // *----------------------------------- vo ------------------------------------------* wm_addteamvoiceannounce 0 "axis_hq_compost_construct" wm_addteamvoiceannounce 1 "allies_hq_compost_construct" wm_teamvoiceannounce 0 "axis_hq_compost_damaged" wm_teamvoiceannounce 1 "allies_hq_compost_construct" // *---------------------------------------------------------------------------------* } } // ================================ // ===== REMOVE NON-LMS STUFF ===== // ================================ // ----------------- // TANK // ----------------- tank_sound { trigger start { trigger tank sound_start wait 3400 trigger tank sound_move } trigger stop { trigger tank sound_stop wait 1400 trigger tank sound_idle } trigger rebirth { trigger tank sound_rebirth wait 1400 trigger tank sound_idle } } // digibob: converting script from goldrush over... // ============================================================================ // accum 0, track state // accum 1 // - bit 0: barrier1 state ( 0 = not built, 1 = built ) // - bit 1: barrier2 state ( 0 = not built, 1 = built ) // - bit 2: spline status ( 0 = not moving, 1 = moving ) // - bit 3: stuck check flag ( 0 = not stuck, 1 = stuck ) // - bit 4: flag for message ( 0 = dont display, 1= display ) // - bit 5: blank ( ) // - bit 6: temp register (XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) // - bit 7: death status ( 0 = alive, 1 = dead ) // - bit 8: player check ( 0 = players, 1 = no players ) // - bit 9: visible state ( 0 = alive, 1 = dead ) // accum 2, blank // accum 3, current movement loop position // accum 4, stop counter // accum 5, lockout ref counter // accum 6, blank // accum 7, blank // =========================================================================================== // spline points are spln2 -> spln78 // =========================================================================================== // track events: // - tracks_forward // - tracks_stop // - tracks_turn_left // - tracks_turn_right tank { spawn { wait 400 followspline 0 spln1 50000 length 32 wait trigger tank sound_idle trigger tank tracks_stop } // ======================================== // sound stuff trigger sound_idle { stopsound playsound sound/vehicles/tank/tank_idle.wav looping volume 512 } trigger sound_start { stopsound playsound sound/vehicles/tank/tank_revup.wav volume 196 } trigger sound_move { stopsound playsound sound/vehicles/tank/tank_move.wav looping volume 512 } trigger sound_stop { stopsound playsound sound/vehicles/tank/tank_revdown.wav volume 196 } trigger sound_death { stopsound playsound sound/vehicles/tank/tank_stop.wav volume 256 } trigger sound_rebirth { stopsound playsound sound/vehicles/tank/tank_start.wav volume 196 } // ======================================== // ======================================== // =========================================================================================== // =========================================================================================== trigger tracks_forward { accum 0 abort_if_equal 1 accum 0 set 1 remapshader models/mapobjects/tanks_sd/jag_tracks_left models/mapobjects/tanks_sd/jag_tracks_alt_forward remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_alt_forward remapshader models/mapobjects/tanks_sd/jag_wheels_left models/mapobjects/tanks_sd/jag_wheels_alt_forward remapshader models/mapobjects/tanks_sd/jag_wheels_right models/mapobjects/tanks_sd/jag_wheels_alt_forward remapshader models/mapobjects/tanks_sd/jag_cogs_left models/mapobjects/tanks_sd/jag_cogs_alt_forward remapshader models/mapobjects/tanks_sd/jag_cogs_right models/mapobjects/tanks_sd/jag_cogs_alt_forward remapshaderflush } trigger tracks_stop { accum 0 abort_if_equal 0 accum 0 set 0 remapshader models/mapobjects/tanks_sd/jag_tracks_left models/mapobjects/tanks_sd/jag_tracks_left remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_right remapshader models/mapobjects/tanks_sd/jag_wheels_left models/mapobjects/tanks_sd/jag_wheels_left remapshader models/mapobjects/tanks_sd/jag_wheels_right models/mapobjects/tanks_sd/jag_wheels_right remapshader models/mapobjects/tanks_sd/jag_cogs_left models/mapobjects/tanks_sd/jag_cogs_left remapshader models/mapobjects/tanks_sd/jag_cogs_right models/mapobjects/tanks_sd/jag_cogs_right remapshaderflush } trigger tracks_turn_left { accum 0 abort_if_equal 2 accum 0 set 2 remapshader models/mapobjects/tanks_sd/jag_tracks_left models/mapobjects/tanks_sd/jag_tracks_alt_backward remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_alt_forward remapshader models/mapobjects/tanks_sd/jag_wheels_left models/mapobjects/tanks_sd/jag_wheels_alt_backward remapshader models/mapobjects/tanks_sd/jag_wheels_right models/mapobjects/tanks_sd/jag_wheels_alt_forward remapshader models/mapobjects/tanks_sd/jag_cogs_left models/mapobjects/tanks_sd/jag_cogs_alt_backward remapshader models/mapobjects/tanks_sd/jag_cogs_right models/mapobjects/tanks_sd/jag_cogs_alt_forward remapshaderflush } trigger tracks_turn_right { accum 0 abort_if_equal 3 accum 0 set 3 remapshader models/mapobjects/tanks_sd/jag_tracks_left models/mapobjects/tanks_sd/jag_tracks_alt_forward remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_alt_backward remapshader models/mapobjects/tanks_sd/jag_wheels_left models/mapobjects/tanks_sd/jag_wheels_alt_forward remapshader models/mapobjects/tanks_sd/jag_wheels_right models/mapobjects/tanks_sd/jag_wheels_alt_backward remapshader models/mapobjects/tanks_sd/jag_cogs_left models/mapobjects/tanks_sd/jag_cogs_alt_forward remapshader models/mapobjects/tanks_sd/jag_cogs_right models/mapobjects/tanks_sd/jag_cogs_alt_backward remapshaderflush } // =========================================================================================== // =========================================================================================== trigger run_continue { accum 3 inc 1 trigger self deathcheck trigger self stopcheck trigger self move } // =========================================================================================== // movement trigger move_check { trigger self stuck_check accum 1 abort_if_bitset 3 trigger self dispatch } trigger move { trigger self move_check wait 500 trigger self move } trigger dispatch { accum 3 trigger_if_equal 0 tank run_0 accum 3 trigger_if_equal 1 tank run_1 accum 3 trigger_if_equal 2 tank run_2 accum 3 trigger_if_equal 3 tank run_3 accum 3 trigger_if_equal 4 tank run_4 accum 3 trigger_if_equal 5 tank run_5 accum 3 trigger_if_equal 6 tank run_6 accum 3 trigger_if_equal 7 tank run_7 accum 3 trigger_if_equal 8 tank run_8 accum 3 trigger_if_equal 9 tank run_9 accum 3 trigger_if_equal 10 tank run_10 accum 3 trigger_if_equal 11 tank run_11 accum 3 trigger_if_equal 12 tank run_12 accum 3 trigger_if_equal 13 tank run_13 accum 3 trigger_if_equal 14 tank run_14 accum 3 trigger_if_equal 15 tank run_15 accum 3 trigger_if_equal 16 tank run_16 accum 3 trigger_if_equal 17 tank run_17 accum 3 trigger_if_equal 18 tank run_18 accum 3 trigger_if_equal 19 tank run_19 accum 3 trigger_if_equal 20 tank run_20 accum 3 trigger_if_equal 21 tank run_21 accum 3 trigger_if_equal 22 tank run_22 accum 3 trigger_if_equal 23 tank run_23 accum 3 trigger_if_equal 24 tank run_24 accum 3 trigger_if_equal 25 tank run_25 accum 3 trigger_if_equal 26 tank run_26 accum 3 trigger_if_equal 27 tank run_27 accum 3 trigger_if_equal 28 tank run_28 accum 3 trigger_if_equal 29 tank run_29 accum 3 trigger_if_equal 30 tank run_30 accum 3 trigger_if_equal 31 tank run_31 accum 3 trigger_if_equal 32 tank run_32 accum 3 trigger_if_equal 33 tank run_33 accum 3 trigger_if_equal 34 tank run_34 accum 3 trigger_if_equal 35 tank run_35 accum 3 trigger_if_equal 36 tank run_36 accum 3 trigger_if_equal 37 tank run_37 accum 3 trigger_if_equal 38 tank run_38 accum 3 trigger_if_equal 39 tank run_39 accum 3 trigger_if_equal 40 tank run_40 accum 3 trigger_if_equal 41 tank run_41 accum 3 trigger_if_equal 42 tank run_42 accum 3 trigger_if_equal 43 tank run_43 accum 3 trigger_if_equal 44 tank run_44 accum 3 trigger_if_equal 45 tank run_45 accum 3 trigger_if_equal 46 tank run_46 accum 3 trigger_if_equal 47 tank run_47 accum 3 trigger_if_equal 48 tank run_48 accum 3 trigger_if_equal 49 tank run_49 accum 3 trigger_if_equal 50 tank run_50 accum 3 trigger_if_equal 51 tank run_51 accum 3 trigger_if_equal 52 tank run_52 accum 3 trigger_if_equal 53 tank run_53 accum 3 trigger_if_equal 54 tank run_54 accum 3 trigger_if_equal 55 tank run_55 accum 3 trigger_if_equal 56 tank run_56 accum 3 trigger_if_equal 57 tank run_57 accum 3 trigger_if_equal 58 tank run_58 accum 3 trigger_if_equal 59 tank run_59 accum 3 trigger_if_equal 60 tank run_60 accum 3 trigger_if_equal 61 tank run_61 accum 3 trigger_if_equal 62 tank run_62 accum 3 trigger_if_equal 63 tank run_63 accum 3 trigger_if_equal 64 tank run_64 accum 3 trigger_if_equal 65 tank run_65 accum 3 trigger_if_equal 66 tank run_66 accum 3 trigger_if_equal 67 tank run_67 accum 3 trigger_if_equal 68 tank run_68 accum 3 trigger_if_equal 69 tank run_69 accum 3 trigger_if_equal 70 tank run_70 accum 3 trigger_if_equal 71 tank run_71 accum 3 trigger_if_equal 72 tank run_72 accum 3 trigger_if_equal 73 tank run_73 accum 3 trigger_if_equal 74 tank run_74 accum 3 trigger_if_equal 75 tank run_75 accum 3 trigger_if_equal 76 tank run_76 } trigger run_0 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln2 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_1 { trigger self tracks_forward trigger game_manager allies_steal_tank accum 1 bitset 2 followspline 0 spln3 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_2 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln4 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_3 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln5 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_4 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln6 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_5 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln7 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_6 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln8 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_7 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln9 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_8 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln10 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_9 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln11 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_10 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln12 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_11 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln13 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_12 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln14 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_13 { trigger self tracks_turn_right accum 1 bitset 2 followspline 0 spln15 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_14 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln16 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_15 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln17 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_16 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln18 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_17 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln19 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_18 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln20 50 wait length 32 accum 1 bitreset 2 trigger tank stuck_check_barrier1_built_msg trigger self run_continue } trigger run_19 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln21 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_20 { trigger self tracks_forward // Old location of defense1 remove accum 1 bitset 2 followspline 0 spln22 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_21 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln23 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_22 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln24 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_23 { trigger self tracks_forward // ********************************** trigger defense1 remove // ********************************** accum 1 bitset 2 followspline 0 spln25 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_24 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln26 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_25 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln27 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_26 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln28 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_27 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln29 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_28 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln30 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_29 { trigger self tracks_forward trigger defense1_toi rubble_corner1 trigger self tracks_turn_left accum 1 bitset 2 followspline 0 spln31 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_30 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln32 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_31 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln33 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_32 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln34 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_33 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln35 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_34 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln36 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_35 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln37 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_36 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln38 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_37 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln39 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_38 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln40 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_39 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln41 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_40 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln42 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_41 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln43 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_42 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln44 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_43 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln45 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_44 { trigger self tracks_forward trigger defense1_toi rubble_corner2 trigger defense2_toi rubble_corner3 accum 1 bitset 2 followspline 0 spln46 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_45 { trigger self tracks_turn_left accum 1 bitset 2 followspline 0 spln47 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_46 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln48 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_47 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln49 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_48 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln50 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_49 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln51 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_50 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln52 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_51 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln53 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_52 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln54 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_53 { trigger self tracks_turn_left accum 1 bitset 2 followspline 0 spln55 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_54 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln56 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_55 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln57 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_56 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln58 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_57 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln59 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_58 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln60 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_59 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln61 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_60 { trigger self tracks_turn_left accum 1 bitset 2 followspline 0 spln62 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_61 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln63 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_62 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln64 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_63 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln65 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_64 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln66 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_65 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln67 50 wait length 32 accum 1 bitreset 2 trigger tank stuck_check_barrier2_built_msg trigger self run_continue } trigger run_66 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln68 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_67 { trigger self tracks_forward // ********************************** trigger defense2 remove // ********************************** accum 1 bitset 2 followspline 0 spln69 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_68 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln70 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_69 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln71 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_70 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln72 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_71 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln73 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_72 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln74 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_73 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln75 50 wait length 32 accum 1 bitreset 2 // *----------------------------------- vo ------------------------------------------* wm_addteamvoiceannounce 0 "goldrush_axis_bank_courtyard" wm_addteamvoiceannounce 1 "goldrush_allies_bank_courtyard" wm_teamvoiceannounce 0 "goldrush_axis_bank_courtyard" wm_teamvoiceannounce 1 "goldrush_allies_bank_courtyard" wm_removeteamvoiceannounce 1 "goldrush_allies_tank_courtyard" // *---------------------------------------------------------------------------------* trigger self run_continue } trigger run_74 { trigger self tracks_turn_left accum 1 bitset 2 followspline 0 spln76 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_75 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln77 50 wait length 32 accum 1 bitreset 2 trigger self run_continue } trigger run_76 { trigger self tracks_forward accum 1 bitset 2 followspline 0 spln78 50 wait length 32 accum 1 bitreset 2 trigger self script_lockout trigger self tracks_stop trigger tank_sound stop wm_objective_status 2 0 2 wm_objective_status 2 1 1 startanimation 45 10 15 nolerp norandom wait 666 startanimation 0 1 15 nolerp norandom wait 900 trigger tank_turret turn accum 3 inc 1 } // =========================================================================================== // =========================================================================================== // =========================================================================================== // stuck checking // digibob: since we cant return variables, just use bit 3 of accum 1 as a register... mmmm assembly... trigger stuck_check { accum 1 bitreset 3 trigger self stuck_check_barrier1_built trigger self stuck_check_barrier2_built trigger self stuck_check_scriptlockout trigger self stuck_check_finished } trigger stuck_check_finished { accum 3 abort_if_less_than 77 accum 1 bitset 3 } trigger stuck_check_scriptlockout { accum 5 abort_if_equal 0 accum 1 bitset 3 } trigger stuck_check_barrier1_built { accum 3 abort_if_not_equal 23 accum 1 abort_if_not_bitset 0 accum 1 bitset 3 } trigger stuck_check_barrier1_built_msg { accum 1 abort_if_not_bitset 0 } trigger stuck_check_barrier2_built { accum 3 abort_if_not_equal 67 accum 1 abort_if_not_bitset 1 accum 1 bitset 3 } trigger stuck_check_barrier2_built_msg { accum 1 abort_if_not_bitset 1 } // =========================================================================================== // stop check trigger stopcheck_setup { //accum 1 bitset 6 // stop if we're stuck/no-one's pushing :) accum 1 abort_if_bitset 8 // no one in the trigger, abort trigger self stuck_check // call the stop check function accum 1 abort_if_bitset 3 // we're stuck so break out accum 1 bitreset 6 // we're free to move } trigger stopcheck { trigger self stopcheck_setup accum 1 abort_if_not_bitset 6 trigger self script_lockout // Any just stopped moving stuff goes here trigger tank_sound stop trigger self tracks_stop startanimation 45 10 15 nolerp norandom wait 666 startanimation 0 1 15 nolerp norandom wait 900 trigger self script_lockout_stop resetscript } // =========================================================================================== // =========================================================================================== // script lockouts trigger script_lockout { accum 5 inc 1 } trigger script_lockout_stop { accum 5 inc -1 } // =========================================================================================== // =========================================================================================== // enable/disable trigger tank_enable { trigger self stuck_check accum 1 abort_if_bitset 3 // stuck check accum 4 set 0 // reset stop counter accum 1 bitreset 8 // reset stop check accum 1 abort_if_bitset 2 // already following spline accum 5 abort_if_not_equal 0 // are we not in a script lockout? accum 1 abort_if_bitset 7 // death check // Any just started moving stuff goes here trigger self script_lockout trigger tank_sound start startanimation 55 10 15 nolerp norandom wait 666 startanimation 5 40 15 nolerp norandom wait 500 trigger self tracks_forward trigger self script_lockout_stop trigger self move } trigger tank_disable { accum 4 inc 1 // up the stop counter accum 4 abort_if_less_than 4 accum 1 bitset 8 // set stop check trigger self deathcheck } // =========================================================================================== // =========================================================================================== // death / rebirth rebirth { accum 1 bitreset 9 // we're visibly alive accum 1 bitreset 7 // we're alive again trigger self script_lockout changemodel models/mapobjects/tanks_sd/jagdpanther_africa_tracks.md3 setstate tank_smoke invisible trigger tank_sound rebirth wait 500 trigger self script_lockout_stop } death { accum 1 bitset 7 } trigger deathcheck { accum 1 abort_if_not_bitset 7 // are we dead? accum 1 abort_if_bitset 9 // are we not already visibly dead? accum 1 abort_if_bitset 2 // are we not following a spline? accum 5 abort_if_not_equal 0 // are we not in a script lockout? accum 1 bitset 9 // we're now visibly dead trigger self deathcheck_message accum 1 bitset 4 changemodel models/mapobjects/tanks_sd/jagdpanther_africa_tracks2.md3 setstate tank_smoke default kill tank_construct trigger self sound_death trigger self tracks_stop trigger self script_lockout trigger self tracks_stop startanimation 45 10 15 nolerp norandom wait 666 startanimation 0 1 15 nolerp norandom trigger self script_lockout_stop resetscript } trigger deathcheck_message { accum 1 abort_if_not_bitset 4 wm_announce "The Tank has been damaged!" // *----------------------------------- vo ------------------------------------------* wm_addteamvoiceannounce 1 "allies_hq_tank_damaged_axis" wm_teamvoiceannounce 0 "axis_hq_tank_damaged" wm_teamvoiceannounce 1 "allies_hq_tank_damaged_axis" wm_removeteamvoiceannounce 0 "axis_hq_tank_stop" // *---------------------------------------------------------------------------------* } trigger startfire { startanimation 67 8 10 nolerp norandom noloop } trigger stopfire { startanimation 0 1 15 nolerp norandom } trigger enable_stage2 { accum 1 bitreset 0 } trigger disable_stage2 { accum 1 bitset 0 } trigger enable_stage4 { accum 1 bitreset 1 } trigger disable_stage4 { accum 1 bitset 1 } } tank_trigger { spawn { wait 500 attachtotag tank_shell tag_turret trigger tank_trigger bot_goal_loop } trigger bot_goal_loop { wait 4000 // check every 4 seconds trigger tank bot_active_check trigger tank_trigger bot_goal_loop } } tank_build { spawn { wait 500 attachtotag tank_shell tag_turret } } tank_construct { spawn { wait 1000 constructible_class 2 constructible_health 1200 constructible_constructxpbonus 10 constructible_destructxpbonus 10 } built final { alertentity tank wm_announce "The Tank has been repaired!" } } tank_shell { spawn { wait 400 attachtotag tank tag_tank } } tank_turret { spawn { wait 500 attachtotag tank_shell tag_turret } trigger turn { wait 1000 playsound sound/vehicles/tank/turret_spin.wav looping faceangles 0 340 0 3000 stopsound playsound sound/vehicles/tank/turret_end.wav wait 500 trigger tank startfire playsound sound/vehicles/tank/tank_fire.wav trigger boomtrigger boom_all // triggers the hurts around bank explosions (each has its own wait for timing) trigger tank_flash run wait 300 setstate tank_flash invisible wait 200 trigger tank stopfire wait 400 playsound sound/vehicles/tank/turret_spin.wav looping faceangles 0 0 0 3000 stopsound playsound sound/vehicles/tank/turret_end.wav trigger tank sound_death trigger tank script_lockout_stop } } tank_flash { spawn { setstate tank_flash invisible } trigger run { setstate tank_flash default attachtotag tank_turret tag_flash faceangles 0 90 0 50 wait 50 } } tank_disabler { trigger run { trigger tank tank_disable } } tank_enabler { trigger run { trigger tank tank_enable } } tank_smoke { spawn { wait 300 attachtotag tank_shell tag_smoke setstate tank_smoke invisible } } // ----------------- // GOLD // ----------------- goldbars_toi { spawn { wait 500 remove } } goldbars_cm_marker { spawn { wait 500 remove } } gold_full_0 { spawn { wait 500 remove } } gold_full_1 { spawn { wait 500 remove } } gold_trans_0 { spawn { wait 500 remove } } gold_trans_1 { spawn { wait 500 remove } } // ********************************************** // ****************** TRUCK STUFF *************** // ********************************************** truck_smoke { spawn { wait 300 attachtotag truck tag_wfront setstate truck_smoke invisible } } // sound "thread" truck_engine { spawn { wait 200 attachtotag truck tag_wfront trigger truck_engine sound_idle } trigger start { trigger truck_engine sound_start wait 950 trigger truck_engine sound_move } trigger stop { trigger truck_engine sound_stop wait 950 trigger truck_engine sound_idle } // ======================================== // sound events trigger sound_idle { playsound sound/vehicles/truck/truck_idle.wav looping } trigger sound_start { stopsound playsound sound/vehicles/truck/truck_revup.wav volume 96 } trigger sound_move { playsound sound/vehicles/truck/truck_move.wav looping } trigger sound_stop { stopsound playsound sound/vehicles/truck/truck_revdown.wav volume 96 } trigger sound_death { stopsound playsound sound/vehicles/truck/truck_stop.wav volume 96 } // ======================================== // ======================================== } truck_build { spawn { wait 500 attachtotag truck tag_wback } } truck_construct { spawn { constructible_class 2 constructible_health 1050 constructible_constructxpbonus 10 constructible_destructxpbonus 10 } built final { alertentity truck } } // digibob: ok, for once i'm gonna PLAN this one, so NOTHING WILL BREAK EVAR // ============================================================================ // accum 0, gold bars collected // accum 1 // - bit 0: barrier 1 status ( 0 = destroyed, 1 = built ) // - bit 1: barrier 2 status ( 0 = destroyed, 1 = built ) // - bit 2: spline status ( 0 = not moving, 1 = moving ) // - bit 3: stuck check flag ( 0 = not stuck, 1 = stuck ) // - bit 4: script lockout ( 0 = no lockout, 1 = lockout ) // - bit 5: blank ( ) // - bit 6: temp register (XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) // - bit 7: death status ( 0 = alive, 1 = dead ) // - bit 8: player check ( 0 = players, 1 = no players ) // - bit 9: visible state ( 0 = alive, 1 = dead ) // accum 2, blank // accum 3, current movement loop position // accum 4, stop counter // accum 5, blank // accum 6, blank // accum 7, blank // ============================================================================ // spline points are tspln_X with X = 1 to 23 // ============================================================================ // wheel events: // - wheels_forward // - wheels_backward // - wheels_stop truck { spawn { faceangles 0 90 0 50 } // ======================================== // wheeeeeeeeeeeeeeels. eeels. ls. trigger wheels_forward { trigger truck_bwheel2 forward trigger truck_fwheel forward } trigger wheels_backward { trigger truck_bwheel2 backward trigger truck_fwheel backward } trigger wheels_stop { trigger truck_bwheel2 stop trigger truck_fwheel stop } // ======================================== // ======================================== trigger add_goldbar { } trigger truck_escape_msg { } // ======================================== // movement trigger move_check { trigger truck stuck_check accum 1 abort_if_bitset 3 trigger truck dispatch } trigger move { trigger truck move_check wait 500 trigger truck move } // ======================================== // ======================================== trigger run_continue { trigger truck deathcheck trigger truck stopcheck trigger truck move } trigger run_1 { accum 1 bitset 2 followspline 0 tspln_1 125 wait length 304 wait roll 0 2 dampin accum 1 bitreset 2 accum 3 set 1 trigger truck run_continue } trigger run_2 { accum 1 bitset 2 followspline 0 tspln_2 125 wait length 304 wait roll 2 -1 dampout accum 1 bitreset 2 accum 3 set 2 trigger truck run_continue } trigger run_3 { accum 1 bitset 2 followspline 0 tspln_3 125 wait length 304 wait roll 1 -1 dampout accum 1 bitreset 2 accum 3 set 3 trigger truck stuck_check_barrier3_built_msg trigger truck run_continue } trigger run_4 { accum 1 bitset 2 followspline 0 tspln_4 125 wait length 304 accum 1 bitreset 2 accum 3 set 4 trigger truck run_continue } trigger run_5 { // ************************** trigger defense3 remove // ************************** accum 1 bitset 2 followspline 0 tspln_5 125 wait length 304 accum 1 bitreset 2 accum 3 set 5 trigger truck run_continue } trigger run_6 { accum 1 bitset 2 followspline 0 tspln_6 125 wait length 304 accum 1 bitreset 2 accum 3 set 6 trigger truck run_continue } trigger run_7 { accum 1 bitset 2 followspline 0 tspln_7 125 wait length 304 accum 1 bitreset 2 accum 3 set 7 trigger truck run_continue } trigger run_8 { accum 1 bitset 2 followspline 0 tspln_8 125 wait length 304 accum 1 bitreset 2 accum 3 set 8 trigger truck run_continue } trigger run_9 { accum 1 bitset 2 followspline 0 tspln_9 125 wait length 304 accum 1 bitreset 2 accum 3 set 9 trigger truck run_continue } trigger run_10 { accum 1 bitset 2 followspline 0 tspln_10 125 wait length 304 wait roll 0 -2 dampin accum 1 bitreset 2 accum 3 set 10 trigger truck run_continue } trigger run_11 { accum 1 bitset 2 followspline 0 tspln_11 125 wait length 304 wait roll -2 0 accum 1 bitreset 2 accum 3 set 11 trigger truck run_continue } trigger run_12 { accum 1 bitset 2 followspline 0 tspln_12 125 wait length 304 wait roll -2 -1 dampin accum 1 bitreset 2 accum 3 set 12 trigger truck run_continue } trigger run_13 { accum 1 bitset 2 followspline 0 tspln_13 125 wait length 304 wait roll -3 0 dampout accum 1 bitreset 2 accum 3 set 13 trigger truck run_continue } trigger run_14 { accum 1 bitset 2 followspline 0 tspln_14 125 wait length 304 wait roll -3 +3 dampout accum 1 bitreset 2 accum 3 set 14 trigger truck run_continue } trigger run_15 { accum 1 bitset 2 followspline 0 tspln_15 125 wait length 304 accum 1 bitreset 2 accum 3 set 15 trigger truck run_continue } trigger run_16 { accum 1 bitset 2 followspline 0 tspln_16 125 wait length 304 accum 1 bitreset 2 accum 3 set 16 trigger truck run_continue } trigger run_17 { accum 1 bitset 2 followspline 0 tspln_17 125 wait length 304 accum 1 bitreset 2 accum 3 set 17 trigger truck stuck_check_barrier4_built_msg trigger truck run_continue } trigger run_18 { accum 1 bitset 2 followspline 0 tspln_18 125 wait length 304 accum 1 bitreset 2 accum 3 set 18 trigger truck run_continue } trigger run_19 { // ************************** trigger defense4 remove // ************************** accum 1 bitset 2 followspline 0 tspln_19 125 wait length 304 accum 1 bitreset 2 accum 3 set 19 trigger truck run_continue } trigger run_20 { accum 1 bitset 2 followspline 0 tspln_20 125 wait length 304 accum 1 bitreset 2 accum 3 set 20 trigger truck run_continue } trigger run_21 { accum 1 bitset 2 followspline 0 tspln_21 125 wait length 304 accum 1 bitreset 2 accum 3 set 21 trigger truck run_continue } trigger run_22 { accum 1 bitset 2 followspline 0 tspln_22 125 wait length 304 accum 1 bitreset 2 accum 3 set 22 trigger truck run_continue } trigger run_23 { accum 1 bitset 2 followspline 0 tspln_23 125 wait length 304 accum 1 bitreset 2 accum 3 set 23 trigger truck run_continue } trigger run_24 { accum 1 bitset 2 followspline 0 tspln_24 125 wait length 304 accum 1 bitreset 2 accum 3 set 24 trigger truck wheels_stop } trigger dispatch { accum 3 trigger_if_equal 0 truck run_1 accum 3 trigger_if_equal 1 truck run_2 accum 3 trigger_if_equal 2 truck run_3 accum 3 trigger_if_equal 3 truck run_4 accum 3 trigger_if_equal 4 truck run_5 accum 3 trigger_if_equal 5 truck run_6 accum 3 trigger_if_equal 6 truck run_7 accum 3 trigger_if_equal 7 truck run_8 accum 3 trigger_if_equal 8 truck run_9 accum 3 trigger_if_equal 9 truck run_10 accum 3 trigger_if_equal 10 truck run_11 accum 3 trigger_if_equal 11 truck run_12 accum 3 trigger_if_equal 12 truck run_13 accum 3 trigger_if_equal 13 truck run_14 accum 3 trigger_if_equal 14 truck run_15 accum 3 trigger_if_equal 15 truck run_16 accum 3 trigger_if_equal 16 truck run_17 accum 3 trigger_if_equal 17 truck run_18 accum 3 trigger_if_equal 18 truck run_19 accum 3 trigger_if_equal 19 truck run_20 accum 3 trigger_if_equal 20 truck run_21 accum 3 trigger_if_equal 21 truck run_22 accum 3 trigger_if_equal 22 truck run_23 accum 3 trigger_if_equal 23 truck run_24 } // ======================================== // barrier checking // digibob: since we cant return variables, just use bit 3 of accum 1 as a register... mmmm assembly...... trigger stuck_check { accum 1 bitreset 3 //trigger truck stuck_check_gold //trigger truck stuck_check_barrier3 //trigger truck stuck_check_barrier4 trigger truck stuck_check_scriptlockout trigger truck stuck_check_finished } trigger stuck_check_finished { accum 3 abort_if_not_equal 24 accum 1 bitset 3 } trigger stuck_check_scriptlockout { accum 1 abort_if_not_bitset 4 accum 1 bitset 3 } trigger stuck_check_gold { } trigger stuck_check_barrier3 { accum 3 abort_if_not_equal 4 accum 1 abort_if_not_bitset 0 accum 1 bitset 3 } trigger stuck_check_barrier3_built_msg { accum 1 abort_if_not_bitset 0 } trigger stuck_check_barrier4 { accum 3 abort_if_not_equal 18 accum 1 abort_if_not_bitset 1 accum 1 bitset 3 } trigger stuck_check_barrier4_built_msg { accum 1 abort_if_not_bitset 1 } // ======================================== // stop check trigger stopcheck_setup { //accum 1 bitset 6 // stop if we're stuck/no-one's pushing :) accum 1 abort_if_bitset 8 // no one in the trigger, abort trigger truck stuck_check // call the stop check function accum 1 abort_if_bitset 3 // we're stuck so break out //accum 1 bitreset 6 // we're free to keep going } trigger stopcheck { trigger truck stopcheck_setup accum 1 abort_if_not_bitset 6 trigger truck script_lockout // Any just stopped moving stuff goes here trigger truck_engine stop trigger truck wheels_stop // <<<<< stop animation goes here trigger truck script_lockout_stop resetscript } // ======================================== // script lockouts trigger script_lockout { accum 1 bitset 4 } trigger script_lockout_stop { accum 1 bitreset 4 } // ======================================== // enable/disable trigger truck_enable { trigger truck stuck_check accum 1 abort_if_bitset 3 // stuck check accum 4 set 0 // reset stop counter accum 1 bitreset 8 // reset stop check accum 1 abort_if_bitset 2 // already following spline accum 1 abort_if_bitset 4 // script lockout accum 1 abort_if_bitset 7 // death check // Any just started moving stuff goes here trigger truck_engine start trigger truck wheels_forward // <<<<< start animation goes here trigger truck move } trigger truck_disable { //accum 4 inc 1 // up the stop counter //accum 4 abort_if_less_than 2 //accum 1 bitset 8 // set stop check trigger truck deathcheck } // ======================================== // ======================================== // ======================================== // death / rebirth rebirth { accum 1 bitreset 7 // we're alive again accum 1 bitreset 9 // we're visibly alive changemodel models/mapobjects/blitz_sd/blitzbody.md3 setstate truck_smoke invisible trigger truck move } death { accum 1 bitset 7 } trigger deathcheck { accum 1 abort_if_not_bitset 7 // are we dead? accum 1 abort_if_bitset 9 // are we not already visibly dead? accum 1 abort_if_bitset 2 // are we not following a spline? accum 1 abort_if_bitset 4 // are we not in a script lockout? accum 1 bitset 9 // we're now visibly dead wm_announce "The Truck has been damaged!" // *----------------------------------- vo ------------------------------------------* wm_teamvoiceannounce 0 "axis_hq_truck_damaged" wm_teamvoiceannounce 1 "allies_hq_truck_damaged_axis" // *---------------------------------------------------------------------------------* setstate truck_smoke default kill truck_construct trigger truck_engine sound_death //trigger truck tracks_stop // truck with tracks? i don't think so trigger truck wheels_stop // <<<< stop anim goes here changemodel models/mapobjects/blitz_sd/blitzbody_damaged.md3 resetscript } // ======================================== // barriers trigger enable_stage1 { accum 1 bitreset 0 } trigger disable_stage1 { accum 1 bitset 0 } trigger enable_stage2 { accum 1 bitreset 1 } trigger disable_stage2 { accum 1 bitset 1 } // ======================================== // ======================================== } truck_bwheel2 { spawn { wait 500 attachtotag truck tag_wback } trigger forward { setrotation 130 0 0 } trigger backward { setrotation -130 0 0 } trigger stop { stoprotation } } truck_fwheel { spawn { wait 500 attachtotag truck tag_wfront } trigger forward { setrotation 130 0 0 } trigger backward { setrotation -130 0 0 } trigger stop { stoprotation } } truck_trigger { spawn { wait 500 attachtotag truck tag_wback } } truck_disabler { trigger run { trigger truck truck_disable } } truck_enabler { trigger run { trigger truck truck_enable } } // ----------------- // BANK EXPLOSION // ----------------- doorframe { spawn { wait 50 remove } } bankdoors_toi { spawn { wait 500 remove } } bankdoors_cm_marker { spawn { wait 500 remove } } bank_door1 { spawn { wait 500 remove } } boomtrigger { spawn { wait 500 remove } } hurt_barrelblast1 { spawn { wait 500 remove } } hurt_barrelblast2 { spawn { wait 500 remove } } hurt_barrelblast3 { spawn { wait 500 remove } } hurt_bankblast { spawn { wait 500 remove } } // ----------------- // BARRIERS // ----------------- defense1 { spawn { wait 500 remove } } defense1_toi { spawn { wait 500 remove } } defense2 { spawn { wait 500 remove } } defense2_toi { spawn { wait 500 remove } } defense3 { spawn { wait 500 remove } } defense3_toi { spawn { wait 500 remove } } defense4 { spawn { wait 500 remove } } defense4_toi { spawn { wait 500 remove } } // ----------------------- // Tank Bay Command Post // ----------------------- tankbay_commandpost_wires { spawn { wait 400 remove } } neutral_compost_toi { spawn { wait 50 setstate neutral_compost_toi invisible } } neutral_compost_clip { spawn { wait 400 remove } } neutral_compost_closed_clip { spawn { wait 400 remove } } neutral_compost_closed_model { spawn { wait 400 remove } } allied_compost_built { spawn { wait 400 remove } } allied_compost_built_model { spawn { wait 400 remove } } axis_compost_built { spawn { wait 400 remove } } axis_compost_built_model { spawn { wait 400 remove } } // ------------------------------------- // Health & Ammo Cabinets near Tank Bay // ------------------------------------- north_hacabinet_toi { spawn { wait 500 remove } } north_hacabinet_cm_marker { spawn { wait 500 remove } } north_trigger_ammo { spawn { wait 400 remove } } north_ammocabinet { spawn { wait 400 remove } } north_ammocabinet_clip { spawn { wait 400 remove } } north_trigger_heal { spawn { wait 400 remove } } north_healthcabinet { spawn { wait 400 remove } } north_healthcabinet_clip { spawn { wait 400 remove } }