#using scripts\codescripts\struct; #using scripts\shared\_oob; #using scripts\shared\util_shared; #using scripts\shared\compass; #using scripts\mp\_load; #using scripts\mp\_util; #using scripts\mp\gametypes\_spawnlogic; #using scripts\mp\mp_kung_fu_fx; #using scripts\mp\mp_kung_fu_sound; #precache( "model", "collision_clip_wall_64x64x10" ); #precache( "model", "collision_clip_wall_32x32x10" ); #precache( "model", "p7_debris_wood_plank_old_64_splintered" ); #precache( "model", "p7_kfu_gong_wall_decor" ); #precache( "model", "collision_clip_wall_256x256x10" ); #precache( "model", "collision_clip_wall_128x128x10" ); #precache( "model", "collision_physics_64x64x64" ); #precache( "model", "collision_clip_256x256x256" ); #precache( "model", "collision_clip_wall_32x32x10" ); #precache( "model", "collision_clip_32x32x32" ); function main() { precache(); trigger = spawn( "trigger_radius_out_of_bounds", (674 , 2622.5 , 137.5), 0, 256, 300 ); trigger thread oob::run_oob_trigger(); mp_kung_fu_fx::main(); mp_kung_fu_sound::main(); load::main(); compass::setupMiniMap( "compass_map_mp_kung_fu" ); SetDvar( "compassmaxrange", "2100" ); // Set up the default range of the compass link_traversals( "under_bridge", "targetname", true ); //Spawning clip on blue shingles above lilly pad pond //spawncollision("collision_clip_wall_64x64x10","collider",( 191.466 , -1858.57 , 432.435 ), ( 332 , 270 , 0 )); //spawncollision("collision_clip_wall_64x64x10","collider",( 229.553 , -1815.83 , 432.435 ), ( 341 , 0 , 0 )); //spawncollision("collision_clip_wall_32x32x10","collider",( 224.5 , -1852 , 410 ), ( 329 , 318 , -3 )); //spawncollision("collision_clip_wall_32x32x10","collider",( 232 , -1858.5 , 394 ), ( 329 , 318 , -3 )); // Spawn piece of wood to cover up a minor umbra issue - between concrete barrel thing and red pillar that faces accross the middle toward the disco DT 160457 //tree1 = spawn("script_model",( -1407 , -542 , 263 )); // tree1.angles = ( 0 , 0 , -90); //tree1 SetModel("p7_debris_wood_plank_old_64_splintered"); // Spawn decorative pieces outside of disco room for umbra issue DT 163028 block1 = spawn("script_model",( -1341.5 , 121 , 388 )); block1.angles = ( 0 , 0 , 0); block1 SetModel("p7_kfu_gong_wall_decor"); block2 = spawn("script_model",( -1325 , 121 , 388 )); block2.angles = ( 0 , 0 , 0); block2 SetModel("p7_kfu_gong_wall_decor"); block3 = spawn("script_model",( -1308.5 , 121 , 388 )); block3.angles = ( 0 , 0 , 0); block3 SetModel("p7_kfu_gong_wall_decor"); block4 = spawn("script_model",( -1292 , 121 , 388 )); block4.angles = ( 0 , 0 , 0); block4 SetModel("p7_kfu_gong_wall_decor"); block5 = spawn("script_model",( -1275.5 , 121 , 388 )); block5.angles = ( 0 , 0 , 0); block5 SetModel("p7_kfu_gong_wall_decor"); block6 = spawn("script_model",( -1259 , 121 , 388 )); block6.angles = ( 0 , 0 , 0); block6 SetModel("p7_kfu_gong_wall_decor"); block7 = spawn("script_model",( -1242.5 , 121 , 388 )); block7.angles = ( 0 , 0 , 0); block7 SetModel("p7_kfu_gong_wall_decor"); block8 = spawn("script_model",( -1350 , 122.25 , 391.75 )); block8.angles = ( 270 , 180 , 90 ); block8 SetModel("p7_kfu_gong_wall_decor"); block9 = spawn("script_model",( -1352 , 121.75 , 391.75 )); block9.angles = ( 270 , 180 , 90 ); block9 SetModel("p7_kfu_gong_wall_decor"); block10 = spawn("script_model",( -1234 , 122.25 , 391.75 )); block10.angles = ( 90 , 180 , 90 ); block10 SetModel("p7_kfu_gong_wall_decor"); block11 = spawn("script_model",( -1232 , 121.75 , 391.75 )); block11.angles = ( 90 , 180 , 90 ); block11 SetModel("p7_kfu_gong_wall_decor"); //Fix for small ledge player could stand on along the bridge hallway //spawncollision("collision_clip_wall_256x256x10","collider",( -365 , -1818 , 522 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_256x256x10","collider",( -365 , -1818 , 778 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_256x256x10","collider",( -365 , -1818 , 1034 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_256x256x10","collider",( -365 , -1818 , 1290 ), ( 0 , 0 , 0)); //Fix for small ledge player could stand on on the wrong side of the railing by the cliff edge //spawncollision("collision_clip_wall_64x64x10","collider",( -1645 , -698 , 248 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_64x64x10","collider",( -1645 , -762 , 248 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_64x64x10","collider",( -1645 , -826 , 248 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_64x64x10","collider",( -1645 , -878 , 248 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_64x64x10","collider",( -1645 , -931 , 248 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_64x64x10","collider",( -1624 , -982 , 248 ), ( 0 , 45 , 0)); //spawncollision("collision_clip_wall_64x64x10","collider",( -1607 , -999 , 248 ), ( 0 , 45 , 0)); // Spawn black models above trophy room roof to close up seam / umbra issue dt 164483 block1 = spawn("script_model",( 331 , -39.5 , 508.5 )); block1.angles = ( 290 , 180 , 0); block1 SetModel("collision_clip_wall_128x128x10"); block2 = spawn("script_model",( 331 , -104.5 , 508.5 )); block2.angles = ( 290 , 180 , 0); block2 SetModel("collision_clip_wall_128x128x10"); block3 = spawn("script_model",( 331 , -225.5 , 508.5 )); block3.angles = ( 290 , 180 , 0); block3 SetModel("collision_clip_wall_128x128x10"); //Fix for player cam clipping into the edge of gate at center of gong run spawncollision("collision_clip_256x256x256","collider",( 1488 , -16 , 580 ), ( 0 , 270 , 0)); spawncollision("collision_clip_256x256x256","collider",( 1488 , -208 , 580 ), ( 0 , 270 , 0)); spawncollision("collision_clip_256x256x256","collider",( 1488 , -208 , 836 ), ( 0 , 270 , 0)); spawncollision("collision_clip_256x256x256","collider",( 1488 , -208 , 1092 ), ( 0 , 270 , 0)); spawncollision("collision_clip_256x256x256","collider",( 1488 , -208 , 1348 ), ( 0 , 270 , 0)); //Spawning phys clip over water outside of playspace //spawncollision("collision_physics_64x64x64","collider",( 304.5 , -2900 , 406 ), ( 0 , 0 , 0 )); //spawncollision("collision_physics_64x64x64","collider",( 304.5 , -2960 , 406 ), ( 0 , 0 , 0 )); //spawncollision("collision_physics_64x64x64","collider",( 368 , -2900 , 406 ), ( 0 , 0 , 0 )); //spawncollision("collision_physics_64x64x64","collider",( 368 , -2960 , 406 ), ( 0 , 0 , 0 )); //spawncollision("collision_physics_64x64x64","collider",( 326.5 , -2925.5 , 436.5 ), ( 0 , 0 , 0 )); //spawncollision("collision_physics_64x64x64","collider",( 326.5 , -2961.5 , 436.5 ), ( 0 , 0 , 0 )); //Fix for small ledge player could stand on on the gate next to the cliff path //spawncollision("collision_clip_wall_128x128x10","collider",( -1555 , -492 , 548 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( -1555 , -492 , 676 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( -1555 , -492 , 804 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( -1555 , -492 , 932 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( -1555 , -492 , 1060 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( -1555 , -492 , 1188 ), ( 0 , 0 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( -1555 , -492 , 1316 ), ( 0 , 0 , 0)); //Fix for mantling through training area start spawn wall spawncollision("collision_clip_wall_32x32x10","collider",( 43.5 , 3073 , 175.5 ), ( 0 , 270 , 0)); spawncollision("collision_clip_wall_32x32x10","collider",( 43.5 , 3073 , 207 ), ( 0 , 270 , 0)); spawncollision("collision_clip_wall_32x32x10","collider",( 43.5 , 3073 , 238.5 ), ( 0 , 270 , 0)); spawncollision("collision_clip_wall_32x32x10","collider",( 43.5 , 3073 , 270 ), ( 0 , 270 , 0)); spawncollision("collision_clip_wall_32x32x10","collider",( 43.5 , 3073 , 300 ), ( 0 , 270 , 0)); //Fix for missing clip over rocks by red veranda //spawncollision("collision_clip_wall_128x128x10","collider",( 607 , -1139 , 492 ), ( 0 , 270 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( 607 , -1139 , 617 ), ( 0 , 270 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( 607 , -1139 , 742 ), ( 0 , 270 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( 607 , -1139 , 866 ), ( 0 , 270 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( 607 , -1139 , 990.5 ), ( 0 , 270 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( 607 , -1139 , 1217.5 ), ( 0 , 270 , 0)); //spawncollision("collision_clip_wall_128x128x10","collider",( 607 , -1139 , 1295 ), ( 0 , 270 , 0)); //Spawning clip beside staircase outside of disco // spawncollision("collision_clip_32x32x32","collider",( -1616 , 130.5 , 216 ), ( 0 , 350 , 0 )); //Spawning clip beside staircase outside of disco //spawncollision("collision_clip_wall_64x64x10","collider",( 1071 , 734.5 , 181.5 ), ( 336 , 270 , 0 )); //Fix for missing clip over rocks by red veranda spawncollision("collision_clip_wall_256x256x10","collider",( -1021 , 332.5 , 583 ), ( 0 , 0 , 0)); spawncollision("collision_clip_wall_256x256x10","collider",( -1021 , 332.5 , 821 ), ( 0 , 0 , 0)); spawncollision("collision_clip_wall_256x256x10","collider",( -1021 , 332.5 , 1064 ), ( 0 , 0 , 0)); //Fix for missing clip over rocks by red veranda spawncollision("collision_clip_32x32x32","collider",( -712 , 2387.5 , 138 ), ( 0 , 0 , 0)); spawncollision("collision_clip_32x32x32","collider",( -712 , 2415.5 , 141.5 ), ( 0 , 0 , 0)); spawncollision("collision_clip_32x32x32","collider",( -733 , 2415.5 , 141.5 ), ( 0 , 0 , 0)); //Adding clip on the side of back temple near water to prevent proning into the hole spawncollision("collision_clip_wall_128x128x10","collider",( -808.5 , -2795 , 250.5 ), ( 0 , 270 , 0)); spawncollision("collision_clip_wall_128x128x10","collider",( -808.5 , -2795 , 319 ), ( 0 , 270 , 0)); // Stockpile hub points level.cleanDepositPoints = Array ( ( -776.619 , -125.086 , 305 ), ( -783.119 , -1153.59 , 250.68 ), ( 1113.38 , -123.586 , 282.18 ), ( -1258.62 , 640.914 , 257.18 ) ); level spawnKillTrigger(); } function precache() { // DO ALL PRECACHING HERE } function link_traversals( str_value, str_key, b_enable ) { a_nodes = GetNodeArray( str_value, str_key ); foreach ( node in a_nodes ) { if ( b_enable ) { LinkTraversal( node ); } else { UnlinkTraversal( node ); } } } function spawnKillTrigger() { trigger = spawn( "trigger_radius", ( 3.5 , 3155.5 , 155 ), 0, 80, 200 ); trigger thread watchKillTrigger(); } function watchKillTrigger() { level endon( "game_ended" ); trigger = self; while(1) { trigger waittill( "trigger", player ); player DoDamage(1000, trigger.origin + (0, 0, 0), trigger, trigger, "none", "MOD_SUICIDE", 0 ); } }