/******************************************************************* * Decompiled By: Bog * Decompiled File: maps\mp\mp_frostbite.gsc * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 * Decompile Time: 13 ms * Timestamp: 10/28/2023 12:11:09 AM *******************************************************************/ #include maps/mp/_compass; #include maps/mp/_load; #include maps/mp/_utility; #include maps/mp/mp_frostbite_amb; #include maps/mp/mp_frostbite_fx; //Function Number: 1 main() { level.levelspawndvars = ::levelspawndvars; level thread spawnkilltrigger(); maps/mp/mp_frostbite_fx::main(); precachemodel("dh_facilities_sign_08"); precachemodel("p6_fro_concrete_planter"); precachemodel("p6_fro_bookstore_window_trm"); precachemodel("collision_clip_256x256x10"); precachemodel("collision_clip_64x64x10"); precachemodel("collision_physics_256x256x10"); precachemodel("collision_clip_32x32x32"); precachemodel("collision_clip_128x128x10"); precachemodel("collision_clip_wall_32x32x10"); precachemodel("collision_clip_wall_64x64x10"); precachemodel("collision_mp_frost_kitchen_weap"); maps/mp/_load::main(); maps/mp/mp_frostbite_amb::main(); maps/mp/_compass::setupminimap("compass_map_mp_frostbite"); prop1 = spawn("script_model",(-972,559,182)); prop1.angles = VectorScale((0,1,0)); prop2 = spawn("script_model",(-973,521,182)); prop2.angles = VectorScale((0,1,0)); prop3 = spawn("script_model",(-972,485,182)); prop3.angles = VectorScale((0,1,0)); prop4 = spawn("script_model",(-966,558,182)); prop4.angles = VectorScale((0,1,0)); prop5 = spawn("script_model",(-965,522,182)); prop5.angles = VectorScale((0,1,0)); prop6 = spawn("script_model",(-966,484,182)); prop6.angles = VectorScale((0,1,0)); prop1 setmodel("dh_facilities_sign_08"); prop2 setmodel("dh_facilities_sign_08"); prop3 setmodel("dh_facilities_sign_08"); prop4 setmodel("dh_facilities_sign_08"); prop5 setmodel("dh_facilities_sign_08"); prop6 setmodel("dh_facilities_sign_08"); planter1 = spawn("script_model",(-1609,-827.405,131.751)); planter1.angles = (359.846,90.58,89.9993); planter2 = spawn("script_model",(-1609,-827.41,81.75)); planter2.angles = (359.846,90.58,89.9993); planter1 setmodel("p6_fro_concrete_planter"); planter2 setmodel("p6_fro_concrete_planter"); brick1 = spawn("script_model",(1129,703,95.75)); brick1.angles = (90,180,-90); brick2 = spawn("script_model",(1127.75,712,95.75)); brick2.angles = (90,180,-90); brick3 = spawn("script_model",(1129,703,47.75)); brick3.angles = (90,180,-90); brick4 = spawn("script_model",(1127.75,712,47.75)); brick4.angles = (90,180,-90); brick5 = spawn("script_model",(1129,694,95.75)); brick5.angles = (90,180,-90); brick6 = spawn("script_model",(1129,694,47.75)); brick6.angles = (90,180,-90); brick7 = spawn("script_model",(1129,685,95.75)); brick7.angles = (90,180,-90); brick8 = spawn("script_model",(1129,685,47.75)); brick8.angles = (90,180,-90); brick1 setmodel("p6_fro_bookstore_window_trm"); brick2 setmodel("p6_fro_bookstore_window_trm"); brick3 setmodel("p6_fro_bookstore_window_trm"); brick4 setmodel("p6_fro_bookstore_window_trm"); brick5 setmodel("p6_fro_bookstore_window_trm"); brick6 setmodel("p6_fro_bookstore_window_trm"); brick7 setmodel("p6_fro_bookstore_window_trm"); brick8 setmodel("p6_fro_bookstore_window_trm"); spawncollision("collision_clip_256x256x10","collider",(145,-1295.5,115.5),VectorScale((0,0,-1))); spawncollision("collision_clip_256x256x10","collider",(28,-1295.5,115.5),VectorScale((0,0,-1))); spawncollision("collision_clip_256x256x10","collider",(252.5,-1251.5,114),(0,45.1,-88.9)); spawncollision("collision_clip_64x64x10","collider",(448,1577,-10.5),VectorScale((1,0,0))); spawncollision("collision_physics_256x256x10","collider",(1199,89,67.5),VectorScale((0,0,-1))); spawncollision("collision_clip_32x32x32","collider",(84.5,361.75,66.5),(359.904,8.05247,11.9159)); spawncollision("collision_clip_32x32x32","collider",(80,390,69.5),VectorScale((0,1,0))); spawncollision("collision_clip_32x32x32","collider",(75.5,418,66.75),(1.00357,9.19998,-11)); spawncollision("collision_clip_128x128x10","collider",(244.75,-860,-45),VectorScale((0,1,0))); spawncollision("collision_clip_wall_32x32x10","collider",(958.5,716.5,130),VectorScale((0,0,1))); spawncollision("collision_clip_wall_64x64x10","collider",(-1126,-909,44.5),VectorScale((0,1,0))); spawncollision("collision_clip_wall_64x64x10","collider",(-1130,-789.5,44.5),VectorScale((0,1,0))); spawncollision("collision_clip_wall_64x64x10","collider",(-1130,-789.5,107),VectorScale((0,1,0))); spawncollision("collision_clip_wall_64x64x10","collider",(-1126,-909,106),VectorScale((0,1,0))); spawncollision("collision_clip_wall_64x64x10","collider",(-1130,-789.5,164.5),VectorScale((0,1,0))); spawncollision("collision_mp_frost_kitchen_weap","collider",(1994,-281.5,16),(0,0,0)); setdvar("compassmaxrange","2100"); visionsetnaked("mp_frostbite",1); game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_MAPNAME_A"; game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_MAPNAME_B"; game["strings"]["war_callsign_c"] = &"MPUI_CALLSIGN_MAPNAME_C"; game["strings"]["war_callsign_d"] = &"MPUI_CALLSIGN_MAPNAME_D"; game["strings"]["war_callsign_e"] = &"MPUI_CALLSIGN_MAPNAME_E"; game["strings_menu"]["war_callsign_a"] = "@MPUI_CALLSIGN_MAPNAME_A"; game["strings_menu"]["war_callsign_b"] = "@MPUI_CALLSIGN_MAPNAME_B"; game["strings_menu"]["war_callsign_c"] = "@MPUI_CALLSIGN_MAPNAME_C"; game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_MAPNAME_D"; game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_MAPNAME_E"; level.onplayerkilledextraunthreadedcbs[level.onplayerkilledextraunthreadedcbs.size] = ::on_player_killed; level.overrideplayerdeathwatchtimer = ::leveloverridetime; level glass_node_fix(); } //Function Number: 2 levelspawndvars(reset_dvars) { ss = level.spawnsystem; ss.enemy_influencer_radius = set_dvar_float_if_unset("scr_spawn_enemy_influencer_radius","2250",reset_dvars); ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset("scr_spawn_hq_objective_influencer_inner_radius","1000",reset_dvars); } //Function Number: 3 on_player_killed(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shitloc,psoffsettime,deathanimduration) { if(IsDefined(smeansofdeath) && smeansofdeath == "MOD_TRIGGER_HURT") { depth = self depthinwater(); if(depth > 0) { origin = self.origin + (0,0,depth + 5); self playsound("mpl_splash_death"); playfx(level._effect["water_splash"],origin); } } } //Function Number: 4 leveloverridetime(defaulttime) { if(self.body depthinwater() > 0) { return 0.4; } } //Function Number: 5 glass_node_fix() { nodes = getallnodes(); level thread glass_node_think(nodes[459]); level thread glass_node_think(nodes[454]); } //Function Number: 6 glass_node_think(node) { wait(0.25); ent = spawn("script_model",node.origin,1); ent setmodel(level.deployedshieldmodel); ent hide(); ent disconnectpaths(); ent.origin = 64 - VectorScale((0,0,1)); for(;;) { level waittill(ent.origin,"glass_smash",origin); if(distancesquared(origin,node.origin) < 65536) { ent delete(); return; } } } //Function Number: 7 spawnkilltrigger() { trigger = spawn("trigger_radius",(536,-1304,-104),0,256,128); while(1) { trigger waittill("trigger",player); player dodamage(player.health * 2,trigger.origin,trigger,trigger,"none","MOD_SUICIDE",0,"lava_mp"); } }