diff --git a/README.txt b/README.txt index e1dfeb8b2..27d96f9a2 100644 --- a/README.txt +++ b/README.txt @@ -1,33 +1,63 @@ -+++ MOD TOOLS PATCH 1.1 +++ ++++ MOD TOOLS 1.2 (incremental) +++ Installation: -- Unzip the .rar file to a new folder. (if you are reading this, then you have possibly already done this. Congrats!) +- Unzip the .zip file to a new folder. -- You will see three folders, "map_source", "raw", and "zone source". +- You will see six folders; "bin", "deffiles", "map_source", "mods", "raw", and "zone source", along with two executibles; "mp_tool.exe" and "sp_tool.exe". -- Highlight all three folders and copy them into your "Call of Duty - World at War" root game directory. +- Highlight all folders and both executibles and copy them into your "Call of Duty - World at War" root game directory. -- You will be asked if it is okay to overwrite folders and files. Click "Yes to All" for this operation. +- You will be asked if it is okay to overwrite folders and files. Click "Yes to All" for this operation and any subseuqent ones. + + +You have now sucessfully installed Mod Tools 1.2. Have fun, and please report any problems to the forums! -You have now sucessfully installed the mod tools package. Have fun, and please report any problems to the forums! +**SPECIAL NOTEs** + +- This Mod Tools update requires CoD:WaW patch 1.4. + +- We recommend that you covert and recompile all mods and custom maps to ensure compatibility with CoD:WaW patch 1.4. + +- Patch 1.4 recognizes IWD's in the /usermaps folder. In the case of duplicate files in both /usermaps and /mods folders, the files in /usermaps will take priority. + +- This 1.2 update also includes the files from the "CoDWaW - Mod Tools Package 1.1" download that was released in January. -------------------------------- -Added Files: +Issues Fixed: -mp_castle.map and all .map prefabs associated with it. -code_post_gfx_mp, flamethrower, vehicle, and water CSV files. -ambient, attack, and sprint Zombie sound effects. -destructibledef and destructiblepiece files +- Custom models no longer crash the lighting process in Launcher.exe when compiling a map that contains a custom model. +- Converter's "ERROR: dll version number does not match converter version" error has been resolved. +- Launching "mp_usermaps" in the /mods directory no longer causes clients to be kicked when joining the host's game. --------------------------------- \ No newline at end of file + +-------------------------------- + +Added and Updated Files: + +- mp_castle.map and all .map prefabs associated with it. +- code_post_gfx_mp, flamethrower, mp_vehicle_fx, nazi_zombie_asylum, vehicles_drivable_mp, water, and zombiemode CSV files. +- ambient, attack, behind, crawl, death, elec, laugh, n/sprint, sprint, and taunt Zombie sound effects. +- destructibledef and destructiblepiece files. +- Updated dlls in the /deffiles folder. +- Updated new scripts. +- DLC xmodel, xmodelparts, and xmodelsurfs files. +- DLC xanim files. +- DLC materials and material_properties files. +- DLC weapons, vision, ui_mp, maps, collmaps, and animtrees files. +- mp_tool.exe and sp_tool.exe. +- asset_manager, AssetViewer, cod2map, cod2rad, CoDWaWRadiant, converter, EffectsEd3, Launcher, linker_pc, MODSound, and ShaderCompiler executibles. + +-------------------------------- + +http://wiki.treyarch.com diff --git a/bin/AssetViewer.exe b/bin/AssetViewer.exe index 48d26916e..ea71a7d71 100644 Binary files a/bin/AssetViewer.exe and b/bin/AssetViewer.exe differ diff --git a/bin/CoDWaWRadiant.exe b/bin/CoDWaWRadiant.exe index 12aa8ad27..96d861959 100644 Binary files a/bin/CoDWaWRadiant.exe and b/bin/CoDWaWRadiant.exe differ diff --git a/bin/EffectsEd3.exe b/bin/EffectsEd3.exe index f5c81a547..dbfd94262 100644 Binary files a/bin/EffectsEd3.exe and b/bin/EffectsEd3.exe differ diff --git a/bin/Launcher.exe b/bin/Launcher.exe index 1da5485b4..bb7b55ac6 100644 Binary files a/bin/Launcher.exe and b/bin/Launcher.exe differ diff --git a/bin/MODSound.exe b/bin/MODSound.exe index 231946e25..b3a73696d 100644 Binary files a/bin/MODSound.exe and b/bin/MODSound.exe differ diff --git a/bin/ShaderCompiler.exe b/bin/ShaderCompiler.exe index 6f34d10fc..f50258721 100644 Binary files a/bin/ShaderCompiler.exe and b/bin/ShaderCompiler.exe differ diff --git a/bin/asset_manager.exe b/bin/asset_manager.exe index dd9e9aa3f..f5cda11f0 100644 Binary files a/bin/asset_manager.exe and b/bin/asset_manager.exe differ diff --git a/bin/cod2map.exe b/bin/cod2map.exe index b407c9226..86690290e 100644 Binary files a/bin/cod2map.exe and b/bin/cod2map.exe differ diff --git a/bin/cod2rad.exe b/bin/cod2rad.exe index 75bd72880..a02d4a315 100644 Binary files a/bin/cod2rad.exe and b/bin/cod2rad.exe differ diff --git a/bin/converter.exe b/bin/converter.exe index 88b28ee34..54eb24e36 100644 Binary files a/bin/converter.exe and b/bin/converter.exe differ diff --git a/bin/linker_pc.exe b/bin/linker_pc.exe index 7c52afbd3..7da35afee 100644 Binary files a/bin/linker_pc.exe and b/bin/linker_pc.exe differ diff --git a/deffiles/aitype.dll b/deffiles/aitype.dll index 8faad1002..fb13b5551 100644 Binary files a/deffiles/aitype.dll and b/deffiles/aitype.dll differ diff --git a/deffiles/character.dll b/deffiles/character.dll index e1e3e6cd5..bfa346bbf 100644 Binary files a/deffiles/character.dll and b/deffiles/character.dll differ diff --git a/deffiles/configstringconvert.dll b/deffiles/configstringconvert.dll index e839ef9e0..d4f9c25fc 100644 Binary files a/deffiles/configstringconvert.dll and b/deffiles/configstringconvert.dll differ diff --git a/deffiles/defaultconvert.dll b/deffiles/defaultconvert.dll index 86178d1bd..776bfdc49 100644 Binary files a/deffiles/defaultconvert.dll and b/deffiles/defaultconvert.dll differ diff --git a/deffiles/level.dll b/deffiles/level.dll index a9f2f5c6b..e6ebe9808 100644 Binary files a/deffiles/level.dll and b/deffiles/level.dll differ diff --git a/deffiles/light.dll b/deffiles/light.dll index 9b3bfb6ff..6f2b13482 100644 Binary files a/deffiles/light.dll and b/deffiles/light.dll differ diff --git a/deffiles/material.dll b/deffiles/material.dll index cf1b66475..21b13e6f9 100644 Binary files a/deffiles/material.dll and b/deffiles/material.dll differ diff --git a/deffiles/material_properties.dll b/deffiles/material_properties.dll index 540c6104d..cf2cba317 100644 Binary files a/deffiles/material_properties.dll and b/deffiles/material_properties.dll differ diff --git a/deffiles/mptype.dll b/deffiles/mptype.dll index c24ec542d..b59708c73 100644 Binary files a/deffiles/mptype.dll and b/deffiles/mptype.dll differ diff --git a/deffiles/textfactory.dll b/deffiles/textfactory.dll index 57140860f..081546557 100644 Binary files a/deffiles/textfactory.dll and b/deffiles/textfactory.dll differ diff --git a/deffiles/weapon.dll b/deffiles/weapon.dll index 173255c2f..415d4e279 100644 Binary files a/deffiles/weapon.dll and b/deffiles/weapon.dll differ diff --git a/deffiles/xanim.dll b/deffiles/xanim.dll index 470222ed3..c690f2fce 100644 Binary files a/deffiles/xanim.dll and b/deffiles/xanim.dll differ diff --git a/deffiles/xmodel.dll b/deffiles/xmodel.dll index 998e28976..13d43ed86 100644 Binary files a/deffiles/xmodel.dll and b/deffiles/xmodel.dll differ diff --git a/deffiles/xmodel.gdf b/deffiles/xmodel.gdf index a873ee1d1..4553a1c22 100644 --- a/deffiles/xmodel.gdf +++ b/deffiles/xmodel.gdf @@ -8,7 +8,7 @@ #target_dir "xmodelsurfs/" #target_dir "xmodelpieces/" #file_ext "*;*.dds;*.tga;*.jpg" -#version 36 +#version 38 enum { "rigid", "animated", "multiplayer body", "viewhands", "pieces" } type string filename diff --git a/deffiles/xmodelalias.dll b/deffiles/xmodelalias.dll index baebf989c..1c9491d3a 100644 Binary files a/deffiles/xmodelalias.dll and b/deffiles/xmodelalias.dll differ diff --git a/map_source/_prefabs/traverse/wall_hop_zombie.map b/map_source/_prefabs/traverse/wall_hop_zombie.map new file mode 100644 index 000000000..82e03b73f --- /dev/null +++ b/map_source/_prefabs/traverse/wall_hop_zombie.map @@ -0,0 +1,38 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( -6 -38 0 ) ( 6 -38 0 ) ( 6 36 0 ) traverse 64 64 -12 28 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 6 -38 40 ) ( -6 -38 40 ) ( -6 36 40 ) traverse 64 64 -12 28 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 6 -36 0 ) ( -6 -36 0 ) ( -6 -36 40 ) traverse 64 64 -12 56 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 6 36 0 ) ( 6 -38 0 ) ( 6 -38 40 ) traverse 64 64 -28 56 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -6 36 0 ) ( 6 36 0 ) ( 6 36 40 ) traverse 64 64 -12 56 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -6 -38 0 ) ( -6 36 0 ) ( -6 36 40 ) traverse 64 64 -28 56 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 1 +{ +"origin" "30.0 0.0 40.0" +"targetname" "auto2108" +"angles" "0 0 0" +"classname" "node_negotiation_end" +} +// entity 2 +{ +"targetname" "traverse" +"classname" "node_negotiation_begin" +"angles" "0 0 0" +"animscript" "wall_hop_zombie" +"origin" "-40.0 0.0 40.0" +"target" "auto2108" +} +// entity 3 +{ +"targetname" "auto2108" +"origin" "0.0 0.0 40.0" +"classname" "script_struct" +} diff --git a/map_source/_prefabs/zombiemode/asylum_cabinets_hang.map b/map_source/_prefabs/zombiemode/asylum_cabinets_hang.map new file mode 100644 index 000000000..722192d9f --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_cabinets_hang.map @@ -0,0 +1,387 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "0.294118 0.286275 0.392157" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +// brush 0 +{ + contents nonColliding; + ( -11 7 1 ) ( -11 6 1 ) ( -10 6 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16387.781 16393.184 -1312.3079 181.05775 180 -0.00080262596 + ( -11 6 34 ) ( -11 7 34 ) ( -10 7 33 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16379.987 16390.824 -1311.6848 181.06599 180 -0.0012037656 + ( 5 7 36 ) ( -15 7 36 ) ( -15 7 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16385.066 -16384 -1312.0886 -30 180 0 + ( -11 7 34 ) ( -11 6 34 ) ( -11 6 5 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16385.5 -16384 -181.01596 -29.997505 180 0 + ( -15 6 36 ) ( 5 6 36 ) ( 5 6 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16382.301 -16384 -1311.8639 -30 180 0 + ( -10 6 35 ) ( -10 7 35 ) ( -10 7 1 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16383.893 -16384 -180.99809 -29.991901 -180 0 +} +// brush 1 +{ + contents nonColliding; + ( -11 7 1 ) ( -11 6 1 ) ( 13 6 1 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16384 16382.035 -1321.0138 180.97925 -180 -0.0015866389 + ( 14 7 2 ) ( 14 6 2 ) ( -6 6 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16384.287 16384.125 -1321.0421 181.00179 180 -0.0024210799 + ( 14 7 4 ) ( -6 7 4 ) ( -6 7 -30 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16385.43 -16384 -1321.118 -62 180 0 + ( -11 6 1 ) ( -11 7 1 ) ( -10 7 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16386.199 16384.459 -1329.1626 186 -180 0.00073473097 + ( -6 6 4 ) ( 14 6 4 ) ( 14 6 -30 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16382.334 -16384 -1320.8662 -62 180 0 + ( 13 7 1 ) ( 13 6 1 ) ( 12 6 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16381.873 16385.822 -1328.8085 185.99556 180 -0.00012208389 +} +// brush 2 +{ + contents nonColliding; + ( 13 6 1 ) ( 13 7 1 ) ( 12 7 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16379.599 16387.125 -1319.6655 181.02837 180 -0.0025255578 + ( 13 7 34 ) ( 13 6 34 ) ( 12 6 33 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16382.07 16383.465 -1319.848 180.99377 -180 0.00040186051 + ( 13 7 36 ) ( -7 7 36 ) ( -7 7 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16385.514 -16384 -1320.1238 -30 180 0 + ( 12 7 36 ) ( 12 6 36 ) ( 12 6 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16385.5 -16384 -181.01596 -29.973024 180 0 + ( -7 6 36 ) ( 13 6 36 ) ( 13 6 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16382.309 -16384 -1319.8641 -30 180 0 + ( 13 7 5 ) ( 13 6 5 ) ( 13 6 34 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16385.072 -16384 -181.01205 -30 180 0 +} +// brush 3 +{ + contents nonColliding; + ( -2 7 33 ) ( -2 6 33 ) ( 12 6 33 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16384.027 16382.035 -1320.0345 180.97925 -180 -0.00381846 + ( 13 7 34 ) ( 13 6 34 ) ( -7 6 34 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16384.398 16384.209 -1320.0446 180.99841 -180 -0.0011595926 + ( 13 7 36 ) ( -7 7 36 ) ( -7 7 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16385.514 -16384 -1320.1238 -30 180 0 + ( -10 6 33 ) ( -10 7 33 ) ( -11 7 34 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16384.066 16384.107 -1327.9904 185.99831 180 0.00092425273 + ( -7 6 36 ) ( 13 6 36 ) ( 13 6 2 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16382.309 -16384 -1319.8641 -30 180 0 + ( 12 7 33 ) ( 12 6 33 ) ( 13 6 34 ) berlin_ceilings_metal 48 48 -21 18 90 0 lightmap_gray 16384.055 16385 -1327.9896 185.98695 -180 -1.677203e-005 +} +// brush 4 +{ + contents nonColliding; + ( 30 6 4 ) ( 30 7 4 ) ( 29 7 5 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16383.883 16386.209 -1337 181.01884 180 -0.00067147729 + ( 30 7 33 ) ( 30 6 33 ) ( 29 6 32 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16378.129 16383.572 -1336.537 180.99506 -180 -0.00045298744 + ( 30 7 35 ) ( 10 7 35 ) ( 10 7 1 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16385.4 -16384 -1337.1136 -31 180 0 + ( 29 7 35 ) ( 29 6 35 ) ( 29 6 1 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16385.5 -16384 -181.01596 -30.977127 180 0 + ( 10 6 35 ) ( 30 6 35 ) ( 30 6 1 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16382.268 -16384 -1336.8611 -31 180 0 + ( 30 7 4 ) ( 30 6 4 ) ( 30 6 33 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16385.037 -16384 -181.01169 -31 180 0 +} +// brush 5 +{ + contents nonColliding; + ( 15 7 32 ) ( 15 6 32 ) ( 29 6 32 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16384 16382.035 -1337.0145 180.97925 -180 -0.0016563517 + ( 30 7 33 ) ( 30 6 33 ) ( 10 6 33 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16384.201 16384.375 -1337.022 181 180 -0.0011596945 + ( 30 7 35 ) ( 10 7 35 ) ( 10 7 1 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16385.4 -16384 -1337.1136 -31 180 0 + ( 15 6 32 ) ( 15 7 32 ) ( 14 7 33 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16384 16383.607 -1344.9844 185.99306 -180 0.0014996851 + ( 10 6 35 ) ( 30 6 35 ) ( 30 6 1 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16382.268 -16384 -1336.8611 -31 180 0 + ( 29 7 32 ) ( 29 6 32 ) ( 30 6 33 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16384.18 16386.75 -1344.9954 186.00734 -180 -0.00040047063 +} +// brush 6 +{ + contents nonColliding; + ( 14 7 4 ) ( 14 6 4 ) ( 15 6 5 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16387.998 16391.324 -1337.3243 181.0446 180 -0.00036637465 + ( 14 6 33 ) ( 14 7 33 ) ( 15 7 32 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16386.064 16387.322 -1337.1786 181.02849 180 -0.0019887479 + ( 30 7 35 ) ( 10 7 35 ) ( 10 7 1 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16385.4 -16384 -1337.1136 -31 180 0 + ( 14 7 33 ) ( 14 6 33 ) ( 14 6 4 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16385.5 -16384 -181.01596 -31 180 0 + ( 10 6 35 ) ( 30 6 35 ) ( 30 6 1 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16382.268 -16384 -1336.8611 -31 180 0 + ( 15 6 34 ) ( 15 7 34 ) ( 15 7 0 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16384.037 -16384 -181 -30.985531 180 0 +} +// brush 7 +{ + contents nonColliding; + ( 11 6 5 ) ( 31 6 5 ) ( 31 7 5 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16384.1 16382 -1337.0244 180.97949 180 -0.0047398186 + ( 30 7 32 ) ( 30 6 32 ) ( 10 6 32 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16384.201 16384.375 -1337.022 181 180 -0.0011596945 + ( 30 6.5 35 ) ( 10 6.5 35 ) ( 10 6.5 1 ) okinawa_wood_shuri_int_furni 48 -48 -45 -89.4142 0 0 lightmap_gray 16385.4 -16384 -1337.1136 -31 180 0 + ( 15 7 35 ) ( 15 6 35 ) ( 15 6 1 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16385.5 -16384 -181.01596 -30.977127 180 0 + ( 10 6 35 ) ( 30 6 35 ) ( 30 6 1 ) caulk 64 64 0 0 0 0 lightmap_gray 16382.268 -16384 -1336.8611 -31 180 0 + ( 29 6 35 ) ( 29 7 35 ) ( 29 7 1 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16384.287 -16384 -181.00127 -30.982237 180 0 +} +// brush 8 +{ + contents nonColliding; + ( 16.5 7 19.5 ) ( 16.5 6 19.5 ) ( 17.5 6 19.5 ) berlin_ceilings_metal 48 48 -15 23 90 0 lightmap_gray 16376.008 16386.572 -1338.3146 181.03964 180 -0.0022499347 + ( 16.5 6 29 ) ( 16.5 7 29 ) ( 17.5 7 29 ) berlin_ceilings_metal 48 48 -15 23 90 0 lightmap_gray 16387.885 16383.607 -1339.2614 181.03531 180 0.00052314589 + ( 32 7 35.5 ) ( 12 7 35.5 ) ( 12 7 1.5 ) berlin_ceilings_metal 48 48 -15 23 90 0 lightmap_gray 16383.066 -16384 -1338.9255 -30.5 180 0 + ( 16.5 6 10.5 ) ( 16.5 7 10.5 ) ( 16.5 7 29 ) berlin_ceilings_metal 48 48 -15 23 90 0 lightmap_gray 16384.322 -16384 -181 -30.5 180 0 + ( 12 6 35.5 ) ( 32 6 35.5 ) ( 32 6 1.5 ) berlin_ceilings_metal 48 48 -15 23 90 0 lightmap_gray 16385.188 -16384 -1339.0951 -30.5 180 0 + ( 17.5 6 34.5 ) ( 17.5 7 34.5 ) ( 17.5 7 0.5 ) berlin_ceilings_metal 48 48 -15 23 90 0 lightmap_gray 16384.537 -16384 -181.00745 -30.517374 180 0 +} +// brush 9 +{ + contents nonColliding; + ( 10 6 4 ) ( 30 6 4 ) ( 30 7 4 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16384 16381.916 -1336.9808 180.97737 -180 0.0019325342 + ( 15 6 5 ) ( 15 7 5 ) ( 29 7 5 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16384 16384.75 -1336.9889 181.00114 180 0.00078477361 + ( 30 7 35 ) ( 10 7 35 ) ( 10 7 1 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16385.4 -16384 -1337.1136 -31 180 0 + ( 15 7 5 ) ( 15 6 5 ) ( 14 6 4 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16382.043 16382.035 -1344.8384 185.97879 -180 0.0011186076 + ( 10 6 35 ) ( 30 6 35 ) ( 30 6 1 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16382.268 -16384 -1336.8611 -31 180 0 + ( 29 6 5 ) ( 29 7 5 ) ( 30 7 4 ) berlin_ceilings_metal 48 48 -7 -6 90 0 lightmap_gray 16384.051 16383.959 -1345.0139 185.99063 -180 -0.0075673005 +} +// brush 10 +{ + contents nonColliding; + ( 32 7 32 ) ( 32 6 32 ) ( 46 6 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384 16382.035 -1354.0077 180.97925 -180 -0.0011855811 + ( 47 7 33 ) ( 47 6 33 ) ( 27 6 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.301 16384.125 -1354.0265 181.00179 -180 -0.00056966575 + ( 47 7 35 ) ( 27 7 35 ) ( 27 7 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.889 -16384 -1354.0734 -31 180 0 + ( 32 6 32 ) ( 32 7 32 ) ( 31 7 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16381.977 16383.893 -1361.8262 185.99619 180 0.00090680207 + ( 27 6 35 ) ( 47 6 35 ) ( 47 6 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.361 -16384 -1353.9478 -31 -180 0 + ( 46 7 32 ) ( 46 6 32 ) ( 47 6 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.955 16386.43 -1361.9799 186.00392 -180 0.00010498966 +} +// brush 11 +{ + contents nonColliding; + ( 47 6 4 ) ( 47 7 4 ) ( 46 7 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16388.01 16386.875 -1354.3284 181.02602 180 -0.00054941286 + ( 47 7 33 ) ( 47 6 33 ) ( 46 6 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16380.144 16383.535 -1353.6978 180.99464 -180 -0.00031348152 + ( 47 7 35 ) ( 27 7 35 ) ( 27 7 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.889 -16384 -1354.0734 -31 180 0 + ( 46 7 35 ) ( 46 6 35 ) ( 46 6 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.5 -16384 -181.01596 -30.997635 180 0 + ( 27 6 35 ) ( 47 6 35 ) ( 47 6 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.361 -16384 -1353.9478 -31 -180 0 + ( 47 7 4 ) ( 47 6 4 ) ( 47 6 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.037 -16384 -181.01169 -31 180 0 +} +// brush 12 +{ + contents nonColliding; + ( 33.5 7 19.5 ) ( 33.5 6 19.5 ) ( 34.5 6 19.5 ) berlin_ceilings_metal 48 48 -25 -31 90 0 lightmap_gray 16380.085 16386.572 -1355.6326 181.03867 -180 -0.00045314533 + ( 33.5 6 29 ) ( 33.5 7 29 ) ( 34.5 7 29 ) berlin_ceilings_metal 48 48 -25 -31 90 0 lightmap_gray 16384.02 16384.25 -1355.9647 181.04187 -180 0.00041853319 + ( 49 7 35.5 ) ( 29 7 35.5 ) ( 29 7 1.5 ) berlin_ceilings_metal 48 48 -25 -31 90 0 lightmap_gray 16385.021 -16384 -1356.0829 -30.5 180 0 + ( 33.5 6 10.5 ) ( 33.5 7 10.5 ) ( 33.5 7 29 ) berlin_ceilings_metal 48 48 -25 -31 90 0 lightmap_gray 16384.322 -16384 -181 -30.5 180 0 + ( 29 6 35.5 ) ( 49 6 35.5 ) ( 49 6 1.5 ) berlin_ceilings_metal 48 48 -25 -31 90 0 lightmap_gray 16384.205 -16384 -1356.0133 -30.5 180 0 + ( 34.5 6 34.5 ) ( 34.5 7 34.5 ) ( 34.5 7 0.5 ) berlin_ceilings_metal 48 48 -25 -31 90 0 lightmap_gray 16384.537 -16384 -181.00745 -30.517374 180 0 +} +// brush 13 +{ + contents nonColliding; + ( 31 7 4 ) ( 31 6 4 ) ( 32 6 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16390.066 16392.076 -1354.5 181.05254 -180 -0.00074901554 + ( 31 6 33 ) ( 31 7 33 ) ( 32 7 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384 16386.93 -1354.0103 181.02426 180 -0.0017790569 + ( 47 7 35 ) ( 27 7 35 ) ( 27 7 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.889 -16384 -1354.0734 -31 180 0 + ( 31 7 33 ) ( 31 6 33 ) ( 31 6 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.5 -16384 -181.01596 -31 180 0 + ( 27 6 35 ) ( 47 6 35 ) ( 47 6 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.361 -16384 -1353.9478 -31 -180 0 + ( 32 6 34 ) ( 32 7 34 ) ( 32 7 0 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.037 -16384 -181 -30.985531 180 0 +} +// brush 14 +{ + contents nonColliding; + ( 27 6 4 ) ( 47 6 4 ) ( 47 7 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.4 16381.916 -1354.0051 180.97737 180 0.0037430134 + ( 32 6 5 ) ( 32 7 5 ) ( 46 7 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384 16384.322 -1353.9855 181.00175 180 0.0010812153 + ( 47 7 35 ) ( 27 7 35 ) ( 27 7 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.889 -16384 -1354.0734 -31 180 0 + ( 32 7 5 ) ( 32 6 5 ) ( 31 6 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16379.942 16382.107 -1361.661 185.97945 180 0.0015692941 + ( 27 6 35 ) ( 47 6 35 ) ( 47 6 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.361 -16384 -1353.9478 -31 -180 0 + ( 46 6 5 ) ( 46 7 5 ) ( 47 7 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.961 16384.459 -1362.1747 185.99629 -180 -0.0050446736 +} +// brush 15 +{ + contents nonColliding; + ( -32 6 5 ) ( -12 6 5 ) ( -12 7 5 ) okinawa_wood_shuri_int_furni 128 128 8 -64 0 0 lightmap_gray 16384 16381.965 -1294.0065 180.97913 180 -0.0033653227 + ( -13 7 32 ) ( -13 6 32 ) ( -33 6 32 ) okinawa_wood_shuri_int_furni 128 128 8 -64 0 0 lightmap_gray 16384.213 16384.43 -1294.0225 181.00294 180 -0.0010114663 + ( -13 6.5 35 ) ( -33 6.5 35 ) ( -33 6.5 1 ) okinawa_wood_shuri_int_furni 48 -48 -2 -98.414001 0 0 lightmap_gray 16384.971 -16384 -1294.0776 -31 180 0 + ( -28 7 35 ) ( -28 6 35 ) ( -28 6 1 ) okinawa_wood_shuri_int_furni 128 128 8 -64 0 0 lightmap_gray 16385.5 -16384 -181.01596 -30.997635 180 0 + ( -33 6 35 ) ( -13 6 35 ) ( -13 6 1 ) caulk 64 64 0 0 0 0 lightmap_gray 16382.977 -16384 -1293.9185 -31 180 0 + ( -14 6 35 ) ( -14 7 35 ) ( -14 7 1 ) okinawa_wood_shuri_int_furni 128 128 8 -64 0 0 lightmap_gray 16384.287 -16384 -181.00127 -30.982237 180 0 +} +// brush 16 +{ + contents nonColliding; + ( -28 7 32 ) ( -28 6 32 ) ( -14 6 32 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384 16382.084 -1294.0082 180.97978 180 -0.00071199361 + ( -13 7 33 ) ( -13 6 33 ) ( -33 6 33 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384.213 16384.43 -1294.0225 181.00294 180 -0.0010114663 + ( -13 7 35 ) ( -33 7 35 ) ( -33 7 1 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384.971 -16384 -1294.0776 -31 180 0 + ( -28 6 32 ) ( -28 7 32 ) ( -29 7 33 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384 16383.857 -1301.998 185.99568 180 0.0010288694 + ( -33 6 35 ) ( -13 6 35 ) ( -13 6 1 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16382.977 -16384 -1293.9185 -31 180 0 + ( -14 7 32 ) ( -14 6 32 ) ( -13 6 33 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384 16386.537 -1301.9818 186.00494 -180 0.00024486333 +} +// brush 17 +{ + contents nonColliding; + ( -13 6 4 ) ( -13 7 4 ) ( -14 7 5 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16386.133 16387.668 -1294.1771 181.03442 180 -0.00016279686 + ( -13 7 33 ) ( -13 6 33 ) ( -14 6 32 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16381.998 16383.393 -1293.8414 180.99318 180 0.00034795018 + ( -13 7 35 ) ( -33 7 35 ) ( -33 7 1 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384.971 -16384 -1294.0776 -31 180 0 + ( -14 7 35 ) ( -14 6 35 ) ( -14 6 1 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16385.5 -16384 -181.01596 -30.997635 180 0 + ( -33 6 35 ) ( -13 6 35 ) ( -13 6 1 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16382.977 -16384 -1293.9185 -31 180 0 + ( -13 7 4 ) ( -13 6 4 ) ( -13 6 33 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16385.037 -16384 -181.01169 -31 180 0 +} +// brush 18 +{ + contents nonColliding; + ( -26.5 7 19.5 ) ( -26.5 6 19.5 ) ( -25.5 6 19.5 ) berlin_ceilings_metal 48 48 -7 38 90 0 lightmap_gray 16381.986 16386.143 -1295.7963 181.03436 180 -0.0014824764 + ( -26.5 6 29 ) ( -26.5 7 29 ) ( -25.5 7 29 ) berlin_ceilings_metal 48 48 -7 38 90 0 lightmap_gray 16382.014 16383.25 -1295.7964 181.03146 180 0.00040106982 + ( -11 7 35.5 ) ( -31 7 35.5 ) ( -31 7 1.5 ) berlin_ceilings_metal 48 48 -7 38 90 0 lightmap_gray 16384.904 -16384 -1296.0715 -30.5 180 0 + ( -26.5 6 10.5 ) ( -26.5 7 10.5 ) ( -26.5 7 29 ) berlin_ceilings_metal 48 48 -7 38 90 0 lightmap_gray 16384.322 -16384 -181 -30.5 180 0 + ( -31 6 35.5 ) ( -11 6 35.5 ) ( -11 6 1.5 ) berlin_ceilings_metal 48 48 -7 38 90 0 lightmap_gray 16385.174 -16384 -1296.0911 -30.5 180 0 + ( -25.5 6 34.5 ) ( -25.5 7 34.5 ) ( -25.5 7 0.5 ) berlin_ceilings_metal 48 48 -7 38 90 0 lightmap_gray 16384.537 -16384 -181.00745 -30.517374 180 0 +} +// brush 19 +{ + contents nonColliding; + ( -29 7 4 ) ( -29 6 4 ) ( -28 6 5 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16381.951 16391.182 -1293.8411 181.0439 -180 -0.0012200234 + ( -29 6 33 ) ( -29 7 33 ) ( -28 7 32 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16380.007 16388.395 -1293.6777 181.04022 180 -0.00041863904 + ( -13 7 35 ) ( -33 7 35 ) ( -33 7 1 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384.971 -16384 -1294.0776 -31 180 0 + ( -29 7 33 ) ( -29 6 33 ) ( -29 6 4 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16385.5 -16384 -181.01596 -31 180 0 + ( -33 6 35 ) ( -13 6 35 ) ( -13 6 1 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16382.977 -16384 -1293.9185 -31 180 0 + ( -28 6 34 ) ( -28 7 34 ) ( -28 7 0 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384.037 -16384 -181 -30.985531 180 0 +} +// brush 20 +{ + contents nonColliding; + ( -33 6 4 ) ( -13 6 4 ) ( -13 7 4 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384.408 16382.107 -1294.0072 180.97942 180 0.0031559379 + ( -28 6 5 ) ( -28 7 5 ) ( -14 7 5 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384.016 16383.928 -1293.986 180.9957 -180 0.0012032592 + ( -13 7 35 ) ( -33 7 35 ) ( -33 7 1 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384.971 -16384 -1294.0776 -31 180 0 + ( -28 7 5 ) ( -28 6 5 ) ( -29 6 4 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16392.197 16382.285 -1302.6583 185.98146 180 0.0012380122 + ( -33 6 35 ) ( -13 6 35 ) ( -13 6 1 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16382.977 -16384 -1293.9185 -31 180 0 + ( -14 6 5 ) ( -14 7 5 ) ( -13 7 4 ) berlin_ceilings_metal 48 48 -7 1 90 0 lightmap_gray 16384.051 16383.791 -1302.0073 185.98857 180 -0.0018310314 +} +// brush 21 +{ + contents detail; + ( 67 -9 33 ) ( 101 -9 33 ) ( 101 25 33 ) okinawa_wood_shuri_int_furni 48 48 -5 70.914215 90 0 lightmap_gray 16383.945 16384 -1502.9935 1 180 0 + ( 106 23 35 ) ( 106 -11 35 ) ( 72 -11 35 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.914 16383.971 -1502.9927 1 180 0 + ( 103 6 -26 ) ( 69 6 -26 ) ( 69 6 -30 ) okinawa_wood_shuri_int_furni 48 -48 0 -57.414219 -90 0 lightmap_gray 16383.709 -16383.994 -1502.9768 -226 180 0 + ( -10 27 -69 ) ( -10 -7 -69 ) ( -10 -7 -73 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.967 -16384.121 -1 -226 180 0 + ( 71 -7 -72 ) ( 105 -7 -72 ) ( 105 -7 -76 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.172 -16383.871 -1503.0148 -226 180 0 + ( 12 -4 -47 ) ( 12 30 -47 ) ( 12 30 -51 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.049 -16383.818 -1 -226 180 0 +} +// brush 22 +{ + contents detail; + ( 67 -13 2 ) ( 101 -13 2 ) ( 101 21 2 ) caulk 64 64 -1409.0035 -303 0 0 lightmap_gray 16384.078 16384 -1503.0067 -1 180 0 + ( 106 21 35 ) ( 106 -13 35 ) ( 72 -13 35 ) caulk 64 64 -1409 -303 0 0 lightmap_gray 16384.049 16384 -1503.0031 -1 -180 0 + ( 103 -7 -26 ) ( 69 -7 -26 ) ( 69 -7 -30 ) okinawa_wood_shuri_int_furni 48 -48 0 -70.914215 -90 0 lightmap_gray 16383.709 -16383.994 -1502.9768 -226 180 0 + ( -10 25 -69 ) ( -10 -9 -69 ) ( -10 -9 -73 ) caulk 64 64 303 85 0 0 lightmap_gray 16383.967 -16383.963 1 -226 -180 0 + ( 71 -9 -72 ) ( 105 -9 -72 ) ( 105 -9 -76 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.172 -16383.871 -1503.0148 -226 180 0 + ( 12 -6 -47 ) ( 12 28 -47 ) ( 12 28 -51 ) caulk 64 64 303 85 0 0 lightmap_gray 16384.053 -16384.129 1 -226 -180 0 +} +// brush 23 +{ + contents nonColliding; + ( 69 -24 35 ) ( 103 -24 35 ) ( 103 10 35 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16383.879 16384 -1504.9904 -1 -180 0 + ( 107 21 37 ) ( 107 -13 37 ) ( 73 -13 37 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.893 16384 -1504.9913 -1 -180 0 + ( 105 7 -15 ) ( 71 7 -15 ) ( 71 7 -19 ) okinawa_wood_shuri_int_furni 48 -48 0 -48.8284 0 0 lightmap_gray 16384.363 -16384.063 -1505.0305 -215 -180 6.1874518e-005 + ( -53 27 -61 ) ( -53 -7 -61 ) ( -53 -7 -65 ) okinawa_wood_shuri_int_furni 48 -48 60 -48.82843 0 0 lightmap_gray 16384.029 -16384.076 1 -215 180 0 + ( 73 -9 -61 ) ( 107 -9 -61 ) ( 107 -9 -65 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 -16383.943 -1505 -215 180 0 + ( 53 -7 -30 ) ( 53 27 -30 ) ( 53 27 -34 ) okinawa_wood_shuri_int_furni 48 48 -60 48.82843 180 0 lightmap_gray 16384.027 -16383.865 1 -215 -180 0 +} +// brush 24 +{ + contents nonColliding; + ( 69 -13 37 ) ( 103 -13 37 ) ( 103 21 37 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.961 16384.049 -1504.9977 -1 180 0 + ( -5 19 39 ) ( 103 19 39 ) ( 103 -9 39 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16384 16384 -1505.0043 -1 -180 0 + ( 103 8 38 ) ( -5 8 38 ) ( -3 6 36 ) okinawa_wood_shuri_int_furni 48 -33.941124 0 -15.36396 0 0 lightmap_gray 16383.846 16383.16 -1504.9711 120.99819 180 0.00045815663 + ( -54 17 38 ) ( -54 -9 38 ) ( -52 -9 36 ) okinawa_wood_shuri_int_furni 35.777077 -45.53677 4.5712004 -41.1847 90 -0.28284264 lightmap_gray 16377.364 16383.982 -1504.3691 121 180 0 + ( 73 -9 -59 ) ( 107 -9 -59 ) ( 107 -9 -63 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.195 -16383.877 -1505.0188 -213 180 -5.9969781e-005 + ( 53 -9 37 ) ( 53 17 37 ) ( 51 17 35 ) okinawa_wood_shuri_int_furni 35.777077 -45.53677 3.4287996 -57.1847 90 0.28284264 lightmap_gray 16379.929 16384.039 -1504.6368 121.00628 180 0 +} +// brush 25 +{ + contents detail; + ( -33 -13 2 ) ( 1 -13 2 ) ( 1 21 2 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16384 16384 -1402.9979 -1 180 0 + ( 5 21 35 ) ( 5 -13 35 ) ( -29 -13 35 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.676 16383.975 -1402.9708 -1 180 0 + ( 3 6 -27 ) ( -31 6 -27 ) ( -31 6 -31 ) okinawa_wood_shuri_int_furni 48 -48 0 -57.414219 -90 0 lightmap_gray 16383.936 -16383.936 -1402.9967 -226 180 -9.4810224e-005 + ( -52 27 -72 ) ( -52 -7 -72 ) ( -52 -7 -76 ) okinawa_wood_shuri_int_furni 48 -48 0 -115.03554 -90 0 lightmap_gray 16384 -16384.123 1 -226 180 0 + ( -29 -9 -72 ) ( 5 -9 -72 ) ( 5 -9 -76 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.379 -16383.967 -1402.9625 -226 180 -0.00024097621 + ( -10 -8 -42 ) ( -10 26 -42 ) ( -10 26 -46 ) okinawa_wood_shuri_int_furni 48 48 0 87.914215 -90 0 lightmap_gray 16384 -16383.994 1 -226 180 0 + ( -53 4 35 ) ( -50 7 35 ) ( -53 4 67 ) okinawa_wood_shuri_int_furni 48 -33.941124 0 -82.806877 -90 0 lightmap_gray 16383.643 16384 302.9931 85 0 0 +} +// brush 26 +{ + contents detail; + ( 69 -13 2 ) ( 103 -13 2 ) ( 103 21 2 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16383.961 16384.049 -1504.9977 -1 180 0 + ( 107 21 35 ) ( 107 -13 35 ) ( 73 -13 35 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.893 16384 -1504.9913 -1 -180 0 + ( 105 6 -27 ) ( 71 6 -27 ) ( 71 6 -31 ) okinawa_wood_shuri_int_furni 48 -48 0 -57.414219 -90 0 lightmap_gray 16384.248 -16384 -1505.0197 -226 180 0 + ( 12 25 -73 ) ( 12 -9 -73 ) ( 12 -9 -77 ) okinawa_wood_shuri_int_furni 48 -48 0 -51.914215 -90 0 lightmap_gray 16383.969 -16383.992 1 -226 -180 0 + ( 73 -9 -72 ) ( 107 -9 -72 ) ( 107 -9 -76 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.16 -16384.873 -1505.0103 -226 -180 -2.751176e-005 + ( 52 -8 -40 ) ( 52 26 -40 ) ( 52 26 -44 ) okinawa_wood_shuri_int_furni 48 48 0 0 270 0 lightmap_gray 16384 -16384.066 1 -226 180 0 + ( 50 7 34 ) ( 53 4 34 ) ( 50 7 66 ) okinawa_wood_shuri_int_furni 48 33.941147 0 -1.46446 -90 0 lightmap_gray 16383.643 16384 302.99451 85 0 0 +} +// brush 27 +{ + contents nonColliding; + ( 28 6 5 ) ( 48 6 5 ) ( 48 7 5 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16384 16382 -1354.0074 180.97949 180 -0.0029700152 + ( 47 7 32 ) ( 47 6 32 ) ( 27 6 32 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16384.301 16384.125 -1354.0265 181.00179 -180 -0.00056966575 + ( 47 6.5 35 ) ( 27 6.5 35 ) ( 27 6.5 1 ) okinawa_wood_shuri_int_furni 48 -48 -117 -159.4142 0 0 lightmap_gray 16384.889 -16384 -1354.0734 -31 180 0 + ( 32 7 35 ) ( 32 6 35 ) ( 32 6 1 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16385.5 -16384 -181.01596 -30.997635 180 0 + ( 27 6 35 ) ( 47 6 35 ) ( 47 6 1 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.361 -16384 -1353.9478 -31 -180 0 + ( 46 6 35 ) ( 46 7 35 ) ( 46 7 1 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16384.287 -16384 -181.00127 -30.982237 180 0 +} +// brush 28 +{ + contents nonColliding; + ( 69 -13 0 ) ( 103 -13 0 ) ( 103 21 0 ) okinawa_wood_shuri_int_furni 48 48 0 -6 0 0 lightmap_gray 16383.961 16384.049 -1504.9977 -1 180 0 + ( 107 10 2 ) ( 107 -24 2 ) ( 73 -24 2 ) okinawa_wood_shuri_int_furni 48 48 -5 70.9142 0 0 lightmap_gray 16383.875 16384 -1504.9891 -1 180 0 + ( 105 6 -50 ) ( 71 6 -50 ) ( 71 6 -54 ) okinawa_wood_shuri_int_furni 48 48 56 16 0 0 lightmap_gray 16384.115 -16384.18 -1505.0106 -250 180 -3.3253011e-005 + ( -52 27 -97 ) ( -52 -7 -97 ) ( -52 -7 -101 ) okinawa_wood_shuri_int_furni 48 48 114 16 0 0 lightmap_gray 16384 -16383.881 1 -249.99821 180 0 + ( 73 -9 -96 ) ( 107 -9 -96 ) ( 107 -9 -100 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.244 -16383.654 -1505.0266 -250 180 -2.286665e-005 + ( 52 -7 -64 ) ( 52 27 -64 ) ( 52 27 -68 ) okinawa_wood_shuri_int_furni 48 -48 -2 -16 180 0 lightmap_gray 16384.045 -16383.873 1 -250 -180 0 +} +// brush 29 +{ + contents nonColliding; + ( -49 6 5 ) ( -29 6 5 ) ( -29 7 5 ) okinawa_wood_shuri_int_furni 128 128 24 -64 0 0 lightmap_gray 16384 16381.928 -1277.0013 180.97873 180 -0.0028072621 + ( -30 7 32 ) ( -30 6 32 ) ( -50 6 32 ) okinawa_wood_shuri_int_furni 128 128 24 -64 0 0 lightmap_gray 16383.893 16383.965 -1276.9899 181 180 -0.00062778883 + ( -30 6.5 35 ) ( -50 6.5 35 ) ( -50 6.5 1 ) okinawa_wood_shuri_int_furni 48 -48 24 -121.414 0 0 lightmap_gray 16385.121 -16384 -1277.0903 -31 180 0 + ( -45 7 35 ) ( -45 6 35 ) ( -45 6 1 ) okinawa_wood_shuri_int_furni 128 128 24 -64 0 0 lightmap_gray 16385.5 -16384 -181.01596 -30.977127 180 0 + ( -50 6 35 ) ( -30 6 35 ) ( -30 6 1 ) caulk 64 64 0 0 0 0 lightmap_gray 16382.801 -16384 -1276.9043 -31 -180 0 + ( -31 6 35 ) ( -31 7 35 ) ( -31 7 1 ) okinawa_wood_shuri_int_furni 128 128 24 -64 0 0 lightmap_gray 16384.287 -16384 -181.00127 -30.982237 180 0 +} +// brush 30 +{ + contents nonColliding; + ( 6 4 22 ) ( 6 5 22 ) ( -10 5 22 ) berlin_ceilings_metal 48 -48 5 -10 90 0 lightmap_gray 16383.875 16381.5 -1313.0018 179.97354 180 -0.0014646203 + ( 6 6 23 ) ( 6 5 23 ) ( -14 5 23 ) berlin_ceilings_metal 48 48 -6 10 -90 0 lightmap_gray 16384.395 16384.084 -1313.0334 180.00133 -180 -0.00014241607 + ( 6 5 25 ) ( -14 5 25 ) ( -14 5 -9 ) berlin_ceilings_metal 48 -48 22 -10 90 0 lightmap_gray 16384.715 -16384 -1313.0596 -41 180 0 + ( -10 5 22 ) ( -10 6 22 ) ( -10 6 23 ) berlin_ceilings_metal 48 48 -4 20.25 -90 0 lightmap_gray 16379.335 16383.752 -3030.5205 -200.98592 180 0.00073241093 + ( -14 -7 25 ) ( 6 -7 25 ) ( 6 -7 -9 ) berlin_ceilings_metal 48 48 -4 20.25 -90 0 lightmap_gray 16382 -16384 -1312.8391 -41 180 0 + ( 12 6 22 ) ( 12 5 22 ) ( 12 5 23 ) berlin_ceilings_metal 48 48 -4 20.25 -90 0 lightmap_gray 16336.141 16386.498 -3022.0466 -201.01128 180 -0.00047346586 +} +// brush 31 +{ + contents nonColliding; + ( 6 4 10 ) ( 6 5 10 ) ( -10 5 10 ) berlin_ceilings_metal 48 -48 -6 -18 90 0 lightmap_gray 16383.875 16381.5 -1313.0018 179.97354 180 -0.0014646203 + ( 6 6 11 ) ( 6 5 11 ) ( -14 5 11 ) berlin_ceilings_metal 48 48 -17 18 -90 0 lightmap_gray 16384.395 16384.125 -1313.0334 180 -180 -0.00014241644 + ( 6 5 13 ) ( -14 5 13 ) ( -14 5 -21 ) berlin_ceilings_metal 48 -48 -1 -18 90 0 lightmap_gray 16384.387 -16384 -1313.035 -53 180 0 + ( -10 5 10 ) ( -10 6 10 ) ( -10 6 11 ) berlin_ceilings_metal 48 48 -4 20.25 -90 0 lightmap_gray 16305.71 16384.02 -3016.929 -212.98836 180 0.00072986766 + ( -14 -7 13 ) ( 6 -7 13 ) ( 6 -7 -21 ) berlin_ceilings_metal 48 48 -4 20.25 -90 0 lightmap_gray 16382.715 -16384 -1312.8978 -53 180 0 + ( 12 6 10 ) ( 12 5 10 ) ( 12 5 11 ) berlin_ceilings_metal 48 48 -4 20.25 -90 0 lightmap_gray 16362.693 16386.465 -3026.9368 -213.01157 180 0 +} +// brush 32 +{ + contents nonColliding; + ( -50 6 4 ) ( -30 6 4 ) ( -30 7 4 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16384.016 16382.072 -1276.9794 180.97903 180 0.0024236825 + ( -45 6 5 ) ( -45 7 5 ) ( -31 7 5 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16384 16384.107 -1276.9829 180.99779 180 0.0012904659 + ( -30 7 35 ) ( -50 7 35 ) ( -50 7 1 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16385.121 -16384 -1277.0903 -31 180 0 + ( -45 7 5 ) ( -45 6 5 ) ( -46 6 4 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16382.043 16381.857 -1284.8358 185.97694 -180 0.0011883407 + ( -50 6 35 ) ( -30 6 35 ) ( -30 6 1 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16382.801 -16384 -1276.9043 -31 -180 0 + ( -31 6 5 ) ( -31 7 5 ) ( -30 7 4 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16384.051 16383.666 -1285.0184 185.98784 -180 -0.0047799498 +} +// brush 33 +{ + contents nonColliding; + ( -43.5 7 19.5 ) ( -43.5 6 19.5 ) ( -42.5 6 19.5 ) berlin_ceilings_metal 48 48 -9 107 90 0 lightmap_gray 16381.959 16386.607 -1278.7882 181.03941 -180 -0.0011854005 + ( -43.5 6 29 ) ( -43.5 7 29 ) ( -42.5 7 29 ) berlin_ceilings_metal 48 48 -9 107 90 0 lightmap_gray 16384 16383.465 -1278.9523 181.03317 180 0.00045311949 + ( -28 7 35.5 ) ( -48 7 35.5 ) ( -48 7 1.5 ) berlin_ceilings_metal 48 48 -9 107 90 0 lightmap_gray 16385.209 -16384 -1279.0964 -30.5 180 0 + ( -43.5 6 10.5 ) ( -43.5 7 10.5 ) ( -43.5 7 29 ) berlin_ceilings_metal 48 48 -9 107 90 0 lightmap_gray 16384.322 -16384 -181 -30.5 180 0 + ( -48 6 35.5 ) ( -28 6 35.5 ) ( -28 6 1.5 ) berlin_ceilings_metal 48 48 -9 107 90 0 lightmap_gray 16385.293 -16384 -1279.1027 -30.5 180 0 + ( -42.5 6 34.5 ) ( -42.5 7 34.5 ) ( -42.5 7 0.5 ) berlin_ceilings_metal 48 48 -9 107 90 0 lightmap_gray 16384.537 -16384 -181.00745 -30.517374 180 0 +} +// brush 34 +{ + contents nonColliding; + ( -46 7 4 ) ( -46 6 4 ) ( -45 6 5 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16387.998 16391.146 -1277.3252 181.04359 180 -0.0006106178 + ( -46 6 33 ) ( -46 7 33 ) ( -45 7 32 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16381.98 16386.287 -1276.8448 181.01727 180 -0.0012383146 + ( -30 7 35 ) ( -50 7 35 ) ( -50 7 1 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16385.121 -16384 -1277.0903 -31 180 0 + ( -46 7 33 ) ( -46 6 33 ) ( -46 6 4 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16385.5 -16384 -181.01596 -31 180 0 + ( -50 6 35 ) ( -30 6 35 ) ( -30 6 1 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16382.801 -16384 -1276.9043 -31 -180 0 + ( -45 6 34 ) ( -45 7 34 ) ( -45 7 0 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16384.037 -16384 -181 -30.985531 180 0 +} +// brush 35 +{ + contents nonColliding; + ( -30 6 4 ) ( -30 7 4 ) ( -31 7 5 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16382.008 16386.293 -1276.8473 181.01968 180 -0.00026452271 + ( -30 7 33 ) ( -30 6 33 ) ( -31 6 32 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16380.144 16383.607 -1276.6952 180.9957 -180 -1.7033533e-005 + ( -30 7 35 ) ( -50 7 35 ) ( -50 7 1 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16385.121 -16384 -1277.0903 -31 180 0 + ( -31 7 35 ) ( -31 6 35 ) ( -31 6 1 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16385.5 -16384 -181.01596 -30.977127 180 0 + ( -50 6 35 ) ( -30 6 35 ) ( -30 6 1 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16382.801 -16384 -1276.9043 -31 -180 0 + ( -30 7 4 ) ( -30 6 4 ) ( -30 6 33 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16385.037 -16384 -181.01169 -31 180 0 +} +// brush 36 +{ + contents nonColliding; + ( -45 7 32 ) ( -45 6 32 ) ( -31 6 32 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16384 16382.084 -1277.0104 180.97978 180 -0.0011188471 + ( -30 7 33 ) ( -30 6 33 ) ( -50 6 33 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16383.893 16383.965 -1276.9899 181 180 -0.00062778883 + ( -30 7 35 ) ( -50 7 35 ) ( -50 7 1 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16385.121 -16384 -1277.0903 -31 180 0 + ( -45 6 32 ) ( -45 7 32 ) ( -46 7 33 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16384 16383.822 -1284.9861 185.99529 180 0.0016043354 + ( -50 6 35 ) ( -30 6 35 ) ( -30 6 1 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16382.801 -16384 -1276.9043 -31 -180 0 + ( -31 7 32 ) ( -31 6 32 ) ( -30 6 33 ) berlin_ceilings_metal 48 48 -7 -17 90 0 lightmap_gray 16384.18 16386.215 -1284.9937 185.99886 -180 0.00061111891 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_cabinets_hang2.map b/map_source/_prefabs/zombiemode/asylum_cabinets_hang2.map new file mode 100644 index 000000000..a70e1f298 --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_cabinets_hang2.map @@ -0,0 +1,327 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "0.294118 0.286275 0.392157" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +// brush 0 +{ + contents detail; + ( -33 -13 2 ) ( 1 -13 2 ) ( 1 21 2 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16384 16384 -1402.9979 -1 180 0 + ( 5 21 35 ) ( 5 -13 35 ) ( -29 -13 35 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.676 16383.975 -1402.9708 -1 180 0 + ( 3 6 -27 ) ( -31 6 -27 ) ( -31 6 -31 ) okinawa_wood_shuri_int_furni 48 48 0 37.914185 90 0 lightmap_gray 16383.936 -16383.936 -1402.9967 -226 180 -9.4810224e-005 + ( -52 27 -72 ) ( -52 -7 -72 ) ( -52 -7 -76 ) okinawa_wood_shuri_int_furni 48 48 0 95.3284 90 0 lightmap_gray 16384 -16384.123 1 -226 180 0 + ( -29 -9 -72 ) ( 5 -9 -72 ) ( 5 -9 -76 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.379 -16383.967 -1402.9625 -226 180 -0.00024097621 + ( -10 -8 -42 ) ( -10 26 -42 ) ( -10 26 -46 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 -16383.994 1 -226 180 0 + ( -53 4 35 ) ( -50 7 35 ) ( -53 4 67 ) okinawa_wood_shuri_int_furni 48 33.941124 0 68.871826 90 0 lightmap_gray 16383.643 16384 302.9931 85 0 0 +} +// brush 1 +{ + contents nonColliding; + ( -8 6 5 ) ( 12 6 5 ) ( 12 7 5 ) caulk 64 64 -1317.9972 181.01349 180 0.00022379558 lightmap_gray 16383.992 16381.959 -1318.0067 180.97905 -180 -0.0038853316 + ( 11 7 32 ) ( 11 6 32 ) ( -9 6 32 ) caulk 64 64 -1318.0056 180.99371 180 -0.00048828125 lightmap_gray 16384.188 16384.418 -1318.0253 181.00282 -180 -0.0016683367 + ( 11 6.5 35 ) ( -9 6.5 35 ) ( -9 6.5 1 ) okinawa_wood_shuri_int_furni 48 48 -40 5.9142098 0 0 lightmap_gray 16384.768 -16384 -1318.0608 -31 180 0 + ( -4 7 35 ) ( -4 6 35 ) ( -4 6 1 ) caulk 63.991859 -64 -180.96968 -30.997635 180 0 lightmap_gray 16385.5 -16384 -181.01596 -30.997635 180 0 + ( -9 6 35 ) ( 11 6 35 ) ( 11 6 1 ) caulk 64 -64 -1318.0082 -31 180 0 lightmap_gray 16382.826 -16384 -1317.9065 -31 180 0 + ( 10 6 35 ) ( 10 7 35 ) ( 10 7 1 ) caulk 63.991905 -64 -180.98642 -30.982237 180 0 lightmap_gray 16384.287 -16384 -181.00127 -30.982237 180 0 +} +// brush 2 +{ + contents nonColliding; + ( 9 6 5 ) ( 29 6 5 ) ( 29 7 5 ) caulk 64 64 -1334.9965 181.01285 180 0.00059000653 lightmap_gray 16384.201 16382 -1335.0325 180.97949 180 -0.0047398186 + ( 28 7 32 ) ( 28 6 32 ) ( 8 6 32 ) caulk 64 64 -1335.0153 180.99243 180 -0.0016276041 lightmap_gray 16384.201 16384.5 -1335.0212 181.00134 180 -0.0010376293 + ( 28 6.5 35 ) ( 8 6.5 35 ) ( 8 6.5 1 ) okinawa_wood_shuri_int_furni 48 48 -16 29.9142 0 0 lightmap_gray 16385.35 -16384 -1335.1096 -31 180 0 + ( 13 7 35 ) ( 13 6 35 ) ( 13 6 1 ) caulk 63.991859 -64 -180.96968 -30.977127 180 0 lightmap_gray 16385.5 -16384 -181.01596 -30.977127 180 0 + ( 8 6 35 ) ( 28 6 35 ) ( 28 6 1 ) caulk 64 -64 -1335.0082 -31 180 0 lightmap_gray 16382.285 -16384 -1334.8624 -31 180 0 + ( 27 6 35 ) ( 27 7 35 ) ( 27 7 1 ) caulk 63.991905 -64 -180.98642 -30.982237 180 0 lightmap_gray 16384.287 -16384 -181.00127 -30.982237 180 0 +} +// brush 3 +{ + contents nonColliding; + ( -33 6 5 ) ( -13 6 5 ) ( -13 7 5 ) caulk 64 64 -1292.9972 181.01346 180 0.00022661473 lightmap_gray 16384 16381.928 -1293.0065 180.97873 180 -0.0033652273 + ( -14 7 32 ) ( -14 6 32 ) ( -34 6 32 ) caulk 64 64 -1293.0054 180.99371 -180 -0.00045340302 lightmap_gray 16384.205 16384.43 -1293.0219 181.00294 180 -0.0010114663 + ( -14 6.5 35 ) ( -34 6.5 35 ) ( -34 6.5 1 ) okinawa_wood_shuri_int_furni 48 48 24 13.9142 0 0 lightmap_gray 16384.959 -16384 -1293.0767 -31 180 0 + ( -29 7 35 ) ( -29 6 35 ) ( -29 6 1 ) caulk 63.991859 -64 -180.96968 -30.997635 180 0 lightmap_gray 16385.5 -16384 -181.01596 -30.997635 180 0 + ( -34 6 35 ) ( -14 6 35 ) ( -14 6 1 ) caulk 64 -64 -1293.0082 -31 180 0 lightmap_gray 16383.043 -16384 -1292.9237 -31 180 0 + ( -15 6 35 ) ( -15 7 35 ) ( -15 7 1 ) caulk 63.991905 -64 -180.98642 -30.982237 180 0 lightmap_gray 16384.287 -16384 -181.00127 -30.982237 180 0 +} +// brush 4 +{ + contents nonColliding; + ( -50 6 5 ) ( -30 6 5 ) ( -30 7 5 ) caulk 64 64 -1275.9938 181.01292 180 0.00078466092 lightmap_gray 16383.994 16381.928 -1276 180.97873 180 -0.0028072621 + ( -31 7 32 ) ( -31 6 32 ) ( -51 6 32 ) caulk 64 64 -1276.0089 180.99263 180 -0.00087201077 lightmap_gray 16383.906 16384.072 -1275.9911 181.00113 180 -0.00062779291 + ( -31 6.5 35 ) ( -51 6.5 35 ) ( -51 6.5 1 ) okinawa_wood_shuri_int_furni 48 48 48 5.9142098 0 0 lightmap_gray 16385.059 -16384 -1276.0852 -31 180 0 + ( -46 7 35 ) ( -46 6 35 ) ( -46 6 1 ) caulk 63.991859 -64 -180.96968 -30.977127 180 0 lightmap_gray 16385.5 -16384 -181.01596 -30.977127 180 0 + ( -51 6 35 ) ( -31 6 35 ) ( -31 6 1 ) caulk 64 -64 -1276.0369 -31 180 0 lightmap_gray 16382.824 -16384 -1275.9063 -31 180 0 + ( -32 6 35 ) ( -32 7 35 ) ( -32 7 1 ) caulk 63.991905 -64 -180.98642 -30.982237 180 0 lightmap_gray 16384.287 -16384 -181.00127 -30.982237 180 0 +} +// brush 5 +{ + contents detail; + ( 66 -9 2 ) ( 100 -9 2 ) ( 100 25 2 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16383.945 16384 -1502.9935 1 180 0 + ( 106 23 35 ) ( 106 -11 35 ) ( 72 -11 35 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.914 16383.971 -1502.9927 1 180 0 + ( 103 6 -26 ) ( 69 6 -26 ) ( 69 6 -30 ) okinawa_wood_shuri_int_furni 48 48 0 37.9142 90 0 lightmap_gray 16383.709 -16383.994 -1502.9768 -226 180 0 + ( -10 27 -69 ) ( -10 -7 -69 ) ( -10 -7 -73 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.967 -16384.121 -1 -226 180 0 + ( 71 -7 -72 ) ( 105 -7 -72 ) ( 105 -7 -76 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.172 -16383.871 -1503.0148 -226 180 0 + ( 12 -4 -47 ) ( 12 30 -47 ) ( 12 30 -51 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.049 -16383.818 -1 -226 180 0 +} +// brush 6 +{ + contents nonColliding; + ( 69 -13 0 ) ( 103 -13 0 ) ( 103 21 0 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16383.961 16384.049 -1504.9977 -1 180 0 + ( 107 10 2 ) ( 107 -24 2 ) ( 73 -24 2 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16383.875 16384 -1504.9891 -1 180 0 + ( 105 6.5 -50 ) ( 71 6.5 -50 ) ( 71 6.5 -54 ) okinawa_wood_shuri_int_furni 48 48 0 -8.5 0 0 lightmap_gray 16384.115 -16384.18 -1505.0106 -250 180 -3.3253011e-005 + ( -52.5 27 -97 ) ( -52.5 -7 -97 ) ( -52.5 -7 -101 ) okinawa_wood_shuri_int_furni 48 48 54.5 0 90 0 lightmap_gray 16384 -16383.881 1 -249.99821 180 0 + ( 73 -9 -96 ) ( 107 -9 -96 ) ( 107 -9 -100 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.244 -16383.654 -1505.0266 -250 180 -2.286665e-005 + ( 33 -7 -64 ) ( 33 27 -64 ) ( 33 27 -68 ) okinawa_wood_shuri_int_furni 48 48 -39.5 8.5 180 0 lightmap_gray 16384.045 -16383.873 1 -250 -180 0 +} +// brush 7 +{ + contents nonColliding; + ( 69 -24 35 ) ( 103 -24 35 ) ( 103 10 35 ) okinawa_wood_shuri_int_furni 48 48 4.5506001 27.4223 0 0 lightmap_gray 16383.879 16384 -1504.9904 -1 -180 0 + ( 107 21 37 ) ( 107 -13 37 ) ( 73 -13 37 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.893 16384 -1504.9913 -1 -180 0 + ( 105 7 -15 ) ( 71 7 -15 ) ( 71 7 -19 ) okinawa_wood_shuri_int_furni 48 48 12.5506 7.4222798 0 0 lightmap_gray 16384.363 -16384.063 -1505.0305 -215 -180 6.1874518e-005 + ( -53 27 -61 ) ( -53 -7 -61 ) ( -53 -7 -65 ) okinawa_wood_shuri_int_furni 48 48 72.550598 7.4222798 0 0 lightmap_gray 16384.029 -16384.076 1 -215 180 0 + ( 73 -9 -61 ) ( 107 -9 -61 ) ( 107 -9 -65 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 -16383.943 -1505 -215 180 0 + ( 33.5 -7 -30 ) ( 33.5 27 -30 ) ( 33.5 27 -34 ) okinawa_wood_shuri_int_furni 48 48 -27.9494 -7.4222798 180 0 lightmap_gray 16384.027 -16383.865 1 -215 -180 0 +} +// brush 8 +{ + contents detail; + ( 69 -13 2 ) ( 103 -13 2 ) ( 103 21 2 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16383.961 16384.049 -1504.9977 -1 180 0 + ( 107 21 35 ) ( 107 -13 35 ) ( 73 -13 35 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.893 16384 -1504.9913 -1 -180 0 + ( 32 6 2 ) ( 32 6 35 ) ( 12 6 35 ) okinawa_wood_shuri_int_furni 48 48 0 37.914185 90 0 lightmap_gray 16384.248 -16384 -1505.0197 -226 180 0 + ( 12 25 -73 ) ( 12 -9 -73 ) ( 12 -9 -77 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.969 -16383.992 1 -226 -180 0 + ( 32.5 -9 35 ) ( 32.5 -9 2 ) ( 12 -9 2 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.16 -16384.873 -1505.0103 -226 -180 -2.751176e-005 + ( 32.5 5 2 ) ( 32.5 5 35 ) ( 31.5 6 35 ) okinawa_wood_shuri_int_furni 48 -33.941147 0 1.4644901 90 0 lightmap_gray 16384 -16384.066 1 -226 180 0 + ( 32.5 -9 2 ) ( 32.5 -9 35 ) ( 32.5 5 35 ) okinawa_wood_shuri_int_furni 48 -48 0 0 90 0 lightmap_gray 16383.643 16384 302.99451 85 0 0 +} +// brush 9 +{ + contents detail; + ( 67 -13 2 ) ( 101 -13 2 ) ( 101 21 2 ) okinawa_wood_shuri_int_furni 128 128 0 0 0 0 lightmap_gray 16384.078 16384 -1503.0067 -1 180 0 + ( 106 21 35 ) ( 106 -13 35 ) ( 72 -13 35 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.049 16384 -1503.0031 -1 -180 0 + ( 103 -7 -26 ) ( 69 -7 -26 ) ( 69 -7 -30 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.709 -16383.994 -1502.9768 -226 180 0 + ( -10 25 -69 ) ( -10 -9 -69 ) ( -10 -9 -73 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.967 -16383.963 1 -226 -180 0 + ( 71 -9 -72 ) ( 105 -9 -72 ) ( 105 -9 -76 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.172 -16383.871 -1503.0148 -226 180 0 + ( 12 -6 -47 ) ( 12 28 -47 ) ( 12 28 -51 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.053 -16384.129 1 -226 -180 0 +} +// brush 10 +{ + contents nonColliding; + ( 8 6 4 ) ( 28 6 4 ) ( 28 7 4 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16384 16381.916 -1334.9808 180.97737 -180 0.0019325342 + ( 13 6 5 ) ( 13 7 5 ) ( 27 7 5 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16384 16384.75 -1334.9889 181.00114 180 0.00078477361 + ( 28 7 35 ) ( 8 7 35 ) ( 8 7 1 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16385.35 -16384 -1335.1096 -31 180 0 + ( 13 7 5 ) ( 13 6 5 ) ( 12 6 4 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16382.043 16382.072 -1342.8384 185.97916 180 0.0011159402 + ( 8 6 35 ) ( 28 6 35 ) ( 28 6 1 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16382.285 -16384 -1334.8624 -31 180 0 + ( 27 6 5 ) ( 27 7 5 ) ( 28 7 4 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16384.051 16384.084 -1343.0139 185.99197 180 -0.007568398 +} +// brush 11 +{ + contents nonColliding; + ( 28 6 4 ) ( 28 7 4 ) ( 27 7 5 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16383.883 16386.209 -1335 181.01884 180 -0.00063078164 + ( 28 7 33 ) ( 28 6 33 ) ( 27 6 32 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16378.129 16383.5 -1334.537 180.99426 -180 -0.00045298543 + ( 28 7 35 ) ( 8 7 35 ) ( 8 7 1 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16385.35 -16384 -1335.1096 -31 180 0 + ( 27 7 35 ) ( 27 6 35 ) ( 27 6 1 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16385.5 -16384 -181.01596 -30.977127 180 0 + ( 8 6 35 ) ( 28 6 35 ) ( 28 6 1 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16382.285 -16384 -1334.8624 -31 180 0 + ( 28 7 4 ) ( 28 6 4 ) ( 28 6 33 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16385.037 -16384 -181.01169 -31 180 0 +} +// brush 12 +{ + contents nonColliding; + ( 13 7 32 ) ( 13 6 32 ) ( 27 6 32 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16384.025 16382.035 -1335.0173 180.97925 -180 -0.0017609688 + ( 28 7 33 ) ( 28 6 33 ) ( 8 6 33 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16384.201 16384.5 -1335.0212 181.00134 180 -0.0010376293 + ( 28 7 35 ) ( 8 7 35 ) ( 8 7 1 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16385.35 -16384 -1335.1096 -31 180 0 + ( 13 6 32 ) ( 13 7 32 ) ( 12 7 33 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16384 16383.607 -1342.9844 185.99306 -180 0.0014996851 + ( 8 6 35 ) ( 28 6 35 ) ( 28 6 1 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16382.285 -16384 -1334.8624 -31 180 0 + ( 27 7 32 ) ( 27 6 32 ) ( 28 6 33 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16384.18 16386.68 -1342.9954 186.00653 -180 -0.00040046888 +} +// brush 13 +{ + contents nonColliding; + ( 12 7 4 ) ( 12 6 4 ) ( 13 6 5 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16387.998 16391.324 -1335.3243 181.0446 180 -0.00036637465 + ( 12 6 33 ) ( 12 7 33 ) ( 13 7 32 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16385.975 16387.322 -1335.1722 181.02849 180 -0.0020934006 + ( 28 7 35 ) ( 8 7 35 ) ( 8 7 1 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16385.35 -16384 -1335.1096 -31 180 0 + ( 12 7 33 ) ( 12 6 33 ) ( 12 6 4 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16385.5 -16384 -181.01596 -31 180 0 + ( 8 6 35 ) ( 28 6 35 ) ( 28 6 1 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16382.285 -16384 -1334.8624 -31 180 0 + ( 13 6 34 ) ( 13 7 34 ) ( 13 7 0 ) berlin_ceilings_metal 48 48 -3 -6 90 0 lightmap_gray 16384.037 -16384 -181 -30.985531 180 0 +} +// brush 14 +{ + contents nonColliding; + ( 14.5 7 19.5 ) ( 14.5 6 19.5 ) ( 15.5 6 19.5 ) berlin_ceilings_metal 48 48 -2 27 90 0 lightmap_gray 16376.033 16386.393 -1336.3158 181.03777 180 -0.002127822 + ( 14.5 6 29 ) ( 14.5 7 29 ) ( 15.5 7 29 ) berlin_ceilings_metal 48 48 -2 27 90 0 lightmap_gray 16387.869 16383.607 -1337.26 181.03531 180 0.00052314589 + ( 30 7 35.5 ) ( 10 7 35.5 ) ( 10 7 1.5 ) berlin_ceilings_metal 48 48 -2 27 90 0 lightmap_gray 16383.1 -16384 -1336.9282 -30.5 180 0 + ( 14.5 6 10.5 ) ( 14.5 7 10.5 ) ( 14.5 7 29 ) berlin_ceilings_metal 48 48 -2 27 90 0 lightmap_gray 16384.215 -16384 -180.99887 -30.5 180 0 + ( 10 6 35.5 ) ( 30 6 35.5 ) ( 30 6 1.5 ) berlin_ceilings_metal 48 48 -2 27 90 0 lightmap_gray 16385.234 -16384 -1337.0988 -30.5 180 0 + ( 15.5 6 34.5 ) ( 15.5 7 34.5 ) ( 15.5 7 0.5 ) berlin_ceilings_metal 48 48 -2 27 90 0 lightmap_gray 16384.537 -16384 -181.00745 -30.517347 180 0 +} +// brush 15 +{ + contents nonColliding; + ( -9 6 4 ) ( 11 6 4 ) ( 11 7 4 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.188 16381.916 -1317.9901 180.97737 180 0.0029293147 + ( -4 6 5 ) ( -4 7 5 ) ( 10 7 5 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16383.732 16384 -1317.9591 180.99646 180 0.0018920898 + ( 11 7 35 ) ( -9 7 35 ) ( -9 7 1 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.768 -16384 -1318.0608 -31 180 0 + ( -4 7 5 ) ( -4 6 5 ) ( -5 6 4 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16390.096 16382.285 -1326.4868 185.98146 -180 0.0014298169 + ( -9 6 35 ) ( 11 6 35 ) ( 11 6 1 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16382.826 -16384 -1317.9065 -31 180 0 + ( 10 6 5 ) ( 10 7 5 ) ( 11 7 4 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.051 16383.791 -1326.0067 185.98857 -180 -0.0017293073 +} +// brush 16 +{ + contents nonColliding; + ( 11 6 4 ) ( 11 7 4 ) ( 10 7 5 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16388.01 16387.668 -1318.3282 181.03452 180 -0.00038664252 + ( 11 7 33 ) ( 11 6 33 ) ( 10 6 32 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16380.091 16383.607 -1317.6919 180.99557 180 -5.3123928e-005 + ( 11 7 35 ) ( -9 7 35 ) ( -9 7 1 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.768 -16384 -1318.0608 -31 180 0 + ( 10 7 35 ) ( 10 6 35 ) ( 10 6 1 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16385.5 -16384 -181.01596 -30.997635 180 0 + ( -9 6 35 ) ( 11 6 35 ) ( 11 6 1 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16382.826 -16384 -1317.9065 -31 180 0 + ( 11 7 4 ) ( 11 6 4 ) ( 11 6 33 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16385.037 -16384 -181.01169 -31 180 0 +} +// brush 17 +{ + contents nonColliding; + ( 7.5 7 19.5 ) ( 7.5 6 19.5 ) ( 8.5 6 19.5 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16380.034 16386.322 -1329.6422 181.03635 180 -0.0019010785 + ( 7.5 6 29 ) ( 7.5 7 29 ) ( 8.5 7 29 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16385.896 16383.357 -1330.1102 181.03276 180 0.00031388277 + ( 23 7 35.5 ) ( 3 7 35.5 ) ( 3 7 1.5 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.9 -16384 -1330.0714 -30.5 180 0 + ( 7.5 6 10.5 ) ( 7.5 7 10.5 ) ( 7.5 7 29 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.215 -16384 -180.99887 -30.5 180 0 + ( 3 6 35.5 ) ( 23 6 35.5 ) ( 23 6 1.5 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16385.131 -16384 -1330.0876 -30.5 180 0 + ( 8.5 6 34.5 ) ( 8.5 7 34.5 ) ( 8.5 7 0.5 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.537 -16384 -181.00745 -30.517347 180 0 +} +// brush 18 +{ + contents nonColliding; + ( -4 7 32 ) ( -4 6 32 ) ( 10 6 32 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16383.979 16382 -1318.007 180.97888 180 -0.00078464195 + ( 11 7 33 ) ( 11 6 33 ) ( -9 6 33 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.188 16384.418 -1318.0253 181.00282 -180 -0.0016683367 + ( 11 7 35 ) ( -9 7 35 ) ( -9 7 1 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.768 -16384 -1318.0608 -31 180 0 + ( -4 6 32 ) ( -4 7 32 ) ( -5 7 33 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384 16383.643 -1325.998 185.99335 -180 0.0011509237 + ( -9 6 35 ) ( 11 6 35 ) ( 11 6 1 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16382.826 -16384 -1317.9065 -31 180 0 + ( 10 7 32 ) ( 10 6 32 ) ( 11 6 33 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16385.975 16386.607 -1326.1414 186.00574 -180 7.0450398e-005 +} +// brush 19 +{ + contents nonColliding; + ( -5 7 4 ) ( -5 6 4 ) ( -4 6 5 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16380.044 16391.361 -1317.6846 181.04587 180 -0.00081998325 + ( -5 6 33 ) ( -5 7 33 ) ( -4 7 32 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16377.988 16388.502 -1317.5175 181.04131 180 -0.00085472694 + ( 11 7 35 ) ( -9 7 35 ) ( -9 7 1 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.768 -16384 -1318.0608 -31 180 0 + ( -5 7 33 ) ( -5 6 33 ) ( -5 6 4 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16385.5 -16384 -181.01596 -31 180 0 + ( -9 6 35 ) ( 11 6 35 ) ( 11 6 1 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16382.826 -16384 -1317.9065 -31 180 0 + ( -4 6 34 ) ( -4 7 34 ) ( -4 7 0 ) berlin_ceilings_metal 48 48 -11 -31 90 0 lightmap_gray 16384.037 -16384 -181 -30.985477 180 0 +} +// brush 20 +{ + contents nonColliding; + ( -34 6 4 ) ( -14 6 4 ) ( -14 7 4 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384.422 16382.072 -1293.0084 180.97903 180 0.0031385815 + ( -29 6 5 ) ( -29 7 5 ) ( -15 7 5 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384 16383.928 -1292.9846 180.9957 180 0.0012206978 + ( -14 7 35 ) ( -34 7 35 ) ( -34 7 1 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384.959 -16384 -1293.0767 -31 180 0 + ( -29 7 5 ) ( -29 6 5 ) ( -30 6 4 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16392.197 16382.285 -1301.6583 185.98146 180 0.0012380122 + ( -34 6 35 ) ( -14 6 35 ) ( -14 6 1 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16383.043 -16384 -1292.9237 -31 180 0 + ( -15 6 5 ) ( -15 7 5 ) ( -14 7 4 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384.051 16383.791 -1301.0073 185.98857 180 -0.0018310314 +} +// brush 21 +{ + contents nonColliding; + ( -14 6 4 ) ( -14 7 4 ) ( -15 7 5 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16386.133 16387.668 -1293.1771 181.03442 180 -0.00016279686 + ( -14 7 33 ) ( -14 6 33 ) ( -15 6 32 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16381.998 16383.393 -1292.8414 180.99318 180 0.00034795018 + ( -14 7 35 ) ( -34 7 35 ) ( -34 7 1 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384.959 -16384 -1293.0767 -31 180 0 + ( -15 7 35 ) ( -15 6 35 ) ( -15 6 1 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16385.5 -16384 -181.01596 -30.997635 180 0 + ( -34 6 35 ) ( -14 6 35 ) ( -14 6 1 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16383.043 -16384 -1292.9237 -31 180 0 + ( -14 7 4 ) ( -14 6 4 ) ( -14 6 33 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16385.037 -16384 -181.01169 -31 180 0 +} +// brush 22 +{ + contents nonColliding; + ( -29 7 32 ) ( -29 6 32 ) ( -15 6 32 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384 16382.084 -1293.0082 180.97978 180 -0.00071199361 + ( -14 7 33 ) ( -14 6 33 ) ( -34 6 33 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384.205 16384.43 -1293.0219 181.00294 180 -0.0010114663 + ( -14 7 35 ) ( -34 7 35 ) ( -34 7 1 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384.959 -16384 -1293.0767 -31 180 0 + ( -29 6 32 ) ( -29 7 32 ) ( -30 7 33 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384 16383.857 -1300.998 185.99568 180 0.0010288694 + ( -34 6 35 ) ( -14 6 35 ) ( -14 6 1 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16383.043 -16384 -1292.9237 -31 180 0 + ( -15 7 32 ) ( -15 6 32 ) ( -14 6 33 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384 16386.572 -1300.9818 186.00536 -180 0.00024486386 +} +// brush 23 +{ + contents nonColliding; + ( -27.5 7 19.5 ) ( -27.5 6 19.5 ) ( -26.5 6 19.5 ) berlin_ceilings_metal 48 48 -64 29 90 0 lightmap_gray 16382.012 16386.143 -1294.7985 181.03436 180 -0.0014824764 + ( -27.5 6 29 ) ( -27.5 7 29 ) ( -26.5 7 29 ) berlin_ceilings_metal 48 48 -64 29 90 0 lightmap_gray 16382.041 16383.25 -1294.7986 181.03145 180 0.00040067127 + ( -12 7 35.5 ) ( -32 7 35.5 ) ( -32 7 1.5 ) berlin_ceilings_metal 48 48 -64 29 90 0 lightmap_gray 16384.875 -16384 -1295.0692 -30.5 180 0 + ( -27.5 6 10.5 ) ( -27.5 7 10.5 ) ( -27.5 7 29 ) berlin_ceilings_metal 48 48 -64 29 90 0 lightmap_gray 16384.215 -16384 -180.99887 -30.5 180 0 + ( -32 6 35.5 ) ( -12 6 35.5 ) ( -12 6 1.5 ) berlin_ceilings_metal 48 48 -64 29 90 0 lightmap_gray 16385.168 -16384 -1295.0906 -30.5 180 0 + ( -26.5 6 34.5 ) ( -26.5 7 34.5 ) ( -26.5 7 0.5 ) berlin_ceilings_metal 48 48 -64 29 90 0 lightmap_gray 16384.537 -16384 -181.00745 -30.517347 180 0 +} +// brush 24 +{ + contents nonColliding; + ( -30 7 4 ) ( -30 6 4 ) ( -29 6 5 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16381.951 16391.289 -1292.8411 181.04509 -180 -0.0012200313 + ( -30 6 33 ) ( -30 7 33 ) ( -29 7 32 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16380.007 16388.395 -1292.6777 181.04022 180 -0.00041863904 + ( -14 7 35 ) ( -34 7 35 ) ( -34 7 1 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384.959 -16384 -1293.0767 -31 180 0 + ( -30 7 33 ) ( -30 6 33 ) ( -30 6 4 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16385.5 -16384 -181.01596 -31 180 0 + ( -34 6 35 ) ( -14 6 35 ) ( -14 6 1 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16383.043 -16384 -1292.9237 -31 180 0 + ( -29 6 34 ) ( -29 7 34 ) ( -29 7 0 ) berlin_ceilings_metal 48 48 -61 1 90 0 lightmap_gray 16384.037 -16384 -181 -30.985531 180 0 +} +// brush 25 +{ + contents nonColliding; + ( -51 6 4 ) ( -31 6 4 ) ( -31 7 4 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16384 16382.072 -1275.978 180.97903 -180 0.0024411192 + ( -46 6 5 ) ( -46 7 5 ) ( -32 7 5 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16383.986 16384.107 -1275.9817 180.99779 180 0.0013079047 + ( -31 7 35 ) ( -51 7 35 ) ( -51 7 1 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16385.059 -16384 -1276.0852 -31 180 0 + ( -46 7 5 ) ( -46 6 5 ) ( -47 6 4 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16382.043 16381.643 -1283.8358 185.97459 180 0.0011856554 + ( -51 6 35 ) ( -31 6 35 ) ( -31 6 1 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16382.824 -16384 -1275.9063 -31 180 0 + ( -32 6 5 ) ( -32 7 5 ) ( -31 7 4 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16384.051 16383.75 -1284.0184 185.98878 -180 -0.0047799745 +} +// brush 26 +{ + contents nonColliding; + ( -31 6 4 ) ( -31 7 4 ) ( -32 7 5 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16382.008 16386.293 -1275.8473 181.01968 180 -0.00026452271 + ( -31 7 33 ) ( -31 6 33 ) ( -32 6 32 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16380.144 16383.393 -1275.6953 180.99342 -180 -1.7033315e-005 + ( -31 7 35 ) ( -51 7 35 ) ( -51 7 1 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16385.059 -16384 -1276.0852 -31 180 0 + ( -32 7 35 ) ( -32 6 35 ) ( -32 6 1 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16385.5 -16384 -181.01596 -30.977127 180 0 + ( -51 6 35 ) ( -31 6 35 ) ( -31 6 1 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16382.824 -16384 -1275.9063 -31 180 0 + ( -31 7 4 ) ( -31 6 4 ) ( -31 6 33 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16385.037 -16384 -181.01169 -31 180 0 +} +// brush 27 +{ + contents nonColliding; + ( -34.5 7 19.5 ) ( -34.5 6 19.5 ) ( -33.5 6 19.5 ) berlin_ceilings_metal 48 48 -23 73 90 0 lightmap_gray 16383.988 16386.607 -1287.9502 181.03889 -180 -0.00095811521 + ( -34.5 6 29 ) ( -34.5 7 29 ) ( -33.5 7 29 ) berlin_ceilings_metal 48 48 -23 73 90 0 lightmap_gray 16383.973 16383.5 -1287.9543 181.03346 180 -0.00015727238 + ( -19 7 35.5 ) ( -39 7 35.5 ) ( -39 7 1.5 ) berlin_ceilings_metal 48 48 -23 73 90 0 lightmap_gray 16385.23 -16384 -1288.0981 -30.5 180 0 + ( -34.5 6 10.5 ) ( -34.5 7 10.5 ) ( -34.5 7 29 ) berlin_ceilings_metal 48 48 -23 73 90 0 lightmap_gray 16384.215 -16384 -180.99887 -30.5 180 0 + ( -39 6 35.5 ) ( -19 6 35.5 ) ( -19 6 1.5 ) berlin_ceilings_metal 48 48 -23 73 90 0 lightmap_gray 16385.334 -16384 -1288.106 -30.5 180 0 + ( -33.5 6 34.5 ) ( -33.5 7 34.5 ) ( -33.5 7 0.5 ) berlin_ceilings_metal 48 48 -23 73 90 0 lightmap_gray 16384.537 -16384 -181.00745 -30.517347 180 0 +} +// brush 28 +{ + contents nonColliding; + ( -47 7 4 ) ( -47 6 4 ) ( -46 6 5 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16387.998 16391.146 -1276.3252 181.04359 180 -0.0006106178 + ( -47 6 33 ) ( -47 7 33 ) ( -46 7 32 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16381.98 16386.287 -1275.8457 181.01727 180 -0.001360402 + ( -31 7 35 ) ( -51 7 35 ) ( -51 7 1 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16385.059 -16384 -1276.0852 -31 180 0 + ( -47 7 33 ) ( -47 6 33 ) ( -47 6 4 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16385.5 -16384 -181.01596 -31 180 0 + ( -51 6 35 ) ( -31 6 35 ) ( -31 6 1 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16382.824 -16384 -1275.9063 -31 180 0 + ( -46 6 34 ) ( -46 7 34 ) ( -46 7 0 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16384.037 -16384 -181 -30.985531 180 0 +} +// brush 29 +{ + contents nonColliding; + ( -46 7 32 ) ( -46 6 32 ) ( -32 6 32 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16384 16382.084 -1276.0104 180.97978 180 -0.0011188471 + ( -31 7 33 ) ( -31 6 33 ) ( -51 6 33 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16383.906 16384.072 -1275.9911 181.00113 180 -0.00062779291 + ( -31 7 35 ) ( -51 7 35 ) ( -51 7 1 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16385.059 -16384 -1276.0852 -31 180 0 + ( -46 6 32 ) ( -46 7 32 ) ( -47 7 33 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16384 16383.822 -1283.9861 185.99529 180 0.0016043354 + ( -51 6 35 ) ( -31 6 35 ) ( -31 6 1 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16382.824 -16384 -1275.9063 -31 180 0 + ( -32 7 32 ) ( -32 6 32 ) ( -31 6 33 ) berlin_ceilings_metal 48 48 -4 16 90 0 lightmap_gray 16384.18 16386.287 -1283.9937 186 -180 0.00061112165 +} +// brush 30 +{ + contents nonColliding; + ( 69 -13 37 ) ( 103 -13 37 ) ( 103 21 37 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.961 16384.049 -1504.9977 -1 180 0 + ( -5 19 39 ) ( 103 19 39 ) ( 103 -9 39 ) okinawa_wood_shuri_int_furni 48 48 -8 -16 0 0 lightmap_gray 16384 16384 -1505.0043 -1 -180 0 + ( 103 8 38 ) ( -5 8 38 ) ( -3 6 36 ) okinawa_wood_shuri_int_furni 48 48 12.5506 24.411301 0 0 lightmap_gray 16383.846 16383.16 -1504.9711 120.99819 180 0.00045815663 + ( -54 17 38 ) ( -54 -9 38 ) ( -52 -9 36 ) okinawa_wood_shuri_int_furni 48 48 72.550598 -21.588699 90 0 lightmap_gray 16377.364 16383.982 -1504.3691 121 180 0 + ( 73 -9 -59 ) ( 107 -9 -59 ) ( 107 -9 -63 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.195 -16383.877 -1505.0188 -213 180 -5.9969781e-005 + ( 33.5 -9 37 ) ( 33.5 17 37 ) ( 31.5 17 35 ) okinawa_wood_shuri_int_furni 48 48 15.9386 20.9 90 -0.40000001 lightmap_gray 16379.929 16384.039 -1504.6368 121.00628 180 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_door_barricade_01.map b/map_source/_prefabs/zombiemode/asylum_door_barricade_01.map new file mode 100644 index 000000000..a4d943f37 --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_door_barricade_01.map @@ -0,0 +1,296 @@ +iwmap 4 +"000_Global" flags active +"000_Global/ZombieDoorwayBarricade01" flags +"The Map" flags +// entity 0 +{ +"sunradiosity" "2" +"_color" ".717647 .776471 .9" +"sundiffusecolor" ".717647 .776471 1.0" +"diffusefraction" "0.1" +"skyboxmodel" "skybox_ber1" +"sundirection" "209 126 0" +"spawnflags" "512" +"suncolor" "1 1 0.8" +"ambient" "0.12" +"sunlight" "1.4" +"classname" "worldspawn" +// brush 0 +{ +layer "000_Global/ZombieDoorwayBarricade01" + contents weaponClip; + ( 33 -7.25 -1.75 ) ( -18.75 -7.25 -30.5 ) ( -18.75 -8.5 -30.5 ) berlin_wall_wood_slats 113.24381 -128.05028 -493.97501 -159.26245 179.68729 0.0020769476 lightmap_gray 14481.542 16381.766 -487.29828 828.63361 180 -0.00038805214 + ( 30.25 -8.5 3.25 ) ( -21.75 -8.5 -25.25 ) ( -21.75 -7.25 -25.25 ) berlin_wall_wood_slats 113.24421 127.99579 -490.625 151.63072 -179.68683 0.0013453059 lightmap_gray 14481.363 16385.648 -483.99069 828.8324 180 -5.0269304e-005 + ( 30.25 -7.25 3.25 ) ( -21.75 -7.25 -25.25 ) ( -18.75 -7.25 -30.5 ) berlin_wall_wood_slats 128 -128 -548.98969 -170.10667 -152.39967 -0.00029677033 lightmap_gray 16384.371 -16385.076 -541.99432 -146.17747 -152.39978 0.00014214595 + ( -18.75 -7.25 -30.5 ) ( -21.75 -7.25 -25.25 ) ( -21.75 -8.5 -25.25 ) berlin_wall_wood_slats 127.98714 -111.85606 -828.67029 -154.11633 180 0 lightmap_gray 16382 -14316.484 -828.64752 -154.09875 180 0 + ( 33 -8.5 -1.75 ) ( -18.75 -8.5 -30.5 ) ( -21.75 -8.5 -25.25 ) berlin_wall_wood_slats 128 -128 -541.99799 -146.1378 -152.39981 -0.00032630478 lightmap_gray 16384.525 -16383.912 -541.99768 -146.18358 -152.39986 0.00045322886 + ( 33 -8.5 -1.75 ) ( 30.25 -8.5 3.25 ) ( 30.25 -7.25 3.25 ) berlin_wall_wood_slats 128.05518 -111.85361 -829.11902 -108.55409 180 -0.00016166171 lightmap_gray 16384.824 -14317.168 -828.79242 -108.61224 180 0 +} +// brush 1 +{ +layer "000_Global/ZombieDoorwayBarricade01" + contents weaponClip; + ( 43.5 -0.5 -58 ) ( -49.5 -0.5 -48 ) ( -49.5 -2.5 -48 ) berlin_wall_wood_slats 127.20454 -128.05417 -550.41003 -152.55385 179.72093 -0.00020156248 lightmap_gray 16267.313 16381.101 -542.96893 835.34882 -180 -0.00015849255 + ( 44.5 -2.5 -51 ) ( -49 -2.5 -40.5 ) ( -49 -0.5 -40.5 ) berlin_wall_wood_slats 127.21004 127.97818 -551.2179 158.36699 -179.72174 0.00049191149 lightmap_gray 16267.008 16384.4 -543.72339 835.51874 -180 0.00012817697 + ( 44.5 -0.5 -51 ) ( -49 -0.5 -40.5 ) ( -49.5 -0.5 -48 ) berlin_wall_wood_slats 128 -128 -559.7818 -205.20923 173.59883 -0.00042438557 lightmap_gray 16384.641 -16384.541 -552.80609 -181.23508 173.60022 -0.00012847139 + ( -49.5 -0.5 -48 ) ( -49 -0.5 -40.5 ) ( -49 -2.5 -40.5 ) berlin_wall_wood_slats 127.99063 -126.65294 -835.44403 -175.53218 180 0 lightmap_gray 16380.5 -16210.764 -835.31946 -175.51382 -180 0 + ( 43.5 -2.5 -58 ) ( -49.5 -2.5 -48 ) ( -49 -2.5 -40.5 ) berlin_wall_wood_slats 128 -128 -552.78729 -181.24477 173.59909 -0.00029510888 lightmap_gray 16385.01 -16382.482 -552.79797 -181.31102 173.59921 2.9267905e-005 + ( 43.5 -2.5 -58 ) ( 44.5 -2.5 -51 ) ( 44.5 -0.5 -51 ) berlin_wall_wood_slats 128.125 -126.65479 -836.33282 -183.58784 -180 -0.00016430643 lightmap_gray 16384.801 -16211.718 -835.54193 -183.65648 180 0 +} +// brush 2 +{ +layer "000_Global/ZombieDoorwayBarricade01" + contents weaponClip; + ( -46.25 -1 -64 ) ( -44.25 -1 -64 ) ( -44.25 0 -64 ) berlin_ceilings_metal_rust 128 128 -678.30621 748 0 -0.00012207031 lightmap_gray 16382.012 16384 685.67255 775.96631 0 -0.00012207031 + ( -46.25 -1 29 ) ( -46.25 0 29 ) ( -44.25 0 27 ) berlin_ceilings_metal_rust 127.94506 128.00781 -677.94928 748.03662 0 0 lightmap_gray 16382.104 16384 685.65424 776.00256 0 0 + ( -46.25 -1 -64 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -607.01111 82.75 90 0 lightmap_gray 16384.043 16383.963 685.75616 316.01419 0 0 + ( -44.25 0 -64 ) ( -44.25 -1 -64 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -606.98547 123.22331 90 0 lightmap_gray 16385 16384 -696.03918 316.02985 0 0 + ( -44.25 0 -64 ) ( -44.25 0 27 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 128.0173 128 -678.34119 94 0 0 lightmap_gray 16382.938 16384 685.70648 316 0 0 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -46.25 -1 -64 ) berlin_ceilings_metal_rust 128 128 -747.98865 94 0 0 lightmap_gray 16383 16384 -695.95685 316 0 0 +} +// brush 3 +{ +layer "000_Global/ZombieDoorwayBarricade01" + contents weaponClip; + ( -44.25 -1 27 ) ( 43.75 -1 27 ) ( 43.75 0 27 ) berlin_trim_metal 128 -64 -661.25 -123.02354 0 0 lightmap_gray 16383.932 16386 703.71124 776.09534 0 -0.00012208521 + ( -46.25 0 29 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128 128 -660.20251 747.98346 0 0 lightmap_gray 16384 16387 703.73285 776.14325 0 0 + ( -44.25 -1 27 ) ( -46.25 -1 29 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -661.25 100 0 0 lightmap_gray 16384.146 16384.914 703.75476 317.01913 0 -0.00019713122 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128.05472 128 -660.55182 747.97687 0 0 lightmap_gray 16382 16386 703.70471 776.099 0 0.00012208521 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 128 128 -660.25562 95 0 1.4063675e-005 lightmap_gray 16384.252 16385.514 703.75739 317.03183 0 0.00013920575 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_ceilings_metal_rust 128.00404 128.01563 -660.25934 748.0874 0 0.00024417043 lightmap_gray 16384 16379.002 703.71252 775.78033 0 -0.00024406613 +} +// brush 4 +{ +layer "000_Global/ZombieDoorwayBarricade01" + contents weaponClip; + ( 43.75 -1 -64 ) ( 45.75 -1 -64 ) ( 45.75 0 -64 ) berlin_ceilings_metal_rust 128.00786 128 -642.25812 744.99542 0 6.1035156e-005 lightmap_gray 16384 16384 721.75793 772.97192 0 0.00012207031 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 127.96767 127.99219 -642.04352 744.94458 0 0.00030726209 lightmap_gray 16391.314 16385 722.06818 773.04675 0 0 + ( 43.75 -1 -64 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -714.99475 83.244942 -90 0 lightmap_gray 16381.736 16383.994 721.66217 316 0 0 + ( 45.75 0 -64 ) ( 45.75 -1 -64 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 127.99219 128 -744.9491 94 0 0 lightmap_gray 16386 16384 -693.08313 315.98651 0 0 + ( 45.75 0 -64 ) ( 45.75 0 29 ) ( 43.75 0 27 ) berlin_ceilings_metal_rust 128.00102 128 -642.25385 94 0 0 lightmap_gray 16384.045 16383.984 721.75183 316 0 0 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 43.75 -1 -64 ) berlin_trim_metal 128 -64 -714.9834 -125.90439 -90 0 lightmap_gray 16382 16384 -692.91602 316.04434 0 0 +} +// brush 5 + { + mesh + { +layer "000_Global/ZombieDoorwayBarricade01" + contents nonColliding; + chainlink_fence + lightmap_gray + 3 3 0 8 + ( + v 44 0 -21 t 74000.383 30404.629 0 -0 + v 36 0 -29 t 71676.938 30508.07 0 -0.78125 + v 20 0 -13 t 70781.352 27557.521 0 -1.6255785 + ) + ( + v 44 0 -5 t 75185.828 28351.375 1.7198859 -0 + v 36 0 -5 t 73613.813 27443.77 1.7198859 -0.78125 + v 20 0 -5 t 71948.953 26406.523 1.7198859 -1.6255785 + ) + ( + v 44 0 27 t 76832.281 25499.637 3.3424802 -0 + v 28 0 27 t 74379.914 24083.762 3.3424802 -0.78125 + v 12 0 11 t 71667.289 24570.883 3.3424802 -1.6255785 + ) + } + } +// brush 6 + { + mesh + { +layer "000_Global/ZombieDoorwayBarricade01" + contents nonColliding; + chainlink_fence + lightmap_gray + 3 3 0 8 + ( + v 4 0 -37 t 67324.203 29188.98 0 -0 + v -12 0 -61 t 64076.129 30748.779 0 -1.0019512 + v -44 0 -69 t 59762.371 29507.348 0 -2.0961475 + ) + ( + v -12 0 -21 t 67119.289 26494.367 2.4705293 -0 + v -28 0 -21 t 65039.484 25449.729 2.4705293 -1.0019512 + v -44 0 -21 t 62872.453 24120.527 2.4705293 -2.0961475 + ) + ( + v -4 0 3 t 68887.313 24158.129 5.0360765 -0 + v -28 0 19 t 67559.984 20503.215 5.0360765 -1.0019512 + v -44 0 27 t 65982.539 18733.703 5.0360765 -2.0961475 + ) + } + } +// brush 7 +{ +layer "000_Global/ZombieDoorwayBarricade01" + contents weaponClip; + ( 43 -2 -5 ) ( -50 -2 -17 ) ( -50 -3.75 -17 ) berlin_wall_wood_slats 126.91025 -128.03444 -548.73645 -154.02202 179.722 0.00059691188 lightmap_gray 16229.53 16380.534 -541.28729 833.82111 180 -0.00032545201 + ( 42 -3.75 2 ) ( -51 -3.75 -10 ) ( -51 -2 -10 ) berlin_wall_wood_slats 126.91203 127.97974 -547.81616 156.875 -179.72174 -8.237594e-005 lightmap_gray 16229.034 16386.135 -540.3548 834.10767 -180 6.5112654e-005 + ( 42 -2 2 ) ( -51 -2 -10 ) ( -50 -2 -17 ) berlin_wall_wood_slats 128 -128 -552.04785 -162.88356 -172.79854 -0.00042818501 lightmap_gray 16384.314 -16385.393 -545.05908 -138.94554 -172.79979 0 + ( -50 -2 -17 ) ( -51 -2 -10 ) ( -51 -3.75 -10 ) berlin_wall_wood_slats 127.9875 -126.03455 -833.92352 -144.24232 180 0 lightmap_gray 16380.534 -16131.789 -833.82227 -144.22781 180 0 + ( 43 -3.75 -5 ) ( -50 -3.75 -17 ) ( -51 -3.75 -10 ) berlin_wall_wood_slats 128 -128 -545.05652 -138.91606 -172.7984 -0.00030926548 lightmap_gray 16384.711 -16383.773 -545.07117 -138.97539 -172.79515 0.00027823419 + ( 43 -3.75 -5 ) ( 42 -3.75 2 ) ( 42 -2 2 ) berlin_wall_wood_slats 128.06462 -126.03348 -834.43274 -130.10573 180 -0.0001373656 lightmap_gray 16385.6 -16132.285 -834.08215 -130.17323 180 0 +} +} +// entity 1 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "283.4 4.20508e-005 90" +"origin" "43.5 -3.0 -29.3" +} +// entity 2 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "static_berlin_wood_single" +"angles" "86.3 0 0" +"origin" "-40.0 -2.0 -39.5" +} +// entity 3 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "346.6 180 -89.9999" +"origin" "41.5 -4.0 -54.5" +} +// entity 4 +{ +"no_collmap" "1" +"origin" "-37.5 -3.0 -38.5" +"angles" "283.4 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 5 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "346.6 180 -89.9999" +"origin" "-46.5 -3.0 -25.5" +} +// entity 6 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "0 0 90" +"origin" "49.0 -2.5 -35.5" +} +// entity 7 +{ +"no_collmap" "1" +"origin" "-46.5 -2.0 -45.5" +"angles" "283.4 4.20508e-005 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 8 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "283.4 0 90" +"origin" "43.0 -3.0 -1.0" +} +// entity 9 +{ +"no_collmap" "1" +"origin" "-45.0 -2.5 9.5" +"angles" "0 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 10 +{ +"no_collmap" "1" +"origin" "-47.5 -3.5 -12.5" +"angles" "13.4 360 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 11 +{ +"no_collmap" "1" +"origin" "47.5 -2.0 0.0" +"angles" "273.9 0.00014717 -0.000156846" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 12 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "static_berlin_wood_single" +"angles" "89.4 180 -180" +"origin" "-49.5 -2.0 -25.5" +} +// entity 13 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "static_peleliu_corrugated_metal5" +"angles" "272.6 0 0" +"origin" "3.5 -4.5 -0.5" +} +// entity 14 +{ +"no_collmap" "1" +"origin" "12.5 -6.3 -60.5" +"angles" "344.5 180 -6.01564e-005" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 15 +{ +"no_collmap" "1" +"origin" "16.0 -6.5 -50.0" +"angles" "76.6 180 -90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 16 +{ +"no_collmap" "1" +"origin" "-23.3 -6.3 34.0" +"angles" "8.30005 180 -180" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 17 +{ +"no_collmap" "1" +"origin" "2.5 -4.5 -38.0" +"angles" "286.2 0 0" +"model" "static_peleliu_corrugated_metal5" +"classname" "misc_model" +} +// entity 18 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "76.6 180 -90" +"origin" "-19.3 -7.0 9.0" +} +// entity 19 +{ +"no_collmap" "1" +"origin" "-15.0 -8.3 -25.5" +"angles" "76.6 180 -90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 20 +{ +"no_collmap" "1" +"origin" "28.0 -8.0 -2.3" +"angles" "76.6 180 -90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} diff --git a/map_source/_prefabs/zombiemode/asylum_door_barricade_02.map b/map_source/_prefabs/zombiemode/asylum_door_barricade_02.map new file mode 100644 index 000000000..ac41e63ff --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_door_barricade_02.map @@ -0,0 +1,236 @@ +iwmap 4 +"000_Global" flags active +"000_Global/ZombieDoorwayBarricade02" flags +"The Map" flags +// entity 0 +{ +"sunradiosity" "2" +"_color" ".717647 .776471 .9" +"sundiffusecolor" ".717647 .776471 1.0" +"diffusefraction" "0.1" +"skyboxmodel" "skybox_ber1" +"sundirection" "209 126 0" +"spawnflags" "512" +"suncolor" "1 1 0.8" +"ambient" "0.12" +"sunlight" "1.4" +"classname" "worldspawn" +// brush 0 +{ +layer "000_Global/ZombieDoorwayBarricade02" + contents weaponClip; + ( 44 -4.25 -37 ) ( -31.25 -4.25 -52.75 ) ( -31.25 -6 -52.75 ) berlin_wall_wood_slats 125.36563 127.98047 -521.92352 831.67633 180 -0.0036920637 lightmap_gray 16046.285 16388.002 -521.86523 831.95349 180 -0.0050875051 + ( 43 -6 -31.5 ) ( -32.5 -6 -48.75 ) ( -32.5 -4.25 -48.75 ) berlin_wall_wood_slats 125.64259 127.98438 -521.93964 831.64362 180 0.0011595264 lightmap_gray 16082.34 16384.238 -521.8985 831.76215 180 -0.00045777031 + ( 43 -4.25 -31.5 ) ( -32.5 -4.25 -48.75 ) ( -31.25 -4.25 -52.75 ) berlin_wall_wood_slats 128 -128 -523.97205 -226.03186 -167.40002 0.00013844662 lightmap_gray 16385.184 -16386.213 -522.97699 -175.05472 -167.3999 0.00032214579 + ( -31.25 -4.25 -52.75 ) ( -32.5 -4.25 -48.75 ) ( -32.5 -6 -48.75 ) berlin_wall_wood_slats 128 -123.21574 -831.71069 -167.978 180 2.9830431e-005 lightmap_gray 16379.835 -15771.182 -831.53619 -168.10555 180 -8.7070213e-005 + ( 44 -6 -37 ) ( -31.25 -6 -52.75 ) ( -32.5 -6 -48.75 ) berlin_wall_wood_slats 128 -128.01192 -522.98193 -175.0488 -167.39977 0.00010954393 lightmap_gray 16384.285 -16385.885 -522.98529 -175.045 -167.40001 6.3135834e-005 + ( 44 -6 -37 ) ( 43 -6 -31.5 ) ( 43 -4.25 -31.5 ) berlin_wall_wood_slats 127.94144 -124.9576 -831.375 -164.27185 180 0 lightmap_gray 16382 -15994.832 -831.6601 -164.43733 180 0 +} +// brush 1 +{ +layer "000_Global/ZombieDoorwayBarricade02" + contents weaponClip; + ( 43.75 -4.25 10.25 ) ( 43.75 -6 10.25 ) ( -45.5 -6 5.75 ) berlin_wall_wood_slats 127.71776 -127.98828 -504.60736 -831.72754 0 -0.017576516 lightmap_gray 16348.24 -16388.002 -504.57739 -831.95349 0 -0.018345544 + ( -45.5 -4.25 0.75 ) ( -45.5 -6 0.75 ) ( 43.75 -6 3.75 ) berlin_wall_wood_slats 127.7746 -127.98828 -504.64227 -831.66852 0 0.00012205914 lightmap_gray 16355.227 -16382.5 -504.61002 -831.67413 0 0.00043737856 + ( -45.5 -4.25 0.75 ) ( 43.75 -4.25 3.75 ) ( 43.75 -4.25 10.25 ) berlin_wall_wood_slats 128 -128.00699 -507.35147 -196.27873 0.19916944 0 lightmap_gray 16384.924 -16386.572 -506.36539 -145.28093 0.19996457 0.00044344622 + ( 43.75 -6 10.25 ) ( 43.75 -4.25 10.25 ) ( 43.75 -4.25 3.75 ) berlin_wall_wood_slats 127.98714 126.46265 -831.66266 135.87729 180 0 lightmap_gray 16379.53 16186.993 -831.52728 136.01219 180 0 + ( -45.5 -6 5.75 ) ( 43.75 -6 10.25 ) ( 43.75 -6 3.75 ) berlin_wall_wood_slats 128 -128.004 -506.375 -145.25934 0.19997296 5.0845232e-005 lightmap_gray 16384.508 -16385.436 -506.375 -145.26343 0.20000647 -0.0002754117 + ( -45.5 -6 0.75 ) ( -45.5 -4.25 0.75 ) ( -45.5 -4.25 5.75 ) berlin_wall_wood_slats 127.96485 126.29346 -831.5166 140.40128 180 8.4069296e-005 lightmap_gray 16382.334 16166.285 -831.65295 140.56946 180 0 +} +// brush 2 +{ +layer "000_Global/ZombieDoorwayBarricade02" + contents weaponClip; + ( 43.75 -1 -64 ) ( 45.75 -1 -64 ) ( 45.75 0 -64 ) berlin_ceilings_metal_rust 128.00783 128 -642.25769 744.98334 0 0.0001373291 lightmap_gray 16384 16384 721.758 772.97198 0 2.0345053e-005 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128.01953 127.98958 -642.32275 744.93152 0 6.1030187e-005 lightmap_gray 16390.002 16385.334 722.01367 773.06061 0 -6.1040126e-005 + ( 43.75 -1 -64 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -715 83.25 -90 0 lightmap_gray 16383.68 16384 721.74261 316 0 0 + ( 45.75 0 -64 ) ( 45.75 -1 -64 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 127.99414 128 -744.96045 94 0 0 lightmap_gray 16385.668 16384 -693.06909 315.98651 0 0 + ( 45.75 0 -64 ) ( 45.75 0 29 ) ( 43.75 0 27 ) berlin_ceilings_metal_rust 128 128 -642.25 94 0 0 lightmap_gray 16384 16384 721.75 316 0 0 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 43.75 -1 -64 ) berlin_trim_metal 128 -64 -714.9834 -125.90439 -90 0 lightmap_gray 16382.25 16384 -692.92657 316.04434 0 0 +} +// brush 3 +{ +layer "000_Global/ZombieDoorwayBarricade02" + contents weaponClip; + ( -46.25 -1 -64 ) ( -44.25 -1 -64 ) ( -44.25 0 -64 ) berlin_ceilings_metal_rust 128 128 -678.30615 748 0 -9.1552734e-005 lightmap_gray 16381.988 16384.25 685.67145 775.97797 0 -0.00012207218 + ( -46.25 -1 29 ) ( -46.25 0 29 ) ( -44.25 0 27 ) berlin_ceilings_metal_rust 127.99219 128.00586 -678.18176 748.02722 0 6.103795e-005 lightmap_gray 16384 16384.25 685.73895 776.01044 0 0 + ( -46.25 -1 -64 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -607 82.75 90 0 lightmap_gray 16383.893 16383.973 685.75 316 0 0 + ( -44.25 0 -64 ) ( -44.25 -1 -64 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -606.98547 123.22331 90 0 lightmap_gray 16385.25 16384 -696.0498 316.02985 0 0 + ( -44.25 0 -64 ) ( -44.25 0 27 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 128 128 -678.25 94 0 0 lightmap_gray 16384 16383.99 685.75385 316 0 0 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -46.25 -1 -64 ) berlin_ceilings_metal_rust 128 128 -747.98865 94 0 0 lightmap_gray 16382.75 16384 -695.94623 316 0 0 +} +// brush 4 + { + mesh + { +layer "000_Global/ZombieDoorwayBarricade02" + contents nonColliding; + chainlink_fence + lightmap_gray + 2 2 16 8 + ( + v 44 0 -65 t 104763.73 -4214.9175 2.75 4.0625 + v -44 0 -65 t 92593.172 -4214.9175 -2.75 4.0625 + ) + ( + v 44 0 27 t 104763.73 -16332.807 2.75 -1.6875 + v -44 0 27 t 92593.172 -16332.807 -2.75 -1.6875 + ) + } + } +// brush 5 +{ +layer "000_Global/ZombieDoorwayBarricade02" + contents weaponClip; + ( -44.25 -1 27 ) ( 43.75 -1 27 ) ( 43.75 0 27 ) berlin_trim_metal 128 -64 -661.25 -123.0236 0 0 lightmap_gray 16383.988 16385.5 703.71356 776.07153 0 0 + ( -46.25 0 29 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128 128.00195 -660.20221 747.99487 0 0 lightmap_gray 16384 16387.5 703.73297 776.16687 0 0 + ( -44.25 -1 27 ) ( -46.25 -1 29 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -661.25 100 0 0 lightmap_gray 16384.051 16384 703.75 317 0 0 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128.02425 128.00195 -660.38348 747.98846 0 4.3144002e-005 lightmap_gray 16381.518 16386.5 703.68542 776.12164 0 0.00011366646 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 128 128 -660.25 95 0 0 lightmap_gray 16384.164 16384 703.75647 317 0 0 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_ceilings_metal_rust 128.00404 128.01367 -660.25916 748.07599 0 0.00030520838 lightmap_gray 16384 16378.752 703.71252 775.76849 0 -0.00018304681 +} +} +// entity 1 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "283.4 4.20508e-005 90" +"origin" "-46.8 -1.5 -7.5" +} +// entity 2 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "76.6 180 -89.9999" +"origin" "43.8 -2.5 -53.0" +} +// entity 3 +{ +"no_collmap" "1" +"origin" "-48.8 -0.5 -10.0" +"angles" "77.9 0 0" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 4 +{ +"no_collmap" "1" +"origin" "-44.3 -3.5 11.5" +"angles" "40.003 180.235 90.1445" +"model" "prefab_berlin_asylum_shutter1" +"classname" "misc_model" +} +// entity 5 +{ +"no_collmap" "1" +"origin" "24.3 -4.5 -51.5" +"angles" "76.6 180 -90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 6 +{ +"no_collmap" "1" +"origin" "-14.0 -7.5 -38.3" +"angles" "277.8 1.28839e-007 90.0002" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 7 +{ +"no_collmap" "1" +"origin" "-43.3 -2.5 -37.0" +"angles" "0 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 8 +{ +"no_collmap" "1" +"origin" "-45.8 -2.0 -49.5" +"angles" "346.6 180 -89.9999" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 9 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "static_berlin_wood_single" +"angles" "270.1 3.00537e-005 0.000225824" +"origin" "46.8 -1.5 -52.0" +} +// entity 10 +{ +"no_collmap" "1" +"origin" "20.3 -3.5 -54.5" +"angles" "18.2983 359.798 -90.0726" +"model" "prefab_berlin_asylum_shutter1" +"classname" "misc_model" +} +// entity 11 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "7.79988 9.83622e-006 90.0001" +"origin" "26.3 -7.0 -4.5" +} +// entity 12 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "354.6 0 90" +"origin" "-43.0 -5.5 3.5" +} +// entity 13 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "82 180 -90" +"origin" "41.3 -7.0 6.8" +} +// entity 14 +{ +"no_collmap" "1" +"origin" "-28.5 -7.3 -49.8" +"angles" "278 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 15 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "static_berlin_wood_single" +"angles" "47.9 0 0" +"origin" "-29.5 -6.5 -53.0" +} +// entity 16 +{ +"no_collmap" "1" +"origin" "46.0 -2.3 -33.5" +"angles" "270 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 17 +{ +"no_collmap" "1" +"origin" "-46.8 -1.5 -39.0" +"angles" "85 0 0" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 18 +{ +"no_collmap" "1" +"origin" "36.0 -6.0 -35.5" +"angles" "7.99989 9.84093e-006 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} diff --git a/map_source/_prefabs/zombiemode/asylum_door_barricade_03.map b/map_source/_prefabs/zombiemode/asylum_door_barricade_03.map new file mode 100644 index 000000000..171c0f9e4 --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_door_barricade_03.map @@ -0,0 +1,256 @@ +iwmap 4 +"000_Global" flags active +"000_Global/ZombieDoorwayBarricade03" flags +"The Map" flags +// entity 0 +{ +"sunradiosity" "2" +"_color" ".717647 .776471 .9" +"sundiffusecolor" ".717647 .776471 1.0" +"diffusefraction" "0.1" +"skyboxmodel" "skybox_ber1" +"sundirection" "209 126 0" +"spawnflags" "512" +"suncolor" "1 1 0.8" +"ambient" "0.12" +"sunlight" "1.4" +"classname" "worldspawn" +// brush 0 +{ +layer "000_Global/ZombieDoorwayBarricade03" + contents weaponClip; + ( 42 -1.25 -2.5 ) ( -51 -1.25 -14.5 ) ( -51 -3.25 -14.5 ) berlin_wall_wood_slats 126.90974 -128.04636 -547.72766 -153.2946 179.72107 0.00088434468 lightmap_gray 16229.582 16381.961 -540.29004 834.64398 180 -0.00011266627 + ( 41 -3.25 4.5 ) ( -52 -3.25 -7.5 ) ( -52 -1.25 -7.5 ) berlin_wall_wood_slats 126.91228 127.9825 -546.82135 157.63344 -179.72252 9.535392e-005 lightmap_gray 16229.113 16383.385 -539.35706 834.7168 -180 0.00015023476 + ( 41 -1.25 4.5 ) ( -52 -1.25 -7.5 ) ( -51 -1.25 -14.5 ) berlin_wall_wood_slats 128 -128 -551.36652 -160.27551 -172.79802 -0.00029145097 lightmap_gray 16384.367 -16384.496 -544.38367 -136.33311 -172.79971 -1.8083651e-005 + ( -51 -1.25 -14.5 ) ( -52 -1.25 -7.5 ) ( -52 -3.25 -7.5 ) berlin_wall_wood_slats 127.98558 -126.03469 -834.66089 -141.7438 180 0 lightmap_gray 16382.154 -16131.834 -834.65442 -141.72951 180 0 + ( 42 -3.25 -2.5 ) ( -51 -3.25 -14.5 ) ( -52 -3.25 -7.5 ) berlin_wall_wood_slats 128 -128 -544.37885 -136.30914 -172.79834 -0.00043224063 lightmap_gray 16384.752 -16383.762 -544.39453 -136.37006 -172.79515 0.00016198581 + ( 42 -3.25 -2.5 ) ( 41 -3.25 4.5 ) ( 41 -1.25 4.5 ) berlin_wall_wood_slats 128.07697 -126.03416 -835.26251 -127.60729 180 -4.2926978e-005 lightmap_gray 16383.691 -16132.372 -834.7345 -127.6778 180 0 +} +// brush 1 +{ +layer "000_Global/ZombieDoorwayBarricade03" + contents weaponClip; + ( 56 -1.25 11.5 ) ( -55 -1.25 9 ) ( -55 -3.25 9 ) berlin_wall_wood_slats 127.853 127.99609 -548.47876 834.77936 180 -3.7558952e-005 lightmap_gray 16365.295 16389.965 -548.44232 835.05493 180 -0.00056360656 + ( 56 -3.25 17 ) ( -55 -3.25 15 ) ( -55 -1.25 15 ) berlin_wall_wood_slats 127.85187 127.98558 -548.34998 834.65045 180 0.00048822624 lightmap_gray 16365.049 16381.961 -548.31036 834.64655 180 0 + ( 56 -1.25 17 ) ( -55 -1.25 15 ) ( -55 -1.25 9 ) berlin_wall_wood_slats 128 -127.99553 -550.23737 -170.0074 -179 9.9095116e-005 lightmap_gray 16384.805 -16383.717 -549.24884 -119.01254 -179 0.0002949601 + ( -55 -1.25 9 ) ( -55 -1.25 15 ) ( -55 -3.25 15 ) berlin_wall_wood_slats 127.98558 -127.37212 -834.66095 -119.26945 180 0 lightmap_gray 16381.04 -16303.136 -834.5976 -119.40743 -180 0 + ( 56 -3.25 11.5 ) ( -55 -3.25 9 ) ( -55 -3.25 15 ) berlin_wall_wood_slats 128 -128 -549.23706 -119.01855 -179 -0.00016231822 lightmap_gray 16384.02 -16383.756 -549.22815 -119.00665 -179 -0.0001307631 + ( 56 -3.25 11.5 ) ( 56 -3.25 17 ) ( 56 -1.25 17 ) berlin_wall_wood_slats 127.95525 -127.37064 -834.46222 -117.22359 180 -3.3803604e-005 lightmap_gray 16381.846 -16303.578 -834.6402 -117.38751 180 0 +} +// brush 2 + { + mesh + { +layer "000_Global/ZombieDoorwayBarricade03" + contents nonColliding; + chainlink_fence + lightmap_gray + 3 3 0 8 + ( + v -44 -0.75 -21 t 74000.383 30404.629 0 -0 + v -36 -0.75 -13 t 71676.938 30508.07 0 -0.78125 + v -20 -0.75 -29 t 70781.352 27557.521 0 -1.6255785 + ) + ( + v -44 -0.75 -37 t 75185.828 28351.375 1.7198859 -0 + v -36 -0.75 -37 t 73613.813 27443.77 1.7198859 -0.78125 + v -20 -0.75 -37 t 71948.953 26406.523 1.7198859 -1.6255785 + ) + ( + v -44 -0.75 -69 t 76832.281 25499.637 3.3424802 -0 + v -28 -0.75 -69 t 74379.914 24083.762 3.3424802 -0.78125 + v -12 -0.75 -53 t 71667.289 24570.883 3.3424802 -1.6255785 + ) + } + } +// brush 3 +{ +layer "000_Global/ZombieDoorwayBarricade03" + contents weaponClip; + ( 43 -1.25 -56 ) ( -50.5 -1.25 -45.5 ) ( -50.5 -3.25 -45.5 ) berlin_wall_wood_slats 127.20598 -128.03717 -549.66931 -153.28908 179.72043 0.00012090837 lightmap_gray 16267.406 16380.925 -542.21906 834.59058 180 -0.00013143566 + ( 43.5 -3.25 -48.5 ) ( -49.5 -3.25 -38.5 ) ( -49.5 -1.25 -38.5 ) berlin_wall_wood_slats 127.21048 127.98248 -550.46808 157.62741 -179.72174 0.00023609084 lightmap_gray 16266.929 16383.691 -542.966 834.73187 180 -0.00035681418 + ( 43.5 -1.25 -48.5 ) ( -49.5 -1.25 -38.5 ) ( -50.5 -1.25 -45.5 ) berlin_wall_wood_slats 128 -128 -558.78845 -203.05573 173.59937 -0.00044150741 lightmap_gray 16384.697 -16384.699 -551.80884 -179.09793 173.59528 0 + ( -50.5 -1.25 -45.5 ) ( -49.5 -1.25 -38.5 ) ( -49.5 -3.25 -38.5 ) berlin_wall_wood_slats 127.98077 -126.65328 -834.63025 -173.28493 -180 -4.1321524e-005 lightmap_gray 16379.692 -16210.672 -834.53027 -173.26343 180 0 + ( 43 -3.25 -56 ) ( -50.5 -3.25 -45.5 ) ( -49.5 -3.25 -38.5 ) berlin_wall_wood_slats 128 -128 -551.7702 -179.08496 173.60312 9.1843409e-005 lightmap_gray 16384.963 -16383.297 -551.79108 -179.16736 173.59909 0.00026935263 + ( 43 -3.25 -56 ) ( 43.5 -3.25 -48.5 ) ( 43.5 -1.25 -48.5 ) berlin_wall_wood_slats 128.13716 -126.6525 -835.66522 -181.33665 180 -0.00020841679 lightmap_gray 16384.115 -16211.762 -834.75665 -181.40685 180 -2.2258437e-005 +} +// brush 4 +{ +layer "000_Global/ZombieDoorwayBarricade03" + contents weaponClip; + ( 43.75 -1 -64 ) ( 45.75 -1 -64 ) ( 45.75 0 -64 ) berlin_ceilings_metal_rust 128.01555 128 -642.29901 744.98193 0 0.00012207031 lightmap_gray 16384 16384 721.75763 772.96307 0 0 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128.07925 127.99219 -642.64362 744.9552 0 0.00036829169 lightmap_gray 16385.932 16385 721.84631 773.04858 0 0 + ( 43.75 -1 -64 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -715.00812 83.256462 -90 0 lightmap_gray 16385.646 16383.984 721.82373 316 0 0 + ( 45.75 0 -64 ) ( 45.75 -1 -64 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 127.99219 128 -744.9491 94 0 0 lightmap_gray 16386 16384 -693.08313 315.98651 0 0 + ( 45.75 0 -64 ) ( 45.75 0 29 ) ( 43.75 0 27 ) berlin_ceilings_metal_rust 127.99335 128 -642.21252 94 0 0 lightmap_gray 16385.006 16384 721.78857 316 0 0 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 43.75 -1 -64 ) berlin_trim_metal 128 -64 -714.9834 -125.90439 -90 0 lightmap_gray 16382 16384.018 -692.91602 316.04468 0 0 +} +// brush 5 + { + mesh + { +layer "000_Global/ZombieDoorwayBarricade03" + contents nonColliding; + chainlink_fence + lightmap_gray + 3 3 0 8 + ( + v -4 0 -5 t 67324.203 29188.98 0 -0 + v 12 0 19 t 64076.129 30748.779 0 -1.0019512 + v 44 0 27 t 59762.371 29507.348 0 -2.0961475 + ) + ( + v 12 0 -21 t 67119.289 26494.367 2.4705293 -0 + v 28 0 -21 t 65039.484 25449.729 2.4705293 -1.0019512 + v 44 0 -21 t 62872.453 24120.527 2.4705293 -2.0961475 + ) + ( + v 4 0 -45 t 68887.313 24158.129 5.0360765 -0 + v 28 0 -61 t 67559.984 20503.215 5.0360765 -1.0019512 + v 44 0 -69 t 65982.539 18733.703 5.0360765 -2.0961475 + ) + } + } +// brush 6 +{ +layer "000_Global/ZombieDoorwayBarricade03" + contents weaponClip; + ( -44.25 -1 27 ) ( 43.75 -1 27 ) ( 43.75 0 27 ) berlin_trim_metal 128 -64 -661.25 -123.0235 0 0 lightmap_gray 16384 16386 703.71387 776.09491 0 0 + ( -46.25 0 29 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128 128 -660.20264 747.98328 0 -6.104241e-005 lightmap_gray 16384 16387 703.73291 776.14325 0 0 + ( -44.25 -1 27 ) ( -46.25 -1 29 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -661.25 100 0 -9.2225273e-005 lightmap_gray 16384.146 16384.748 703.75726 317.0134 0 -0.00012851959 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128.0625 128 -660.59424 747.98309 0 0 lightmap_gray 16382 16386 703.70483 776.099 0 0.00012208521 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 128 128 -660.25671 95 0 0.00027499365 lightmap_gray 16384.24 16383.719 703.75 316.99295 0 0.00040454752 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_ceilings_metal_rust 128 128.01563 -660.23962 748.0874 0 0.00030521303 lightmap_gray 16384 16379.002 703.71252 775.78033 0 -0.0001830496 +} +// brush 7 +{ +layer "000_Global/ZombieDoorwayBarricade03" + contents weaponClip; + ( -46.25 -1 -64 ) ( -44.25 -1 -64 ) ( -44.25 0 -64 ) berlin_ceilings_metal_rust 128 128 -678.30603 748 0 -0.00012207031 lightmap_gray 16381.514 16384 685.65027 775.96619 0 -0.00012207031 + ( -46.25 -1 29 ) ( -46.25 0 29 ) ( -44.25 0 27 ) berlin_ceilings_metal_rust 127.92004 128.00781 -677.82458 748.03583 0 0 lightmap_gray 16388.141 16384 685.92383 775.99805 0 0 + ( -46.25 -1 -64 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -607.0069 82.745758 90 0 lightmap_gray 16384.605 16384 685.784 316 0 0 + ( -44.25 0 -64 ) ( -44.25 -1 -64 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -606.98547 123.22332 90 0 lightmap_gray 16385 16384 -696.03918 316.02985 0 0 + ( -44.25 0 -64 ) ( -44.25 0 27 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 128.00513 128 -678.27533 94 0 0 lightmap_gray 16383.051 16383.979 685.7099 316 0 0 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -46.25 -1 -64 ) berlin_ceilings_metal_rust 128 128 -747.98865 94 0 0 lightmap_gray 16383 16384 -695.95685 316 0 0 +} +} +// entity 1 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "0 0 90" +"origin" "-43.5 -4.3 12.0" +} +// entity 2 +{ +"no_collmap" "1" +"origin" "51.5 -2.8 14.0" +"angles" "283.4 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 3 +{ +"no_collmap" "1" +"origin" "-41.0 -1.3 -37.0" +"angles" "86.3 0 0" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 4 +{ +"no_collmap" "1" +"origin" "40.5 -3.0 -52.0" +"angles" "346.6 180 -89.9999" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 5 +{ +"no_collmap" "1" +"origin" "-47.5 -2.8 -43.0" +"angles" "283.4 4.20508e-005 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 6 +{ +"no_collmap" "1" +"origin" "-47.5 -2.3 -23.0" +"angles" "346.6 180 -89.9999" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 7 +{ +"no_collmap" "1" +"origin" "-48.5 -2.8 -10.0" +"angles" "13.4 360 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 8 +{ +"no_collmap" "1" +"origin" "-51.5 -2.8 12.0" +"angles" "76.6 180 -90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 9 +{ +"no_collmap" "1" +"origin" "-50.5 -1.3 -23.0" +"angles" "89.4 180 -180" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 10 +{ +"origin" "0.0 -4.0 2.5" +"angles" "83.8 180 -180" +"model" "static_peleliu_corrugated_metal5" +"classname" "misc_model" +"no_collmap" "1" +} +// entity 11 +{ +"classname" "misc_model" +"model" "static_peleliu_corrugated_metal5" +"angles" "86.2 3.23167e-007 180" +"origin" "3.3 -4.0 -34.3" +"no_collmap" "1" +} +// entity 12 +{ +"no_collmap" "1" +"origin" "48.3 -4.0 -33.3" +"angles" "13.4 360 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 13 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "283.4 0 90" +"origin" "-38.5 -6.0 -36.0" +} +// entity 14 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "76.6 180 -90" +"origin" "26.8 -6.0 -0.5" +} +// entity 15 +{ +"no_collmap" "1" +"origin" "-41.0 -5.3 -39.0" +"angles" "58.5 0 0" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} diff --git a/map_source/_prefabs/zombiemode/asylum_door_barricade_04.map b/map_source/_prefabs/zombiemode/asylum_door_barricade_04.map new file mode 100644 index 000000000..6d0a9b7ba --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_door_barricade_04.map @@ -0,0 +1,277 @@ +iwmap 4 +"000_Global" flags active +"000_Global/ZombieDoorwayBarricade04" flags +"The Map" flags +// entity 0 +{ +"sunradiosity" "2" +"_color" ".717647 .776471 .9" +"sundiffusecolor" ".717647 .776471 1.0" +"diffusefraction" "0.1" +"skyboxmodel" "skybox_ber1" +"sundirection" "209 126 0" +"spawnflags" "512" +"suncolor" "1 1 0.8" +"ambient" "0.12" +"sunlight" "1.4" +"classname" "worldspawn" +// brush 0 +{ +layer "000_Global/ZombieDoorwayBarricade04" + contents weaponClip; + ( 43.75 -1 -64 ) ( 45.75 -1 -64 ) ( 45.75 0 -64 ) berlin_ceilings_metal_rust 128.00769 128 -642.25665 744.98334 0 0.00012207031 lightmap_gray 16384 16384 721.75793 772.95587 0 -0.00012340442 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128.08385 127.99219 -642.6673 744.94543 0 0.00018730035 lightmap_gray 16389.588 16385 721.99652 773.05383 0 -0.00018732504 + ( 43.75 -1 -64 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -715.00409 83.248116 -90 0 lightmap_gray 16385.852 16384 721.83148 315.99738 0 0 + ( 45.75 0 -64 ) ( 45.75 -1 -64 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 127.99219 128 -744.9491 94 0 0 lightmap_gray 16386 16384 -693.08313 315.98651 0 0 + ( 45.75 0 -64 ) ( 45.75 0 29 ) ( 43.75 0 27 ) berlin_ceilings_metal_rust 127.99197 128 -642.20844 93.995392 0 0 lightmap_gray 16382.711 16384 721.69727 316 0 0 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 43.75 -1 -64 ) berlin_trim_metal 128 -64 -714.9834 -125.90439 -90 0 lightmap_gray 16382 16384.018 -692.91602 316.04468 0 0 +} +// brush 1 +{ +layer "000_Global/ZombieDoorwayBarricade04" + contents weaponClip; + ( -46.25 -1 -64 ) ( -44.25 -1 -64 ) ( -44.25 0 -64 ) berlin_ceilings_metal_rust 128 128 -678.30579 748 0 -0.00024414063 lightmap_gray 16380.995 16384 685.62732 775.96631 0 -0.00012207031 + ( -46.25 -1 29 ) ( -46.25 0 29 ) ( -44.25 0 27 ) berlin_ceilings_metal_rust 127.93619 128.00781 -677.90527 748.034 0 0.00012418373 lightmap_gray 16384.586 16384 685.7652 775.99194 0 0 + ( -46.25 -1 -64 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -606.98145 82.761986 90 0 lightmap_gray 16384.455 16383.994 685.77203 316 0 0 + ( -44.25 0 -64 ) ( -44.25 -1 -64 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -606.98547 123.22331 90 0 lightmap_gray 16385 16384 -696.03918 316.02985 0 0 + ( -44.25 0 -64 ) ( -44.25 0 27 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 127.99559 128 -678.23151 94 0 0 lightmap_gray 16384.385 16384 685.77118 316.00311 0 0 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -46.25 -1 -64 ) berlin_ceilings_metal_rust 128 128 -747.98865 94 0 0 lightmap_gray 16383 16384 -695.95685 316 0 0 +} +// brush 2 +{ +layer "000_Global/ZombieDoorwayBarricade04" + contents weaponClip; + ( -44.25 -1 27 ) ( 43.75 -1 27 ) ( 43.75 0 27 ) berlin_trim_metal 128 -64 -661.25 -123.02361 0 0 lightmap_gray 16384.137 16386 703.71973 776.0943 0 0 + ( -46.25 0 29 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128 128 -660.20239 747.98291 0 6.1027906e-005 lightmap_gray 16383.936 16387 703.73022 776.14386 0 0 + ( -44.25 -1 27 ) ( -46.25 -1 29 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -661.25 100 0 0 lightmap_gray 16384.227 16384.604 703.76862 317.01276 0 -0.00045685351 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128.03127 128 -660.42255 747.97412 0 0 lightmap_gray 16380 16387 703.62317 776.15405 0 0.00012209266 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 128 128 -660.25 95 0 0.00014850528 lightmap_gray 16384.262 16384.117 703.75342 317 0 0.00027252216 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_ceilings_metal_rust 128 128.01563 -660.23987 748.0874 0 0.00036625564 lightmap_gray 16384 16379.002 703.7124 775.78033 0 -0.0001830496 +} +// brush 3 +{ +layer "000_Global/ZombieDoorwayBarricade04" + contents weaponClip; + ( 43.5 -0.5 -58 ) ( -49.5 -0.5 -48 ) ( -49.5 -2.5 -48 ) berlin_wall_wood_slats 127.20647 -128.05182 -550.4267 -152.56325 179.72017 -0.00035318438 lightmap_gray 16267.127 16380.802 -542.96149 835.33228 180 -0.00024409297 + ( 44 -2.5 -53.75 ) ( -49.25 -2.5 -43.25 ) ( -49.25 -0.5 -43.25 ) berlin_wall_wood_slats 127.21335 127.97896 -551.23938 158.3679 -179.72174 0.0004919123 lightmap_gray 16266.901 16384.4 -543.71649 835.51764 180 0.00011596963 + ( 44 -0.5 -53.75 ) ( -49.25 -0.5 -43.25 ) ( -49.5 -0.5 -48 ) berlin_wall_wood_slats 128 -128 -559.76611 -205.21649 173.59818 -0.00013581604 lightmap_gray 16384.588 -16384.018 -552.82446 -181.23868 173.59947 -0.00039136494 + ( -49.5 -0.5 -48 ) ( -49.25 -0.5 -43.25 ) ( -49.25 -2.5 -43.25 ) berlin_wall_wood_slats 127.99063 -126.65194 -835.44318 -175.53117 180 0 lightmap_gray 16381.199 -16210.794 -835.35583 -175.51405 180 0 + ( 43.5 -2.5 -58 ) ( -49.5 -2.5 -48 ) ( -49.25 -2.5 -43.25 ) berlin_wall_wood_slats 128 -128 -552.78369 -181.26399 173.5975 -0.0002908321 lightmap_gray 16385.039 -16383.094 -552.7851 -181.31953 173.59895 0.0004435734 + ( 43.5 -2.5 -58 ) ( 44 -2.5 -53.75 ) ( 44 -0.5 -53.75 ) berlin_wall_wood_slats 128.125 -126.65445 -836.33069 -183.58749 180 -0.00012780959 lightmap_gray 16385.201 -16211.601 -835.56201 -183.65553 180 0 +} +// brush 4 +{ +layer "000_Global/ZombieDoorwayBarricade04" + contents weaponClip; + ( 43 -2 -5 ) ( -50 -2 -17 ) ( -50 -4 -17 ) berlin_wall_wood_slats 126.90625 -128.03513 -548.7063 -154.0247 179.722 0.00025510814 lightmap_gray 16229.558 16382.75 -541.28864 833.93597 180 -0.00027509025 + ( 41.5 -4 5.25 ) ( -51.5 -4 -6.75 ) ( -51.5 -2 -6.75 ) berlin_wall_wood_slats 126.90878 127.98482 -547.78937 156.88472 -179.722 -0.00023332523 lightmap_gray 16229.014 16386.5 -540.35309 834.125 180 -0.00027470011 + ( 41.5 -2 5.25 ) ( -51.5 -2 -6.75 ) ( -50 -2 -17 ) berlin_wall_wood_slats 128 -128 -552.05634 -162.88226 -172.79828 -0.00035525227 lightmap_gray 16384.639 -16385.502 -545.07758 -138.94356 -172.80115 0.00014386728 + ( -50 -2 -17 ) ( -51.5 -2 -6.75 ) ( -51.5 -4 -6.75 ) berlin_wall_wood_slats 127.98828 -126.03479 -833.92908 -144.24248 180 0 lightmap_gray 16381.5 -16131.77 -833.87134 -144.22763 180 0 + ( 43 -4 -5 ) ( -50 -4 -17 ) ( -51.5 -4 -6.75 ) berlin_wall_wood_slats 128 -128 -545.06702 -138.9175 -172.79854 3.0308915e-005 lightmap_gray 16385.074 -16384.174 -545.0871 -138.97882 -172.79501 0.00025266944 + ( 43 -4 -5 ) ( 41.5 -4 5.25 ) ( 41.5 -2 5.25 ) berlin_wall_wood_slats 128.0625 -126.03373 -834.41882 -130.10602 180 -0.00013485306 lightmap_gray 16385.5 -16132.317 -834.07709 -130.17343 180 0 +} +// brush 5 + { + mesh + { +layer "000_Global/ZombieDoorwayBarricade04" + contents nonColliding; + chainlink_fence + lightmap_gray + 3 3 0 8 + ( + v -25 0 -38.5 t -3012.9766 3894.542 0 -0 + v -32 0 -63 t -3856.6108 6372.8872 0 -1.0019512 + v -44 0 -69 t -5302.8418 6979.8301 0 -2.0961475 + ) + ( + v -32 0 -22.5 t -3856.6108 2276.0315 2.4705293 -0 + v -38.75 0 -23 t -4670.1162 2326.6099 2.4705293 -1.0019512 + v -44 0 -21 t -5302.8418 2124.2954 2.4705293 -2.0961475 + ) + ( + v -28.5 0 1.5 t -3434.7942 -151.73541 5.0360765 -0 + v -38.75 0 17 t -4670.1162 -1719.668 5.0360765 -1.0019512 + v -44 0 27 t -5302.8418 -2731.2375 5.0360765 -2.0961475 + ) + } + } +// brush 6 + { + mesh + { +layer "000_Global/ZombieDoorwayBarricade04" + contents nonColliding; + chainlink_fence + lightmap_gray + 3 3 0 8 + ( + v 44 0 -21 t 74000.383 30404.629 0 -0 + v 30 0 -27.5 t 71676.938 30508.07 0 -0.78125 + v 13.5 0 -13 t 70781.352 27557.521 0 -1.6255785 + ) + ( + v 44 0 -5 t 75185.828 28351.375 1.7198859 -0 + v 30 0 -3.5 t 73613.813 27443.77 1.7198859 -0.78125 + v 13.5 0 -5 t 71948.953 26406.523 1.7198859 -1.6255785 + ) + ( + v 44 0 27 t 76832.281 25499.637 3.3424802 -0 + v 15.5 0 28.5 t 74379.914 24083.762 3.3424802 -0.78125 + v -1 0 11 t 71667.289 24570.883 3.3424802 -1.6255785 + ) + } + } +} +// entity 1 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "13.4 360 90" +"origin" "-47.5 -3.5 -12.5" +} +// entity 2 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "0 0 90" +"origin" "-45.0 -2.5 9.5" +} +// entity 3 +{ +"no_collmap" "1" +"origin" "43.0 -3.0 -1.0" +"angles" "283.4 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 4 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "static_berlin_wood_single" +"angles" "273.9 0.00014717 -0.000156846" +"origin" "47.5 -2.0 0.0" +} +// entity 5 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "283.4 4.20508e-005 90" +"origin" "-46.5 -2.0 -45.5" +} +// entity 6 +{ +"no_collmap" "1" +"origin" "49.0 -2.5 -35.5" +"angles" "0 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 7 +{ +"no_collmap" "1" +"origin" "12.5 -4.0 -60.5" +"angles" "344.5 180 -6.01564e-005" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 8 +{ +"no_collmap" "1" +"origin" "-46.5 -3.0 -25.5" +"angles" "346.6 180 -89.9999" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 9 +{ +"no_collmap" "1" +"origin" "-49.5 -2.0 -25.5" +"angles" "89.4 180 -180" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 10 +{ +"no_collmap" "1" +"origin" "-40.0 -2.0 -39.5" +"angles" "86.3 0 0" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 11 +{ +"origin" "4.5 -6.0 -24.0" +"angles" "81.6 1.70858e-007 -179.999" +"model" "static_peleliu_corrugated_metal1" +"classname" "misc_model" +"no_collmap" "1" +} +// entity 12 +{ +"no_collmap" "1" +"origin" "28.5 -6.5 1.0" +"angles" "76.6 180 -90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 13 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "76.6 180 -90" +"origin" "16.0 -4.8 -52.0" +} +// entity 14 +{ +"no_collmap" "1" +"origin" "41.5 -2.3 -56.5" +"angles" "346.6 180 -89.9999" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 15 +{ +"no_collmap" "1" +"origin" "37.5 -6.5 -28.5" +"angles" "13.4 360 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 16 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "283.4 0 90" +"origin" "-37.5 -5.5 -38.5" +} +// entity 17 +{ +"no_collmap" "1" +"origin" "-29.8 -4.0 34.0" +"angles" "8.7 180 -180" +"model" "static_berlin_wood_single" +"classname" "misc_model" +} +// entity 18 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "76.6 180 -90" +"origin" "-23.0 -6.5 -6.5" +} +// entity 19 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "76.6 180 -90" +"origin" "-25.5 -4.8 7.5" +} diff --git a/map_source/_prefabs/zombiemode/asylum_door_barricade_05.map b/map_source/_prefabs/zombiemode/asylum_door_barricade_05.map new file mode 100644 index 000000000..2f37920f4 --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_door_barricade_05.map @@ -0,0 +1,278 @@ +iwmap 4 +"000_Global" flags active +"000_Global/ZombieDoorwayBarricade05" flags +"The Map" flags +// entity 0 +{ +"sunradiosity" "2" +"_color" ".717647 .776471 .9" +"sundiffusecolor" ".717647 .776471 1.0" +"diffusefraction" "0.1" +"skyboxmodel" "skybox_ber1" +"sundirection" "209 126 0" +"spawnflags" "512" +"suncolor" "1 1 0.8" +"ambient" "0.12" +"sunlight" "1.4" +"classname" "worldspawn" +// brush 0 + { + mesh + { +layer "000_Global/ZombieDoorwayBarricade05" + contents nonColliding; + chainlink_fence + lightmap_gray + 3 3 0 8 + ( + v -44 0 -21 t 74000.383 30404.629 0 -0 + v -36 0 -13 t 71676.938 30508.07 0 -0.78125 + v -20 0 -29 t 70781.352 27557.521 0 -1.6255785 + ) + ( + v -44 0 -37 t 75185.828 28351.375 1.7198859 -0 + v -36 0 -37 t 73613.813 27443.77 1.7198859 -0.78125 + v -20 0 -37 t 71948.953 26406.523 1.7198859 -1.6255785 + ) + ( + v -44 0 -69 t 76832.281 25499.637 3.3424802 -0 + v -28 0 -69 t 74379.914 24083.762 3.3424802 -0.78125 + v -12 0 -53 t 71667.289 24570.883 3.3424802 -1.6255785 + ) + } + } +// brush 1 +{ +layer "000_Global/ZombieDoorwayBarricade05" + contents weaponClip; + ( 42.75 -4 10.5 ) ( 38.25 -4 -46 ) ( 38.5 -5.75 -46 ) berlin_wall_wood_slats 127.7169 -127.98576 -502.47894 -831.96118 -90 -0.0021054787 lightmap_gray 16347.522 -16388.072 -502.4339 -832.20703 -90 -0.0026862144 + ( 37.75 -5.75 11 ) ( 33 -5.75 -45.75 ) ( 33 -4 -45.75 ) berlin_wall_wood_slats 127.66299 -127.99049 -502.65652 -831.93292 -90 0.00080135866 lightmap_gray 16340.827 -16384.174 -502.61188 -832.00891 -90 -0.0005201312 + ( 37.75 -4 11 ) ( 33 -4 -45.75 ) ( 38.25 -4 -46 ) berlin_wall_wood_slats 128 -128.0074 -507.58319 -222.79245 -94 -5.7890244e-005 lightmap_gray 16384.779 -16385.715 -506.56372 -171.80235 -94 0.00047644516 + ( 38.5 -5.75 -46 ) ( 38.25 -4 -46 ) ( 33 -4 -45.75 ) berlin_wall_wood_slats 128.00136 -126.52501 -831.96692 -160.29192 -90 0.00010259271 lightmap_gray 16378.09 -16194.22 -831.68994 -160.42151 -90 0 + ( 43 -5.75 10.5 ) ( 38.5 -5.75 -46 ) ( 33 -5.75 -45.75 ) berlin_wall_wood_slats 128 -128.00681 -506.59778 -171.79462 -94 -0.00022801945 lightmap_gray 16384.166 -16386.031 -506.59003 -171.79776 -94 -3.4243905e-005 + ( 37.75 -5.75 11 ) ( 37.75 -4 11 ) ( 42.75 -4 10.5 ) berlin_wall_wood_slats 127.95245 -126.83839 -831.68182 -171.27884 -90 0 lightmap_gray 16382.262 -16235.407 -831.9021 -171.44447 -90 0 +} +// brush 2 +{ +layer "000_Global/ZombieDoorwayBarricade05" + contents weaponClip; + ( 56 -0.5 11.5 ) ( -55 -0.5 9 ) ( -55 -2.5 9 ) berlin_wall_wood_slats 127.85243 128.00938 -548.47552 835.61639 180 -0.00012207926 lightmap_gray 16365.332 16388.801 -548.44348 835.74579 180 -0.00087305851 + ( 56 -2.5 17 ) ( -55 -2.5 15 ) ( -55 -0.5 15 ) berlin_wall_wood_slats 127.85191 127.9875 -548.34967 835.41309 180 0.0004638219 lightmap_gray 16365.066 16382.4 -548.31024 835.41919 180 -0.00021970511 + ( 56 -0.5 17 ) ( -55 -0.5 15 ) ( -55 -0.5 9 ) berlin_wall_wood_slats 128 -127.99448 -550.23999 -170.00595 -179 0.00012848721 lightmap_gray 16384.699 -16383.719 -549.24451 -119.01318 -179 0.00029103944 + ( -55 -0.5 9 ) ( -55 -0.5 15 ) ( -55 -2.5 15 ) berlin_wall_wood_slats 127.99374 -127.37224 -835.46454 -119.26958 180 0 lightmap_gray 16381.199 -16303.151 -835.35577 -119.40756 180 0 + ( 56 -2.5 11.5 ) ( -55 -2.5 9 ) ( -55 -2.5 15 ) berlin_wall_wood_slats 128 -128 -549.23962 -119.02013 -179 -0.00027014138 lightmap_gray 16384 -16383.881 -549.22778 -119.01028 -179 -0.00014469003 + ( 56 -2.5 11.5 ) ( 56 -2.5 17 ) ( 56 -0.5 17 ) berlin_wall_wood_slats 127.95627 -127.37167 -835.21539 -117.22468 180 -1.7635446e-005 lightmap_gray 16381.6 -16303.574 -835.37769 -117.38748 180 0 +} +// brush 3 +{ +layer "000_Global/ZombieDoorwayBarricade05" + contents weaponClip; + ( 42 -0.5 -2.5 ) ( -51 -0.5 -14.5 ) ( -51 -2.5 -14.5 ) berlin_wall_wood_slats 126.90965 -128.04361 -547.72455 -152.54179 179.72083 0.00088007114 lightmap_gray 16229.669 16383.1 -540.29297 835.45142 -180 -0.00014633166 + ( 41 -2.5 4.5 ) ( -52 -2.5 -7.5 ) ( -52 -0.5 -7.5 ) berlin_wall_wood_slats 126.91246 127.98288 -546.82611 158.38072 -179.72252 0.0001236945 lightmap_gray 16228.996 16384.4 -539.35266 835.51874 180 -0.0001220733 + ( 41 -0.5 4.5 ) ( -52 -0.5 -7.5 ) ( -51 -0.5 -14.5 ) berlin_wall_wood_slats 128 -128 -551.3653 -160.27667 -172.79814 -0.00037188834 lightmap_gray 16384.428 -16385.006 -544.38379 -136.3268 -172.80089 -3.4969868e-005 + ( -51 -0.5 -14.5 ) ( -52 -0.5 -7.5 ) ( -52 -2.5 -7.5 ) berlin_wall_wood_slats 127.99063 -126.03455 -835.44409 -141.74377 180 0 lightmap_gray 16382 -16131.836 -835.39661 -141.72954 180 0 + ( 42 -2.5 -2.5 ) ( -51 -2.5 -14.5 ) ( -52 -2.5 -7.5 ) berlin_wall_wood_slats 128 -128 -544.37695 -136.31129 -172.7984 -0.00037311838 lightmap_gray 16384.725 -16383.859 -544.39325 -136.37117 -172.79501 0.00018933833 + ( 42 -2.5 -2.5 ) ( 41 -2.5 4.5 ) ( 41 -0.5 4.5 ) berlin_wall_wood_slats 128.07895 -126.03374 -836.02557 -127.60692 180 -4.2926837e-005 lightmap_gray 16383.699 -16132.319 -835.48492 -127.67746 180 0 +} +// brush 4 +{ +layer "000_Global/ZombieDoorwayBarricade05" + contents weaponClip; + ( 43.75 -1 -64 ) ( 45.75 -1 -64 ) ( 45.75 0 -64 ) berlin_ceilings_metal_rust 128.01572 128 -642.30078 745.00977 0 0.00012073637 lightmap_gray 16384 16384 721.75757 772.95093 0 0 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 127.99246 127.99219 -642.17908 744.9516 0 0 lightmap_gray 16383.896 16385 721.76135 773.04773 0 -0.00012207776 + ( 43.75 -1 -64 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -715.01074 83.239601 -90 0 lightmap_gray 16383.039 16383.984 721.71558 316 0 0 + ( 45.75 0 -64 ) ( 45.75 -1 -64 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 127.99219 128 -744.9491 94 0 0 lightmap_gray 16386 16384 -693.08313 315.98651 0 0 + ( 45.75 0 -64 ) ( 45.75 0 29 ) ( 43.75 0 27 ) berlin_ceilings_metal_rust 128.00632 128 -642.2804 94 0 0 lightmap_gray 16385.422 16384 721.80133 315.99689 0 0 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 43.75 -1 -64 ) berlin_trim_metal 128 -64 -714.9834 -125.90439 -90 0 lightmap_gray 16382 16384.018 -692.91602 316.04468 0 0 +} +// brush 5 + { + mesh + { +layer "000_Global/ZombieDoorwayBarricade05" + contents nonColliding; + chainlink_fence + lightmap_gray + 3 3 0 8 + ( + v -4 0 -5 t 67324.203 29188.98 0 -0 + v 12 0 19 t 64076.129 30748.779 0 -1.0019512 + v 44 0 27 t 59762.371 29507.348 0 -2.0961475 + ) + ( + v 12 0 -21 t 67119.289 26494.367 2.4705293 -0 + v 28 0 -21 t 65039.484 25449.729 2.4705293 -1.0019512 + v 44 0 -21 t 62872.453 24120.527 2.4705293 -2.0961475 + ) + ( + v 4 0 -45 t 68887.313 24158.129 5.0360765 -0 + v 28 0 -61 t 67559.984 20503.215 5.0360765 -1.0019512 + v 44 0 -69 t 65982.539 18733.703 5.0360765 -2.0961475 + ) + } + } +// brush 6 +{ +layer "000_Global/ZombieDoorwayBarricade05" + contents weaponClip; + ( -44.25 -1 27 ) ( 43.75 -1 27 ) ( 43.75 0 27 ) berlin_trim_metal 128 -64 -661.25 -123.02367 0 0 lightmap_gray 16384 16385 703.71429 776.04736 0 6.1038882e-005 + ( -46.25 0 29 ) ( 45.75 0 29 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128 128 -660.20294 747.98309 0 0 lightmap_gray 16384 16387 703.73297 776.14331 0 -6.1046332e-005 + ( -44.25 -1 27 ) ( -46.25 -1 29 ) ( 45.75 -1 29 ) berlin_trim_metal 128 64 -661.25 100 0 -6.6487999e-005 lightmap_gray 16384.248 16382.814 703.76886 316.97736 0 -0.00049671537 + ( 43.75 0 27 ) ( 43.75 -1 27 ) ( 45.75 -1 29 ) berlin_ceilings_metal_rust 128.04689 128 -660.50861 747.9707 0 0 lightmap_gray 16383 16387 703.74475 776.14581 0 0.00036627799 + ( 43.75 0 27 ) ( 45.75 0 29 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 128 128 -660.25159 95 0 9.9713485e-005 lightmap_gray 16384.262 16382.941 703.75739 316.97736 0 0.00011125398 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_ceilings_metal_rust 128 128.01563 -660.2395 748.0874 0 0.00030521303 lightmap_gray 16384 16379.002 703.71326 775.78033 0 -0.00024406613 +} +// brush 7 +{ +layer "000_Global/ZombieDoorwayBarricade05" + contents weaponClip; + ( -46.25 -1 -64 ) ( -44.25 -1 -64 ) ( -44.25 0 -64 ) berlin_ceilings_metal_rust 128 128 -678.30658 748 0 -6.1035156e-005 lightmap_gray 16382.012 16384 685.67255 775.966 0 -0.00012207031 + ( -46.25 -1 29 ) ( -46.25 0 29 ) ( -44.25 0 27 ) berlin_ceilings_metal_rust 128.09166 128.00781 -678.67804 748.04822 0 0.00012207776 lightmap_gray 16376.072 16384 685.38574 776.01044 0 0 + ( -46.25 -1 -64 ) ( -46.25 -1 29 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -607 82.741699 90 0 lightmap_gray 16386.246 16384 685.85974 316.00638 0 0 + ( -44.25 0 -64 ) ( -44.25 -1 -64 ) ( -44.25 -1 27 ) berlin_trim_metal 128 64 -606.98547 123.22332 90 0 lightmap_gray 16385 16384 -696.03918 316.02985 0 0 + ( -44.25 0 -64 ) ( -44.25 0 27 ) ( -46.25 0 29 ) berlin_ceilings_metal_rust 128.02243 128 -678.36023 94 0 0 lightmap_gray 16385.063 16384 685.80359 316 0 0 + ( -46.25 0 29 ) ( -46.25 -1 29 ) ( -46.25 -1 -64 ) berlin_ceilings_metal_rust 128 128 -747.98865 94 0 0 lightmap_gray 16383 16384 -695.95685 316 0 0 +} +// brush 8 +{ +layer "000_Global/ZombieDoorwayBarricade05" + contents weaponClip; + ( 43 -0.5 -56 ) ( -50.5 -0.5 -45.5 ) ( -50.5 -2.5 -45.5 ) berlin_wall_wood_slats 127.20538 -128.03191 -549.66284 -152.53235 179.7216 -4.2584521e-005 lightmap_gray 16267.375 16380.802 -542.21783 835.33423 180 0.00012204648 + ( 43.5 -2.5 -48.5 ) ( -49.5 -2.5 -38.5 ) ( -49.5 -0.5 -38.5 ) berlin_wall_wood_slats 127.21048 127.98286 -550.4696 158.37743 -179.72174 0.00024784193 lightmap_gray 16266.892 16384 -542.96564 835.49768 180 -0.00024414063 + ( 43.5 -0.5 -48.5 ) ( -49.5 -0.5 -38.5 ) ( -50.5 -0.5 -45.5 ) berlin_wall_wood_slats 128 -128 -558.78027 -203.05209 173.59895 -0.00028183387 lightmap_gray 16384.779 -16385.029 -551.80383 -179.10823 173.60284 0 + ( -50.5 -0.5 -45.5 ) ( -49.5 -0.5 -38.5 ) ( -49.5 -2.5 -38.5 ) berlin_wall_wood_slats 127.97501 -126.6531 -835.34247 -173.28484 180 0 lightmap_gray 16380.401 -16210.683 -835.3183 -173.26349 180 0 + ( 43 -2.5 -56 ) ( -50.5 -2.5 -45.5 ) ( -49.5 -2.5 -38.5 ) berlin_wall_wood_slats 128 -128 -551.771 -179.09923 173.60664 3.1232892e-005 lightmap_gray 16385.105 -16383.736 -551.79132 -179.16998 173.59895 0.00032524459 + ( 43 -2.5 -56 ) ( 43.5 -2.5 -48.5 ) ( 43.5 -0.5 -48.5 ) berlin_wall_wood_slats 128.125 -126.65412 -836.33618 -181.3387 -180 -0.00010428756 lightmap_gray 16384.4 -16211.728 -835.52148 -181.40671 180 0 +} +// brush 9 +{ +layer "000_Global/ZombieDoorwayBarricade05" + contents weaponClip; + ( -41.25 -4 15.25 ) ( -35.5 -4 -41.5 ) ( -35.25 -5.75 -41.5 ) berlin_wall_wood_slats 127.4323 -127.98576 -506.03766 -831.96118 -90 -0.0081167724 lightmap_gray 16311.554 -16388.072 -506.00568 -832.20703 -90 -0.0087149339 + ( -46.5 -5.75 14.75 ) ( -40.75 -5.75 -42.25 ) ( -40.75 -4 -42.25 ) berlin_wall_wood_slats 127.47509 -127.98506 -505.64255 -831.89734 -90 0.00058374641 lightmap_gray 16316.907 -16382.609 -505.60443 -831.92987 -90 1.8953413e-005 + ( -46.5 -4 14.75 ) ( -40.75 -4 -42.25 ) ( -35.5 -4 -41.5 ) berlin_wall_wood_slats 128 -128.00635 -513.76575 -141.48578 -83.599724 4.5028319e-005 lightmap_gray 16384.803 -16385.941 -512.78973 -90.487823 -83.599899 0.00026150281 + ( -35.25 -5.75 -41.5 ) ( -35.5 -4 -41.5 ) ( -40.75 -4 -42.25 ) berlin_wall_wood_slats 128.00272 -125.23478 -832.02802 -84.149284 -90 0 lightmap_gray 16382.93 -16029.596 -831.93347 -84.282326 -90 4.9121089e-005 + ( -41 -5.75 15.25 ) ( -35.25 -5.75 -41.5 ) ( -40.75 -5.75 -42.25 ) berlin_wall_wood_slats 128 -128.00832 -512.78491 -90.47789 -83.599113 3.8420178e-005 lightmap_gray 16384.143 -16385.07 -512.76752 -90.474457 -83.601021 -0.00020523813 + ( -46.5 -5.75 14.75 ) ( -46.5 -4 14.75 ) ( -41.25 -4 15.25 ) berlin_wall_wood_slats 127.96197 -126.57121 -831.75922 -86.88652 -90 4.5844674e-005 lightmap_gray 16379.827 -16201.95 -831.76422 -87.057793 -90 1.3257857e-005 +} +} +// entity 1 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "static_berlin_wood_single" +"angles" "89.4 180 -180" +"origin" "-50.5 -0.5 -23.0" +} +// entity 2 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "76.6 180 -90" +"origin" "-51.5 -2.0 12.0" +} +// entity 3 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "13.4 360 90" +"origin" "-48.5 -2.0 -10.0" +} +// entity 4 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "346.6 180 -89.9999" +"origin" "-47.5 -2.0 -23.0" +} +// entity 5 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "283.4 4.20508e-005 90" +"origin" "-47.5 -2.0 -43.0" +} +// entity 6 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "346.6 180 -89.9999" +"origin" "40.5 -2.5 -52.0" +} +// entity 7 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "static_berlin_wood_single" +"angles" "86.3 0 0" +"origin" "-41.0 -0.5 -37.0" +} +// entity 8 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "283.4 0 90" +"origin" "51.5 -2.0 14.0" +} +// entity 9 +{ +"no_collmap" "1" +"origin" "-1.8 -3.3 -39.0" +"angles" "277.8 180 180" +"model" "static_peleliu_corrugated_metal5" +"classname" "misc_model" +} +// entity 10 +{ +"no_collmap" "1" +"origin" "-0.8 -3.3 1.0" +"angles" "275.4 8.53731e-006 -0.000241578" +"model" "static_peleliu_corrugated_metal5" +"classname" "misc_model" +} +// entity 11 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "zombie_barricade_nails" +"angles" "13.4 360 90" +"origin" "36.3 -5.5 -33.5" +} +// entity 12 +{ +"no_collmap" "1" +"origin" "40.5 -6.8 7.3" +"angles" "76.6 180 -90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 13 +{ +"no_collmap" "1" +"classname" "misc_model" +"model" "static_berlin_wood_single" +"angles" "58.5 0 0" +"origin" "-41.0 -6.3 -39.0" +} +// entity 14 +{ +"no_collmap" "1" +"origin" "-38.5 -7.0 -36.0" +"angles" "283.4 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} +// entity 15 +{ +"no_collmap" "1" +"origin" "-43.5 -5.3 12.0" +"angles" "0 0 90" +"model" "zombie_barricade_nails" +"classname" "misc_model" +} diff --git a/map_source/_prefabs/zombiemode/asylum_door_double.map b/map_source/_prefabs/zombiemode/asylum_door_double.map new file mode 100644 index 000000000..438417c9c --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_door_double.map @@ -0,0 +1,128 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "1 0.537255 0.129412" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +} +// entity 1 +{ +"spawnflags" "1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 3 1 0 ) ( 1 1 0 ) ( 1 -1 0 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -1 -1 98 ) ( -1 1 98 ) ( 1 1 98 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -1 -1 92 ) ( 1 -1 92 ) ( 1 -1 57 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1 -1 92 ) ( 1 1 92 ) ( 1 1 57 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1 1 92 ) ( -1 1 92 ) ( -1 1 57 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -1 1 92 ) ( -1 -1 92 ) ( -1 -1 57 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 1 +{ + contents detail; + ( 55.25 1.25 93 ) ( 3.25 1.25 93 ) ( 3.25 1.25 3 ) berlin_window_glass 64 64 -0.75 -3 0 0 lightmap_gray 16383.865 -16384 -537.25513 -29 180 0 + ( 3.25 0.75 93 ) ( 55.25 0.75 93 ) ( 55.25 0.75 3 ) berlin_window_glass 64 64 -0.75 -3 0 0 lightmap_gray 16384.779 -16384 -537.25 -29 -180 0 + ( 48 -710 89.5 ) ( 48 -710 94.5 ) ( 48 -678 94.5 ) caulk 64 64 1.9850578 -3 0 0 lightmap_gray 16384.066 16384.176 2.0160718 -3 0 0 + ( 3.5 -710 97 ) ( 3.5 -710 91 ) ( 3.5 -678 97 ) caulk 64 64 2 -3 0 0 lightmap_gray 16383.9 16384.041 1.9979125 -3 0 0 + ( 11.5 2 92.75 ) ( 3.5 2 92.75 ) ( 3.5 34 92.75 ) caulk 64 64 -0.75202459 -1.9985065 0 0 lightmap_gray 16384 16384 -0.75 -1.9985065 0 0 + ( 6.5 2 57.5 ) ( 12.5 2 57.5 ) ( 6.5 34 57.5 ) caulk 64 64 -0.75334936 -1.9976473 0 0 lightmap_gray 16383.982 16383.984 -0.75 -1.9979745 0 0 +} +// brush 2 +{ + contents detail; + ( 52 2 0 ) ( 21 2 0 ) ( 21 0 0 ) berlin_door_metal_reinforced_glass 64.003906 128 476.07034 205.95784 90 0 lightmap_gray 16384 16384.25 -884 -262.00378 0 -0.00012207218 + ( 21 0 61 ) ( 52 0 61 ) ( 52 0 0 ) berlin_door_metal_reinforced_glass 52 -98 883.98553 -196 180 0 lightmap_gray 16383.826 16384 -883.99316 194 0 0 + ( 52 2 61 ) ( 21 2 61 ) ( 21 2 0 ) berlin_door_metal_reinforced_glass 52 -98 883.99744 -196 180 0 lightmap_gray 16384.078 16384 -884.0033 194 0 0 + ( 52 0.25 94.25 ) ( 52 0.25 98 ) ( 52 32.25 98 ) berlin_door_metal_reinforced_glass 52 -98 -261.98914 -196 -180 1.0724928e-005 lightmap_gray 16383.969 16384.049 262.00479 194 0 0 + ( 0 0.25 93.5 ) ( 0 0.25 90.25 ) ( 0 32.25 93.5 ) berlin_door_metal_reinforced_glass 52 -98 -261.98914 -196 -180 1.0724928e-005 lightmap_gray 16384 16384.348 262 194.0051 0 0 + ( 45.5 2 57.5 ) ( 41 2 57.5 ) ( 45.5 34 57.5 ) berlin_door_metal_reinforced_glass 56.002514 94 -415.96533 246.00211 0 0 lightmap_gray 16383.27 16383.955 -883.95789 -262 0 0 +} +// brush 3 +{ + contents detail; + ( 21 0 61 ) ( 52 0 61 ) ( 52 0 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 883.98602 -208 180 0 lightmap_gray 16383.826 16384 -883.99316 194 0 0 + ( 52 0 61 ) ( 52 2 61 ) ( 52 2 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 883.98602 -208 180 0 lightmap_gray 16384 16384 262 194 0 0 + ( 52 2 61 ) ( 21 2 61 ) ( 21 2 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 883.98602 -208 180 0 lightmap_gray 16384.078 16384 -884.0033 194 0 0 + ( 48 0.25 97.5 ) ( 48 0.25 93.75 ) ( 48 32.25 97.5 ) berlin_door_metal_reinforced_glass 56 94 -493.8465 250.75 90 0 lightmap_gray 16383.969 16384.049 262.00479 194 0 0 + ( 4 2 92.75 ) ( 0.75 2 92.75 ) ( 4 34 92.75 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1.75 2 57.5 ) ( 5 2 57.5 ) ( 5 34 57.5 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 4 +{ + contents detail; + ( 21 0 61 ) ( 52 0 61 ) ( 52 0 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 877.98602 -146 180 0 lightmap_gray 16383.826 16384 -883.99316 194 0 0 + ( 52 2 61 ) ( 21 2 61 ) ( 21 2 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 877.98602 -146 180 0 lightmap_gray 16384.078 16384 -884.0033 194 0 0 + ( 0 2 62 ) ( 0 0 62 ) ( 0 0 1 ) berlin_door_metal_reinforced_glass 52 -65.99987 877.98602 -146 180 0 lightmap_gray 16384.5 16384 262.00717 194 0 0 + ( 3.5 0.25 91.75 ) ( 3.5 0.25 95 ) ( 3.5 32.25 95 ) berlin_door_metal_reinforced_glass 56 94 -493.93909 250.75 90 0 lightmap_gray 16384 16384.348 262 194.0051 0 0 + ( 4 2 92.75 ) ( 0.75 2 92.75 ) ( 4 34 92.75 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1.75 2 57.5 ) ( 5 2 57.5 ) ( 5 34 57.5 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 5 +{ + contents detail; + ( 9 0 98 ) ( 9 2 98 ) ( 40 2 98 ) berlin_door_metal_reinforced_glass 64 128 476.09308 205.96753 90 -3.9815051e-005 lightmap_gray 16384 16384 -884.0025 -262.00101 0 -3.0517578e-005 + ( 21 0 61 ) ( 52 0 61 ) ( 52 0 0 ) berlin_door_metal_reinforced_glass 52 -98 883.98553 -196 180 0 lightmap_gray 16383.826 16384 -883.99316 194 0 0 + ( 52 2 61 ) ( 21 2 61 ) ( 21 2 0 ) berlin_door_metal_reinforced_glass 52 -98 883.99744 -196 180 0 lightmap_gray 16384.078 16384 -884.0033 194 0 0 + ( 52 0.25 93.75 ) ( 52 0.25 97.5 ) ( 52 32.25 97.5 ) berlin_door_metal_reinforced_glass 52 -98 -261.98914 -196 -180 1.0724928e-005 lightmap_gray 16383.969 16384.049 262.00479 194 0 0 + ( 0 0.25 95 ) ( 0 0.25 91.75 ) ( 0 32.25 95 ) berlin_door_metal_reinforced_glass 52 -98 -261.98914 -196 -180 1.0724928e-005 lightmap_gray 16384 16384.348 262 194.0051 0 0 + ( 33.75 2 92.75 ) ( 42.5 2 92.75 ) ( 42.5 34 92.75 ) berlin_door_metal_reinforced_glass 56 94 -415.90787 245.99615 0 0 lightmap_gray 16384.314 16384 -884.0163 -262 0 0 +} +// brush 6 +{ + contents nonColliding; + ( 0 -0.5 52.5 ) ( 56 -0.5 52.5 ) ( 56 0 52.5 ) berlin_door_metal_reinforced_glass 56 94.008965 -269.93695 340.5318 0 0.00044826968 lightmap_gray 16384 16386.352 0.004070282 -2 0 -4.1729243e-005 + ( 56 -0.5 57.5 ) ( 0 -0.5 57.5 ) ( 0 0 57.5 ) berlin_door_metal_reinforced_glass 56 94.013176 -269.93399 340.54718 0 0.0013448694 lightmap_gray 16384 16386.352 0 -2 0 0 + ( 0 -0.5 57.5 ) ( 56 -0.5 57.5 ) ( 56 -0.5 53 ) berlin_door_metal_reinforced_glass 52 -98 883.99615 -203.97862 180 0 lightmap_gray 16384 16384 0 5 0 0 + ( 52 0 57.5 ) ( 52 2 57.5 ) ( 52 2 54 ) berlin_door_metal_reinforced_glass 52 -98 -262.00345 -203.95738 -180 1.3815797e-005 lightmap_gray 16384 16384 2 5 0 0 + ( 56 0 57.25 ) ( 51.75 0 57.25 ) ( 51.75 0 53.75 ) caulk 56 94 -279.7572 286.98431 0 9.2282979e-005 lightmap_gray 16384.152 16383.678 0 5.0068593 0 0 + ( 0 2 56 ) ( 0 0 56 ) ( 0 0 52.5 ) berlin_door_metal_reinforced_glass 52 -98 -261.98944 -203.95963 -180 0 lightmap_gray 16387.014 16384.08 2 4.998136 0 0 +} +// brush 7 +{ + contents nonColliding; + ( 56 2 52.5 ) ( 56 2.5 52.5 ) ( 0 2.5 52.5 ) berlin_door_metal_reinforced_glass 56 -93.987061 -269.93228 -342.45328 0 0.00069913774 lightmap_gray 16383.986 -16385.75 0.0033760045 0 0 0.0001273292 + ( 0 2 57.5 ) ( 0 2.5 57.5 ) ( 56 2.5 57.5 ) berlin_door_metal_reinforced_glass 56 -93.977371 -269.93387 -342.41797 0 0.00011202975 lightmap_gray 16384.029 -16386.352 0.0044255336 0 0 0 + ( 56 2.5 53 ) ( 56 2.5 57.5 ) ( 0 2.5 57.5 ) berlin_door_metal_reinforced_glass 52 -98 884.00226 -203.97862 180 -8.1269456e-005 lightmap_gray 16384.086 16384 0 5 0 0 + ( 52 0 54 ) ( 52 0 57.5 ) ( 52 2 57.5 ) berlin_door_metal_reinforced_glass 52 -98 -262 -203.95743 180 4.4999244e-005 lightmap_gray 16384.266 -16383.811 0 -4.997581 180 0 + ( 51.75 2 53.75 ) ( 51.75 2 57.25 ) ( 56 2 57.25 ) caulk 56.002777 94 -279.8071 286.97891 0 0 lightmap_gray 16382.381 16384.072 0.0036545356 4.9901571 0 -4.3945882e-005 + ( 0 2 52.5 ) ( 0 2 56 ) ( 0 0 56 ) berlin_door_metal_reinforced_glass 52 -98 -261.98929 -203.9585 180 -1.3351492e-005 lightmap_gray 16384.641 -16384.037 0 -5 180 0 +} +// brush 8 +{ + contents nonColliding; + ( 56 2 16.5 ) ( 56 2.5 16.5 ) ( 0 2.5 16.5 ) berlin_door_metal_reinforced_glass 56 -93.987061 -269.93228 -342.45328 0 0.00069913774 lightmap_gray 16383.986 -16385.75 0.0033760045 0 0 0.0001273292 + ( -4 2 28.75 ) ( -4 2.5 28.75 ) ( 52 2.5 28.75 ) berlin_door_metal_reinforced_glass 56 -93.970215 -269.93436 -342.39212 0 -0.00017923396 lightmap_gray 16384 -16385.234 0.0060712271 0 0 0 + ( 56 2.5 25.75 ) ( 56 2.5 30.25 ) ( 0 2.5 30.25 ) berlin_door_metal_reinforced_glass 52 -98 884.0011 -196.01649 180 -4.32544e-005 lightmap_gray 16384.064 16384.166 0 32.25 0 -1.8649822e-005 + ( 52 0 26.75 ) ( 52 0 30.25 ) ( 52 2 30.25 ) berlin_door_metal_reinforced_glass 52 -98 -261.9935 -196.03676 180 0 lightmap_gray 16384.125 -16383.965 0 -32.25 180 0 + ( 51.75 2 27 ) ( 51.75 2 30.5 ) ( 56 2 30.5 ) caulk 56 94 -279.80826 314.25 0 0 lightmap_gray 16383.203 16383.893 0 32.259205 0 0 + ( 0 2 25.25 ) ( 0 2 28.75 ) ( 0 0 28.75 ) berlin_door_metal_reinforced_glass 52 -98 -261.97852 -195.9557 180 2.6006386e-005 lightmap_gray 16384.633 -16384 0 -32.247112 180 0 +} +// brush 9 +{ + contents nonColliding; + ( 0 -0.5 16.5 ) ( 56 -0.5 16.5 ) ( 56 0 16.5 ) berlin_door_metal_reinforced_glass 56 93.992111 -269.94739 340.47559 0 -0.00080674078 lightmap_gray 16384 16386.352 0.004070282 -2 0 -4.1729243e-005 + ( 52 -0.5 28.75 ) ( -4 -0.5 28.75 ) ( -4 0 28.75 ) berlin_door_metal_reinforced_glass 56 93.996323 -269.93369 340.49103 0 -8.9641879e-005 lightmap_gray 16384 16386.383 0.0019971302 -2 0 0 + ( 0 -0.5 30.25 ) ( 56 -0.5 30.25 ) ( 56 -0.5 25.75 ) berlin_door_metal_reinforced_glass 52 -98 883.99701 -196.01649 180 8.0329599e-005 lightmap_gray 16384 16384.166 0 32.25 0 0 + ( 52 0 30.25 ) ( 52 2 30.25 ) ( 52 2 26.75 ) berlin_door_metal_reinforced_glass 52 -98 -261.99719 -196.04257 180 -2.6261618e-005 lightmap_gray 16384.096 16383.963 2.0080378 32.247417 0 0 + ( 56 0 30.5 ) ( 51.75 0 30.5 ) ( 51.75 0 27 ) caulk 55.991589 94.001778 -279.82895 314.25641 0 0 lightmap_gray 16383.799 16383.875 0.0012512055 32.25906 0 0 + ( 0 2 28.75 ) ( 0 0 28.75 ) ( 0 0 25.25 ) berlin_door_metal_reinforced_glass 52 -98 -262 -195.97075 -180 -7.9483965e-005 lightmap_gray 16387.014 16384.293 2 32.248508 0 0 +} +// brush 10 +{ + ( 2 2 0 ) ( 0 2 0 ) ( 0 0 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 0 98 ) ( 0 2 98 ) ( 2 2 98 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 0 98 ) ( 2 0 98 ) ( 2 0 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 52 -2 98 ) ( 52 0 98 ) ( 52 0 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 2 2 98 ) ( 0 2 98 ) ( 0 2 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 2 98 ) ( 0 0 98 ) ( 0 0 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_door_single.map b/map_source/_prefabs/zombiemode/asylum_door_single.map new file mode 100644 index 000000000..88287b6ac --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_door_single.map @@ -0,0 +1,128 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "0.294118 0.286275 0.392157" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +} +// entity 1 +{ +"spawnflags" "1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 2 1 0 ) ( 0 1 0 ) ( 0 -1 0 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -1 -1 94 ) ( -1 1 94 ) ( 1 1 94 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -1 -1 94 ) ( 1 -1 94 ) ( 1 -1 89 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1 -1 94 ) ( 1 1 94 ) ( 1 1 89 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1 1 94 ) ( -1 1 94 ) ( -1 1 89 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -1 1 94 ) ( -1 -1 94 ) ( -1 -1 89 ) origin 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 1 +{ + contents detail; + ( 56 -0.75 90 ) ( 4 -0.75 90 ) ( 4 -0.75 0 ) berlin_window_glass 64 64 0 0 0 0 lightmap_gray 16383.77 -16384 -538 -32 180 0 + ( 4 -1.25 90 ) ( 56 -1.25 90 ) ( 56 -1.25 0 ) berlin_window_glass 64 64 0 0 0 0 lightmap_gray 16384.5 -16384 -538 -32 180 0 + ( 52.25 -712 86.5 ) ( 52.25 -712 91.5 ) ( 52.25 -680 91.5 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 4.25 -712 94 ) ( 4.25 -712 88 ) ( 4.25 -680 94 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 12.25 0 89 ) ( 4.25 0 89 ) ( 4.25 32 89 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 7.25 0 62.5 ) ( 13.25 0 62.5 ) ( 7.25 32 62.5 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 2 +{ + contents nonColliding; + ( 56 0 58 ) ( 56 0.5 58 ) ( 0 0.5 58 ) berlin_door_metal_reinforced_glass 56 -93.992111 -269.93799 -340.47144 0 0 lightmap_gray 16384 -16384 0 2 0 0 + ( 0 0 62.5 ) ( 0 0.5 62.5 ) ( 56 0.5 62.5 ) berlin_door_metal_reinforced_glass 56 -93.983688 -269.93802 -340.44089 0 0 lightmap_gray 16384 -16384 0 2 0 0 + ( 56 0.5 58 ) ( 56 0.5 62.5 ) ( 0 0.5 62.5 ) berlin_door_metal_reinforced_glass 56 94 -279.93835 282 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 56 -2 59 ) ( 56 -2 62.5 ) ( 56 0 62.5 ) berlin_door_metal_reinforced_glass 56 -94 -277.93869 -282 180 2.581785e-005 lightmap_gray 16384 -16384 2 0 180 0 + ( 51.75 0 59.25 ) ( 51.75 0 62.75 ) ( 56 0 62.75 ) caulk 56 94 -279.93817 282 0 0 lightmap_gray 16383.973 16384 0 0 0 0 + ( 0 0 57.5 ) ( 0 0 61 ) ( 0 -2 61 ) berlin_door_metal_reinforced_glass 56 -94 -277.93903 -282 -180 0 lightmap_gray 16384 -16383.988 2 0 180 0 +} +// brush 3 +{ + contents nonColliding; + ( 0 -2.5 16 ) ( 56 -2.5 16 ) ( 56 -2 16 ) berlin_door_metal_reinforced_glass 56 94 -269.93799 342.5 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 56 -2.5 27.25 ) ( 0 -2.5 27.25 ) ( 0 -2 27.25 ) berlin_door_metal_reinforced_glass 56 94 -269.93799 342.5 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -2.5 27.25 ) ( 56 -2.5 27.25 ) ( 56 -2.5 22.75 ) berlin_door_metal_reinforced_glass 56 94 -279.93265 282 0 0 lightmap_gray 16384 16384.027 0 35.25 0 0 + ( 56 -2 27.25 ) ( 56 0 27.25 ) ( 56 0 23.75 ) berlin_door_metal_reinforced_glass 56 94 -279.93875 317.25 0 0 lightmap_gray 16384 16383.906 0 35.25 0 0 + ( 56 -2 27.5 ) ( 51.75 -2 27.5 ) ( 51.75 -2 24 ) caulk 56 94 -279.93817 317.25 0 0 lightmap_gray 16384 16383.965 0 35.25 0 0 + ( 0 0 25.75 ) ( 0 -2 25.75 ) ( 0 -2 22.25 ) berlin_door_metal_reinforced_glass 56 94 -279.93832 317.25 0 0 lightmap_gray 16384 16384 0 35.25 0 0 +} +// brush 4 +{ + contents nonColliding; + ( 56 0 16 ) ( 56 0.5 16 ) ( 0 0.5 16 ) berlin_door_metal_reinforced_glass 56 -93.992111 -269.93799 -340.47144 0 0 lightmap_gray 16384 -16384 0 2 0 0 + ( 0 0 27.25 ) ( 0 0.5 27.25 ) ( 56 0.5 27.25 ) berlin_door_metal_reinforced_glass 56 -93.983688 -269.93802 -340.44089 0 0 lightmap_gray 16384 -16384 0 2 0 0 + ( 56 0.5 22.75 ) ( 56 0.5 27.25 ) ( 0 0.5 27.25 ) berlin_door_metal_reinforced_glass 56 94 -279.93271 282 0 0 lightmap_gray 16384 16384.025 0 35.25 0 0 + ( 56 -2 23.75 ) ( 56 -2 27.25 ) ( 56 0 27.25 ) berlin_door_metal_reinforced_glass 56 -94 -277.93881 -317.25 -180 -1.3158945e-005 lightmap_gray 16384 -16383.893 2 -35.25 180 0 + ( 51.75 0 24 ) ( 51.75 0 27.5 ) ( 56 0 27.5 ) caulk 56 94 -279.93863 317.25 0 0 lightmap_gray 16383.979 16383.965 0 35.25 0 0 + ( 0 0 22.25 ) ( 0 0 25.75 ) ( 0 -2 25.75 ) berlin_door_metal_reinforced_glass 56 -94 -277.93823 -317.25 -180 0 lightmap_gray 16384 -16383.992 2 -35.25 180 0 +} +// brush 5 +{ + contents detail; + ( 4 3 0 ) ( 4 -5 0 ) ( 56 -5 0 ) berlin_door_metal_reinforced_glass 64 128 474.0592 320.96136 90 0 lightmap_gray 16384.451 16383.781 131 537.98016 90 0 + ( 56 0 90 ) ( 4 0 90 ) ( 4 0 0 ) berlin_door_metal_reinforced_glass 56 94 -279.93835 282 0 0 lightmap_gray 16383.77 -16384 -538 -32 180 0 + ( 4 -2 90 ) ( 56 -2 90 ) ( 56 -2 0 ) berlin_door_metal_reinforced_glass 56 94 -279.93265 282 0 0 lightmap_gray 16384.5 -16384 -538 -32 180 0 + ( 52.25 -712 88 ) ( 52.25 -712 93 ) ( 52.25 -680 93 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 4.25 -712 93 ) ( 4.25 -712 87 ) ( 4.25 -680 93 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 11 0 62.5 ) ( 5 0 62.5 ) ( 5 32 62.5 ) berlin_door_metal_reinforced_glass 56 94 -300.93265 248 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 6 +{ + contents detail; + ( 58 -5 94 ) ( 6 -5 94 ) ( 6 3 94 ) berlin_door_metal_reinforced_glass 64 128 474.0592 320.96136 90 0 lightmap_gray 16383.65 16383.76 131.01556 537.96838 90 0 + ( 56 0 90 ) ( 4 0 90 ) ( 4 0 0 ) berlin_door_metal_reinforced_glass 56 94 -279.93835 282 0 0 lightmap_gray 16383.77 -16384 -538 -32 180 0 + ( 4 -2 90 ) ( 56 -2 90 ) ( 56 -2 0 ) berlin_door_metal_reinforced_glass 56 94 -279.93265 282 0 0 lightmap_gray 16384.5 -16384 -538 -32 180 0 + ( 52.25 -712 88 ) ( 52.25 -712 93 ) ( 52.25 -680 93 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 4.25 -712 93 ) ( 4.25 -712 87 ) ( 4.25 -680 93 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 5 0 89 ) ( 13 0 89 ) ( 5 32 89 ) berlin_door_metal_reinforced_glass 56 94 -300.93265 248 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 7 +{ + contents detail; + ( 4 3 0 ) ( 4 -5 0 ) ( 56 -5 0 ) berlin_door_metal_reinforced_glass 64 128 474.0592 320.96136 90 0 lightmap_gray 16384.451 16383.781 131 537.98016 90 0 + ( 58 -5 94 ) ( 6 -5 94 ) ( 6 3 94 ) berlin_door_metal_reinforced_glass 64 128 474.0592 320.96136 90 0 lightmap_gray 16383.65 16383.76 131.01556 537.96838 90 0 + ( 56 -5 90 ) ( 56 3 90 ) ( 56 3 0 ) berlin_door_metal_reinforced_glass 56 94.00013 -493.93301 248.75 90 0 lightmap_gray 16385.043 16384 131 32 0 0 + ( 56 0 90 ) ( 4 0 90 ) ( 4 0 0 ) berlin_door_metal_reinforced_glass 56 94 -279.93835 282 0 0 lightmap_gray 16383.77 -16384 -538 -32 180 0 + ( 4 -2 90 ) ( 56 -2 90 ) ( 56 -2 0 ) berlin_door_metal_reinforced_glass 56 94 -279.93265 282 0 0 lightmap_gray 16384.5 -16384 -538 -32 180 0 + ( 52.25 -712 93 ) ( 52.25 -712 88 ) ( 52.25 -680 93 ) berlin_door_metal_reinforced_glass 56 94.00013 -493.93301 248.75 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 8 +{ + contents detail; + ( 4 3 0 ) ( 4 -5 0 ) ( 56 -5 0 ) berlin_door_metal_reinforced_glass 64 128 474.0592 320.96136 90 0 lightmap_gray 16384.451 16383.781 131 537.98016 90 0 + ( 58 -5 94 ) ( 6 -5 94 ) ( 6 3 94 ) berlin_door_metal_reinforced_glass 64 128 474.0592 320.96136 90 0 lightmap_gray 16383.65 16383.76 131.01556 537.96838 90 0 + ( 56 0 90 ) ( 4 0 90 ) ( 4 0 0 ) berlin_door_metal_reinforced_glass 56 94 -279.93835 282 0 0 lightmap_gray 16383.77 -16384 -538 -32 180 0 + ( 0 3 94 ) ( 0 -5 94 ) ( 0 -5 4 ) berlin_door_metal_reinforced_glass 56 94.00013 -493.93301 248.75 90 0 lightmap_gray 16384.25 16384 131 32.006344 0 0 + ( 4 -2 90 ) ( 56 -2 90 ) ( 56 -2 0 ) berlin_door_metal_reinforced_glass 56 94 -279.93265 282 0 0 lightmap_gray 16384.5 -16384 -538 -32 180 0 + ( 4.25 -712 87 ) ( 4.25 -712 93 ) ( 4.25 -680 93 ) berlin_door_metal_reinforced_glass 56 94.00013 -493.93301 248.75 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 9 +{ + contents nonColliding; + ( 0 -2.5 58 ) ( 56 -2.5 58 ) ( 56 -2 58 ) berlin_door_metal_reinforced_glass 56 94.00013 -269.93799 342.5 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 56 -2.5 62.5 ) ( 0 -2.5 62.5 ) ( 0 -2 62.5 ) berlin_door_metal_reinforced_glass 56 94.00013 -269.93799 342.5 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -2.5 62.5 ) ( 56 -2.5 62.5 ) ( 56 -2.5 58 ) berlin_door_metal_reinforced_glass 56 94 -279.93835 282 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 56 -2 62.5 ) ( 56 0 62.5 ) ( 56 0 59 ) berlin_door_metal_reinforced_glass 56 94 -279.93835 282 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 56 -2 62.75 ) ( 51.75 -2 62.75 ) ( 51.75 -2 59.25 ) caulk 56 94 -279.93835 282 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 0 61 ) ( 0 -2 61 ) ( 0 -2 57.5 ) berlin_door_metal_reinforced_glass 56 94 -279.93835 282 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 10 +{ + ( 64 0 0 ) ( 62 0 0 ) ( 62 -2 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 54 -2 94 ) ( 54 0 94 ) ( 56 0 94 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 54 -2 359 ) ( 56 -2 359 ) ( 56 -2 265 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 56 -2 359 ) ( 56 0 359 ) ( 56 0 265 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 56 0 359 ) ( 54 0 359 ) ( 54 0 265 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -2 359 ) ( 0 -4 359 ) ( 0 -4 265 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_doubledoor_static.map b/map_source/_prefabs/zombiemode/asylum_doubledoor_static.map new file mode 100644 index 000000000..629589a2a --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_doubledoor_static.map @@ -0,0 +1,105 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "1 0.537255 0.129412" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +// brush 0 +{ + contents detail; + ( 52 2 0 ) ( 21 2 0 ) ( 21 0 0 ) berlin_door_metal_reinforced_glass 64.003906 128 476.07034 205.95784 90 0 lightmap_gray 16384 16384.25 -884 -262.00378 0 -0.00012207218 + ( 21 0 61 ) ( 52 0 61 ) ( 52 0 0 ) berlin_door_metal_reinforced_glass 52 -98 883.98553 -196 180 0 lightmap_gray 16383.826 16384 -883.99316 194 0 0 + ( 52 2 61 ) ( 21 2 61 ) ( 21 2 0 ) berlin_door_metal_reinforced_glass 52 -98 883.99744 -196 180 0 lightmap_gray 16384.078 16384 -884.0033 194 0 0 + ( 52 0.25 94.25 ) ( 52 0.25 98 ) ( 52 32.25 98 ) berlin_door_metal_reinforced_glass 52 -98 -261.98914 -196 -180 1.0724928e-005 lightmap_gray 16383.969 16384.049 262.00479 194 0 0 + ( 0 0.25 93.5 ) ( 0 0.25 90.25 ) ( 0 32.25 93.5 ) berlin_door_metal_reinforced_glass 52 -98 -261.98914 -196 -180 1.0724928e-005 lightmap_gray 16384 16384.348 262 194.0051 0 0 + ( 45.5 2 57.5 ) ( 41 2 57.5 ) ( 45.5 34 57.5 ) berlin_door_metal_reinforced_glass 56.002514 94 -415.96533 246.00211 0 0 lightmap_gray 16383.27 16383.955 -883.95789 -262 0 0 +} +// brush 1 +{ + contents detail; + ( 9 0 98 ) ( 9 2 98 ) ( 40 2 98 ) berlin_door_metal_reinforced_glass 64 128 476.09308 205.96753 90 -3.9815051e-005 lightmap_gray 16384 16384 -884.0025 -262.00101 0 -3.0517578e-005 + ( 21 0 61 ) ( 52 0 61 ) ( 52 0 0 ) berlin_door_metal_reinforced_glass 52 -98 883.98553 -196 180 0 lightmap_gray 16383.826 16384 -883.99316 194 0 0 + ( 52 2 61 ) ( 21 2 61 ) ( 21 2 0 ) berlin_door_metal_reinforced_glass 52 -98 883.99744 -196 180 0 lightmap_gray 16384.078 16384 -884.0033 194 0 0 + ( 52 0.25 93.75 ) ( 52 0.25 97.5 ) ( 52 32.25 97.5 ) berlin_door_metal_reinforced_glass 52 -98 -261.98914 -196 -180 1.0724928e-005 lightmap_gray 16383.969 16384.049 262.00479 194 0 0 + ( 0 0.25 95 ) ( 0 0.25 91.75 ) ( 0 32.25 95 ) berlin_door_metal_reinforced_glass 52 -98 -261.98914 -196 -180 1.0724928e-005 lightmap_gray 16384 16384.348 262 194.0051 0 0 + ( 33.75 2 92.75 ) ( 42.5 2 92.75 ) ( 42.5 34 92.75 ) berlin_door_metal_reinforced_glass 56 94 -415.90787 245.99615 0 0 lightmap_gray 16384.314 16384 -884.0163 -262 0 0 +} +// brush 2 +{ + contents nonColliding; + ( 0 -0.5 16.5 ) ( 56 -0.5 16.5 ) ( 56 0 16.5 ) berlin_door_metal_reinforced_glass 56 93.992111 -269.94739 340.47559 0 -0.00080674078 lightmap_gray 16384 16386.352 0.004070282 -2 0 -4.1729243e-005 + ( 52 -0.5 28.75 ) ( -4 -0.5 28.75 ) ( -4 0 28.75 ) berlin_door_metal_reinforced_glass 56 93.996323 -269.93369 340.49103 0 -8.9641879e-005 lightmap_gray 16384 16386.383 0.0019971302 -2 0 0 + ( 0 -0.5 30.25 ) ( 56 -0.5 30.25 ) ( 56 -0.5 25.75 ) berlin_door_metal_reinforced_glass 52 -98 883.99701 -196.01649 180 8.0329599e-005 lightmap_gray 16384 16384.166 0 32.25 0 0 + ( 52 0 30.25 ) ( 52 2 30.25 ) ( 52 2 26.75 ) berlin_door_metal_reinforced_glass 52 -98 -261.99719 -196.04257 180 -2.6261618e-005 lightmap_gray 16384.096 16383.963 2.0080378 32.247417 0 0 + ( 56 0 30.5 ) ( 51.75 0 30.5 ) ( 51.75 0 27 ) caulk 55.991589 94.001778 -279.82895 314.25641 0 0 lightmap_gray 16383.799 16383.875 0.0012512055 32.25906 0 0 + ( 0 2 28.75 ) ( 0 0 28.75 ) ( 0 0 25.25 ) berlin_door_metal_reinforced_glass 52 -98 -262 -195.97075 -180 -7.9483965e-005 lightmap_gray 16387.014 16384.293 2 32.248508 0 0 +} +// brush 3 +{ + contents nonColliding; + ( 56 2 16.5 ) ( 56 2.5 16.5 ) ( 0 2.5 16.5 ) berlin_door_metal_reinforced_glass 56 -93.987061 -269.93228 -342.45328 0 0.00069913774 lightmap_gray 16383.986 -16385.75 0.0033760045 0 0 0.0001273292 + ( -4 2 28.75 ) ( -4 2.5 28.75 ) ( 52 2.5 28.75 ) berlin_door_metal_reinforced_glass 56 -93.970215 -269.93436 -342.39212 0 -0.00017923396 lightmap_gray 16384 -16385.234 0.0060712271 0 0 0 + ( 56 2.5 25.75 ) ( 56 2.5 30.25 ) ( 0 2.5 30.25 ) berlin_door_metal_reinforced_glass 52 -98 884.0011 -196.01649 180 -4.32544e-005 lightmap_gray 16384.064 16384.166 0 32.25 0 -1.8649822e-005 + ( 52 0 26.75 ) ( 52 0 30.25 ) ( 52 2 30.25 ) berlin_door_metal_reinforced_glass 52 -98 -261.9935 -196.03676 180 0 lightmap_gray 16384.125 -16383.965 0 -32.25 180 0 + ( 51.75 2 27 ) ( 51.75 2 30.5 ) ( 56 2 30.5 ) caulk 56 94 -279.80826 314.25 0 0 lightmap_gray 16383.203 16383.893 0 32.259205 0 0 + ( 0 2 25.25 ) ( 0 2 28.75 ) ( 0 0 28.75 ) berlin_door_metal_reinforced_glass 52 -98 -261.97852 -195.9557 180 2.6006386e-005 lightmap_gray 16384.633 -16384 0 -32.247112 180 0 +} +// brush 4 +{ + contents nonColliding; + ( 56 2 52.5 ) ( 56 2.5 52.5 ) ( 0 2.5 52.5 ) berlin_door_metal_reinforced_glass 56 -93.987061 -269.93228 -342.45328 0 0.00069913774 lightmap_gray 16383.986 -16385.75 0.0033760045 0 0 0.0001273292 + ( 0 2 57.5 ) ( 0 2.5 57.5 ) ( 56 2.5 57.5 ) berlin_door_metal_reinforced_glass 56 -93.977371 -269.93387 -342.41797 0 0.00011202975 lightmap_gray 16384.029 -16386.352 0.0044255336 0 0 0 + ( 56 2.5 53 ) ( 56 2.5 57.5 ) ( 0 2.5 57.5 ) berlin_door_metal_reinforced_glass 52 -98 884.00226 -203.97862 180 -8.1269456e-005 lightmap_gray 16384.086 16384 0 5 0 0 + ( 52 0 54 ) ( 52 0 57.5 ) ( 52 2 57.5 ) berlin_door_metal_reinforced_glass 52 -98 -262 -203.95743 180 4.4999244e-005 lightmap_gray 16384.266 -16383.811 0 -4.997581 180 0 + ( 51.75 2 53.75 ) ( 51.75 2 57.25 ) ( 56 2 57.25 ) caulk 56.002777 94 -279.8071 286.97891 0 0 lightmap_gray 16382.381 16384.072 0.0036545356 4.9901571 0 -4.3945882e-005 + ( 0 2 52.5 ) ( 0 2 56 ) ( 0 0 56 ) berlin_door_metal_reinforced_glass 52 -98 -261.98929 -203.9585 180 -1.3351492e-005 lightmap_gray 16384.641 -16384.037 0 -5 180 0 +} +// brush 5 +{ + contents nonColliding; + ( 0 -0.5 52.5 ) ( 56 -0.5 52.5 ) ( 56 0 52.5 ) berlin_door_metal_reinforced_glass 56 94.008965 -269.93695 340.5318 0 0.00044826968 lightmap_gray 16384 16386.352 0.004070282 -2 0 -4.1729243e-005 + ( 56 -0.5 57.5 ) ( 0 -0.5 57.5 ) ( 0 0 57.5 ) berlin_door_metal_reinforced_glass 56 94.013176 -269.93399 340.54718 0 0.0013448694 lightmap_gray 16384 16386.352 0 -2 0 0 + ( 0 -0.5 57.5 ) ( 56 -0.5 57.5 ) ( 56 -0.5 53 ) berlin_door_metal_reinforced_glass 52 -98 883.99615 -203.97862 180 0 lightmap_gray 16384 16384 0 5 0 0 + ( 52 0 57.5 ) ( 52 2 57.5 ) ( 52 2 54 ) berlin_door_metal_reinforced_glass 52 -98 -262.00345 -203.95738 -180 1.3815797e-005 lightmap_gray 16384 16384 2 5 0 0 + ( 56 0 57.25 ) ( 51.75 0 57.25 ) ( 51.75 0 53.75 ) caulk 56 94 -279.7572 286.98431 0 9.2282979e-005 lightmap_gray 16384.152 16383.678 0 5.0068593 0 0 + ( 0 2 56 ) ( 0 0 56 ) ( 0 0 52.5 ) berlin_door_metal_reinforced_glass 52 -98 -261.98944 -203.95963 -180 0 lightmap_gray 16387.014 16384.08 2 4.998136 0 0 +} +// brush 6 +{ + contents detail; + ( 55.25 1.25 93 ) ( 3.25 1.25 93 ) ( 3.25 1.25 3 ) berlin_window_glass 64 64 -0.75 -3 0 0 lightmap_gray 16383.865 -16384 -537.25513 -29 180 0 + ( 3.25 0.75 93 ) ( 55.25 0.75 93 ) ( 55.25 0.75 3 ) berlin_window_glass 64 64 -0.75 -3 0 0 lightmap_gray 16384.779 -16384 -537.25 -29 -180 0 + ( 48 -710 89.5 ) ( 48 -710 94.5 ) ( 48 -678 94.5 ) caulk 64 64 1.9850578 -3 0 0 lightmap_gray 16384.066 16384.176 2.0160718 -3 0 0 + ( 3.5 -710 97 ) ( 3.5 -710 91 ) ( 3.5 -678 97 ) caulk 64 64 2 -3 0 0 lightmap_gray 16383.9 16384.041 1.9979125 -3 0 0 + ( 11.5 2 92.75 ) ( 3.5 2 92.75 ) ( 3.5 34 92.75 ) caulk 64 64 -0.75202459 -1.9985065 0 0 lightmap_gray 16384 16384 -0.75 -1.9985065 0 0 + ( 6.5 2 57.5 ) ( 12.5 2 57.5 ) ( 6.5 34 57.5 ) caulk 64 64 -0.75334936 -1.9976473 0 0 lightmap_gray 16383.982 16383.984 -0.75 -1.9979745 0 0 +} +// brush 7 +{ + contents detail; + ( 21 0 61 ) ( 52 0 61 ) ( 52 0 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 877.98602 -146 180 0 lightmap_gray 16383.826 16384 -883.99316 194 0 0 + ( 52 2 61 ) ( 21 2 61 ) ( 21 2 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 877.98602 -146 180 0 lightmap_gray 16384.078 16384 -884.0033 194 0 0 + ( 0 2 62 ) ( 0 0 62 ) ( 0 0 1 ) berlin_door_metal_reinforced_glass 52 -65.99987 877.98602 -146 180 0 lightmap_gray 16384.5 16384 262.00717 194 0 0 + ( 3.5 0.25 91.75 ) ( 3.5 0.25 95 ) ( 3.5 32.25 95 ) berlin_door_metal_reinforced_glass 56 94 -493.93909 250.75 90 0 lightmap_gray 16384 16384.348 262 194.0051 0 0 + ( 4 2 92.75 ) ( 0.75 2 92.75 ) ( 4 34 92.75 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1.75 2 57.5 ) ( 5 2 57.5 ) ( 5 34 57.5 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 8 +{ + contents detail; + ( 21 0 61 ) ( 52 0 61 ) ( 52 0 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 883.98602 -208 180 0 lightmap_gray 16383.826 16384 -883.99316 194 0 0 + ( 52 0 61 ) ( 52 2 61 ) ( 52 2 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 883.98602 -208 180 0 lightmap_gray 16384 16384 262 194 0 0 + ( 52 2 61 ) ( 21 2 61 ) ( 21 2 0 ) berlin_door_metal_reinforced_glass 52 -65.99987 883.98602 -208 180 0 lightmap_gray 16384.078 16384 -884.0033 194 0 0 + ( 48 0.25 97.5 ) ( 48 0.25 93.75 ) ( 48 32.25 97.5 ) berlin_door_metal_reinforced_glass 56 94 -493.8465 250.75 90 0 lightmap_gray 16383.969 16384.049 262.00479 194 0 0 + ( 4 2 92.75 ) ( 0.75 2 92.75 ) ( 4 34 92.75 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1.75 2 57.5 ) ( 5 2 57.5 ) ( 5 34 57.5 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_elecroom_doorframe.map b/map_source/_prefabs/zombiemode/asylum_elecroom_doorframe.map new file mode 100644 index 000000000..b0611a2d0 --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_elecroom_doorframe.map @@ -0,0 +1,325 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "1 0.537255 0.129412" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +// brush 0 +{ + contents detail; + ( 23 18 0 ) ( 19 18 0 ) ( 19 0 0 ) caulk 128 32 456 530 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 0 102 ) ( 19 16 102 ) ( 23 16 98 ) caulk 128 32 456 530 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 0 16 ) ( 23 0 16 ) ( 23 0 0 ) berlin_trim_concrete_spoted 128 -32 -329.99484 -567.98267 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 23 0 16 ) ( 23 18 16 ) ( 23 18 0 ) berlin_trim_concrete_spoted 128 -32 -197 -461 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 23 16 16 ) ( 19 16 16 ) ( 19 16 0 ) berlin_trim_concrete_spoted 128 -32 -329.98557 -567.98914 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 16 102 ) ( 19 0 102 ) ( 19 0 0 ) berlin_trim_concrete_spoted 128 -32 -197 -460.99707 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 1 +{ + contents detail; + ( 12 12 0 ) ( 4 12 0 ) ( 4 7 0 ) caulk 32 128 530 -456 0 0.00010172552 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 4 102 ) ( 4 12 102 ) ( 19 12 102 ) caulk 32 128 530 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 4 102 ) ( 12 4 102 ) ( 12 4 0 ) berlin_trim_concrete_beveld 128 32 -194 530.00366 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 8 102 ) ( 19 13 102 ) ( 19 13 0 ) caulk 32 128 456 194 0 5.495927e-005 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 12 12 102 ) ( 4 12 102 ) ( 4 12 0 ) berlin_trim_concrete_beveld 128 32 -194 530 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 12 102 ) ( 4 4 102 ) ( 4 4 0 ) caulk 32 128 456.00131 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 2 +{ + contents nonColliding; + ( 19 12 62 ) ( 4 12 62 ) ( 4 4 62 ) berlin_trim_concrete_spoted 128 32 529.99457 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 3 4 71 ) ( 3 12 71 ) ( 18 12 71 ) berlin_trim_concrete_spoted 128 32 530.0011 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 2 69 ) ( 19 2 69 ) ( 19 2 62 ) berlin_trim_concrete_spoted 128 32 530 132 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 4 69 ) ( 19 12 69 ) ( 19 12 62 ) caulk 128 32 456.00192 132 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 14 69 ) ( 4 14 69 ) ( 4 14 62 ) berlin_trim_concrete_spoted 128 32 529.99451 132 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 12 69 ) ( 4 4 69 ) ( 4 4 62 ) caulk 128 32 456 132 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 3 +{ + contents nonColliding; + ( 19 12 31 ) ( 4 12 31 ) ( 4 4 31 ) berlin_trim_concrete_spoted 128 32 529.99457 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 3 4 40 ) ( 3 12 40 ) ( 18 12 40 ) berlin_trim_concrete_spoted 128 32 530.0011 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 2 38 ) ( 19 2 38 ) ( 19 2 31 ) berlin_trim_concrete_spoted 128 32 530 163 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 4 38 ) ( 19 12 38 ) ( 19 12 31 ) caulk 128 32 456.00131 163 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 14 38 ) ( 4 14 38 ) ( 4 14 31 ) berlin_trim_concrete_spoted 128 32 529.99689 163 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 12 38 ) ( 4 4 38 ) ( 4 4 31 ) caulk 128 32 456 163 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 4 +{ + contents nonColliding; + ( 19 12 0 ) ( 4 12 0 ) ( 4 4 0 ) caulk 128 32 529.99457 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 3 4 9 ) ( 3 12 9 ) ( 18 12 9 ) berlin_trim_concrete_spoted 128 32 530.0011 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 2 7 ) ( 19 2 7 ) ( 19 2 0 ) berlin_trim_concrete_spoted 128 32 529.99835 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 4 7 ) ( 19 12 7 ) ( 19 12 0 ) caulk 128 32 456.00269 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 14 7 ) ( 4 14 7 ) ( 4 14 0 ) berlin_trim_concrete_spoted 128 32 529.99487 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 12 7 ) ( 4 4 7 ) ( 4 4 0 ) caulk 128 32 456 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 5 +{ + contents detail; + ( 4 18 0 ) ( 0 18 0 ) ( 0 0 0 ) caulk 128 32 456 510.99884 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 0 0 121 ) ( 0 16 121 ) ( 4 16 117 ) caulk 128 32 456 511 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 0 0 16 ) ( 4 0 16 ) ( 4 0 0 ) berlin_trim_concrete_spoted 128 -32 -329.98093 -549.00751 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 0 33 ) ( 4 18 33 ) ( 4 18 17 ) berlin_trim_concrete_spoted 128 -32 -149 -270.99731 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 16 16 ) ( 0 16 16 ) ( 0 16 0 ) berlin_trim_concrete_spoted 128 -32 -329.98593 -549.02289 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 0 16 102 ) ( 0 0 102 ) ( 0 0 0 ) caulk 128 32 -194 456 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 6 +{ + contents nonColliding; + ( 19 12 93 ) ( 4 12 93 ) ( 4 4 93 ) berlin_trim_concrete_spoted 128 32 529.99457 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 3 4 102 ) ( 3 12 102 ) ( 18 12 102 ) caulk 128 32 529.99542 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 2 100 ) ( 19 2 100 ) ( 19 2 93 ) berlin_trim_concrete_spoted 128 32 530 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 4 100 ) ( 19 12 100 ) ( 19 12 93 ) caulk 128 32 456.00198 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 14 100 ) ( 4 14 100 ) ( 4 14 93 ) berlin_trim_concrete_spoted 128 32 529.98883 100.99837 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 12 100 ) ( 4 4 100 ) ( 4 4 93 ) caulk 128 32 455.99637 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 7 +{ + contents nonColliding; + ( 144 12 102 ) ( 129 12 102 ) ( 129 4 102 ) caulk 128 32 656.99463 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 57 4 104 ) ( 57 12 104 ) ( 72 12 104 ) caulk 128 32 656.99683 -456.00174 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 2 100 ) ( 146 2 100 ) ( 146 2 93 ) berlin_trim_concrete_spoted 128 32 656.99707 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 4 100 ) ( 146 12 100 ) ( 146 12 93 ) caulk 128 32 456.00198 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 14 100 ) ( 131 14 100 ) ( 131 14 93 ) berlin_trim_concrete_spoted 128 32 656.9978 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 12 102 ) ( 4 4 102 ) ( 4 4 95 ) caulk 128 32 456 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 8 +{ + contents detail; + ( 146 12 102 ) ( 146 4 102 ) ( 146 4 117 ) caulk 32 128 456 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 4 102 ) ( 4 12 102 ) ( 4 12 117 ) caulk 32 128 456.00269 194 0 8.5652689e-005 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 12 117 ) ( 19 12 109 ) ( 121 12 109 ) berlin_trim_concrete_beveld 128 32 -1135.0013 776.02014 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 12 102 ) ( 4 4 102 ) ( 146 4 102 ) caulk 32 128 530 -456.00211 0 2.0360874e-005 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 4 109 ) ( 19 4 117 ) ( 121 4 117 ) berlin_trim_concrete_beveld 128 32 -1134.9926 776.02618 -180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 161 12 117 ) ( 161 4 117 ) ( 19 4 117 ) caulk 32 128 530 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 9 +{ + contents nonColliding; + ( 8 14 104 ) ( 4 14 104 ) ( 4 2 104 ) caulk 128 32 584 491.99438 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 2 115 ) ( 4 14 115 ) ( 8 14 115 ) caulk 128 32 584 491.99359 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 3 115 ) ( 8 3 115 ) ( 8 3 105 ) berlin_trim_concrete_spoted 128 32 -65.005264 498.02518 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 8 2 115 ) ( 8 14 115 ) ( 8 14 105 ) berlin_trim_concrete_spoted 128 32 -66 418.00171 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 8 13 115 ) ( 4 13 115 ) ( 4 13 105 ) berlin_trim_concrete_spoted 128 32 -65.006485 498.01685 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 14 115 ) ( 4 2 115 ) ( 4 2 105 ) caulk 128 32 -66 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 10 +{ + contents nonColliding; + ( 142 12 115 ) ( 127 12 115 ) ( 127 4 115 ) berlin_trim_concrete_spoted 128 32 656.99121 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 56 4 117 ) ( 56 12 117 ) ( 71 12 117 ) caulk 128 32 656.99542 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 2 100 ) ( 146 2 100 ) ( 146 2 93 ) berlin_trim_concrete_spoted 128 32 649.99878 110 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 4 100 ) ( 146 12 100 ) ( 146 12 93 ) caulk 128 32 456.00198 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 14 100 ) ( 131 14 100 ) ( 131 14 93 ) berlin_trim_concrete_spoted 128 32 649.9978 110 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 4 12 102 ) ( 4 4 102 ) ( 4 4 95 ) caulk 128 32 456 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 11 +{ + contents detail; + ( 150 0 121 ) ( 150 16 121 ) ( 146 16 117 ) caulk 128 -32 365.00897 241 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 0 16 121 ) ( 0 0 121 ) ( 4 0 117 ) caulk 128 -32 440 -531 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 106 16 121 ) ( 106 16 117 ) ( 122 16 117 ) berlin_trim_concrete_spoted 128 -32 -357 -427.98959 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 124 16 117 ) ( 124 -2 117 ) ( 140 -2 117 ) berlin_trim_concrete_spoted 128 -32 -344.75 -430 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 106 0 117 ) ( 106 0 121 ) ( 122 0 121 ) berlin_trim_concrete_spoted 128 -32 -357 -427.99734 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 132 16 121 ) ( 132 0 121 ) ( 20 0 121 ) caulk 128 -32 -316 -440 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 12 +{ + contents nonColliding; + ( 23 14 104 ) ( 19 14 104 ) ( 19 2 104 ) caulk 128 32 584 506.99374 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 2 115 ) ( 19 14 115 ) ( 23 14 115 ) caulk 128 32 584 506.99408 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 3 115 ) ( 23 3 115 ) ( 23 3 105 ) berlin_trim_concrete_spoted 128 32 -79.5 512.99829 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 23 2 115 ) ( 23 14 115 ) ( 23 14 105 ) berlin_trim_concrete_spoted 128 32 -83 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 23 13 115 ) ( 19 13 115 ) ( 19 13 105 ) berlin_trim_concrete_spoted 128 32 -79.5 513 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 14 115 ) ( 19 2 115 ) ( 19 2 105 ) berlin_trim_concrete_spoted 128 32 -83 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 13 +{ + contents nonColliding; + ( 35 14 104 ) ( 31 14 104 ) ( 31 2 104 ) caulk 128 32 584 518.99097 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 31 2 115 ) ( 31 14 115 ) ( 35 14 115 ) caulk 128 32 584 518.99133 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 31 3 115 ) ( 35 3 115 ) ( 35 3 105 ) berlin_trim_concrete_spoted 128 32 -65.004982 525 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 35 2 115 ) ( 35 14 115 ) ( 35 14 105 ) berlin_trim_concrete_spoted 128 32 -66 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 35 13 115 ) ( 31 13 115 ) ( 31 13 105 ) berlin_trim_concrete_spoted 128 32 -65.006561 525 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 31 14 115 ) ( 31 2 115 ) ( 31 2 105 ) berlin_trim_concrete_spoted 128 32 -66 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 14 +{ + contents nonColliding; + ( 47 14 104 ) ( 43 14 104 ) ( 43 2 104 ) caulk 128 32 584 530.99219 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 43 2 115 ) ( 43 14 115 ) ( 47 14 115 ) caulk 128 32 584 530.99219 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 43 3 115 ) ( 47 3 115 ) ( 47 3 105 ) berlin_trim_concrete_spoted 128 32 -55 537.00427 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 47 2 115 ) ( 47 14 115 ) ( 47 14 105 ) berlin_trim_concrete_spoted 128 32 -26 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 47 13 115 ) ( 43 13 115 ) ( 43 13 105 ) berlin_trim_concrete_spoted 128 32 -55.006042 537.00763 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 43 14 115 ) ( 43 2 115 ) ( 43 2 105 ) berlin_trim_concrete_spoted 128 32 -26 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 15 +{ + contents nonColliding; + ( 59 14 104 ) ( 55 14 104 ) ( 55 2 104 ) caulk 128 32 584 542.99475 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 55 2 115 ) ( 55 14 115 ) ( 59 14 115 ) caulk 128 32 584 542.99286 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 55 3 115 ) ( 59 3 115 ) ( 59 3 105 ) berlin_trim_concrete_spoted 128 32 -65.006042 549.00281 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 59 2 115 ) ( 59 14 115 ) ( 59 14 105 ) berlin_trim_concrete_spoted 128 32 -66 418.00171 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 59 13 115 ) ( 55 13 115 ) ( 55 13 105 ) berlin_trim_concrete_spoted 128 32 -65.002266 548.99756 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 55 14 115 ) ( 55 2 115 ) ( 55 2 105 ) berlin_trim_concrete_spoted 128 32 -66 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 16 +{ + contents nonColliding; + ( 71 14 104 ) ( 67 14 104 ) ( 67 2 104 ) caulk 128 32 584 554.9942 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 67 2 115 ) ( 67 14 115 ) ( 71 14 115 ) caulk 128 32 584 554.99591 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 67 3 115 ) ( 71 3 115 ) ( 71 3 105 ) berlin_trim_concrete_spoted 128 32 -74 561 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 71 2 115 ) ( 71 14 115 ) ( 71 14 105 ) berlin_trim_concrete_spoted 128 32 -6 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 71 13 115 ) ( 67 13 115 ) ( 67 13 105 ) berlin_trim_concrete_spoted 128 32 -74 561 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 67 14 115 ) ( 67 2 115 ) ( 67 2 105 ) berlin_trim_concrete_spoted 128 32 -6 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 17 +{ + contents nonColliding; + ( 83 14 104 ) ( 79 14 104 ) ( 79 2 104 ) caulk 128 32 584 566.99341 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 79 2 115 ) ( 79 14 115 ) ( 83 14 115 ) caulk 128 32 584 566.99554 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 79 3 115 ) ( 83 3 115 ) ( 83 3 105 ) berlin_trim_concrete_spoted 128 32 -65 572.99823 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 83 2 115 ) ( 83 14 115 ) ( 83 14 105 ) berlin_trim_concrete_spoted 128 32 -66 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 83 13 115 ) ( 79 13 115 ) ( 79 13 105 ) berlin_trim_concrete_spoted 128 32 -65 573.00867 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 79 14 115 ) ( 79 2 115 ) ( 79 2 105 ) berlin_trim_concrete_spoted 128 32 -66 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 18 +{ + contents nonColliding; + ( 95 14 104 ) ( 91 14 104 ) ( 91 2 104 ) caulk 128 32 584 578.99713 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 91 2 115 ) ( 91 14 115 ) ( 95 14 115 ) caulk 128 32 584 578.99408 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 91 3 115 ) ( 95 3 115 ) ( 95 3 105 ) berlin_trim_concrete_spoted 128 32 -51 585 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 95 2 115 ) ( 95 14 115 ) ( 95 14 105 ) berlin_trim_concrete_spoted 128 32 -146 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 95 13 115 ) ( 91 13 115 ) ( 91 13 105 ) berlin_trim_concrete_spoted 128 32 -51 585 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 91 14 115 ) ( 91 2 115 ) ( 91 2 105 ) berlin_trim_concrete_spoted 128 32 -146 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 19 +{ + contents nonColliding; + ( 107 14 104 ) ( 103 14 104 ) ( 103 2 104 ) caulk 128 32 584 590.99841 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 103 2 115 ) ( 103 14 115 ) ( 107 14 115 ) caulk 128 32 584 590.99127 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 103 3 115 ) ( 107 3 115 ) ( 107 3 105 ) berlin_trim_concrete_spoted 128 32 -65 596.99475 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 107 2 115 ) ( 107 14 115 ) ( 107 14 105 ) berlin_trim_concrete_spoted 128 32 -66 418.00171 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 107 13 115 ) ( 103 13 115 ) ( 103 13 105 ) berlin_trim_concrete_spoted 128 32 -65 596.99359 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 103 14 115 ) ( 103 2 115 ) ( 103 2 105 ) berlin_trim_concrete_spoted 128 32 -66 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 20 +{ + contents nonColliding; + ( 119 14 104 ) ( 115 14 104 ) ( 115 2 104 ) caulk 128 32 584 602.995 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 115 2 115 ) ( 115 14 115 ) ( 119 14 115 ) caulk 128 32 584 602.99408 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 115 3 115 ) ( 119 3 115 ) ( 119 3 105 ) berlin_trim_concrete_spoted 128 32 -69.25 608.99817 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 119 2 115 ) ( 119 14 115 ) ( 119 14 105 ) berlin_trim_concrete_spoted 128 32 -110 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 119 13 115 ) ( 115 13 115 ) ( 115 13 105 ) berlin_trim_concrete_spoted 128 32 -69.25 609.01361 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 115 14 115 ) ( 115 2 115 ) ( 115 2 105 ) berlin_trim_concrete_spoted 128 32 -110 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 21 +{ + contents nonColliding; + ( 131 14 104 ) ( 127 14 104 ) ( 127 2 104 ) caulk 128 32 584 614.99109 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 127 2 115 ) ( 127 14 115 ) ( 131 14 115 ) caulk 128 32 584 614.99762 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 127 3 115 ) ( 131 3 115 ) ( 131 3 105 ) berlin_trim_concrete_spoted 128 32 -65 621.00989 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 2 115 ) ( 131 14 115 ) ( 131 14 105 ) berlin_trim_concrete_spoted 128 32 -66 418.00171 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 13 115 ) ( 127 13 115 ) ( 127 13 105 ) berlin_trim_concrete_spoted 128 32 -65 621.0152 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 127 14 115 ) ( 127 2 115 ) ( 127 2 105 ) berlin_trim_concrete_spoted 128 32 -66 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 22 +{ + contents nonColliding; + ( 146 14 104 ) ( 142 14 104 ) ( 142 2 104 ) caulk 128 32 584 629.99231 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 142 2 115 ) ( 142 14 115 ) ( 146 14 115 ) caulk 128 32 584.00104 629.9928 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 142 3 115 ) ( 146 3 115 ) ( 146 3 105 ) berlin_trim_concrete_spoted 128 32 -83.75 636.0127 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 2 115 ) ( 146 14 115 ) ( 146 14 105 ) caulk 128 32 -66 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 13 115 ) ( 142 13 115 ) ( 142 13 105 ) berlin_trim_concrete_spoted 128 32 -83.75 636.01508 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 142 14 115 ) ( 142 2 115 ) ( 142 2 105 ) berlin_trim_concrete_spoted 128 32 -78 418 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 23 +{ + contents detail; + ( 146 -2 0 ) ( 150 -2 0 ) ( 150 16 0 ) caulk 128 32 440 360.99857 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 148 16 119 ) ( 148 0 119 ) ( 144 0 115 ) caulk 128 32 440 360.99738 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 150 16 16 ) ( 146 16 16 ) ( 146 16 0 ) berlin_trim_concrete_spoted 128 -32 -213.00221 -398.97806 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 16 16 ) ( 146 -2 16 ) ( 146 -2 0 ) berlin_trim_concrete_spoted 128 -32 -149 -271 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 0 16 ) ( 150 0 16 ) ( 150 0 0 ) berlin_trim_concrete_spoted 128 -32 -213.00319 -398.98685 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 150 0 102 ) ( 150 16 102 ) ( 150 16 0 ) caulk 128 -32 -194 -440 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 24 +{ + contents nonColliding; + ( 146 12 93 ) ( 131 12 93 ) ( 131 4 93 ) berlin_trim_concrete_spoted 128 32 657.0036 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 130 4 102 ) ( 130 12 102 ) ( 145 12 102 ) caulk 128 32 656.98865 -456.00177 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 2 100 ) ( 146 2 100 ) ( 146 2 93 ) berlin_trim_concrete_spoted 128 32 656.99707 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 4 100 ) ( 146 12 100 ) ( 146 12 93 ) caulk 128 32 456.00198 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 14 100 ) ( 131 14 100 ) ( 131 14 93 ) berlin_trim_concrete_spoted 128 32 656.9978 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 12 100 ) ( 131 4 100 ) ( 131 4 93 ) caulk 128 32 455.99637 101 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 25 +{ + contents detail; + ( 127 -2 0 ) ( 131 -2 0 ) ( 131 16 0 ) caulk 128 32 440.00824 380 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 16 102 ) ( 131 0 102 ) ( 127 0 98 ) caulk 128 32 440 380 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 16 16 ) ( 127 16 16 ) ( 127 16 0 ) berlin_trim_concrete_spoted 128 -32 -213 -417.97061 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 127 16 16 ) ( 127 -2 16 ) ( 127 -2 0 ) berlin_trim_concrete_spoted 128 -32 -197 -461 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 127 0 16 ) ( 131 0 16 ) ( 131 0 0 ) berlin_trim_concrete_spoted 128 -32 -213 -417.9747 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 0 102 ) ( 131 16 102 ) ( 131 16 0 ) berlin_trim_concrete_spoted 128 -32 -197 -461 90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 26 +{ + contents detail; + ( 131 0 102 ) ( 131 16 102 ) ( 127 16 98 ) caulk 128 -32 366 241 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 19 16 102 ) ( 19 0 102 ) ( 23 0 98 ) caulk 128 -32 440 -530 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 105 16 102 ) ( 105 16 98 ) ( 121 16 98 ) berlin_trim_concrete_spoted 128 -32 -356.00342 -446.99057 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 105 16 98 ) ( 105 -2 98 ) ( 121 -2 98 ) berlin_trim_concrete_spoted 128 -32 -318 -430 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 105 0 98 ) ( 105 0 102 ) ( 121 0 102 ) berlin_trim_concrete_spoted 128 -32 -356 -446.99274 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 16 102 ) ( 131 0 102 ) ( 19 0 102 ) caulk 128 -32 -344.75 -430 180 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 27 +{ + contents detail; + ( 138 4 0 ) ( 146 4 0 ) ( 146 9 0 ) caulk 32 128 530 -456.00854 0 4.8233556e-005 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 12 102 ) ( 146 4 102 ) ( 131 4 102 ) caulk 32 128 530 -456 0 3.8823015e-005 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 12 102 ) ( 138 12 102 ) ( 138 12 0 ) berlin_trim_concrete_beveld 128 32 -341 380.02176 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 8 102 ) ( 131 3 102 ) ( 131 3 0 ) caulk 32 128 456 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 138 4 102 ) ( 146 4 102 ) ( 146 4 0 ) berlin_trim_concrete_beveld 128 32 -341 380.02231 -90 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 4 102 ) ( 146 12 102 ) ( 146 12 0 ) caulk 32 128 456.00122 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 28 +{ + contents nonColliding; + ( 146 12 62 ) ( 131 12 62 ) ( 131 4 62 ) berlin_trim_concrete_spoted 128 32 657.0036 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 130 4 71 ) ( 130 12 71 ) ( 145 12 71 ) berlin_trim_concrete_spoted 128 32 656.99738 -456.00177 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 2 69 ) ( 146 2 69 ) ( 146 2 62 ) berlin_trim_concrete_spoted 128 32 656.99811 132 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 4 69 ) ( 146 12 69 ) ( 146 12 62 ) caulk 128 32 456.00192 132 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 14 69 ) ( 131 14 69 ) ( 131 14 62 ) berlin_trim_concrete_spoted 128 32 657.00189 132 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 12 69 ) ( 131 4 69 ) ( 131 4 62 ) caulk 128 32 456 132 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 29 +{ + contents nonColliding; + ( 146 12 31 ) ( 131 12 31 ) ( 131 4 31 ) berlin_trim_concrete_spoted 128 32 657.0036 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 130 4 40 ) ( 130 12 40 ) ( 145 12 40 ) berlin_trim_concrete_spoted 128 32 656.99738 -456.00177 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 2 38 ) ( 146 2 38 ) ( 146 2 31 ) berlin_trim_concrete_spoted 128 32 657.00183 163 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 4 38 ) ( 146 12 38 ) ( 146 12 31 ) caulk 128 32 456.00131 163 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 14 38 ) ( 131 14 38 ) ( 131 14 31 ) berlin_trim_concrete_spoted 128 32 657 163 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 12 38 ) ( 131 4 38 ) ( 131 4 31 ) caulk 128 32 456 163 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +// brush 30 +{ + contents nonColliding; + ( 146 12 0 ) ( 131 12 0 ) ( 131 4 0 ) caulk 128 32 657.0036 -456 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 130 4 9 ) ( 130 12 9 ) ( 145 12 9 ) berlin_trim_concrete_spoted 128 32 656.99738 -456.00177 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 2 7 ) ( 146 2 7 ) ( 146 2 0 ) berlin_trim_concrete_spoted 128 32 656.99493 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 4 7 ) ( 146 12 7 ) ( 146 12 0 ) caulk 128 32 456.00269 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 146 14 7 ) ( 131 14 7 ) ( 131 14 0 ) berlin_trim_concrete_spoted 128 32 657.0022 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 + ( 131 12 7 ) ( 131 4 7 ) ( 131 4 0 ) caulk 128 32 456 194 0 0 lightmap_gray 16384.754 -16384 380.0242 -194 180 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_phonepole.map b/map_source/_prefabs/zombiemode/asylum_phonepole.map new file mode 100644 index 000000000..1f103d71b --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_phonepole.map @@ -0,0 +1,102 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 + { + curve + { + contents nonColliding; + berlin_floors_wood_hardwood2 + lightmap_gray + 9 3 16 8 + ( + v 30 -19 -2 t 0 -0 1 1 + v 30 -19 279 t 0 -2248 1 49 + v 30 -19 366 t 0 -4496 1 49 + ) + ( + v 30 -26 -2 t 56 -0 3 1 + v 30 -26 279 t 56 -2248 3 49 + v 30 -26 366 t 56 -4496 3 49 + ) + ( + v 36 -26 -2 t 104 -0 5 1 + v 36 -26 279 t 104 -2248 5 49 + v 36 -26 366 t 104 -4496 5 49 + ) + ( + v 42 -26 -2 t 152 -0 7 1 + v 42 -26 279 t 152 -2248 7 49 + v 42 -26 366 t 152 -4496 7 49 + ) + ( + v 42 -19 -2 t 208 -0 9 1 + v 42 -19 279 t 208 -2248 9 49 + v 42 -19 366 t 208 -4496 9 49 + ) + ( + v 42 -12 -2 t 264 -0 11 1 + v 42 -12 279 t 264 -2248 11 49 + v 42 -12 366 t 264 -4496 11 49 + ) + ( + v 36 -12 -2 t 312 -0 13 1 + v 36 -12 279 t 312 -2248 13 49 + v 36 -12 366 t 312 -4496 13 49 + ) + ( + v 30 -12 -2 t 360 -0 15 1 + v 30 -12 279 t 360 -2248 15 49 + v 30 -12 366 t 360 -4496 15 49 + ) + ( + v 30 -19 -2 t 416 -0 17 1 + v 30 -19 279 t 416 -2248 17 49 + v 30 -19 366 t 416 -4496 17 49 + ) + } + } +// brush 1 +{ + contents nonColliding; + ( 98 -8 312.5 ) ( -30 -8 315.5 ) ( -30 -152 315.5 ) berlin_floors_wood_hardwood2 128 127.9618 0 79.888535 90 0 lightmap_gray 16379.11 16384 -0.08758647 62 0 0 + ( -30 -152 323.5 ) ( -30 -8 323.5 ) ( 98 -8 320.5 ) berlin_floors_wood_hardwood2 128 127.9618 0 80.084007 90 0 lightmap_gray 16379.11 16384 0.10788041 62 0 0 + ( -29.75 -12 325.5 ) ( 98.25 -12 322.5 ) ( 98 -12 314.5 ) berlin_floors_wood_hardwood2 128 128 1.2625207 -12.220075 -91.399979 0 lightmap_gray 16384 16384.016 -7.7799768 1.2643731 -1.4000534 0 + ( 98 -152 320.5 ) ( 98 -8 320.5 ) ( 98 -8 312.5 ) berlin_floors_wood_hardwood2 128 127.96094 -62 3.4660034 0 0 lightmap_gray 16384 16379 -62 3.4660034 0 0 + ( 98 -8 320.5 ) ( -30 -8 323.5 ) ( -30 -8 315.5 ) berlin_floors_wood_hardwood2 128 128 1.2625372 -12.220109 -91.399971 0 lightmap_gray 16384 16383.893 -7.7801013 1.2620662 -1.4000778 0 + ( -30 -8 323.5 ) ( -30 -152 323.5 ) ( -30 -152 315.5 ) berlin_floors_wood_hardwood2 128 127.96094 -62 0.33865356 0 0 lightmap_gray 16384 16379 -62 0.33865356 0 0 +} +// brush 2 +{ + contents nonColliding; + ( 98 -8 340.5 ) ( -29.5 -8 331.5 ) ( -29.5 -152 331.5 ) berlin_floors_wood_hardwood2 128 127.68896 0 80.167442 90 0 lightmap_gray 16344.088 16384 0.36190706 62 0 0 + ( -30 -152 339.5 ) ( -30 -8 339.5 ) ( 97.5 -8 348.5 ) berlin_floors_wood_hardwood2 128 127.68899 0 79.60923 90 0 lightmap_gray 16344.09 16384 -0.19620411 62 0 0 + ( -30.25 -12 341.5 ) ( 97.5 -12 350.5 ) ( 98 -12 342.5 ) berlin_floors_wood_hardwood2 128 128 3.2006569 -43.633476 -86 0 lightmap_gray 16384 16384.037 23.634012 -16.80069 4 0 + ( 97.5 -152 348.5 ) ( 97.5 -8 348.5 ) ( 98 -8 340.5 ) berlin_floors_wood_hardwood2 128 127.68848 -62 -25.244326 0 0 lightmap_gray 16384 16344.063 -62 -25.24437 0 0 + ( 97.5 -8 348.5 ) ( -30 -8 339.5 ) ( -29.5 -8 331.5 ) berlin_floors_wood_hardwood2 128 128 3.1980162 -43.634693 -86 0 lightmap_gray 16384 16383.975 23.634649 -16.801807 4 0 + ( -30 -8 339.5 ) ( -30 -152 339.5 ) ( -29.5 -152 331.5 ) berlin_floors_wood_hardwood2 128 127.68848 -62 -16.315554 0 0 lightmap_gray 16384 16344.063 -62 -16.315598 0 0 +} +// brush 3 +{ + contents nonColliding; + ( 98 -26 339.25 ) ( -29.75 -26 333 ) ( -29.75 -170 333 ) berlin_floors_wood_hardwood2 128 127.84798 0 80.140968 90 0 lightmap_gray 16364.438 16384 0.23599681 80 0 0 + ( -30 -170 340.75 ) ( -30 -26 340.75 ) ( 97.75 -26 347 ) berlin_floors_wood_hardwood2 128 127.84799 0 79.75 90 0 lightmap_gray 16364.439 16384 -0.15481065 80 0 0 + ( -30.25 -30 342.75 ) ( 97.75 -30 349 ) ( 98 -30 341.25 ) berlin_floors_wood_hardwood2 128 128 2.0655282 -36.568863 -87.199951 0 lightmap_gray 16384 16384 16.567703 -17.933523 2.8000169 0 + ( 97.75 -170 347 ) ( 97.75 -26 347 ) ( 98 -26 339.25 ) berlin_floors_wood_hardwood2 128 127.84717 -80 -23.509779 0 0 lightmap_gray 16384 16364.438 -80 -23.508499 0 0 + ( 97.75 -26 347 ) ( -30 -26 340.75 ) ( -29.75 -26 333 ) berlin_floors_wood_hardwood2 128 128 2.066937 -36.569237 -87.199951 0 lightmap_gray 16384 16384 16.568949 -17.933462 2.8000302 0 + ( -30 -26 340.75 ) ( -30 -170 340.75 ) ( -29.75 -170 333 ) berlin_floors_wood_hardwood2 128 127.84717 -80 -17.257002 0 0 lightmap_gray 16384 16364.438 -80 -17.255692 0 0 +} +// brush 4 +{ + contents nonColliding; + ( 98 -26 316.5 ) ( -30 -26 315.5 ) ( -30 -170 315.5 ) berlin_floors_wood_hardwood2 128 127.99767 0 80.027298 90 0 lightmap_gray 16383.602 16384 0.028751882 80 0 0 + ( -30 -170 323.5 ) ( -30 -26 323.5 ) ( 98 -26 324.5 ) berlin_floors_wood_hardwood2 128 127.99767 0 79.971443 90 0 lightmap_gray 16383.602 16384 -0.027095288 80 0 0 + ( -30 -30 325.5 ) ( 98 -30 326.5 ) ( 98 -30 318.5 ) berlin_floors_wood_hardwood2 128 128 0.24515824 -22.233217 -89.599976 0 lightmap_gray 16384 16383.963 2.2330616 0.24441655 0.39998004 0 + ( 98 -170 324.5 ) ( 98 -26 324.5 ) ( 98 -26 316.5 ) berlin_floors_wood_hardwood2 128 127.99756 -80 -0.45414734 0 0 lightmap_gray 16384 16383.625 -80 -0.45413208 0 0 + ( 98 -26 324.5 ) ( -30 -26 323.5 ) ( -30 -26 315.5 ) berlin_floors_wood_hardwood2 128 128 0.24515969 -22.233124 -89.599976 0 lightmap_gray 16384 16384.025 2.2331319 0.24566267 0.39999217 0 + ( -30 -26 323.5 ) ( -30 -170 323.5 ) ( -30 -170 315.5 ) berlin_floors_wood_hardwood2 128 127.99756 -80 0.4394989 0 0 lightmap_gray 16384 16383.625 -80 0.43948364 0 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_storage_table.map b/map_source/_prefabs/zombiemode/asylum_storage_table.map new file mode 100644 index 000000000..039ce94c2 --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_storage_table.map @@ -0,0 +1,959 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "0.294118 0.286275 0.392157" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +// brush 0 +{ + contents nonColliding; + ( 3.5 -15.5 16 ) ( 3.5 -16.5 16 ) ( 3.5 -16.5 17 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16365.355 -16384 -1305 -157.9939 180 -0.00024390244 + ( -6.5 -15.5 17 ) ( -6.5 -16.5 17 ) ( -6.5 -16.5 16 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16410.223 -16385.008 -1308.6138 -158.00536 180 -0.00036412073 + ( 3.5 -15.5 16 ) ( -6.5 -15.5 16 ) ( -6.5 -16.5 16 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16375.489 -16384 -1304.379 -53.214531 -90 -0.0010864257 + ( 3.5 -16.5 16 ) ( -6.5 -16.5 16 ) ( -6.5 -16.5 17 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.486 16386.193 -157.7307 52.980839 90 -0.0002049647 + ( 3.5 -16.5 17 ) ( -6.5 -16.5 17 ) ( -6.5 -15.5 17 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16363.662 -16384.193 -1303.5364 -53.188011 -90 -0.0010125482 + ( 3.5 -15.5 17 ) ( -6.5 -15.5 17 ) ( -6.5 -15.5 16 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.496 16385.254 -158.21361 53.044292 90 0.00015259956 +} +// brush 1 +{ + contents nonColliding; + ( 3.5 -15.5 31 ) ( 3.5 -16.5 31 ) ( 3.5 -16.5 32 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16387.031 -16384 -1306.7521 -143 180 0 + ( -6.5 -15.5 32 ) ( -6.5 -16.5 32 ) ( -6.5 -16.5 31 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.031 -16384 -1306.4252 -143 -180 0 + ( 3.5 -15.5 31 ) ( -6.5 -15.5 31 ) ( -6.5 -16.5 31 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16422.932 -16384 -1309.6074 -53.027924 -90 -8.5449217e-005 + ( 3.5 -16.5 31 ) ( -6.5 -16.5 31 ) ( -6.5 -16.5 32 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.992 16384.578 -142.73 52.974255 90 -0.00021832576 + ( 3.5 -16.5 32 ) ( -6.5 -16.5 32 ) ( -6.5 -15.5 32 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16375.278 -16384.17 -1305.767 -53.029263 -90 -9.7435222e-005 + ( 3.5 -15.5 32 ) ( -6.5 -15.5 32 ) ( -6.5 -15.5 31 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16382.998 16384.068 -143.20195 53.039295 90 0.00015204096 +} +// brush 2 +{ + contents nonColliding; + ( 3.5 -15.5 23.5 ) ( 3.5 -16.5 23.5 ) ( 3.5 -16.5 24.5 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.031 -16384.012 -1306.421 -150.48094 180 0 + ( -6.5 -15.5 24.5 ) ( -6.5 -16.5 24.5 ) ( -6.5 -16.5 23.5 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16394.309 -16384 -1307.3226 -150.47983 180 -0.0002436277 + ( 3.5 -15.5 23.5 ) ( -6.5 -15.5 23.5 ) ( -6.5 -16.5 23.5 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16381.42 -16384 -1305.5062 -53.125 -90 -0.0005851991 + ( 3.5 -16.5 23.5 ) ( -6.5 -16.5 23.5 ) ( -6.5 -16.5 24.5 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16385.006 16384.318 -150.23615 52.973949 90 -0.00021597474 + ( 3.5 -16.5 24.5 ) ( -6.5 -16.5 24.5 ) ( -6.5 -15.5 24.5 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16382.545 -16384.213 -1305.6152 -53.125 -90 -0.00065944326 + ( 3.5 -15.5 24.5 ) ( -6.5 -15.5 24.5 ) ( -6.5 -15.5 23.5 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.26 16384.248 -150.71429 53.040737 90 0.00016432791 +} +// brush 3 +{ + contents nonColliding; + ( 9 -15.5 32.5 ) ( 9 -14.5 32.5 ) ( -5 -14.5 32.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.285 16383.984 -1313.0193 189.49693 0 0.00023626488 + ( -6 -15.5 33 ) ( -6 -14.5 33 ) ( 14 -14.5 33 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.105 16383.791 -1313.0118 189.49802 0 -0.00022051128 + ( -6 -15.5 35 ) ( 14 -15.5 35 ) ( 14 -15.5 1 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.387 16384 -1313.0297 31 0 0 + ( 9 -14.5 32 ) ( 9 -15.5 32 ) ( 10 -15.5 33 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16381.973 16385 -1320.8334 194.50955 0 0.00014130566 + ( 14 -14.5 35 ) ( -6 -14.5 35 ) ( -6 -14.5 1 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.666 16384 -1312.973 31 0 0 + ( -11.5 -15.5 32 ) ( -11.5 -14.5 32 ) ( -12.5 -14.5 33 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16382.021 16385.129 -1320.8334 194.50989 0 -0.00033079396 +} +// brush 4 +{ + contents nonColliding; + ( 30 -14.5 26 ) ( 10 -14.5 26 ) ( 10 -15.5 26 ) caulk 64 64 -1297.0012 189.50505 0 -0.00026939655 lightmap_gray 16384 16383.896 -1297.0012 189.49832 0 -0.00017679036 + ( 10 -15.5 32.5 ) ( 10 -14.5 32.5 ) ( 30 -14.5 32.5 ) caulk 64 64 -1297.0016 189.50542 0 -0.0001653394 lightmap_gray 16384 16384.162 -1297.0072 189.50137 0 -0.00037010614 + ( 10 -15.5 35 ) ( 30 -15.5 35 ) ( 30 -15.5 1 ) okinawa_wood_shuri_int_furni 48 48 -40 -24 0 0 lightmap_gray 16383.801 16384 -1296.9803 31 0 0 + ( 9.5 -15.5 35 ) ( 9.5 -14.5 35 ) ( 9.5 -14.5 1 ) caulk 64 64 -189.49797 31 0 0 lightmap_gray 16383.879 16384 -189.49789 31 0 0 + ( 30 -14.5 35 ) ( 10 -14.5 35 ) ( 10 -14.5 1 ) caulk 64 64 -1297.0168 31 0 0 lightmap_gray 16384.102 16384 -1297.0083 31 0 0 + ( -12 -14.5 36 ) ( -12 -15.5 36 ) ( -12 -15.5 2 ) berlin_ceilings_metal 88 -24 3 -1359.5 90 0 lightmap_gray 16383.936 16384 -189.49828 30.997787 0 0 +} +// brush 5 +{ + contents nonColliding; + ( -13.5 -15.5 34 ) ( -13.5 -14.5 34 ) ( -12.5 -14.5 33 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16382.006 -16384.533 -1310.3274 -189.50375 180 0.00076394877 + ( -12.5 -14.5 25.5 ) ( -12.5 -15.5 25.5 ) ( -11.5 -15.5 26.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16381.93 -16384.371 -1310.3243 -189.50188 -180 0.00040953545 + ( 3.5 -15.5 23.5 ) ( -16.5 -15.5 23.5 ) ( -16.5 -15.5 57.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.121 16384 -1310.509 89.5 180 0 + ( -12.5 -15.5 25.5 ) ( -12.5 -14.5 25.5 ) ( -12.5 -14.5 54.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383 -16384 -189.42444 -89.491302 0 -3.3139819e-005 + ( -16.5 -14.5 23.5 ) ( 3.5 -14.5 23.5 ) ( 3.5 -14.5 57.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384 16384 -1310.4969 89.5 -180 0 + ( -12 -14.5 24.5 ) ( -12 -15.5 24.5 ) ( -12 -15.5 58.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.727 -16384 -189.49751 -89.5 0 0 +} +// brush 6 +{ + contents nonColliding; + ( 30 -14.5 18.5 ) ( 10 -14.5 18.5 ) ( 10 -15.5 18.5 ) caulk 64 64 -1297.0012 189.50505 0 -0.00026939655 lightmap_gray 16384 16383.896 -1297.0012 189.49832 0 -0.00017679036 + ( 10 -15.5 25 ) ( 10 -14.5 25 ) ( 30 -14.5 25 ) caulk 64 64 -1297.0016 189.50542 0 -0.0001653394 lightmap_gray 16384 16384.162 -1297.0072 189.50137 0 -0.00037010614 + ( 10 -15.5 27.5 ) ( 30 -15.5 27.5 ) ( 30 -15.5 -6.5 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16384.6 16384 -1297.0457 38.5 0 0 + ( 9.5 -15.5 27.5 ) ( 9.5 -14.5 27.5 ) ( 9.5 -14.5 -6.5 ) caulk 64 64 -189.49843 38.506035 0 0 lightmap_gray 16384.275 16384 -189.50162 38.506035 0 0 + ( 30 -14.5 27.5 ) ( 10 -14.5 27.5 ) ( 10 -14.5 -6.5 ) caulk 64 64 -1297.0172 38.5 0 0 lightmap_gray 16383.934 16384 -1296.9978 38.5 0 0 + ( -12 -14.5 28.5 ) ( -12 -15.5 28.5 ) ( -12 -15.5 -5.5 ) berlin_ceilings_metal 88 -23.998913 -4.5 -1359.4307 90 0 lightmap_gray 16383.92 16384 -189.49879 38.5 0 0 +} +// brush 7 +{ + contents nonColliding; + ( 9 -15.5 25 ) ( 9 -14.5 25 ) ( -5 -14.5 25 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384 16383.984 -1313.0076 189.49693 0 -0.0003032065 + ( -6 -15.5 25.5 ) ( -6 -14.5 25.5 ) ( 14 -14.5 25.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.105 16383.791 -1313.0118 189.49802 0 -0.00022051128 + ( -6 -15.5 27.5 ) ( 14 -15.5 27.5 ) ( 14 -15.5 -6.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.287 16384 -1313.0212 38.5 0 0 + ( 9 -14.5 24.5 ) ( 9 -15.5 24.5 ) ( 10 -15.5 25.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16381.904 16384.564 -1320.8354 194.5058 0 2.3023862e-005 + ( 14 -14.5 27.5 ) ( -6 -14.5 27.5 ) ( -6 -14.5 -6.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.666 16384 -1312.9734 38.5 0 0 + ( -11.5 -15.5 24.5 ) ( -11.5 -14.5 24.5 ) ( -12.5 -14.5 25.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.977 16384.451 -1320.9954 194.50421 0 -0.00066156057 +} +// brush 8 +{ + contents nonColliding; + ( 11 -15.5 17 ) ( 11 -14.5 17 ) ( 10 -14.5 18 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16379.978 16384.678 -1312.6958 189.50615 0 -0.0012763394 + ( 10 -14.5 25.5 ) ( 10 -15.5 25.5 ) ( 9 -15.5 24.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.977 16385.242 -1312.9906 189.51221 0 0.00047256605 + ( -6 -15.5 27.5 ) ( 14 -15.5 27.5 ) ( 14 -15.5 -6.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.287 16384 -1313.0212 38.5 0 0 + ( 10 -15.5 25.5 ) ( 10 -14.5 25.5 ) ( 10 -14.5 -3.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.879 16384 -189.49789 38.5 0 0 + ( 14 -14.5 27.5 ) ( -6 -14.5 27.5 ) ( -6 -14.5 -6.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.666 16384 -1312.9734 38.5 0 0 + ( 9.5 -14.5 26.5 ) ( 9.5 -15.5 26.5 ) ( 9.5 -15.5 -7.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.379 16384 -189.50172 38.5 0 0 +} +// brush 9 +{ + contents nonColliding; + ( -11.5 -15.5 26 ) ( -11.5 -14.5 26 ) ( 2.5 -14.5 26 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.133 -16383.678 -1310.5166 -189.49576 180 -0.00038589211 + ( 3.5 -15.5 25.5 ) ( 3.5 -14.5 25.5 ) ( -16.5 -14.5 25.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.994 -16383.855 -1310.4972 -189.49875 180 0.00028351563 + ( 3.5 -15.5 23.5 ) ( -16.5 -15.5 23.5 ) ( -16.5 -15.5 57.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.121 16383.941 -1310.509 89.5 180 0 + ( -11.5 -14.5 26.5 ) ( -11.5 -15.5 26.5 ) ( -12.5 -15.5 25.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.035 -16384.518 -1318.5206 -194.5043 180 -0.00063793588 + ( -16.5 -14.5 23.5 ) ( 3.5 -14.5 23.5 ) ( 3.5 -14.5 57.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.879 16383.93 -1310.4907 89.5 180 0 + ( 9 -15.5 26.5 ) ( 9 -14.5 26.5 ) ( 10 -14.5 25.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16385.975 -16384.693 -1318.6456 -194.50613 -180 -3.150335e-005 +} +// brush 10 +{ + contents nonColliding; + ( 11 -15.5 24.5 ) ( 11 -14.5 24.5 ) ( 10 -14.5 25.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16386.059 16385.098 -1313.1664 189.51028 0 0.00010201885 + ( 10 -14.5 33 ) ( 10 -15.5 33 ) ( 9 -15.5 32 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.98 16384.469 -1312.9928 189.50372 0 0.00037015925 + ( -6 -15.5 35 ) ( 14 -15.5 35 ) ( 14 -15.5 1 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.387 16384 -1313.0297 31 0 0 + ( 10 -15.5 33 ) ( 10 -14.5 33 ) ( 10 -14.5 4 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.879 16384 -189.49789 30.997808 0 0 + ( 14 -14.5 35 ) ( -6 -14.5 35 ) ( -6 -14.5 1 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.666 16384 -1312.973 31 0 0 + ( 9.5 -14.5 34 ) ( 9.5 -15.5 34 ) ( 9.5 -15.5 0 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.727 16384 -189.49751 31 0 0 +} +// brush 11 +{ + contents nonColliding; + ( -11.5 -15.5 18.5 ) ( -11.5 -14.5 18.5 ) ( 2.5 -14.5 18.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.99 -16383.678 -1310.5127 -189.49576 180 -0.00090566516 + ( 3.5 -15.5 18 ) ( 3.5 -14.5 18 ) ( -16.5 -14.5 18 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.994 -16383.855 -1310.4972 -189.49875 180 0.00028351563 + ( 3.5 -15.5 16 ) ( -16.5 -15.5 16 ) ( -16.5 -15.5 50 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.584 16383.965 -1310.546 82 180 0 + ( -11.5 -14.5 19 ) ( -11.5 -15.5 19 ) ( -12.5 -15.5 18 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16382.02 -16384.193 -1318.3171 -194.50256 180 0.0012447856 + ( -16.5 -14.5 16 ) ( 3.5 -14.5 16 ) ( 3.5 -14.5 50 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.879 16383.955 -1310.491 82 180 0 + ( 9 -15.5 19 ) ( 9 -14.5 19 ) ( 10 -14.5 18 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16385.938 -16384.711 -1318.6464 -194.50612 180 -0.00064581935 +} +// brush 12 +{ + contents nonColliding; + ( 9 -15.5 17.5 ) ( 9 -14.5 17.5 ) ( -5 -14.5 17.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.285 16383.984 -1313.0079 189.49693 0 0.001204951 + ( -6 -15.5 18 ) ( -6 -14.5 18 ) ( 14 -14.5 18 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.297 16383.791 -1313.0251 189.49802 0 -8.6629436e-005 + ( -6 -15.5 20 ) ( 14 -15.5 20 ) ( 14 -15.5 -14 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.715 16384 -1313.0548 46 0 0 + ( 9 -14.5 17 ) ( 9 -15.5 17 ) ( 10 -15.5 18 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16385.996 16384.711 -1321.175 194.50731 0 -0.00044017783 + ( 14 -14.5 20 ) ( -6 -14.5 20 ) ( -6 -14.5 -14 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16383.715 16384 -1312.9773 46 0 0 + ( -11.5 -15.5 17 ) ( -11.5 -14.5 17 ) ( -12.5 -14.5 18 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16387.965 16385.146 -1321.3123 194.51106 0 -0.00059115893 +} +// brush 13 +{ + contents nonColliding; + ( 29.5 -14.5 4.5 ) ( 9.5 -14.5 4.5 ) ( 9.5 -15.5 4.5 ) caulk 64 64 -1296.9985 189.50505 0 -0.0003199084 lightmap_gray 16384 16384.949 -1297.0021 189.50896 0 0.00012628695 + ( 10 -15.5 17.5 ) ( 10 -14.5 17.5 ) ( 30 -14.5 17.5 ) caulk 64 64 -1297.0016 189.50542 0 -0.00041735554 lightmap_gray 16384 16384.162 -1297.011 189.50137 0 -0.00064575148 + ( 10 -15.5 20 ) ( 30 -15.5 20 ) ( 30 -15.5 -14 ) okinawa_wood_shuri_int_furni 48 48 -72 -8 0 0 lightmap_gray 16384.734 16384 -1297.0576 46 0 0 + ( 9.5 -15.5 20 ) ( 9.5 -14.5 20 ) ( 9.5 -14.5 -14 ) caulk 64 64 -189.49797 46 0 0 lightmap_gray 16383.982 16384 -189.49844 46 0 0 + ( 30 -14.5 20 ) ( 10 -14.5 20 ) ( 10 -14.5 -14 ) caulk 64 64 -1297.019 46 0 0 lightmap_gray 16384.334 16384 -1297.027 46 0 0 + ( -12 -14.5 21 ) ( -12 -15.5 21 ) ( -12 -15.5 -13 ) berlin_ceilings_metal 88 -24 -12 -1359.5 90 0 lightmap_gray 16383.951 16384 -189.49844 45.996132 0 0 +} +// brush 14 +{ + contents nonColliding; + ( 11 -15.5 3 ) ( 11 -14.5 3 ) ( 10 -14.5 4 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16383.98 16384.613 -1312.9777 189.5054 0 0.0015042775 + ( 10 -14.5 18 ) ( 10 -15.5 18 ) ( 9 -15.5 17 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16389.994 16384 -1313.4742 189.5 0 0.00059853832 + ( -6 -15.5 20 ) ( 14 -15.5 20 ) ( 14 -15.5 -14 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16384.715 16384 -1313.0548 46 0 0 + ( 10 -15.5 18 ) ( 10 -14.5 18 ) ( 10 -14.5 -11 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16384.07 16384 -189.50121 46 0 0 + ( 14 -14.5 20 ) ( -6 -14.5 20 ) ( -6 -14.5 -14 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16383.715 16384 -1312.9773 46 0 0 + ( 9.5 -14.5 19 ) ( 9.5 -15.5 19 ) ( 9.5 -15.5 -15 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16383.951 16384 -189.49844 46 0 0 +} +// brush 15 +{ + contents nonColliding; + ( -11.5 -15.5 4.5 ) ( -11.5 -14.5 4.5 ) ( 2.5 -14.5 4.5 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16384 -16383.678 -1310.5304 -189.49576 -180 -0.0020318402 + ( 3.5 -15.5 4 ) ( 3.5 -14.5 4 ) ( -16.5 -14.5 4 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16383.805 -16383.855 -1310.4292 -189.49875 180 0.0035833227 + ( 3.5 -15.5 2 ) ( -16.5 -15.5 2 ) ( -16.5 -15.5 36 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16384.072 16383.898 -1310.5073 68 -180 0 + ( -11.5 -14.5 5 ) ( -11.5 -15.5 5 ) ( -12.5 -15.5 4 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16385.977 -16385 -1318.6559 -194.51059 180 0.00041324779 + ( -16.5 -14.5 2 ) ( 3.5 -14.5 2 ) ( 3.5 -14.5 36 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16384.584 16383.965 -1310.5476 68 180 0 + ( 9 -15.5 5 ) ( 9 -14.5 5 ) ( 10 -14.5 4 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16379.884 -16385.018 -1318.1399 -194.50952 180 0.00077184732 +} +// brush 16 +{ + contents nonColliding; + ( -13.5 -15.5 19 ) ( -13.5 -14.5 19 ) ( -12.5 -14.5 18 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16386.039 -16384.34 -1310.6439 -189.50226 180 0.0011585009 + ( -12.5 -14.5 4 ) ( -12.5 -15.5 4 ) ( -11.5 -15.5 5 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16388.176 -16384.293 -1310.8359 -189.50313 180 -0.0005135464 + ( 3.5 -15.5 8.5 ) ( -16.5 -15.5 8.5 ) ( -16.5 -15.5 42.5 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16384.484 16384 -1310.5385 74.5 180 0 + ( -12.5 -15.5 10.5 ) ( -12.5 -14.5 10.5 ) ( -12.5 -14.5 39.5 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16382.936 -16384 -189.42239 -74.491722 0 -4.7366513e-005 + ( -16.5 -14.5 8.5 ) ( 3.5 -14.5 8.5 ) ( 3.5 -14.5 42.5 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16385.576 16384 -1310.6265 74.5 -180 0 + ( -12 -14.5 9.5 ) ( -12 -15.5 9.5 ) ( -12 -15.5 43.5 ) berlin_ceilings_metal 48 48 42 12 0 0 lightmap_gray 16383.758 -16384 -189.49783 -74.5 0 0 +} +// brush 17 +{ + contents nonColliding; + ( -13.5 -15.5 26.5 ) ( -13.5 -14.5 26.5 ) ( -12.5 -14.5 25.5 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.074 -16385.484 -1310.4985 -189.51428 -180 0.00038593463 + ( -12.5 -14.5 18 ) ( -12.5 -15.5 18 ) ( -11.5 -15.5 19 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16382.035 -16383.693 -1310.3197 -189.49831 180 0.001126176 + ( 3.5 -15.5 16 ) ( -16.5 -15.5 16 ) ( -16.5 -15.5 50 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.1 16384 -1310.5065 82 180 0 + ( -12.5 -15.5 18 ) ( -12.5 -14.5 18 ) ( -12.5 -14.5 47 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16381.678 -16384 -189.40952 -81.991066 0 -4.1041654e-005 + ( -16.5 -14.5 16 ) ( 3.5 -14.5 16 ) ( 3.5 -14.5 50 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.607 16384 -1310.5477 82 -180 0 + ( -12 -14.5 17 ) ( -12 -15.5 17 ) ( -12 -15.5 51 ) berlin_ceilings_metal 48 48 -2 -6 0 0 lightmap_gray 16384.098 -16384 -189.50156 -82 0 0 +} +// brush 18 +{ + contents detail; + ( -53 -14.5 3 ) ( 51 -14.5 3 ) ( 51 13.5 3 ) okinawa_wood_shuri_int_furni 48 48 0 0 90 0 lightmap_gray 16384 16383.986 -1458.9983 -4.5 0 0 + ( 51.5 -14.5 34 ) ( -52.5 -14.5 34 ) ( -52.5 13.5 34 ) okinawa_wood_shuri_int_furni 48 48 0 0 90 0 lightmap_gray 16383.924 16384 -1458.9934 -4.5 0 0 + ( -52.5 -14.5 0 ) ( -52.5 -14.5 34 ) ( 51.5 -14.5 34 ) okinawa_wood_shuri_int_furni 48 48 -24 -237.65723 90 0 lightmap_gray 16384 16384 -1459 148 0 0 + ( 51.5 -14.5 0 ) ( 51.5 -14.5 34 ) ( 51.5 13.5 34 ) okinawa_wood_shuri_int_furni 48 48 -24 -41.414566 90 0 lightmap_gray 16384 16384 4.5 148 0 0 + ( 51.5 13.5 0 ) ( 51.5 13.5 34 ) ( -52.5 13.5 34 ) okinawa_wood_shuri_int_furni 48 -48 -24 105.82878 90 0 lightmap_gray 16384 16383.984 -1459 148 0 0 + ( -52.5 -14.5 34 ) ( -52.5 -14.5 0 ) ( -52.5 13.5 0 ) okinawa_wood_shuri_int_furni 48 -48 -24 171.24303 90 0 lightmap_gray 16384 16383.979 4.5 148 0 0 + ( -50.5 -15.5 36 ) ( -53.5 -12.5 36 ) ( -50.5 -15.5 68 ) okinawa_wood_shuri_int_furni 48 -33.941124 -24 117.13303 90 0 lightmap_gray 16383.791 16384 -194.49602 32 0 0 + ( -53.5 11.5 34 ) ( -50.5 14.5 34 ) ( -53.5 11.5 66 ) okinawa_wood_shuri_int_furni 48 -33.941124 -24 124.74825 90 0 lightmap_gray 16384 16384 -194.5 32 0 0 + ( 49.5 14.5 34 ) ( 52.5 11.5 34 ) ( 49.5 14.5 66 ) okinawa_wood_shuri_int_furni 48 33.941124 -24 -25.623354 90 0 lightmap_gray 16384.242 16384 -194.5 32 0 0 + ( 52.5 -12.5 34 ) ( 49.5 -15.5 34 ) ( 52.5 -12.5 66 ) okinawa_wood_shuri_int_furni 48 33.941124 -24 -218.25793 90 0 lightmap_gray 16384.178 16384 -194.5 32 0 0 +} +// brush 19 +{ + contents nonColliding; + ( -32 13.5 4.5 ) ( -12 13.5 4.5 ) ( -12 14.5 4.5 ) caulk 64 64 -1294.5082 188.48904 180 -0.00038881655 lightmap_gray 16383.6 16386.631 -1294.4581 188.52116 180 0.001 + ( -12.5 14.5 17.5 ) ( -12.5 13.5 17.5 ) ( -32.5 13.5 17.5 ) caulk 64 64 -1294.4935 188.49144 180 2.5255928e-005 lightmap_gray 16383.701 16384.189 -1294.4768 188.49872 -180 6.7395631e-005 + ( -12.5 14.5 20 ) ( -32.5 14.5 20 ) ( -32.5 14.5 -14 ) okinawa_wood_shuri_int_furni 48 48 16 -8 0 0 lightmap_gray 16383.938 -16384 -1294.4951 -46 180 0 + ( -12 14.5 20 ) ( -12 13.5 20 ) ( -12 13.5 -14 ) caulk 64 -64 -188.494 -46 180 0 lightmap_gray 16381.852 -16384 -188.47853 -46 180 0 + ( -32.5 13.5 20 ) ( -12.5 13.5 20 ) ( -12.5 13.5 -14 ) caulk 64 -64 -1294.5127 -46 180 0 lightmap_gray 16384.123 -16384 -1294.5084 -46 180 0 + ( 9.5 13.5 21 ) ( 9.5 14.5 21 ) ( 9.5 14.5 -13 ) berlin_ceilings_metal 88 23.996161 -12 1358.2289 90 0 lightmap_gray 16382 -16383.994 -188.47772 -45.995007 180 0 +} +// brush 20 +{ + contents nonColliding; + ( -32.5 13.5 18.5 ) ( -12.5 13.5 18.5 ) ( -12.5 14.5 18.5 ) caulk 64 64 -1294.4943 188.48904 180 1.8084491e-005 lightmap_gray 16383.9 16385 -1294.4978 188.50549 -180 -0.00032554069 + ( -12.5 14.5 25 ) ( -12.5 13.5 25 ) ( -32.5 13.5 25 ) caulk 64 64 -1294.4935 188.49144 180 2.5255928e-005 lightmap_gray 16383.701 16384.189 -1294.4768 188.49872 -180 6.7395631e-005 + ( -12.5 14.5 27.5 ) ( -32.5 14.5 27.5 ) ( -32.5 14.5 -6.5 ) okinawa_wood_shuri_int_furni 48 48 -40 0 0 0 lightmap_gray 16384.432 -16384 -1294.5341 -38.5 180 0 + ( -12 14.5 27.5 ) ( -12 13.5 27.5 ) ( -12 13.5 -6.5 ) caulk 64 -64 -188.49481 -38.5 180 0 lightmap_gray 16383.203 -16384 -188.49471 -38.5 180 0 + ( -32.5 13.5 27.5 ) ( -12.5 13.5 27.5 ) ( -12.5 13.5 -6.5 ) caulk 64 -64 -1294.5063 -38.5 -180 0 lightmap_gray 16383.592 -16384 -1294.4666 -38.5 -180 0 + ( 9.5 13.5 28.5 ) ( 9.5 14.5 28.5 ) ( 9.5 14.5 -5.5 ) berlin_ceilings_metal 88 23.989044 -4.5 1357.8314 90 0 lightmap_gray 16384.449 -16384 -188.50591 -38.503799 180 0 +} +// brush 21 +{ + contents nonColliding; + ( -32.5 13.5 26 ) ( -12.5 13.5 26 ) ( -12.5 14.5 26 ) caulk 64 64 -1294.4943 188.48904 180 1.8084491e-005 lightmap_gray 16383.9 16385 -1294.4978 188.50549 -180 -0.00032554069 + ( -12.5 14.5 32.5 ) ( -12.5 13.5 32.5 ) ( -32.5 13.5 32.5 ) caulk 64 64 -1294.4935 188.49144 180 2.5255928e-005 lightmap_gray 16383.701 16384.189 -1294.4768 188.49872 -180 6.7395631e-005 + ( -12.5 14.5 35 ) ( -32.5 14.5 35 ) ( -32.5 14.5 1 ) okinawa_wood_shuri_int_furni 48 48 -48 -8 0 0 lightmap_gray 16383.938 -16384 -1294.4983 -31 180 0 + ( -12 14.5 35 ) ( -12 13.5 35 ) ( -12 13.5 1 ) caulk 64 -64 -188.49852 -31.005203 180 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -32.5 13.5 35 ) ( -12.5 13.5 35 ) ( -12.5 13.5 1 ) caulk 64 -64 -1294.5013 -31 180 0 lightmap_gray 16383.52 -16384 -1294.4604 -31 180 0 + ( 9.5 13.5 36 ) ( 9.5 14.5 36 ) ( 9.5 14.5 2 ) berlin_ceilings_metal 88 24 3 1358.4436 90 0 lightmap_gray 16384.879 -16384 -188.50598 -30.996105 180 0 +} +// brush 22 +{ + contents nonColliding; + ( 13.5 14.5 32 ) ( 13.5 13.5 32 ) ( 27.5 13.5 32 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16384 16384.018 -1335.4908 188.49893 180 2.5255955e-005 + ( 28.5 14.5 33 ) ( 28.5 13.5 33 ) ( 8.5 13.5 33 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.801 16384.131 -1335.4695 188.50188 180 0.0011302896 + ( 28.5 14.5 35 ) ( 8.5 14.5 35 ) ( 8.5 14.5 1 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16384.607 -16384 -1335.549 -31 180 0 + ( 13.5 13.5 32 ) ( 13.5 14.5 32 ) ( 12.5 14.5 33 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16384.016 16385.086 -1343.5121 193.51231 180 0.00031992959 + ( 8.5 13.5 35 ) ( 28.5 13.5 35 ) ( 28.5 13.5 1 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.76 -16384 -1335.4808 -31 -180 0 + ( 27.5 14.5 32 ) ( 27.5 13.5 32 ) ( 28.5 13.5 33 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16384.049 16387.189 -1343.4838 193.5345 180 0.0001347245 +} +// brush 23 +{ + contents nonColliding; + ( 12.5 14.5 4 ) ( 12.5 13.5 4 ) ( 13.5 13.5 5 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.979 16384.104 -1335.4874 188.50214 180 -0.00012628043 + ( 12.5 13.5 33 ) ( 12.5 14.5 33 ) ( 13.5 14.5 32 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16380.034 16385.086 -1335.1761 188.513 -180 -0.00017650571 + ( 28.5 14.5 35 ) ( 8.5 14.5 35 ) ( 8.5 14.5 1 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16384.607 -16384 -1335.549 -31 180 0 + ( 12.5 14.5 33 ) ( 12.5 13.5 33 ) ( 12.5 13.5 4 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16382.945 -16384 -188.49051 -30.990732 180 0 + ( 8.5 13.5 35 ) ( 28.5 13.5 35 ) ( 28.5 13.5 1 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.76 -16384 -1335.4808 -31 -180 0 + ( 13.5 13.5 34 ) ( 13.5 14.5 34 ) ( 13.5 14.5 0 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16385.242 -16384 -188.5106 -30.994434 180 0 +} +// brush 24 +{ + contents nonColliding; + ( 25 14.5 19.5 ) ( 25 13.5 19.5 ) ( 26 13.5 19.5 ) berlin_ceilings_metal 48 48 -15 5 90 0 lightmap_gray 16384.012 16387.871 -1347.3848 188.52402 180 0.00063961779 + ( 25 13.5 29 ) ( 25 14.5 29 ) ( 26 14.5 29 ) berlin_ceilings_metal 48 48 -15 5 90 0 lightmap_gray 16364.032 16388.381 -1345.9932 188.45752 180 -0.00013473429 + ( 40.5 14.5 35.5 ) ( 20.5 14.5 35.5 ) ( 20.5 14.5 1.5 ) berlin_ceilings_metal 48 48 -15 5 90 0 lightmap_gray 16384.396 -16384 -1347.5336 -30.5 180 0 + ( 25 13.5 10.5 ) ( 25 14.5 10.5 ) ( 25 14.5 29 ) berlin_ceilings_metal 48 48 -15 5 90 0 lightmap_gray 16384.557 -16384 -188.50391 -30.5 180 0 + ( 20.5 13.5 35.5 ) ( 40.5 13.5 35.5 ) ( 40.5 13.5 1.5 ) berlin_ceilings_metal 48 48 -15 5 90 0 lightmap_gray 16384.84 -16384 -1347.5681 -30.5 180 0 + ( 26 13.5 34.5 ) ( 26 14.5 34.5 ) ( 26 14.5 0.5 ) berlin_ceilings_metal 48 48 -15 5 90 0 lightmap_gray 16384.121 -16384 -188.50166 -30.5 180 0 +} +// brush 25 +{ + contents nonColliding; + ( -33.5 13.5 5 ) ( -13.5 13.5 5 ) ( -13.5 14.5 5 ) caulk 64 64 -1292.489 188.48883 180 -0.0001989294 lightmap_gray 16384.4 16381.038 -1292.5374 188.46239 180 -0.00072324881 + ( -14.5 14.5 32 ) ( -14.5 13.5 32 ) ( -34.5 13.5 32 ) caulk 64 64 -1292.5059 188.48857 -180 0.00089242146 lightmap_gray 16383.898 16382.396 -1292.4906 188.47763 180 0.00035354836 + ( -14.5 14 35 ) ( -34.5 14 35 ) ( -34.5 14 1 ) okinawa_wood_shuri_int_furni 48 48 16 -40 0 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -29.5 14.5 35 ) ( -29.5 13.5 35 ) ( -29.5 13.5 1 ) caulk 64 -64 -188.49852 -31.005203 180 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) caulk 64 -64 -1292.5118 -31 180 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -15.5 13.5 35 ) ( -15.5 14.5 35 ) ( -15.5 14.5 1 ) caulk 64 -64 -188.5 -30.996393 -180 0 lightmap_gray 16383.5 -16384 -188.49121 -30.996393 180 0 +} +// brush 26 +{ + contents nonColliding; + ( -50.5 13.5 5 ) ( -30.5 13.5 5 ) ( -30.5 14.5 5 ) caulk 64 63.996231 -1275.4934 188.49713 180 -0.00029467823 lightmap_gray 16384.504 16383.811 -1275.5406 188.49655 -180 -0.00012627816 + ( -31.5 14.5 32 ) ( -31.5 13.5 32 ) ( -51.5 13.5 32 ) caulk 64 64.003975 -1275.5112 188.50955 -180 0.00010102999 lightmap_gray 16384.398 16383.275 -1275.527 188.4915 180 0.00014306758 + ( -31.5 14 35 ) ( -51.5 14 35 ) ( -51.5 14 1 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -46.5 14.5 35 ) ( -46.5 13.5 35 ) ( -46.5 13.5 1 ) caulk 64 -64 -188.49852 -31.005203 180 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) caulk 64 -64 -1275.5 -31 180 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -32.5 13.5 35 ) ( -32.5 14.5 35 ) ( -32.5 14.5 1 ) caulk 64 -64 -188.5 -30.996393 -180 0 lightmap_gray 16383.5 -16384 -188.49121 -30.996393 180 0 +} +// brush 27 +{ + contents nonColliding; + ( 32 14.5 19.5 ) ( 32 13.5 19.5 ) ( 33 13.5 19.5 ) berlin_ceilings_metal 48 48 -12 -7 90 0 lightmap_gray 16380.034 16384.053 -1354.076 188.48471 -180 0.00085929909 + ( 32 13.5 29 ) ( 32 14.5 29 ) ( 33 14.5 29 ) berlin_ceilings_metal 48 48 -12 -7 90 0 lightmap_gray 16383.957 16385.811 -1354.5131 188.49236 180 -0.00074934197 + ( 47.5 14.5 35.5 ) ( 27.5 14.5 35.5 ) ( 27.5 14.5 1.5 ) berlin_ceilings_metal 48 48 -12 -7 90 0 lightmap_gray 16384.674 -16384 -1354.5537 -30.5 180 0 + ( 32 13.5 10.5 ) ( 32 14.5 10.5 ) ( 32 14.5 29 ) berlin_ceilings_metal 48 48 -12 -7 90 0 lightmap_gray 16384.557 -16384 -188.50391 -30.5 180 0 + ( 27.5 13.5 35.5 ) ( 47.5 13.5 35.5 ) ( 47.5 13.5 1.5 ) berlin_ceilings_metal 48 48 -12 -7 90 0 lightmap_gray 16383.705 -16384 -1354.4758 -30.5 180 0 + ( 33 13.5 34.5 ) ( 33 14.5 34.5 ) ( 33 14.5 0.5 ) berlin_ceilings_metal 48 48 -12 -7 90 0 lightmap_gray 16384.121 -16384 -188.50166 -30.5 180 0 +} +// brush 28 +{ + contents nonColliding; + ( 29.5 14.5 4 ) ( 29.5 13.5 4 ) ( 30.5 13.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16381.922 16383.086 -1352.3302 188.49199 180 -0.00062294479 + ( 29.5 13.5 33 ) ( 29.5 14.5 33 ) ( 30.5 14.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.01 16385.293 -1352.4829 188.51517 180 0.00077457621 + ( 45.5 14.5 35 ) ( 25.5 14.5 35 ) ( 25.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.1 -16384 -1352.5876 -31 180 0 + ( 29.5 14.5 33 ) ( 29.5 13.5 33 ) ( 29.5 13.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16382.945 -16384 -188.49051 -30.990732 180 0 + ( 25.5 13.5 35 ) ( 45.5 13.5 35 ) ( 45.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.221 -16384 -1352.5177 -31 180 0 + ( 30.5 13.5 34 ) ( 30.5 14.5 34 ) ( 30.5 14.5 0 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.242 -16384 -188.5106 -30.994434 180 0 +} +// brush 29 +{ + contents nonColliding; + ( 30.5 14.5 32 ) ( 30.5 13.5 32 ) ( 44.5 13.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384 16384.121 -1352.5103 188.50166 -180 -0.0007239494 + ( 45.5 14.5 33 ) ( 45.5 13.5 33 ) ( 25.5 13.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.699 16381.963 -1352.4662 188.4794 180 0.00057863176 + ( 45.5 14.5 35 ) ( 25.5 14.5 35 ) ( 25.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.1 -16384 -1352.5876 -31 180 0 + ( 30.5 13.5 32 ) ( 30.5 14.5 32 ) ( 29.5 14.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.016 16384.76 -1360.5175 193.50868 180 0 + ( 25.5 13.5 35 ) ( 45.5 13.5 35 ) ( 45.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.221 -16384 -1352.5177 -31 180 0 + ( 44.5 14.5 32 ) ( 44.5 13.5 32 ) ( 45.5 13.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16388.027 16388.002 -1360.791 193.5432 180 0.0013641531 +} +// brush 30 +{ + contents nonColliding; + ( 25.5 13.5 4 ) ( 45.5 13.5 4 ) ( 45.5 14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.699 16382 -1352.4645 188.47983 180 0.00068712677 + ( 30.5 13.5 5 ) ( 30.5 14.5 5 ) ( 44.5 14.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.857 16384.207 -1352.4652 188.48453 180 0.0016584934 + ( 45.5 14.5 35 ) ( 25.5 14.5 35 ) ( 25.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.1 -16384 -1352.5876 -31 180 0 + ( 30.5 14.5 5 ) ( 30.5 13.5 5 ) ( 29.5 13.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16380.235 16383.914 -1360.2072 193.49844 -180 -0.0010340317 + ( 25.5 13.5 35 ) ( 45.5 13.5 35 ) ( 45.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.221 -16384 -1352.5177 -31 180 0 + ( 44.5 13.5 5 ) ( 44.5 14.5 5 ) ( 45.5 14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.92 16386.426 -1360.4675 193.52664 180 0.00056070223 +} +// brush 31 +{ + contents nonColliding; + ( 45.5 13.5 4 ) ( 45.5 14.5 4 ) ( 44.5 14.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.156 16385.557 -1352.5066 188.51704 180 0.00033459484 + ( 45.5 14.5 33 ) ( 45.5 13.5 33 ) ( 44.5 13.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.041 16386.846 -1352.5039 188.52905 180 0 + ( 45.5 14.5 35 ) ( 25.5 14.5 35 ) ( 25.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.1 -16384 -1352.5876 -31 180 0 + ( 44.5 14.5 35 ) ( 44.5 13.5 35 ) ( 44.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( 25.5 13.5 35 ) ( 45.5 13.5 35 ) ( 45.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.221 -16384 -1352.5177 -31 180 0 + ( 45.5 14.5 4 ) ( 45.5 13.5 4 ) ( 45.5 13.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16382.293 -16384 -188.48087 -31 180 0 +} +// brush 32 +{ + contents nonColliding; + ( 26.5 13.5 5 ) ( 46.5 13.5 5 ) ( 46.5 14.5 5 ) caulk 64 64 -1352.5511 188.48863 180 -0.0007143374 lightmap_gray 16384.301 16384.668 -1352.5342 188.50497 -180 -0.0007414943 + ( 45.5 14.5 32 ) ( 45.5 13.5 32 ) ( 25.5 13.5 32 ) caulk 64 64 -1352.5267 188.4874 180 -0.0004611545 lightmap_gray 16383.699 16381.963 -1352.4662 188.4794 180 0.00057863176 + ( 45.5 14 35 ) ( 25.5 14 35 ) ( 25.5 14 1 ) okinawa_wood_shuri_int_furni 48 48 -66 -29 0 0 lightmap_gray 16385.1 -16384 -1352.5876 -31 180 0 + ( 30.5 14.5 35 ) ( 30.5 13.5 35 ) ( 30.5 13.5 1 ) caulk 64 -64 -188.49852 -31.005203 180 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( 25.5 13.5 35 ) ( 45.5 13.5 35 ) ( 45.5 13.5 1 ) caulk 64 -64 -1352.4595 -31 180 0 lightmap_gray 16384.221 -16384 -1352.5177 -31 180 0 + ( 44.5 13.5 35 ) ( 44.5 14.5 35 ) ( 44.5 14.5 1 ) caulk 64 -64 -188.5 -30.996393 -180 0 lightmap_gray 16383.5 -16384 -188.49121 -30.996393 180 0 +} +// brush 33 +{ + contents nonColliding; + ( 8.5 13.5 4 ) ( 28.5 13.5 4 ) ( 28.5 14.5 4 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.801 16384.352 -1335.4728 188.50235 180 0.00088615902 + ( 13.5 13.5 5 ) ( 13.5 14.5 5 ) ( 27.5 14.5 5 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.578 16386.557 -1335.4631 188.53143 180 0.0002260914 + ( 28.5 14.5 35 ) ( 8.5 14.5 35 ) ( 8.5 14.5 1 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16384.607 -16384 -1335.549 -31 180 0 + ( 13.5 14.5 5 ) ( 13.5 13.5 5 ) ( 12.5 13.5 4 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16380.235 16385.482 -1343.193 193.51677 -180 -1.5382624e-005 + ( 8.5 13.5 35 ) ( 28.5 13.5 35 ) ( 28.5 13.5 1 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.76 -16384 -1335.4808 -31 -180 0 + ( 27.5 13.5 5 ) ( 27.5 14.5 5 ) ( 28.5 14.5 4 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16382.004 16385.111 -1343.3053 193.51193 180 0.0012750431 +} +// brush 34 +{ + contents nonColliding; + ( 28.5 13.5 4 ) ( 28.5 14.5 4 ) ( 27.5 14.5 5 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.979 16385.094 -1335.4958 188.51311 180 0 + ( 28.5 14.5 33 ) ( 28.5 13.5 33 ) ( 27.5 13.5 32 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16387.996 16383.518 -1335.8458 188.49406 180 -0.0017594445 + ( 28.5 14.5 35 ) ( 8.5 14.5 35 ) ( 8.5 14.5 1 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16384.607 -16384 -1335.549 -31 180 0 + ( 27.5 14.5 35 ) ( 27.5 13.5 35 ) ( 27.5 13.5 1 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( 8.5 13.5 35 ) ( 28.5 13.5 35 ) ( 28.5 13.5 1 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16383.76 -16384 -1335.4808 -31 -180 0 + ( 28.5 14.5 4 ) ( 28.5 13.5 4 ) ( 28.5 13.5 33 ) berlin_ceilings_metal 48 48 -17 -8 90 0 lightmap_gray 16382.293 -16384 -188.48087 -31 180 0 +} +// brush 35 +{ + contents nonColliding; + ( 9.5 13.5 5 ) ( 29.5 13.5 5 ) ( 29.5 14.5 5 ) caulk 64 64 -1335.4918 188.48039 180 -0.00029839409 lightmap_gray 16383.801 16382.111 -1335.479 188.48297 -180 0.0002531537 + ( 28.5 14.5 32 ) ( 28.5 13.5 32 ) ( 8.5 13.5 32 ) caulk 64 64 -1335.5416 188.49295 180 0.00076859083 lightmap_gray 16383.801 16384.131 -1335.4695 188.50188 180 0.0011302896 + ( 28.5 14 35 ) ( 8.5 14 35 ) ( 8.5 14 1 ) okinawa_wood_shuri_int_furni 48 48 0 13 0 0 lightmap_gray 16384.607 -16384 -1335.549 -31 180 0 + ( 13.5 14.5 35 ) ( 13.5 13.5 35 ) ( 13.5 13.5 1 ) caulk 64 -64 -188.49852 -31.005203 180 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( 8.5 13.5 35 ) ( 28.5 13.5 35 ) ( 28.5 13.5 1 ) caulk 64 -64 -1335.5021 -31 180 0 lightmap_gray 16383.76 -16384 -1335.4808 -31 -180 0 + ( 27.5 13.5 35 ) ( 27.5 14.5 35 ) ( 27.5 14.5 1 ) caulk 64 -64 -188.5 -30.996393 -180 0 lightmap_gray 16383.5 -16384 -188.49121 -30.996393 180 0 +} +// brush 36 +{ + contents nonColliding; + ( -15.5 -15.5 32 ) ( -15.5 -14.5 32 ) ( -29.5 -14.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.135 16384.258 -1337.5319 189.50151 0 -0.0012758517 + ( -30.5 -15.5 33 ) ( -30.5 -14.5 33 ) ( -10.5 -14.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384 16383.879 -1337.4988 189.49789 0 5.8930062e-005 + ( -30.5 -15.5 35 ) ( -10.5 -15.5 35 ) ( -10.5 -15.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.281 16384 -1337.522 31 0 0 + ( -15.5 -14.5 32 ) ( -15.5 -15.5 32 ) ( -14.5 -15.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16387.967 16385.242 -1345.8201 194.51218 0 0.00011814151 + ( -10.5 -14.5 35 ) ( -30.5 -14.5 35 ) ( -30.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.703 16384 -1337.4763 31 0 0 + ( -29.5 -15.5 32 ) ( -29.5 -14.5 32 ) ( -30.5 -14.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.979 16384.549 -1345.6383 194.50323 0 0.00026808729 +} +// brush 37 +{ + contents nonColliding; + ( -14.5 -15.5 4 ) ( -14.5 -14.5 4 ) ( -15.5 -14.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.105 16385.34 -1337.5189 189.51286 0 -0.0005040734 + ( -14.5 -14.5 33 ) ( -14.5 -15.5 33 ) ( -15.5 -15.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.02 16384.984 -1337.4752 189.50922 0 0.0017327149 + ( -30.5 -15.5 35 ) ( -10.5 -15.5 35 ) ( -10.5 -15.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.281 16384 -1337.522 31 0 0 + ( -14.5 -15.5 33 ) ( -14.5 -14.5 33 ) ( -14.5 -14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.879 16384 -189.49789 30.997808 0 0 + ( -10.5 -14.5 35 ) ( -30.5 -14.5 35 ) ( -30.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.703 16384 -1337.4763 31 0 0 + ( -15.5 -14.5 34 ) ( -15.5 -15.5 34 ) ( -15.5 -15.5 0 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.727 16384 -189.49751 31 0 0 +} +// brush 38 +{ + contents nonColliding; + ( -27 -15.5 19.5 ) ( -27 -14.5 19.5 ) ( -28 -14.5 19.5 ) berlin_ceilings_metal 48 48 -7 -21 90 0 lightmap_gray 16384.057 16384.098 -1349.5211 189.49872 0 -0.0010789504 + ( -27 -14.5 29 ) ( -27 -15.5 29 ) ( -28 -15.5 29 ) berlin_ceilings_metal 48 48 -7 -21 90 0 lightmap_gray 16384.018 16384.098 -1349.5011 189.50156 0 0.00014175991 + ( -42.5 -15.5 35.5 ) ( -22.5 -15.5 35.5 ) ( -22.5 -15.5 1.5 ) berlin_ceilings_metal 48 48 -7 -21 90 0 lightmap_gray 16385.418 16384 -1349.613 30.5 0 0 + ( -27 -14.5 10.5 ) ( -27 -15.5 10.5 ) ( -27 -15.5 29 ) berlin_ceilings_metal 48 48 -7 -21 90 0 lightmap_gray 16383.389 16384 -189.49243 30.5 0 0 + ( -22.5 -14.5 35.5 ) ( -42.5 -14.5 35.5 ) ( -42.5 -14.5 1.5 ) berlin_ceilings_metal 48 48 -7 -21 90 0 lightmap_gray 16384.283 16384 -1349.5238 30.5 0 0 + ( -28 -14.5 34.5 ) ( -28 -15.5 34.5 ) ( -28 -15.5 0.5 ) berlin_ceilings_metal 48 48 -7 -21 90 0 lightmap_gray 16383.936 16384 -189.49826 30.5 0 0 +} +// brush 39 +{ + contents nonColliding; + ( 26 -15.5 19.5 ) ( 26 -14.5 19.5 ) ( 25 -14.5 19.5 ) berlin_ceilings_metal 48 48 17 27 90 0 lightmap_gray 16386.012 16384.678 -1296.6752 189.50591 0 -0.00074820378 + ( 26 -14.5 29 ) ( 26 -15.5 29 ) ( 25 -15.5 29 ) berlin_ceilings_metal 48 48 17 27 90 0 lightmap_gray 16383.988 16384.098 -1296.5052 189.50156 0 0 + ( 10.5 -15.5 35.5 ) ( 30.5 -15.5 35.5 ) ( 30.5 -15.5 1.5 ) berlin_ceilings_metal 48 48 17 27 90 0 lightmap_gray 16384.887 16384 -1296.5687 30.5 0 0 + ( 26 -14.5 10.5 ) ( 26 -15.5 10.5 ) ( 26 -15.5 29 ) berlin_ceilings_metal 48 48 17 27 90 0 lightmap_gray 16383.389 16384 -189.49243 30.5 0 0 + ( 30.5 -14.5 35.5 ) ( 10.5 -14.5 35.5 ) ( 10.5 -14.5 1.5 ) berlin_ceilings_metal 48 48 17 27 90 0 lightmap_gray 16383.9 16384 -1296.495 30.5 0 0 + ( 25 -14.5 34.5 ) ( 25 -15.5 34.5 ) ( 25 -15.5 0.5 ) berlin_ceilings_metal 48 48 17 27 90 0 lightmap_gray 16383.936 16384 -189.49826 30.5 0 0 +} +// brush 40 +{ + contents nonColliding; + ( 28.5 -15.5 4 ) ( 28.5 -14.5 4 ) ( 27.5 -14.5 5 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16388.082 16384.42 -1294.8457 189.50291 0 -0.00085845188 + ( 28.5 -14.5 33 ) ( 28.5 -15.5 33 ) ( 27.5 -15.5 32 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16386.02 16384.549 -1294.663 189.50465 0 0.00031503069 + ( 12.5 -15.5 35 ) ( 32.5 -15.5 35 ) ( 32.5 -15.5 1 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16384.432 16384 -1294.5319 31 0 0 + ( 28.5 -15.5 33 ) ( 28.5 -14.5 33 ) ( 28.5 -14.5 4 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.879 16384 -189.49789 30.997808 0 0 + ( 32.5 -14.5 35 ) ( 12.5 -14.5 35 ) ( 12.5 -14.5 1 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.9 16384 -1294.4926 31 0 0 + ( 27.5 -14.5 34 ) ( 27.5 -15.5 34 ) ( 27.5 -15.5 0 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.727 16384 -189.49751 31 0 0 +} +// brush 41 +{ + contents nonColliding; + ( 27.5 -15.5 32 ) ( 27.5 -14.5 32 ) ( 13.5 -14.5 32 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16384.143 16383.896 -1294.5267 189.49832 0 -0.00085869612 + ( 12.5 -15.5 33 ) ( 12.5 -14.5 33 ) ( 32.5 -14.5 33 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.703 16384.049 -1294.4608 189.49722 0 0.00095298467 + ( 12.5 -15.5 35 ) ( 32.5 -15.5 35 ) ( 32.5 -15.5 1 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16384.432 16384 -1294.5319 31 0 0 + ( 27.5 -14.5 32 ) ( 27.5 -15.5 32 ) ( 28.5 -15.5 33 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16385.967 16384.742 -1302.6766 194.50671 0 -0.0009214757 + ( 32.5 -14.5 35 ) ( 12.5 -14.5 35 ) ( 12.5 -14.5 1 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.9 16384 -1294.4926 31 0 0 + ( 13.5 -15.5 32 ) ( 13.5 -14.5 32 ) ( 12.5 -14.5 33 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16385.979 16384.758 -1302.6327 194.50644 0 0.00088997313 +} +// brush 42 +{ + contents nonColliding; + ( 32.5 -14.5 4 ) ( 12.5 -14.5 4 ) ( 12.5 -15.5 4 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.6 16384.104 -1294.4674 189.50247 0 -5.8930869e-005 + ( 27.5 -14.5 5 ) ( 27.5 -15.5 5 ) ( 13.5 -15.5 5 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.988 16384.098 -1294.4976 189.50156 0 -6.3004401e-005 + ( 12.5 -15.5 35 ) ( 32.5 -15.5 35 ) ( 32.5 -15.5 1 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16384.432 16384 -1294.5319 31 0 0 + ( 27.5 -15.5 5 ) ( 27.5 -14.5 5 ) ( 28.5 -14.5 4 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16386.156 16384.451 -1302.6504 194.50351 0 0.0014806355 + ( 32.5 -14.5 35 ) ( 12.5 -14.5 35 ) ( 12.5 -14.5 1 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.9 16384 -1294.4926 31 0 0 + ( 13.5 -14.5 5 ) ( 13.5 -15.5 5 ) ( 12.5 -15.5 4 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.838 16384.414 -1302.4708 194.50429 0 0.00054722553 +} +// brush 43 +{ + contents nonColliding; + ( 12.5 -14.5 4 ) ( 12.5 -15.5 4 ) ( 13.5 -15.5 5 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16388.004 16383.639 -1294.8224 189.49733 0 0.00028622753 + ( 12.5 -15.5 33 ) ( 12.5 -14.5 33 ) ( 13.5 -14.5 32 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16379.993 16385.049 -1294.1896 189.50996 0 -0.00050406455 + ( 12.5 -15.5 35 ) ( 32.5 -15.5 35 ) ( 32.5 -15.5 1 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16384.432 16384 -1294.5319 31 0 0 + ( 13.5 -15.5 35 ) ( 13.5 -14.5 35 ) ( 13.5 -14.5 1 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.879 16384 -189.49789 31 0 0 + ( 32.5 -14.5 35 ) ( 12.5 -14.5 35 ) ( 12.5 -14.5 1 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16383.9 16384 -1294.4926 31 0 0 + ( 12.5 -15.5 4 ) ( 12.5 -14.5 4 ) ( 12.5 -14.5 33 ) berlin_ceilings_metal 48 48 -5 -8 90 0 lightmap_gray 16384.34 16384 -189.50436 31 0 0 +} +// brush 44 +{ + contents nonColliding; + ( 31.5 -14.5 5 ) ( 11.5 -14.5 5 ) ( 11.5 -15.5 5 ) caulk 64 64 -1294.4905 189.50526 0 0.00020204742 lightmap_gray 16384.201 16383.672 -1294.5118 189.4986 0 0.00027780962 + ( 12.5 -15.5 32 ) ( 12.5 -14.5 32 ) ( 32.5 -14.5 32 ) caulk 64 64 -1294.4901 189.50612 0 0.00022843546 lightmap_gray 16383.703 16384.049 -1294.4608 189.49722 0 0.00095298467 + ( 12.5 -15 35 ) ( 32.5 -15 35 ) ( 32.5 -15 1 ) okinawa_wood_shuri_int_furni 48 48 16 8 0 0 lightmap_gray 16384.432 16384 -1294.5319 31 0 0 + ( 27.5 -15.5 35 ) ( 27.5 -14.5 35 ) ( 27.5 -14.5 1 ) caulk 64 64 -189.49797 31 0 0 lightmap_gray 16383.879 16384 -189.49789 31 0 0 + ( 32.5 -14.5 35 ) ( 12.5 -14.5 35 ) ( 12.5 -14.5 1 ) caulk 64 64 -1294.5135 31 0 0 lightmap_gray 16383.9 16384 -1294.4926 31 0 0 + ( 13.5 -14.5 35 ) ( 13.5 -15.5 35 ) ( 13.5 -15.5 1 ) caulk 64 64 -189.50565 30.995174 0 0 lightmap_gray 16383.645 16384 -189.49751 30.995174 0 0 +} +// brush 45 +{ + contents nonColliding; + ( 33 -15.5 19.5 ) ( 33 -14.5 19.5 ) ( 32 -14.5 19.5 ) berlin_ceilings_metal 48 48 -17 -6 90 0 lightmap_gray 16386.041 16384.469 -1289.6625 189.50444 0 4.770228e-005 + ( 33 -14.5 29 ) ( 33 -15.5 29 ) ( 32 -15.5 29 ) berlin_ceilings_metal 48 48 -17 -6 90 0 lightmap_gray 16384.021 16385.137 -1289.4948 189.51169 0 0.0005749517 + ( 17.5 -15.5 35.5 ) ( 37.5 -15.5 35.5 ) ( 37.5 -15.5 1.5 ) berlin_ceilings_metal 48 48 -17 -6 90 0 lightmap_gray 16385.121 16384 -1289.5869 30.5 0 0 + ( 33 -14.5 10.5 ) ( 33 -15.5 10.5 ) ( 33 -15.5 29 ) berlin_ceilings_metal 48 48 -17 -6 90 0 lightmap_gray 16383.389 16384 -189.49243 30.5 0 0 + ( 37.5 -14.5 35.5 ) ( 17.5 -14.5 35.5 ) ( 17.5 -14.5 1.5 ) berlin_ceilings_metal 48 48 -17 -6 90 0 lightmap_gray 16384.42 16384 -1289.5331 30.5 0 0 + ( 32 -14.5 34.5 ) ( 32 -15.5 34.5 ) ( 32 -15.5 0.5 ) berlin_ceilings_metal 48 48 -17 -6 90 0 lightmap_gray 16383.936 16384 -189.49826 30.5 0 0 +} +// brush 46 +{ + contents nonColliding; + ( 45.5 -15.5 4 ) ( 45.5 -14.5 4 ) ( 44.5 -14.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16377.947 16384.646 -1277.0142 189.506 0 -0.0001188956 + ( 45.5 -14.5 33 ) ( 45.5 -15.5 33 ) ( 44.5 -15.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16392.02 16384.436 -1278.1586 189.50334 0 -0.00066155993 + ( 29.5 -15.5 35 ) ( 49.5 -15.5 35 ) ( 49.5 -15.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.607 16384 -1277.5471 31 0 0 + ( 45.5 -15.5 33 ) ( 45.5 -14.5 33 ) ( 45.5 -14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.879 16384 -189.49789 30.997808 0 0 + ( 49.5 -14.5 35 ) ( 29.5 -14.5 35 ) ( 29.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.141 16384 -1277.5114 31 0 0 + ( 44.5 -14.5 34 ) ( 44.5 -15.5 34 ) ( 44.5 -15.5 0 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.727 16384 -189.49751 31 0 0 +} +// brush 47 +{ + contents nonColliding; + ( 44.5 -15.5 32 ) ( 44.5 -14.5 32 ) ( 30.5 -14.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.287 16383.604 -1277.5294 189.49625 0 -0.00046301412 + ( 29.5 -15.5 33 ) ( 29.5 -14.5 33 ) ( 49.5 -14.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.701 16384.662 -1277.472 189.50597 0 0.00027565376 + ( 29.5 -15.5 35 ) ( 49.5 -15.5 35 ) ( 49.5 -15.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.607 16384 -1277.5471 31 0 0 + ( 44.5 -14.5 32 ) ( 44.5 -15.5 32 ) ( 45.5 -15.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16381.973 16384.742 -1285.3314 194.50671 0 0.00025202756 + ( 49.5 -14.5 35 ) ( 29.5 -14.5 35 ) ( 29.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.141 16384 -1277.5114 31 0 0 + ( 30.5 -15.5 32 ) ( 30.5 -14.5 32 ) ( 29.5 -14.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.98 16384.775 -1285.4684 194.50664 0 0.0011183744 +} +// brush 48 +{ + contents nonColliding; + ( 49.5 -14.5 4 ) ( 29.5 -14.5 4 ) ( 29.5 -15.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.6 16384.662 -1277.4639 189.50597 0 0.00028352957 + ( 44.5 -14.5 5 ) ( 44.5 -15.5 5 ) ( 30.5 -15.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384 16384.211 -1277.4911 189.50145 0 0.00048828754 + ( 29.5 -15.5 35 ) ( 49.5 -15.5 35 ) ( 49.5 -15.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.607 16384 -1277.5471 31 0 0 + ( 44.5 -15.5 5 ) ( 44.5 -14.5 5 ) ( 45.5 -14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16392.066 16384.92 -1286.1548 194.50836 0 0 + ( 49.5 -14.5 35 ) ( 29.5 -14.5 35 ) ( 29.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.141 16384 -1277.5114 31 0 0 + ( 30.5 -14.5 5 ) ( 30.5 -15.5 5 ) ( 29.5 -15.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16387.928 16384.26 -1285.7977 194.50331 0 0.00028552939 +} +// brush 49 +{ + contents nonColliding; + ( 29.5 -14.5 4 ) ( 29.5 -15.5 4 ) ( 30.5 -15.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16379.89 16383.896 -1277.1753 189.49831 0 0.00023440318 + ( 29.5 -15.5 33 ) ( 29.5 -14.5 33 ) ( 30.5 -14.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.982 16384.92 -1277.6635 189.50868 0 -0.00053601229 + ( 29.5 -15.5 35 ) ( 49.5 -15.5 35 ) ( 49.5 -15.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.607 16384 -1277.5471 31 0 0 + ( 30.5 -15.5 35 ) ( 30.5 -14.5 35 ) ( 30.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.879 16384 -189.49789 31 0 0 + ( 49.5 -14.5 35 ) ( 29.5 -14.5 35 ) ( 29.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.141 16384 -1277.5114 31 0 0 + ( 29.5 -15.5 4 ) ( 29.5 -14.5 4 ) ( 29.5 -14.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.34 16384 -189.50436 31 0 0 +} +// brush 50 +{ + contents nonColliding; + ( 48.5 -14.5 5 ) ( 28.5 -14.5 5 ) ( 28.5 -15.5 5 ) caulk 64 64 -1277.4988 189.50493 0 0.00028351814 lightmap_gray 16384 16384.84 -1277.4988 189.50778 0 5.513135e-005 + ( 29.5 -15.5 32 ) ( 29.5 -14.5 32 ) ( 49.5 -14.5 32 ) caulk 64 64 -1277.5052 189.50586 0 -0.00044894728 lightmap_gray 16383.701 16384.662 -1277.472 189.50597 0 0.00027565376 + ( 29.5 -15 35 ) ( 49.5 -15 35 ) ( 49.5 -15 1 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16384.607 16384 -1277.5471 31 0 0 + ( 44.5 -15.5 35 ) ( 44.5 -14.5 35 ) ( 44.5 -14.5 1 ) caulk 64 64 -189.49797 31 0 0 lightmap_gray 16383.879 16384 -189.49789 31 0 0 + ( 49.5 -14.5 35 ) ( 29.5 -14.5 35 ) ( 29.5 -14.5 1 ) caulk 64 64 -1277.5013 31 0 0 lightmap_gray 16384.141 16384 -1277.5114 31 0 0 + ( 30.5 -14.5 35 ) ( 30.5 -15.5 35 ) ( 30.5 -15.5 1 ) caulk 64 64 -189.50565 30.995174 0 0 lightmap_gray 16383.645 16384 -189.49751 30.995174 0 0 +} +// brush 51 +{ + contents nonColliding; + ( -34 -15.5 19.5 ) ( -34 -14.5 19.5 ) ( -35 -14.5 19.5 ) berlin_ceilings_metal 48 48 -52 52 90 0 lightmap_gray 16384.039 16384.193 -1356.4989 189.49863 0 0.00012660681 + ( -34 -14.5 29 ) ( -34 -15.5 29 ) ( -35 -15.5 29 ) berlin_ceilings_metal 48 48 -52 52 90 0 lightmap_gray 16384 16383.902 -1356.5015 189.49812 0 0.00025201464 + ( -49.5 -15.5 35.5 ) ( -29.5 -15.5 35.5 ) ( -29.5 -15.5 1.5 ) berlin_ceilings_metal 48 48 -52 52 90 0 lightmap_gray 16384.688 16384 -1356.5536 30.5 0 0 + ( -34 -14.5 10.5 ) ( -34 -15.5 10.5 ) ( -34 -15.5 29 ) berlin_ceilings_metal 48 48 -52 52 90 0 lightmap_gray 16383.389 16384 -189.49243 30.5 0 0 + ( -29.5 -14.5 35.5 ) ( -49.5 -14.5 35.5 ) ( -49.5 -14.5 1.5 ) berlin_ceilings_metal 48 48 -52 52 90 0 lightmap_gray 16384 16384 -1356.4967 30.5 0 0 + ( -35 -14.5 34.5 ) ( -35 -15.5 34.5 ) ( -35 -15.5 0.5 ) berlin_ceilings_metal 48 48 -52 52 90 0 lightmap_gray 16383.936 16384 -189.49826 30.5 0 0 +} +// brush 52 +{ + contents nonColliding; + ( -31.5 -15.5 4 ) ( -31.5 -14.5 4 ) ( -32.5 -14.5 5 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16388.082 16384.936 -1354.8363 189.50938 0 -0.00024491252 + ( -31.5 -14.5 33 ) ( -31.5 -15.5 33 ) ( -32.5 -15.5 32 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384.02 16384.984 -1354.5016 189.50922 0 4.7255857e-005 + ( -47.5 -15.5 35 ) ( -27.5 -15.5 35 ) ( -27.5 -15.5 1 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384.295 16384 -1354.5234 31 0 0 + ( -31.5 -15.5 33 ) ( -31.5 -14.5 33 ) ( -31.5 -14.5 4 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.879 16384 -189.49789 30.997808 0 0 + ( -27.5 -14.5 35 ) ( -47.5 -14.5 35 ) ( -47.5 -14.5 1 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.494 16384 -1354.4597 31 0 0 + ( -32.5 -14.5 34 ) ( -32.5 -15.5 34 ) ( -32.5 -15.5 0 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.727 16384 -189.49751 31 0 0 +} +// brush 53 +{ + contents nonColliding; + ( -32.5 -15.5 32 ) ( -32.5 -14.5 32 ) ( -46.5 -14.5 32 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384 16384.34 -1354.4982 189.50415 0 0.00038584843 + ( -47.5 -15.5 33 ) ( -47.5 -14.5 33 ) ( -27.5 -14.5 33 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384.201 16384 -1354.5258 189.50128 0 -0.00068191002 + ( -47.5 -15.5 35 ) ( -27.5 -15.5 35 ) ( -27.5 -15.5 1 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384.295 16384 -1354.5234 31 0 0 + ( -32.5 -14.5 32 ) ( -32.5 -15.5 32 ) ( -31.5 -15.5 33 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.971 16385.098 -1362.4785 194.51073 0 0.0014054098 + ( -27.5 -14.5 35 ) ( -47.5 -14.5 35 ) ( -47.5 -14.5 1 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.494 16384 -1354.4597 31 0 0 + ( -46.5 -15.5 32 ) ( -46.5 -14.5 32 ) ( -47.5 -14.5 33 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.98 16384.613 -1362.4874 194.50471 0 -0.00011026118 +} +// brush 54 +{ + contents nonColliding; + ( -27.5 -14.5 4 ) ( -47.5 -14.5 4 ) ( -47.5 -15.5 4 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384.301 16383.482 -1354.4984 189.4942 0 0.0016247466 + ( -32.5 -14.5 5 ) ( -32.5 -15.5 5 ) ( -46.5 -15.5 5 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384 16384.371 -1354.4983 189.50188 0 -0.00031502728 + ( -47.5 -15.5 35 ) ( -27.5 -15.5 35 ) ( -27.5 -15.5 1 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384.295 16384 -1354.5234 31 0 0 + ( -32.5 -15.5 5 ) ( -32.5 -14.5 5 ) ( -31.5 -14.5 4 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.941 16384.936 -1362.478 194.50854 0 0.0011341374 + ( -27.5 -14.5 35 ) ( -47.5 -14.5 35 ) ( -47.5 -14.5 1 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.494 16384 -1354.4597 31 0 0 + ( -46.5 -14.5 5 ) ( -46.5 -15.5 5 ) ( -47.5 -15.5 4 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16385.977 16383.621 -1362.6534 194.49333 0 -0.00039566701 +} +// brush 55 +{ + contents nonColliding; + ( -47.5 -14.5 4 ) ( -47.5 -15.5 4 ) ( -46.5 -15.5 5 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384.033 16384.535 -1354.5126 189.50578 0 -0.00035491155 + ( -47.5 -15.5 33 ) ( -47.5 -14.5 33 ) ( -46.5 -14.5 32 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16381.988 16384.613 -1354.3298 189.50375 0 0.00077138032 + ( -47.5 -15.5 35 ) ( -27.5 -15.5 35 ) ( -27.5 -15.5 1 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384.295 16384 -1354.5234 31 0 0 + ( -46.5 -15.5 35 ) ( -46.5 -14.5 35 ) ( -46.5 -14.5 1 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.879 16384 -189.49789 31 0 0 + ( -27.5 -14.5 35 ) ( -47.5 -14.5 35 ) ( -47.5 -14.5 1 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16383.494 16384 -1354.4597 31 0 0 + ( -47.5 -15.5 4 ) ( -47.5 -14.5 4 ) ( -47.5 -14.5 33 ) berlin_ceilings_metal 48 48 -20 18 90 0 lightmap_gray 16384.34 16384 -189.50436 31 0 0 +} +// brush 56 +{ + contents nonColliding; + ( -28.5 -14.5 5 ) ( -48.5 -14.5 5 ) ( -48.5 -15.5 5 ) caulk 64 64 -1354.4988 189.50505 0 0.00016837285 lightmap_gray 16384.201 16383.449 -1354.5452 189.49382 0 -0.0020000001 + ( -47.5 -15.5 32 ) ( -47.5 -14.5 32 ) ( -27.5 -14.5 32 ) caulk 64 64 -1354.5095 189.50594 0 -0.0005387931 lightmap_gray 16384.201 16384 -1354.5258 189.50128 0 -0.00068191002 + ( -47.5 -15 35 ) ( -27.5 -15 35 ) ( -27.5 -15 1 ) okinawa_wood_shuri_int_furni 48 48 -26 44 0 0 lightmap_gray 16384.295 16384 -1354.5234 31 0 0 + ( -32.5 -15.5 35 ) ( -32.5 -14.5 35 ) ( -32.5 -14.5 1 ) caulk 64 64 -189.49797 31 0 0 lightmap_gray 16383.879 16384 -189.49789 31 0 0 + ( -27.5 -14.5 35 ) ( -47.5 -14.5 35 ) ( -47.5 -14.5 1 ) caulk 64 64 -1354.5033 31 0 0 lightmap_gray 16383.494 16384 -1354.4597 31 0 0 + ( -46.5 -14.5 35 ) ( -46.5 -15.5 35 ) ( -46.5 -15.5 1 ) caulk 64 64 -189.50565 30.995174 0 0 lightmap_gray 16383.645 16384 -189.49751 30.995174 0 0 +} +// brush 57 +{ + contents nonColliding; + ( -10.5 -14.5 4 ) ( -30.5 -14.5 4 ) ( -30.5 -15.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384 16383.586 -1337.4971 189.49472 0 0.00012627643 + ( -15.5 -14.5 5 ) ( -15.5 -15.5 5 ) ( -29.5 -15.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.143 16384.291 -1337.5116 189.50262 0 -0.00021264236 + ( -30.5 -15.5 35 ) ( -10.5 -15.5 35 ) ( -10.5 -15.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.281 16384 -1337.522 31 0 0 + ( -15.5 -15.5 5 ) ( -15.5 -14.5 5 ) ( -14.5 -14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16388.004 16385.098 -1345.8022 194.51047 0 0.0013940575 + ( -10.5 -14.5 35 ) ( -30.5 -14.5 35 ) ( -30.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.703 16384 -1337.4763 31 0 0 + ( -29.5 -14.5 5 ) ( -29.5 -15.5 5 ) ( -30.5 -15.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.838 16384.414 -1345.4674 194.50165 0 0.00040339588 +} +// brush 58 +{ + contents nonColliding; + ( -30.5 -14.5 4 ) ( -30.5 -15.5 4 ) ( -29.5 -15.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16388.004 16384.621 -1337.8136 189.50648 0 0.001 + ( -30.5 -15.5 33 ) ( -30.5 -14.5 33 ) ( -29.5 -14.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16381.988 16385.371 -1337.3184 189.51251 0 0.0012518619 + ( -30.5 -15.5 35 ) ( -10.5 -15.5 35 ) ( -10.5 -15.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.281 16384 -1337.522 31 0 0 + ( -29.5 -15.5 35 ) ( -29.5 -14.5 35 ) ( -29.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.879 16384 -189.49789 31 0 0 + ( -10.5 -14.5 35 ) ( -30.5 -14.5 35 ) ( -30.5 -14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.703 16384 -1337.4763 31 0 0 + ( -30.5 -15.5 4 ) ( -30.5 -14.5 4 ) ( -30.5 -14.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.34 16384 -189.50436 31 0 0 +} +// brush 59 +{ + contents nonColliding; + ( -11.5 -14.5 5 ) ( -31.5 -14.5 5 ) ( -31.5 -15.5 5 ) caulk 64 64 -1337.4952 189.50505 0 0.00019362877 lightmap_gray 16383.699 16384.621 -1337.4586 189.50404 0 0.001102884 + ( -30.5 -15.5 32 ) ( -30.5 -14.5 32 ) ( -10.5 -14.5 32 ) caulk 64 64 -1337.4952 189.50594 0 0.00025255926 lightmap_gray 16384 16383.879 -1337.4988 189.49789 0 5.8930062e-005 + ( -30.5 -15 35 ) ( -10.5 -15 35 ) ( -10.5 -15 1 ) okinawa_wood_shuri_int_furni 48 48 -16 48 0 0 lightmap_gray 16384.281 16384 -1337.522 31 0 0 + ( -15.5 -15.5 35 ) ( -15.5 -14.5 35 ) ( -15.5 -14.5 1 ) caulk 64 64 -189.49797 31 0 0 lightmap_gray 16383.879 16384 -189.49789 31 0 0 + ( -10.5 -14.5 35 ) ( -30.5 -14.5 35 ) ( -30.5 -14.5 1 ) caulk 64 64 -1337.5153 31 0 0 lightmap_gray 16383.703 16384 -1337.4763 31 0 0 + ( -29.5 -14.5 35 ) ( -29.5 -15.5 35 ) ( -29.5 -15.5 1 ) caulk 64 64 -189.50565 30.995174 0 0 lightmap_gray 16383.645 16384 -189.49751 30.995174 0 0 +} +// brush 60 +{ + contents nonColliding; + ( 10.5 9.5 0 ) ( 114.5 9.5 0 ) ( 114.5 37.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.98 16383.982 -1396 -28.5 0 0 + ( 114.5 9.5 3 ) ( 10.5 9.5 3 ) ( 10.5 37.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384 16383.986 -1396 -28.5 0 0 + ( 10.5 11.5 3 ) ( 10.5 11.5 0 ) ( 11.5 11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16412.813 16384 -1398.4744 148.19194 0 0 + ( 10.5 11.5 0 ) ( 10.5 11.5 3 ) ( 10.5 10.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.904 16384 28.5 147.99182 0 -8.0108643e-005 + ( 11.5 10.5 3 ) ( 11.5 10.5 0 ) ( 10.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16405.768 16384.178 -1290.2271 31.993742 0 -0.00012223727 + ( 11.5 11.5 3 ) ( 11.5 11.5 0 ) ( 11.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16385 16384.135 -170.50967 32 0 0 +} +// brush 61 +{ + contents nonColliding; + ( 10.5 -13.5 0 ) ( 114.5 -13.5 0 ) ( 114.5 14.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 -1396 -5.5 0 0 + ( 114.5 -13.5 3 ) ( 10.5 -13.5 3 ) ( 10.5 14.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.91 16384 -1395.9912 -5.5 0 0 + ( 10.5 -11.5 3 ) ( 10.5 -11.5 0 ) ( 11.5 -11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16382.096 16384 -1395.8367 148.19194 0 0 + ( 10.5 -11.5 0 ) ( 10.5 -11.5 3 ) ( 10.5 -12.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.875 16384 5.5 148 0 -0.00016552473 + ( 11.5 -12.5 3 ) ( 11.5 -12.5 0 ) ( 10.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16391.309 16384.178 -1289.0802 31.993742 0 -8.1546874e-005 + ( 11.5 -11.5 3 ) ( 11.5 -11.5 0 ) ( 11.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.74 16384.063 -193.50714 32 0 0 +} +// brush 62 +{ + contents nonColliding; + ( -12.5 9.5 0 ) ( 91.5 9.5 0 ) ( 91.5 37.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.018 16383.982 -1418.9988 -28.5 0 0 + ( 91.5 9.5 3 ) ( -12.5 9.5 3 ) ( -12.5 37.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.943 16383.984 -1418.9944 -28.5 0 0 + ( -12.5 11.5 3 ) ( -12.5 11.5 0 ) ( -11.5 11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16404.025 16384 -1420.7228 148.14433 0 -0.00012207031 + ( -12.5 11.5 0 ) ( -12.5 11.5 3 ) ( -12.5 10.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.904 16384 28.5 147.99182 0 -8.0108643e-005 + ( -11.5 10.5 3 ) ( -11.5 10.5 0 ) ( -12.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16390.611 16384.094 -1312.0237 31.994524 0 0 + ( -11.5 11.5 3 ) ( -11.5 11.5 0 ) ( -11.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16386.066 16384.135 -170.52164 32 0 0 +} +// brush 63 +{ + contents nonColliding; + ( -12.5 -13.5 0 ) ( 91.5 -13.5 0 ) ( 91.5 14.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.02 16384 -1419.0017 -5.5 0 0 + ( 91.5 -13.5 3 ) ( -12.5 -13.5 3 ) ( -12.5 14.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384 16384 -1419.0027 -5.5 0 0 + ( -12.5 -11.5 3 ) ( -12.5 -11.5 0 ) ( -11.5 -11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16380 16384 -1418.6588 148.14433 0 -0.00012207031 + ( -12.5 -11.5 0 ) ( -12.5 -11.5 3 ) ( -12.5 -12.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.875 16384 5.5 148 0 -0.00016552473 + ( -11.5 -12.5 3 ) ( -11.5 -12.5 0 ) ( -12.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16387.652 16384.094 -1311.7897 31.994524 0 0 + ( -11.5 -11.5 3 ) ( -11.5 -11.5 0 ) ( -11.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.74 16384.063 -193.50714 32 0 0 +} +// brush 64 +{ + contents nonColliding; + ( 48.5 9.5 0 ) ( 152.5 9.5 0 ) ( 152.5 37.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.021 16383.984 -1358 -28.5 0 0 + ( 152.5 9.5 3 ) ( 48.5 9.5 3 ) ( 48.5 37.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.98 16383.992 -1358 -28.5 0 0 + ( 48.5 11.5 3 ) ( 48.5 11.5 0 ) ( 49.5 11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16408.602 16384 -1360.1095 148.11238 0 0 + ( 48.5 11.5 0 ) ( 48.5 11.5 3 ) ( 48.5 10.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.904 16384 28.5 147.99182 0 -8.0108643e-005 + ( 49.5 10.5 3 ) ( 49.5 10.5 0 ) ( 48.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16388.324 16384.188 -1250.8442 31.986523 0 -4.0575e-005 + ( 49.5 11.5 3 ) ( 49.5 11.5 0 ) ( 49.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16385 16384.135 -170.50967 32 0 0 +} +// brush 65 +{ + contents nonColliding; + ( -50.5 9.5 0 ) ( 53.5 9.5 0 ) ( 53.5 37.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.988 16383.984 -1456.9988 -28.5 0 0 + ( 53.5 9.5 3 ) ( -50.5 9.5 3 ) ( -50.5 37.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.092 16383.984 -1457.0087 -28.5 0 0 + ( -50.5 11.5 3 ) ( -50.5 11.5 0 ) ( -49.5 11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16388.992 16384 -1457.4298 148.01999 0 0 + ( -50.5 11.5 0 ) ( -50.5 11.5 3 ) ( -50.5 10.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.904 16384 28.5 147.99182 0 -8.0108643e-005 + ( -49.5 10.5 3 ) ( -49.5 10.5 0 ) ( -50.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16391.316 16383.959 -1350.0806 32 0 0 + ( -49.5 11.5 3 ) ( -49.5 11.5 0 ) ( -49.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16385.021 16384.135 -170.51007 32 0 0 +} +// brush 66 +{ + contents nonColliding; + ( -50.5 -13.5 0 ) ( 53.5 -13.5 0 ) ( 53.5 14.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 -1457 -5.5 0 0 + ( 53.5 -13.5 3 ) ( -50.5 -13.5 3 ) ( -50.5 14.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.986 16383.99 -1456.9988 -5.5 0 0 + ( -50.5 -11.5 3 ) ( -50.5 -11.5 0 ) ( -49.5 -11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16396.842 16384 -1458.1027 148.01999 0 -0.00016310728 + ( -50.5 -11.5 0 ) ( -50.5 -11.5 3 ) ( -50.5 -12.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.875 16384 5.5 148 0 -0.00016552473 + ( -49.5 -12.5 3 ) ( -49.5 -12.5 0 ) ( -50.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16391.236 16383.959 -1350.074 32 0 0 + ( -49.5 -11.5 3 ) ( -49.5 -11.5 0 ) ( -49.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.957 16384.063 -193.5097 32 0 0 +} +// brush 67 +{ + contents detail; + ( -21 11.5 34 ) ( -55 11.5 34 ) ( -55 -22.5 34 ) berlin_ceilings_metal 56 56 0 0 0 0 lightmap_gray 16384.092 16384.074 -1459.0067 -5.5 0 0 + ( -55 -16.5 36 ) ( -55 17.5 36 ) ( -21 17.5 36 ) berlin_ceilings_metal 56 56 0 17.25 0 0 lightmap_gray 16384.258 16384.066 -1459.0215 -5.5 0 0 + ( -57 -16.5 36 ) ( -23 -16.5 36 ) ( -23 -16.5 32 ) berlin_ceilings_metal 56 56 0 -27.25 0 0 lightmap_gray 16384.176 16383.939 -1459.0082 148 0 -0.0001762234 + ( 53.5 -20.5 38 ) ( 53.5 13.5 38 ) ( 53.5 13.5 34 ) berlin_ceilings_metal 56 56 -89.5 17.25 -90 0 lightmap_gray 16384.082 16384.111 5.5 148 0 0 + ( -21 15.5 38 ) ( -55 15.5 38 ) ( -55 15.5 34 ) berlin_ceilings_metal 56 -56 0 -68.75 0 0 lightmap_gray 16383.891 16384.199 -1458.9928 148.00278 0 0 + ( -54.5 11.5 38 ) ( -54.5 -22.5 38 ) ( -54.5 -22.5 34 ) berlin_ceilings_metal 56 -56 90.5 -17.25 90 0 lightmap_gray 16384 16384.316 5.5 148 0 0 +} +// brush 68 +{ + contents nonColliding; + ( 48.5 -13.5 0 ) ( 152.5 -13.5 0 ) ( 152.5 14.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.045 16384 -1358.0046 -5.5 0 0 + ( 152.5 -13.5 3 ) ( 48.5 -13.5 3 ) ( 48.5 14.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384 16383.988 -1358.0017 -5.5 0 0 + ( 48.5 -11.5 3 ) ( 48.5 -11.5 0 ) ( 49.5 -11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16395.848 16384 -1359.0161 148.11238 0 0 + ( 48.5 -11.5 0 ) ( 48.5 -11.5 3 ) ( 48.5 -12.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.875 16384 5.5 148 0 -0.00016552473 + ( 49.5 -12.5 3 ) ( 49.5 -12.5 0 ) ( 48.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16390.912 16384.188 -1251.0479 31.986523 0 0 + ( 49.5 -11.5 3 ) ( 49.5 -11.5 0 ) ( 49.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.74 16384.063 -193.50714 32 0 0 +} +// brush 69 +{ + contents nonColliding; + ( -34.5 13.5 4 ) ( -14.5 13.5 4 ) ( -14.5 14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.898 16381.568 -1292.5118 188.46878 180 -0.0011363481 + ( -29.5 13.5 5 ) ( -29.5 14.5 5 ) ( -15.5 14.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.58 16382.465 -1292.469 188.47311 180 -0.00038722128 + ( -14.5 14.5 35 ) ( -34.5 14.5 35 ) ( -34.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -29.5 14.5 5 ) ( -29.5 13.5 5 ) ( -30.5 13.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16380.138 16385.189 -1300.1921 193.5136 -180 -0.00063840707 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -15.5 13.5 5 ) ( -15.5 14.5 5 ) ( -14.5 14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.92 16386.777 -1300.4774 193.53038 180 0.00017183179 +} +// brush 70 +{ + contents nonColliding; + ( -14.5 13.5 4 ) ( -14.5 14.5 4 ) ( -15.5 14.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.979 16384.094 -1292.5 188.5 180 -0.00023509972 + ( -14.5 14.5 33 ) ( -14.5 13.5 33 ) ( -15.5 13.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.986 16383.051 -1292.4977 188.49158 180 0.00042090772 + ( -14.5 14.5 35 ) ( -34.5 14.5 35 ) ( -34.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -15.5 14.5 35 ) ( -15.5 13.5 35 ) ( -15.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -14.5 14.5 4 ) ( -14.5 13.5 4 ) ( -14.5 13.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16382.293 -16384 -188.48087 -31 180 0 +} +// brush 71 +{ + contents nonColliding; + ( -29.5 14.5 32 ) ( -29.5 13.5 32 ) ( -15.5 13.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384 16386.557 -1292.5094 188.52608 180 -0.00028035336 + ( -14.5 14.5 33 ) ( -14.5 13.5 33 ) ( -34.5 13.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.898 16382.396 -1292.4906 188.47763 180 0.00035354836 + ( -14.5 14.5 35 ) ( -34.5 14.5 35 ) ( -34.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -29.5 13.5 32 ) ( -29.5 14.5 32 ) ( -30.5 14.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.016 16385.396 -1300.505 193.51576 180 0.00029467759 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -15.5 14.5 32 ) ( -15.5 13.5 32 ) ( -14.5 13.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16380.034 16387.57 -1300.1879 193.53854 180 -0.001271492 +} +// brush 72 +{ + contents nonColliding; + ( -28 14.5 19.5 ) ( -28 13.5 19.5 ) ( -27 13.5 19.5 ) berlin_ceilings_metal 48 48 -7 3 90 0 lightmap_gray 16382.025 16387.363 -1294.2935 188.53346 -180 0.0020000001 + ( -28 13.5 29 ) ( -28 14.5 29 ) ( -27 14.5 29 ) berlin_ceilings_metal 48 48 -7 3 90 0 lightmap_gray 16379.983 16386.604 -1294.2438 188.59132 180 -0.0004799389 + ( -12.5 14.5 35.5 ) ( -32.5 14.5 35.5 ) ( -32.5 14.5 1.5 ) berlin_ceilings_metal 48 48 -7 3 90 0 lightmap_gray 16383.877 -16384 -1294.4884 -30.5 -180 0 + ( -28 13.5 10.5 ) ( -28 14.5 10.5 ) ( -28 14.5 29 ) berlin_ceilings_metal 48 48 -7 3 90 0 lightmap_gray 16384.557 -16384 -188.50391 -30.5 180 0 + ( -32.5 13.5 35.5 ) ( -12.5 13.5 35.5 ) ( -12.5 13.5 1.5 ) berlin_ceilings_metal 48 48 -7 3 90 0 lightmap_gray 16382.781 -16384 -1294.4015 -30.5 180 0 + ( -27 13.5 34.5 ) ( -27 14.5 34.5 ) ( -27 14.5 0.5 ) berlin_ceilings_metal 48 48 -7 3 90 0 lightmap_gray 16384.121 -16384 -188.50166 -30.5 180 0 +} +// brush 73 +{ + contents nonColliding; + ( -30.5 14.5 4 ) ( -30.5 13.5 4 ) ( -29.5 13.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.979 16384.914 -1292.491 188.51013 180 -0.00030308802 + ( -30.5 13.5 33 ) ( -30.5 14.5 33 ) ( -29.5 14.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.01 16384.742 -1292.4722 188.50928 180 0.0014901671 + ( -14.5 14.5 35 ) ( -34.5 14.5 35 ) ( -34.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -30.5 14.5 33 ) ( -30.5 13.5 33 ) ( -30.5 13.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16382.945 -16384 -188.49051 -30.990732 180 0 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -29.5 13.5 34 ) ( -29.5 14.5 34 ) ( -29.5 14.5 0 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.242 -16384 -188.5106 -30.994434 180 0 +} +// brush 74 +{ + contents nonColliding; + ( -51.5 13.5 4 ) ( -31.5 13.5 4 ) ( -31.5 14.5 4 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.398 16383.758 -1275.5164 188.4966 180 0.0008754828 + ( -46.5 13.5 5 ) ( -46.5 14.5 5 ) ( -32.5 14.5 5 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384 16381.879 -1275.4971 188.47855 180 0.0002861968 + ( -31.5 14.5 35 ) ( -51.5 14.5 35 ) ( -51.5 14.5 1 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -46.5 14.5 5 ) ( -46.5 13.5 5 ) ( -47.5 13.5 4 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16380.235 16385.174 -1283.1753 193.51323 -180 0.0010117654 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -32.5 13.5 5 ) ( -32.5 14.5 5 ) ( -31.5 14.5 4 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.012 16385.621 -1283.4799 193.51775 180 0.00029842361 +} +// brush 75 +{ + contents nonColliding; + ( -31.5 13.5 4 ) ( -31.5 14.5 4 ) ( -32.5 14.5 5 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16382.023 16380.89 -1275.3546 188.46523 -180 -0.00061340112 + ( -31.5 14.5 33 ) ( -31.5 13.5 33 ) ( -32.5 13.5 32 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16383.932 16384.932 -1275.4968 188.51077 180 -0.00027783099 + ( -31.5 14.5 35 ) ( -51.5 14.5 35 ) ( -51.5 14.5 1 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -32.5 14.5 35 ) ( -32.5 13.5 35 ) ( -32.5 13.5 1 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -31.5 14.5 4 ) ( -31.5 13.5 4 ) ( -31.5 13.5 33 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16382.293 -16384 -188.48087 -31 180 0 +} +// brush 76 +{ + contents nonColliding; + ( -46.5 14.5 32 ) ( -46.5 13.5 32 ) ( -32.5 13.5 32 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384 16385.352 -1275.4862 188.51591 180 0.00051545055 + ( -31.5 14.5 33 ) ( -31.5 13.5 33 ) ( -51.5 13.5 33 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.398 16383.275 -1275.527 188.4915 180 0.00014306758 + ( -31.5 14.5 35 ) ( -51.5 14.5 35 ) ( -51.5 14.5 1 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -46.5 13.5 32 ) ( -46.5 14.5 32 ) ( -47.5 14.5 33 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.016 16385.414 -1283.5085 193.51617 180 8.4193685e-005 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -32.5 14.5 32 ) ( -32.5 13.5 32 ) ( -31.5 13.5 33 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.01 16386.949 -1283.5054 193.53189 180 -0.00075781421 +} +// brush 77 +{ + contents nonColliding; + ( -35 14.5 19.5 ) ( -35 13.5 19.5 ) ( -34 13.5 19.5 ) berlin_ceilings_metal 48 48 -121 -27 90 0 lightmap_gray 16384.027 16387.414 -1287.4109 188.52187 180 -0.00089256204 + ( -35 13.5 29 ) ( -35 14.5 29 ) ( -34 14.5 29 ) berlin_ceilings_metal 48 48 -121 -27 90 0 lightmap_gray 16394.031 16386.482 -1288.3663 188.58771 180 -0.001759763 + ( -19.5 14.5 35.5 ) ( -39.5 14.5 35.5 ) ( -39.5 14.5 1.5 ) berlin_ceilings_metal 48 48 -121 -27 90 0 lightmap_gray 16385.014 -16384 -1287.5802 -30.5 180 0 + ( -35 13.5 10.5 ) ( -35 14.5 10.5 ) ( -35 14.5 29 ) berlin_ceilings_metal 48 48 -121 -27 90 0 lightmap_gray 16384.557 -16384 -188.50391 -30.5 180 0 + ( -39.5 13.5 35.5 ) ( -19.5 13.5 35.5 ) ( -19.5 13.5 1.5 ) berlin_ceilings_metal 48 48 -121 -27 90 0 lightmap_gray 16383.9 -16384 -1287.4927 -30.5 180 0 + ( -34 13.5 34.5 ) ( -34 14.5 34.5 ) ( -34 14.5 0.5 ) berlin_ceilings_metal 48 48 -121 -27 90 0 lightmap_gray 16384.121 -16384 -188.50166 -30.5 180 0 +} +// brush 78 +{ + contents nonColliding; + ( -47.5 14.5 4 ) ( -47.5 13.5 4 ) ( -46.5 13.5 5 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16377.906 16384.846 -1275.0024 188.51024 180 -0.00026099139 + ( -47.5 13.5 33 ) ( -47.5 14.5 33 ) ( -46.5 14.5 32 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.01 16384.689 -1275.5 188.50867 -180 -0.00055565371 + ( -31.5 14.5 35 ) ( -51.5 14.5 35 ) ( -51.5 14.5 1 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -47.5 14.5 33 ) ( -47.5 13.5 33 ) ( -47.5 13.5 4 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16382.945 -16384 -188.49051 -30.990732 180 0 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -46.5 13.5 34 ) ( -46.5 14.5 34 ) ( -46.5 14.5 0 ) berlin_ceilings_metal 48 48 -24 15 90 0 lightmap_gray 16385.242 -16384 -188.5106 -30.994434 180 0 +} +// brush 79 +{ + contents nonColliding; + ( 9 14.5 4.5 ) ( 9 13.5 4.5 ) ( -5 13.5 4.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 -16384.379 -1313.0369 -188.4989 0 -0.0023741121 + ( -6 14.5 4 ) ( -6 13.5 4 ) ( 14 13.5 4 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.9 -16383.846 -1312.9767 -188.49895 0 0.00095966744 + ( -6 14.5 2 ) ( 14 14.5 2 ) ( 14 14.5 36 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.666 -16383.928 -1312.9751 -68 0 0 + ( 9 13.5 5 ) ( 9 14.5 5 ) ( 10 14.5 4 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.92 -16386.705 -1321.0046 -193.52994 0 -0.00039792448 + ( 14 13.5 2 ) ( -6 13.5 2 ) ( -6 13.5 36 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.715 -16383.967 -1312.9772 -68 0 0 + ( -11.5 14.5 5 ) ( -11.5 13.5 5 ) ( -12.5 13.5 4 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16386.053 -16385.5 -1321.1638 -193.51703 0 -0.00088549411 +} +// brush 80 +{ + contents nonColliding; + ( 11 14.5 19 ) ( 11 13.5 19 ) ( 10 13.5 18 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16382.045 -16384.242 -1312.8541 -188.5 0 -0.00091764552 + ( 10 13.5 4 ) ( 10 14.5 4 ) ( 9 14.5 5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.979 -16385.52 -1313.0073 -188.51744 0 -0.00080483448 + ( -6 14.5 8.5 ) ( 14 14.5 8.5 ) ( 14 14.5 42.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.715 -16384 -1313.0562 -74.5 0 0 + ( 10 14.5 10.5 ) ( 10 13.5 10.5 ) ( 10 13.5 39.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16382.389 16384 -188.41727 74.488991 -180 -3.316217e-005 + ( 14 13.5 8.5 ) ( -6 13.5 8.5 ) ( -6 13.5 42.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16385.43 -16384 -1313.1129 -74.5 0 0 + ( 9.5 13.5 9.5 ) ( 9.5 14.5 9.5 ) ( 9.5 14.5 43.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.889 16384 -188.50586 74.5 180 0 +} +// brush 81 +{ + contents nonColliding; + ( -6.5 14.5 16 ) ( -6.5 15.5 16 ) ( -6.5 15.5 17 ) berlin_ceilings_metal 48 48 1 14 0 0 lightmap_gray 16377.294 16383.984 -1306.9658 157.99673 0 -0.00011825539 + ( 3.5 14.5 17 ) ( 3.5 15.5 17 ) ( 3.5 15.5 16 ) berlin_ceilings_metal 48 48 1 14 0 0 lightmap_gray 16423.125 16385 -1310.6537 158.02525 0 -0.00036515645 + ( -6.5 14.5 16 ) ( 3.5 14.5 16 ) ( 3.5 15.5 16 ) berlin_ceilings_metal 48 48 1 14 0 0 lightmap_gray 16369.806 -16383.582 -1304.3915 -56.300434 90 -0.00070798973 + ( -6.5 15.5 16 ) ( 3.5 15.5 16 ) ( 3.5 15.5 17 ) berlin_ceilings_metal 48 48 1 14 0 0 lightmap_gray 16384.33 -16386 -157.73048 -55.978878 90 -0.00021752299 + ( -6.5 15.5 17 ) ( 3.5 15.5 17 ) ( 3.5 14.5 17 ) berlin_ceilings_metal 48 48 1 14 0 0 lightmap_gray 16313.595 -16384.326 -1299.7769 -56.300522 90 -0.00068326824 + ( -6.5 14.5 17 ) ( 3.5 14.5 17 ) ( 3.5 14.5 16 ) berlin_ceilings_metal 48 48 1 14 0 0 lightmap_gray 16384.531 -16385.199 -158.18161 -56.042973 90 0.00017042119 +} +// brush 82 +{ + contents nonColliding; + ( -13.5 14.5 3 ) ( -13.5 13.5 3 ) ( -12.5 13.5 4 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16385.9 16382.275 -1310.6482 188.48045 180 -0.00023569717 + ( -12.5 13.5 18 ) ( -12.5 14.5 18 ) ( -11.5 14.5 17 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.979 16381.896 -1310.4962 188.47758 -180 0.00017474967 + ( 3.5 14.5 20 ) ( -16.5 14.5 20 ) ( -16.5 14.5 -14 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.828 -16384 -1310.5646 -46 180 0 + ( -12.5 14.5 18 ) ( -12.5 13.5 18 ) ( -12.5 13.5 -11 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16381.408 -16384 -188.47385 -46 180 0 + ( -16.5 13.5 20 ) ( 3.5 13.5 20 ) ( 3.5 13.5 -14 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.516 -16384 -1310.4623 -46 180 0 + ( -12 13.5 19 ) ( -12 14.5 19 ) ( -12 14.5 -15 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16381.949 -16384 -188.4767 -46.005642 180 0 +} +// brush 83 +{ + contents nonColliding; + ( -11.5 14.5 17.5 ) ( -11.5 13.5 17.5 ) ( 2.5 13.5 17.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 16382.035 -1310.4926 188.47835 180 0.00024411135 + ( 3.5 14.5 18 ) ( 3.5 13.5 18 ) ( -16.5 13.5 18 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 16383.258 -1310.4988 188.4913 180 -7.576435e-005 + ( 3.5 14.5 20 ) ( -16.5 14.5 20 ) ( -16.5 14.5 -14 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.828 -16384 -1310.5646 -46 180 0 + ( -11.5 13.5 17 ) ( -11.5 14.5 17 ) ( -12.5 14.5 18 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16380.017 16388.76 -1318.2034 193.5526 180 -0.0010400044 + ( -16.5 13.5 20 ) ( 3.5 13.5 20 ) ( 3.5 13.5 -14 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.516 -16384 -1310.4623 -46 180 0 + ( 9 14.5 17 ) ( 9 13.5 17 ) ( 10 13.5 18 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.979 16384.811 -1318.4786 193.50804 -180 8.2173749e-005 +} +// brush 84 +{ + contents nonColliding; + ( 9 14.5 18.5 ) ( 9 13.5 18.5 ) ( -5 13.5 18.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 -16384.379 -1313.0175 -188.4989 0 -0.0011028677 + ( -6 14.5 18 ) ( -6 13.5 18 ) ( 14 13.5 18 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 -16383.846 -1312.9792 -188.49895 0 0.0013048287 + ( -6 14.5 16 ) ( 14 14.5 16 ) ( 14 14.5 50 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 -16383.967 -1313 -82 0 0 + ( 9 13.5 19 ) ( 9 14.5 19 ) ( 10 14.5 18 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 -16385.207 -1321.0162 -193.51396 0 0.0001768045 + ( 14 13.5 16 ) ( -6 13.5 16 ) ( -6 13.5 50 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.715 -16383.928 -1312.9761 -82 0 0 + ( -11.5 14.5 19 ) ( -11.5 13.5 19 ) ( -12.5 13.5 18 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.049 -16387.793 -1321.0072 -193.54163 0 -0.0012623606 +} +// brush 85 +{ + contents nonColliding; + ( -6.5 14.5 23.5 ) ( -6.5 15.5 23.5 ) ( -6.5 15.5 24.5 ) berlin_ceilings_metal 48 48 -1 6 0 0 lightmap_gray 16382.322 16384.506 -1307.3728 150.5089 0 0 + ( 3.5 14.5 24.5 ) ( 3.5 15.5 24.5 ) ( 3.5 15.5 23.5 ) berlin_ceilings_metal 48 48 -1 6 0 0 lightmap_gray 16358.877 16384 -1305.4791 150.49619 0 0 + ( -6.5 14.5 23.5 ) ( 3.5 14.5 23.5 ) ( 3.5 15.5 23.5 ) berlin_ceilings_metal 48 48 -1 6 0 0 lightmap_gray 16384 -16383.574 -1306.1963 -56.213127 90 -0.00034178799 + ( -6.5 15.5 23.5 ) ( 3.5 15.5 23.5 ) ( 3.5 15.5 24.5 ) berlin_ceilings_metal 48 48 -1 6 0 0 lightmap_gray 16382.758 -16384.324 -150.1848 -55.973091 90 -0.00019391185 + ( -6.5 15.5 24.5 ) ( 3.5 15.5 24.5 ) ( 3.5 14.5 24.5 ) berlin_ceilings_metal 48 48 -1 6 0 0 lightmap_gray 16381.936 -16383.537 -1306.1012 -56.187378 90 -0.00032967303 + ( -6.5 14.5 24.5 ) ( 3.5 14.5 24.5 ) ( 3.5 14.5 23.5 ) berlin_ceilings_metal 48 48 -1 6 0 0 lightmap_gray 16383.934 -16384.375 -150.74017 -56.040836 90 0.00017738495 +} +// brush 86 +{ + contents nonColliding; + ( 11 14.5 26.5 ) ( 11 13.5 26.5 ) ( 10 13.5 25.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16385.934 -16382.828 -1313.1685 -188.48878 0 -0.00087547617 + ( 10 13.5 18 ) ( 10 14.5 18 ) ( 9 14.5 19 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16386.014 -16383.879 -1313.1801 -188.49802 0 -0.0010102296 + ( -6 14.5 16 ) ( 14 14.5 16 ) ( 14 14.5 50 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.572 -16384 -1313.0437 -82 0 0 + ( 10 14.5 18 ) ( 10 13.5 18 ) ( 10 13.5 47 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16386.053 16384 -188.45612 81.989052 -180 -4.4727218e-005 + ( 14 13.5 16 ) ( -6 13.5 16 ) ( -6 13.5 50 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.572 -16384 -1313.0448 -82 0 0 + ( 9.5 13.5 17 ) ( 9.5 14.5 17 ) ( 9.5 14.5 51 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.104 16384 -188.49063 81.998405 180 0 +} +// brush 87 +{ + contents nonColliding; + ( -13.5 14.5 17 ) ( -13.5 13.5 17 ) ( -12.5 13.5 18 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16387.947 16385.775 -1310.8081 188.51784 -180 0.00050517329 + ( -12.5 13.5 25.5 ) ( -12.5 14.5 25.5 ) ( -11.5 14.5 24.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.025 16383.535 -1310.5071 188.49693 180 -0.00058086985 + ( 3.5 14.5 27.5 ) ( -16.5 14.5 27.5 ) ( -16.5 14.5 -6.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16385.092 -16384 -1310.587 -38.5 180 0 + ( -12.5 14.5 25.5 ) ( -12.5 13.5 25.5 ) ( -12.5 13.5 -3.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.574 -16384 -188.49548 -38.497135 180 0 + ( -16.5 13.5 27.5 ) ( 3.5 13.5 27.5 ) ( 3.5 13.5 -6.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.395 -16384 -1310.4508 -38.5 180 0 + ( -12 13.5 26.5 ) ( -12 14.5 26.5 ) ( -12 14.5 -7.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.396 -16384 -188.49423 -38.503857 180 0 +} +// brush 88 +{ + contents nonColliding; + ( -11.5 14.5 25 ) ( -11.5 13.5 25 ) ( 2.5 13.5 25 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 16382.035 -1310.4926 188.47835 180 0.00024411135 + ( 3.5 14.5 25.5 ) ( 3.5 13.5 25.5 ) ( -16.5 13.5 25.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.893 16383.258 -1310.4813 188.4913 -180 0.00068187917 + ( 3.5 14.5 27.5 ) ( -16.5 14.5 27.5 ) ( -16.5 14.5 -6.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16385.092 -16384 -1310.587 -38.5 180 0 + ( -11.5 13.5 24.5 ) ( -11.5 14.5 24.5 ) ( -12.5 14.5 25.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.037 16386.76 -1318.535 193.52875 180 -0.00079205027 + ( -16.5 13.5 27.5 ) ( 3.5 13.5 27.5 ) ( 3.5 13.5 -6.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.395 -16384 -1310.4508 -38.5 180 0 + ( 9 14.5 24.5 ) ( 9 13.5 24.5 ) ( 10 13.5 25.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.977 16385.689 -1318.4662 193.51924 180 0.00071530376 +} +// brush 89 +{ + contents nonColliding; + ( 9 14.5 26 ) ( 9 13.5 26 ) ( -5 13.5 26 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 -16384.379 -1313.0139 -188.4989 0 -0.00074085768 + ( -6 14.5 25.5 ) ( -6 13.5 25.5 ) ( 14 13.5 25.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 -16383.846 -1312.9792 -188.49895 0 0.0013048287 + ( -6 14.5 23.5 ) ( 14 14.5 23.5 ) ( 14 14.5 57.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.387 -16383.939 -1313.0299 -89.5 0 0 + ( 9 13.5 26.5 ) ( 9 14.5 26.5 ) ( 10 14.5 25.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.988 -16385.725 -1321.04 -193.51675 0 -0.0012881879 + ( 14 13.5 23.5 ) ( -6 13.5 23.5 ) ( -6 13.5 57.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.857 -16383.91 -1312.9896 -89.5 0 0 + ( -11.5 14.5 26.5 ) ( -11.5 13.5 26.5 ) ( -12.5 13.5 25.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16382.033 -16386.896 -1320.8373 -193.53369 0 -0.00085043319 +} +// brush 90 +{ + contents nonColliding; + ( -13.5 14.5 24.5 ) ( -13.5 13.5 24.5 ) ( -12.5 13.5 25.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.977 16384.467 -1310.498 188.50345 180 -0.00051355181 + ( -12.5 13.5 33 ) ( -12.5 14.5 33 ) ( -11.5 14.5 32 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.01 16384.742 -1310.5164 188.50928 180 -0.0013723009 + ( 3.5 14.5 35 ) ( -16.5 14.5 35 ) ( -16.5 14.5 1 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.828 -16384 -1310.5665 -31 -180 0 + ( -12.5 14.5 33 ) ( -12.5 13.5 33 ) ( -12.5 13.5 4 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16382.945 -16384 -188.49051 -31 180 0 + ( -16.5 13.5 35 ) ( 3.5 13.5 35 ) ( 3.5 13.5 1 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.1 -16384 -1310.5098 -31 180 0 + ( -12 13.5 34 ) ( -12 14.5 34 ) ( -12 14.5 0 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16385.242 -16384 -188.5106 -30.994434 180 0 +} +// brush 91 +{ + contents nonColliding; + ( -6.5 14.5 31 ) ( -6.5 15.5 31 ) ( -6.5 15.5 32 ) berlin_ceilings_metal 48 48 -2 33 0 0 lightmap_gray 16379.614 16384 -1307.1548 142.9924 0 0 + ( 3.5 14.5 32 ) ( 3.5 15.5 32 ) ( 3.5 15.5 31 ) berlin_ceilings_metal 48 48 -2 33 0 0 lightmap_gray 16371.236 16384 -1306.4503 142.97823 0 -0.00085547718 + ( -6.5 14.5 31 ) ( 3.5 14.5 31 ) ( 3.5 15.5 31 ) berlin_ceilings_metal 48 48 -2 33 0 0 lightmap_gray 16323.396 -16383.605 -1302.0558 -56.10918 90 0.000231928 + ( -6.5 15.5 31 ) ( 3.5 15.5 31 ) ( 3.5 15.5 32 ) berlin_ceilings_metal 48 48 -2 33 0 0 lightmap_gray 16383.959 -16384.43 -142.72392 -55.972847 90 -0.00021595447 + ( -6.5 15.5 32 ) ( 3.5 15.5 32 ) ( 3.5 14.5 32 ) berlin_ceilings_metal 48 48 -2 33 0 0 lightmap_gray 16343.456 -16383.938 -1303.5801 -56.102913 90 0.00032968109 + ( -6.5 14.5 32 ) ( 3.5 14.5 32 ) ( 3.5 14.5 31 ) berlin_ceilings_metal 48 48 -2 33 0 0 lightmap_gray 16385.197 -16384.055 -143.22475 -56.038692 90 0.00016602826 +} +// brush 92 +{ + contents nonColliding; + ( 11 14.5 34 ) ( 11 13.5 34 ) ( 10 13.5 33 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16381.988 -16383.551 -1312.8213 -188.496 0 0.001 + ( 10 13.5 25.5 ) ( 10 14.5 25.5 ) ( 9 14.5 26.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16381.992 -16383.449 -1312.8518 -188.4955 0 -0.00088392774 + ( -6 14.5 23.5 ) ( 14 14.5 23.5 ) ( 14 14.5 57.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.715 -16384 -1313.0555 -89.5 0 0 + ( 10 14.5 25.5 ) ( 10 13.5 25.5 ) ( 10 13.5 54.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16382.018 16384 -188.4142 89.489044 180 -2.5765245e-005 + ( 14 13.5 23.5 ) ( -6 13.5 23.5 ) ( -6 13.5 57.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.43 -16384 -1313.032 -89.5 0 0 + ( 9.5 13.5 24.5 ) ( 9.5 14.5 24.5 ) ( 9.5 14.5 58.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.414 16384 -188.50505 89.493492 180 0 +} +// brush 93 +{ + contents nonColliding; + ( -11.5 14.5 32.5 ) ( -11.5 13.5 32.5 ) ( 2.5 13.5 32.5 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384 16382.035 -1310.4926 188.47835 180 0.00024411135 + ( 3.5 14.5 33 ) ( 3.5 13.5 33 ) ( -16.5 13.5 33 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16383.893 16383.258 -1310.4813 188.4913 -180 0.00068187917 + ( 3.5 14.5 35 ) ( -16.5 14.5 35 ) ( -16.5 14.5 1 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.828 -16384 -1310.5665 -31 -180 0 + ( -11.5 13.5 32 ) ( -11.5 14.5 32 ) ( -12.5 14.5 33 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.016 16384.863 -1318.5015 193.5099 -180 0.0007745559 + ( -16.5 13.5 35 ) ( 3.5 13.5 35 ) ( 3.5 13.5 1 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16384.1 -16384 -1310.5098 -31 180 0 + ( 9 14.5 32 ) ( 9 13.5 32 ) ( 10 13.5 33 ) berlin_ceilings_metal 48 48 -15 14 90 0 lightmap_gray 16379.995 16387.346 -1318.1638 193.53613 180 -0.00010946469 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_storage_table2.map b/map_source/_prefabs/zombiemode/asylum_storage_table2.map new file mode 100644 index 000000000..d29b47f95 --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_storage_table2.map @@ -0,0 +1,579 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "0.294118 0.286275 0.392157" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +// brush 0 +{ + contents nonColliding; + ( -14 -13.5 0 ) ( 90 -13.5 0 ) ( 90 14.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.02 16384 -1420.5017 -5.5 0 0 + ( 90 -13.5 3 ) ( -14 -13.5 3 ) ( -14 14.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384 16384 -1420.5027 -5.5 0 0 + ( -14 -11.5 3 ) ( -14 -11.5 0 ) ( -13 -11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16381 16384 -1420.2446 148.14436 0 -0.00012643076 + ( -14 -11.5 0 ) ( -14 -11.5 3 ) ( -14 -12.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.883 16384 5.5 148 0 -0.00018141931 + ( -13 -12.5 3 ) ( -13 -12.5 0 ) ( -14 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16387.078 16384.104 -1313.2441 31.994555 0 0 + ( -13 -11.5 3 ) ( -13 -11.5 0 ) ( -13 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.74 16384.063 -193.50714 32 0 0 +} +// brush 1 +{ + contents nonColliding; + ( -14 9.5 0 ) ( 90 9.5 0 ) ( 90 37.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.016 16383.982 -1420.5 -28.5 0 0 + ( 90 9.5 3 ) ( -14 9.5 3 ) ( -14 37.5 3 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.943 16383.984 -1420.4944 -28.5 0 0 + ( -14 11.5 3 ) ( -14 11.5 0 ) ( -13 11.5 0 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16404.74 16384 -1422.2842 148.14436 0 -0.00012642445 + ( -14 11.5 0 ) ( -14 11.5 3 ) ( -14 10.5 3 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.902 16384 28.5 147.99182 0 -8.0108643e-005 + ( -13 10.5 3 ) ( -13 10.5 0 ) ( -14 10.5 0 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16392.158 16384.104 -1313.6465 31.994555 0 0 + ( -13 11.5 3 ) ( -13 11.5 0 ) ( -13 10.5 0 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16386.066 16384.146 -170.52164 32 0 0 +} +// brush 2 +{ + contents nonColliding; + ( 33.5 -13.5 0 ) ( 137.5 -13.5 0 ) ( 137.5 14.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.072 16384 -1373.007 -5.5 0 0 + ( 137.5 -13.5 3 ) ( 33.5 -13.5 3 ) ( 33.5 14.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.117 16383.988 -1373.0122 -5.5 0 0 + ( 33.5 -11.5 3 ) ( 33.5 -11.5 0 ) ( 34.5 -11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16395.111 16384 -1373.9539 148.11255 0 0 + ( 33.5 -11.5 0 ) ( 33.5 -11.5 3 ) ( 33.5 -12.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.832 16384 5.5 148 0 -0.00031811264 + ( 34.5 -12.5 3 ) ( 34.5 -12.5 0 ) ( 33.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16388.232 16384.168 -1265.8353 31.986526 0 0 + ( 34.5 -11.5 3 ) ( 34.5 -11.5 0 ) ( 34.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.74 16384.063 -193.50714 32 0 0 +} +// brush 3 +{ + contents nonColliding; + ( 33.5 9.5 0 ) ( 137.5 9.5 0 ) ( 137.5 37.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384.135 16383.984 -1373.0095 -28.5 0 0 + ( 137.5 9.5 3 ) ( 33.5 9.5 3 ) ( 33.5 37.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384 16383.994 -1373.0022 -28.5 0 0 + ( 33.5 11.5 3 ) ( 33.5 11.5 0 ) ( 34.5 11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16410.311 16384 -1375.2562 148.11255 0 0 + ( 33.5 11.5 0 ) ( 33.5 11.5 3 ) ( 33.5 10.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.91 16384 28.5 147.99182 0 -8.0108643e-005 + ( 34.5 10.5 3 ) ( 34.5 10.5 0 ) ( 33.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16387.885 16384.168 -1265.8083 31.986526 0 -4.1132706e-005 + ( 34.5 11.5 3 ) ( 34.5 11.5 0 ) ( 34.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16385 16384.146 -170.50967 32 0 0 +} +// brush 4 +{ + contents detail; + ( 20 -7 3 ) ( 20 6 3 ) ( 12.5 13.5 3 ) okinawa_wood_shuri_int_furni 48 48 0 0 90 0 lightmap_gray 16384 16383.986 -1458.9983 -4.5 0 0 + ( 51.5 -14.5 34 ) ( -52.5 -14.5 34 ) ( -52.5 13.5 34 ) okinawa_wood_shuri_int_furni 48 48 0 0 90 0 lightmap_gray 16383.924 16384 -1458.9934 -4.5 0 0 + ( 35.5 -14.5 34 ) ( 35.5 -14.5 3 ) ( -51.5 -14.5 3 ) okinawa_wood_shuri_int_furni 48 -48 -40 -90.414223 90 0 lightmap_gray 16384 16384 -1459 148 0 0 + ( 36.5 -13.5 3 ) ( 36.5 -13.5 34 ) ( 36.5 12.5 34 ) okinawa_wood_shuri_int_furni 48 -48 -40 90.8284 90 0 lightmap_gray 16384 16384 4.5 148 0 0 + ( 35.5 13.5 3 ) ( 35.5 13.5 34 ) ( -51.5 13.5 34 ) okinawa_wood_shuri_int_furni 48 48 -40 -41.414185 90 0 lightmap_gray 16384 16383.984 -1459 148 0 0 + ( -52.5 -14.5 34 ) ( -52.5 -14.5 0 ) ( -52.5 13.5 0 ) okinawa_wood_shuri_int_furni 48 48 -40 24 90 0 lightmap_gray 16384 16383.979 4.5 148 0 0 + ( -50.5 -15.5 36 ) ( -53.5 -12.5 36 ) ( -50.5 -15.5 68 ) okinawa_wood_shuri_int_furni 48 33.941124 -40 13.0165 90 0 lightmap_gray 16383.791 16384 -194.49602 32 0 0 + ( -53.5 11.5 34 ) ( -50.5 14.5 34 ) ( -53.5 11.5 66 ) okinawa_wood_shuri_int_furni 48 33.941124 -40 20.63175 90 0 lightmap_gray 16384 16384 -194.5 32 0 0 + ( 36.5 12.5 3 ) ( 36.5 12.5 34 ) ( 35.5 13.5 34 ) okinawa_wood_shuri_int_furni 48 -33.941128 -40 67.886543 90 0 lightmap_gray 16384.242 16384 -194.5 32 0 0 + ( 36.5 -13.5 34 ) ( 36.5 -13.5 3 ) ( 35.5 -14.5 3 ) okinawa_wood_shuri_int_furni 48 -33.941128 -40 -103.53481 90 0 lightmap_gray 16384.178 16384 -194.5 32 0 0 +} +// brush 5 +{ + contents nonColliding; + ( -8 13.5 26 ) ( 12 13.5 26 ) ( 12 14.5 26 ) caulk 64 64 -1318.9938 188.48904 180 5.4253473e-005 lightmap_gray 16383.9 16385 -1318.9972 188.50549 -180 -0.00031649787 + ( 12 14.5 32.5 ) ( 12 13.5 32.5 ) ( -8 13.5 32.5 ) caulk 64 64 -1318.9935 188.49146 -180 2.5355357e-005 lightmap_gray 16383.703 16384.156 -1318.9857 188.49855 180 -0.00055142626 + ( 12 14.5 35 ) ( -8 14.5 35 ) ( -8 14.5 1 ) okinawa_wood_shuri_int_furni 48 48 -56 8 0 0 lightmap_gray 16384 -16384 -1319.0033 -31 180 0 + ( 12.5 14.5 35 ) ( 12.5 13.5 35 ) ( 12.5 13.5 1 ) caulk 64 -64 -188.49852 -31.005203 180 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -8 13.5 35 ) ( 12 13.5 35 ) ( 12 13.5 1 ) caulk 64 -64 -1319.0013 -31 180 0 lightmap_gray 16383.1 -16384 -1318.9269 -31 180 0 + ( 34 13.5 36 ) ( 34 14.5 36 ) ( 34 14.5 2 ) berlin_ceilings_metal 88 24 3 1358.4436 90 0 lightmap_gray 16384.879 -16384 -188.50598 -30.996101 180 0 +} +// brush 6 +{ + contents nonColliding; + ( -8 13.5 18.5 ) ( 12 13.5 18.5 ) ( 12 14.5 18.5 ) caulk 64 64 -1318.9938 188.48904 180 5.4253473e-005 lightmap_gray 16383.9 16385 -1318.9972 188.50549 -180 -0.00031649787 + ( 12 14.5 25 ) ( 12 13.5 25 ) ( -8 13.5 25 ) caulk 64 64 -1318.9935 188.49146 -180 2.5355357e-005 lightmap_gray 16383.703 16384.156 -1318.9857 188.49855 180 -0.00055142626 + ( 12 14.5 27.5 ) ( -8 14.5 27.5 ) ( -8 14.5 -6.5 ) okinawa_wood_shuri_int_furni 48 48 -104 40 0 0 lightmap_gray 16384.75 -16384 -1319.0599 -38.5 180 0 + ( 12.5 14.5 27.5 ) ( 12.5 13.5 27.5 ) ( 12.5 13.5 -6.5 ) caulk 64 -64 -188.49481 -38.5 180 0 lightmap_gray 16383.203 -16384 -188.49471 -38.5 180 0 + ( -8 13.5 27.5 ) ( 12 13.5 27.5 ) ( 12 13.5 -6.5 ) caulk 64 -64 -1319.0065 -38.5 180 0 lightmap_gray 16383.834 -16384 -1318.9861 -38.5 180 0 + ( 34 13.5 28.5 ) ( 34 14.5 28.5 ) ( 34 14.5 -5.5 ) berlin_ceilings_metal 88 23.989044 -4.5 1357.8314 90 0 lightmap_gray 16384.449 -16384 -188.50591 -38.503799 180 0 +} +// brush 7 +{ + contents nonColliding; + ( -7.5 13.5 4.5 ) ( 12.5 13.5 4.5 ) ( 12.5 14.5 4.5 ) caulk 64 64 -1319.0076 188.48904 180 -0.00034360532 lightmap_gray 16383.6 16386.631 -1318.9587 188.52116 180 0.00094054453 + ( 12 14.5 17.5 ) ( 12 13.5 17.5 ) ( -8 13.5 17.5 ) caulk 64 64 -1318.9935 188.49146 -180 2.5355357e-005 lightmap_gray 16383.703 16384.156 -1318.9857 188.49855 180 -0.00055142626 + ( 12 14.5 20 ) ( -8 14.5 20 ) ( -8 14.5 -14 ) okinawa_wood_shuri_int_furni 48 48 -20 -15 0 0 lightmap_gray 16384 -16384 -1319 -46 180 0 + ( 12.5 14.5 20 ) ( 12.5 13.5 20 ) ( 12.5 13.5 -14 ) caulk 64 -64 -188.494 -46 180 0 lightmap_gray 16381.852 -16384 -188.47853 -46 180 0 + ( -8 13.5 20 ) ( 12 13.5 20 ) ( 12 13.5 -14 ) caulk 64 -64 -1319.0126 -46 180 0 lightmap_gray 16383.967 -16384 -1318.9951 -46 180 0 + ( 34 13.5 21 ) ( 34 14.5 21 ) ( 34 14.5 -13 ) berlin_ceilings_metal 88 23.996161 -12 1358.2289 90 0 lightmap_gray 16382 -16384 -188.47772 -45.995079 180 0 +} +// brush 8 +{ + contents nonColliding; + ( -11.5 14.5 32.5 ) ( -11.5 13.5 32.5 ) ( 2.5 13.5 32.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 16382.035 -1310.4926 188.47835 180 0.00024411135 + ( 3.5 14.5 33 ) ( 3.5 13.5 33 ) ( -16.5 13.5 33 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.893 16383.258 -1310.4813 188.4913 -180 0.00068187917 + ( 3.5 14.5 35 ) ( -16.5 14.5 35 ) ( -16.5 14.5 1 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.828 -16384 -1310.5665 -31 -180 0 + ( -11.5 13.5 32 ) ( -11.5 14.5 32 ) ( -12.5 14.5 33 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.016 16384.863 -1318.5015 193.5099 -180 0.0007745559 + ( -16.5 13.5 35 ) ( 3.5 13.5 35 ) ( 3.5 13.5 1 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.1 -16384 -1310.5098 -31 180 0 + ( 9 14.5 32 ) ( 9 13.5 32 ) ( 10 13.5 33 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16379.995 16387.346 -1318.1638 193.53613 180 -0.00010946469 +} +// brush 9 +{ + contents nonColliding; + ( 9 14.5 26 ) ( 9 13.5 26 ) ( -5 13.5 26 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 -16384.379 -1313.0139 -188.4989 0 -0.00074085768 + ( -6 14.5 25.5 ) ( -6 13.5 25.5 ) ( 14 13.5 25.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 -16383.846 -1312.9792 -188.49895 0 0.0013048287 + ( -6 14.5 23.5 ) ( 14 14.5 23.5 ) ( 14 14.5 57.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.387 -16383.939 -1313.0299 -89.5 0 0 + ( 9 13.5 26.5 ) ( 9 14.5 26.5 ) ( 10 14.5 25.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.988 -16385.725 -1321.04 -193.51675 0 -0.0012881879 + ( 14 13.5 23.5 ) ( -6 13.5 23.5 ) ( -6 13.5 57.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.857 -16383.91 -1312.9896 -89.5 0 0 + ( -11.5 14.5 26.5 ) ( -11.5 13.5 26.5 ) ( -12.5 13.5 25.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16382.033 -16386.896 -1320.8373 -193.53369 0 -0.00085043319 +} +// brush 10 +{ + contents nonColliding; + ( -13.5 14.5 24.5 ) ( -13.5 13.5 24.5 ) ( -12.5 13.5 25.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.977 16384.467 -1310.498 188.50345 180 -0.00051355181 + ( -12.5 13.5 33 ) ( -12.5 14.5 33 ) ( -11.5 14.5 32 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.01 16384.742 -1310.5164 188.50928 180 -0.0013723009 + ( 3.5 14.5 35 ) ( -16.5 14.5 35 ) ( -16.5 14.5 1 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.828 -16384 -1310.5665 -31 -180 0 + ( -12.5 14.5 33 ) ( -12.5 13.5 33 ) ( -12.5 13.5 4 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16382.945 -16384 -188.49051 -31 180 0 + ( -16.5 13.5 35 ) ( 3.5 13.5 35 ) ( 3.5 13.5 1 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.1 -16384 -1310.5098 -31 180 0 + ( -12 13.5 34 ) ( -12 14.5 34 ) ( -12 14.5 0 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16385.242 -16384 -188.5106 -30.994434 180 0 +} +// brush 11 +{ + contents nonColliding; + ( 11 14.5 34 ) ( 11 13.5 34 ) ( 10 13.5 33 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16381.988 -16383.551 -1312.8213 -188.496 0 0.001 + ( 10 13.5 25.5 ) ( 10 14.5 25.5 ) ( 9 14.5 26.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16381.992 -16383.449 -1312.8518 -188.4955 0 -0.00088392774 + ( -6 14.5 23.5 ) ( 14 14.5 23.5 ) ( 14 14.5 57.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.715 -16384 -1313.0555 -89.5 0 0 + ( 10 14.5 25.5 ) ( 10 13.5 25.5 ) ( 10 13.5 54.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16382.018 16384 -188.4142 89.489044 180 -2.5765245e-005 + ( 14 13.5 23.5 ) ( -6 13.5 23.5 ) ( -6 13.5 57.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.43 -16384 -1313.032 -89.5 0 0 + ( 9.5 13.5 24.5 ) ( 9.5 14.5 24.5 ) ( 9.5 14.5 58.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.414 16384 -188.50505 89.493492 180 0 +} +// brush 12 +{ + contents nonColliding; + ( -32.5 13.5 26 ) ( -12.5 13.5 26 ) ( -12.5 14.5 26 ) caulk 64 64 -1294.4943 188.48904 180 1.8084491e-005 lightmap_gray 16383.9 16385 -1294.4978 188.50549 -180 -0.00032554069 + ( -12.5 14.5 32.5 ) ( -12.5 13.5 32.5 ) ( -32.5 13.5 32.5 ) caulk 64 64 -1294.4935 188.49144 180 2.5255928e-005 lightmap_gray 16383.701 16384.189 -1294.4768 188.49872 -180 6.7395631e-005 + ( -12.5 14.5 35 ) ( -32.5 14.5 35 ) ( -32.5 14.5 1 ) okinawa_wood_shuri_int_furni 48 48 40 40 0 0 lightmap_gray 16383.938 -16384 -1294.4983 -31 180 0 + ( -12 14.5 35 ) ( -12 13.5 35 ) ( -12 13.5 1 ) caulk 64 -64 -188.49852 -31.005203 180 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -32.5 13.5 35 ) ( -12.5 13.5 35 ) ( -12.5 13.5 1 ) caulk 64 -64 -1294.5013 -31 180 0 lightmap_gray 16383.52 -16384 -1294.4604 -31 180 0 + ( 9.5 13.5 36 ) ( 9.5 14.5 36 ) ( 9.5 14.5 2 ) berlin_ceilings_metal 88 24 3 1358.4436 90 0 lightmap_gray 16384.879 -16384 -188.50598 -30.996105 180 0 +} +// brush 13 +{ + contents nonColliding; + ( -6.5 14.5 31 ) ( -6.5 15.5 31 ) ( -6.5 15.5 32 ) berlin_ceilings_metal 48 48 -5 24 90 0 lightmap_gray 16379.614 16384 -1307.1548 142.9924 0 0 + ( 3.5 14.5 32 ) ( 3.5 15.5 32 ) ( 3.5 15.5 31 ) berlin_ceilings_metal 48 48 -5 24 90 0 lightmap_gray 16371.236 16384 -1306.4503 142.97823 0 -0.00085547718 + ( -6.5 14.5 31 ) ( 3.5 14.5 31 ) ( 3.5 15.5 31 ) berlin_ceilings_metal 48 48 -5 24 90 0 lightmap_gray 16323.396 -16383.605 -1302.0558 -56.10918 90 0.000231928 + ( -6.5 15.5 31 ) ( 3.5 15.5 31 ) ( 3.5 15.5 32 ) berlin_ceilings_metal 48 48 -5 24 90 0 lightmap_gray 16383.959 -16384.43 -142.72392 -55.972847 90 -0.00021595447 + ( -6.5 15.5 32 ) ( 3.5 15.5 32 ) ( 3.5 14.5 32 ) berlin_ceilings_metal 48 48 -5 24 90 0 lightmap_gray 16343.456 -16383.938 -1303.5801 -56.102913 90 0.00032968109 + ( -6.5 14.5 32 ) ( 3.5 14.5 32 ) ( 3.5 14.5 31 ) berlin_ceilings_metal 48 48 -5 24 90 0 lightmap_gray 16385.197 -16384.055 -143.22475 -56.038692 90 0.00016602826 +} +// brush 14 +{ + contents nonColliding; + ( -11.5 14.5 25 ) ( -11.5 13.5 25 ) ( 2.5 13.5 25 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 16382.035 -1310.4926 188.47835 180 0.00024411135 + ( 3.5 14.5 25.5 ) ( 3.5 13.5 25.5 ) ( -16.5 13.5 25.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.893 16383.258 -1310.4813 188.4913 -180 0.00068187917 + ( 3.5 14.5 27.5 ) ( -16.5 14.5 27.5 ) ( -16.5 14.5 -6.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16385.092 -16384 -1310.587 -38.5 180 0 + ( -11.5 13.5 24.5 ) ( -11.5 14.5 24.5 ) ( -12.5 14.5 25.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.037 16386.76 -1318.535 193.52875 180 -0.00079205027 + ( -16.5 13.5 27.5 ) ( 3.5 13.5 27.5 ) ( 3.5 13.5 -6.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.395 -16384 -1310.4508 -38.5 180 0 + ( 9 14.5 24.5 ) ( 9 13.5 24.5 ) ( 10 13.5 25.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.977 16385.689 -1318.4662 193.51924 180 0.00071530376 +} +// brush 15 +{ + contents nonColliding; + ( 9 14.5 18.5 ) ( 9 13.5 18.5 ) ( -5 13.5 18.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 -16384.379 -1313.0175 -188.4989 0 -0.0011028677 + ( -6 14.5 18 ) ( -6 13.5 18 ) ( 14 13.5 18 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 -16383.846 -1312.9792 -188.49895 0 0.0013048287 + ( -6 14.5 16 ) ( 14 14.5 16 ) ( 14 14.5 50 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 -16383.967 -1313 -82 0 0 + ( 9 13.5 19 ) ( 9 14.5 19 ) ( 10 14.5 18 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 -16385.207 -1321.0162 -193.51396 0 0.0001768045 + ( 14 13.5 16 ) ( -6 13.5 16 ) ( -6 13.5 50 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.715 -16383.928 -1312.9761 -82 0 0 + ( -11.5 14.5 19 ) ( -11.5 13.5 19 ) ( -12.5 13.5 18 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.049 -16387.793 -1321.0072 -193.54163 0 -0.0012623606 +} +// brush 16 +{ + contents nonColliding; + ( -13.5 14.5 17 ) ( -13.5 13.5 17 ) ( -12.5 13.5 18 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16387.947 16385.775 -1310.8081 188.51784 -180 0.00050517329 + ( -12.5 13.5 25.5 ) ( -12.5 14.5 25.5 ) ( -11.5 14.5 24.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.025 16383.535 -1310.5071 188.49693 180 -0.00058086985 + ( 3.5 14.5 27.5 ) ( -16.5 14.5 27.5 ) ( -16.5 14.5 -6.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16385.092 -16384 -1310.587 -38.5 180 0 + ( -12.5 14.5 25.5 ) ( -12.5 13.5 25.5 ) ( -12.5 13.5 -3.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.574 -16384 -188.49548 -38.497135 180 0 + ( -16.5 13.5 27.5 ) ( 3.5 13.5 27.5 ) ( 3.5 13.5 -6.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.395 -16384 -1310.4508 -38.5 180 0 + ( -12 13.5 26.5 ) ( -12 14.5 26.5 ) ( -12 14.5 -7.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.396 -16384 -188.49423 -38.503857 180 0 +} +// brush 17 +{ + contents nonColliding; + ( 11 14.5 26.5 ) ( 11 13.5 26.5 ) ( 10 13.5 25.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16385.934 -16382.828 -1313.1685 -188.48878 0 -0.00087547617 + ( 10 13.5 18 ) ( 10 14.5 18 ) ( 9 14.5 19 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16386.014 -16383.879 -1313.1801 -188.49802 0 -0.0010102296 + ( -6 14.5 16 ) ( 14 14.5 16 ) ( 14 14.5 50 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.572 -16384 -1313.0437 -82 0 0 + ( 10 14.5 18 ) ( 10 13.5 18 ) ( 10 13.5 47 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16386.053 16384 -188.45612 81.989052 -180 -4.4727218e-005 + ( 14 13.5 16 ) ( -6 13.5 16 ) ( -6 13.5 50 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.572 -16384 -1313.0448 -82 0 0 + ( 9.5 13.5 17 ) ( 9.5 14.5 17 ) ( 9.5 14.5 51 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.104 16384 -188.49063 81.998405 180 0 +} +// brush 18 +{ + contents nonColliding; + ( -32.5 13.5 18.5 ) ( -12.5 13.5 18.5 ) ( -12.5 14.5 18.5 ) caulk 64 64 -1294.4943 188.48904 180 1.8084491e-005 lightmap_gray 16383.9 16385 -1294.4978 188.50549 -180 -0.00032554069 + ( -12.5 14.5 25 ) ( -12.5 13.5 25 ) ( -32.5 13.5 25 ) caulk 64 64 -1294.4935 188.49144 180 2.5255928e-005 lightmap_gray 16383.701 16384.189 -1294.4768 188.49872 -180 6.7395631e-005 + ( -12.5 14.5 27.5 ) ( -32.5 14.5 27.5 ) ( -32.5 14.5 -6.5 ) okinawa_wood_shuri_int_furni 48 48 -56 32 0 0 lightmap_gray 16384.432 -16384 -1294.5341 -38.5 180 0 + ( -12 14.5 27.5 ) ( -12 13.5 27.5 ) ( -12 13.5 -6.5 ) caulk 64 -64 -188.49481 -38.5 180 0 lightmap_gray 16383.203 -16384 -188.49471 -38.5 180 0 + ( -32.5 13.5 27.5 ) ( -12.5 13.5 27.5 ) ( -12.5 13.5 -6.5 ) caulk 64 -64 -1294.5063 -38.5 -180 0 lightmap_gray 16383.592 -16384 -1294.4666 -38.5 -180 0 + ( 9.5 13.5 28.5 ) ( 9.5 14.5 28.5 ) ( 9.5 14.5 -5.5 ) berlin_ceilings_metal 88 23.989044 -4.5 1357.8314 90 0 lightmap_gray 16384.449 -16384 -188.50591 -38.503799 180 0 +} +// brush 19 +{ + contents nonColliding; + ( -6.5 14.5 23.5 ) ( -6.5 15.5 23.5 ) ( -6.5 15.5 24.5 ) berlin_ceilings_metal 48 48 -39 67 90 0 lightmap_gray 16382.322 16384.506 -1307.3728 150.5089 0 0 + ( 3.5 14.5 24.5 ) ( 3.5 15.5 24.5 ) ( 3.5 15.5 23.5 ) berlin_ceilings_metal 48 48 -39 67 90 0 lightmap_gray 16358.877 16384 -1305.4791 150.49619 0 0 + ( -6.5 14.5 23.5 ) ( 3.5 14.5 23.5 ) ( 3.5 15.5 23.5 ) berlin_ceilings_metal 48 48 -39 67 90 0 lightmap_gray 16384 -16383.574 -1306.1963 -56.213127 90 -0.00034178799 + ( -6.5 15.5 23.5 ) ( 3.5 15.5 23.5 ) ( 3.5 15.5 24.5 ) berlin_ceilings_metal 48 48 -39 67 90 0 lightmap_gray 16382.758 -16384.324 -150.1848 -55.973091 90 -0.00019391185 + ( -6.5 15.5 24.5 ) ( 3.5 15.5 24.5 ) ( 3.5 14.5 24.5 ) berlin_ceilings_metal 48 48 -39 67 90 0 lightmap_gray 16381.936 -16383.537 -1306.1012 -56.187378 90 -0.00032967303 + ( -6.5 14.5 24.5 ) ( 3.5 14.5 24.5 ) ( 3.5 14.5 23.5 ) berlin_ceilings_metal 48 48 -39 67 90 0 lightmap_gray 16383.934 -16384.375 -150.74017 -56.040836 90 0.00017738495 +} +// brush 20 +{ + contents nonColliding; + ( -11.5 14.5 17.5 ) ( -11.5 13.5 17.5 ) ( 2.5 13.5 17.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 16382.035 -1310.4926 188.47835 180 0.00024411135 + ( 3.5 14.5 18 ) ( 3.5 13.5 18 ) ( -16.5 13.5 18 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 16383.258 -1310.4988 188.4913 180 -7.576435e-005 + ( 3.5 14.5 20 ) ( -16.5 14.5 20 ) ( -16.5 14.5 -14 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.828 -16384 -1310.5646 -46 180 0 + ( -11.5 13.5 17 ) ( -11.5 14.5 17 ) ( -12.5 14.5 18 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16380.017 16388.76 -1318.2034 193.5526 180 -0.0010400044 + ( -16.5 13.5 20 ) ( 3.5 13.5 20 ) ( 3.5 13.5 -14 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.516 -16384 -1310.4623 -46 180 0 + ( 9 14.5 17 ) ( 9 13.5 17 ) ( 10 13.5 18 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.979 16384.811 -1318.4786 193.50804 -180 8.2173749e-005 +} +// brush 21 +{ + contents nonColliding; + ( -6.5 14.5 16 ) ( -6.5 15.5 16 ) ( -6.5 15.5 17 ) berlin_ceilings_metal 48 48 7 25 90 0 lightmap_gray 16377.294 16383.984 -1306.9658 157.99673 0 -0.00011825539 + ( 3.5 14.5 17 ) ( 3.5 15.5 17 ) ( 3.5 15.5 16 ) berlin_ceilings_metal 48 48 7 25 90 0 lightmap_gray 16423.125 16385 -1310.6537 158.02525 0 -0.00036515645 + ( -6.5 14.5 16 ) ( 3.5 14.5 16 ) ( 3.5 15.5 16 ) berlin_ceilings_metal 48 48 7 25 90 0 lightmap_gray 16369.806 -16383.582 -1304.3915 -56.300434 90 -0.00070798973 + ( -6.5 15.5 16 ) ( 3.5 15.5 16 ) ( 3.5 15.5 17 ) berlin_ceilings_metal 48 48 7 25 90 0 lightmap_gray 16384.33 -16386 -157.73048 -55.978878 90 -0.00021752299 + ( -6.5 15.5 17 ) ( 3.5 15.5 17 ) ( 3.5 14.5 17 ) berlin_ceilings_metal 48 48 7 25 90 0 lightmap_gray 16313.595 -16384.326 -1299.7769 -56.300522 90 -0.00068326824 + ( -6.5 14.5 17 ) ( 3.5 14.5 17 ) ( 3.5 14.5 16 ) berlin_ceilings_metal 48 48 7 25 90 0 lightmap_gray 16384.531 -16385.199 -158.18161 -56.042973 90 0.00017042119 +} +// brush 22 +{ + contents nonColliding; + ( 9 14.5 4.5 ) ( 9 13.5 4.5 ) ( -5 13.5 4.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384 -16384.379 -1313.0369 -188.4989 0 -0.0023741121 + ( -6 14.5 4 ) ( -6 13.5 4 ) ( 14 13.5 4 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.9 -16383.846 -1312.9767 -188.49895 0 0.00095966744 + ( -6 14.5 2 ) ( 14 14.5 2 ) ( 14 14.5 36 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.666 -16383.928 -1312.9751 -68 0 0 + ( 9 13.5 5 ) ( 9 14.5 5 ) ( 10 14.5 4 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.92 -16386.705 -1321.0046 -193.52994 0 -0.00039792448 + ( 14 13.5 2 ) ( -6 13.5 2 ) ( -6 13.5 36 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.715 -16383.967 -1312.9772 -68 0 0 + ( -11.5 14.5 5 ) ( -11.5 13.5 5 ) ( -12.5 13.5 4 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16386.053 -16385.5 -1321.1638 -193.51703 0 -0.00088549411 +} +// brush 23 +{ + contents nonColliding; + ( 11 14.5 19 ) ( 11 13.5 19 ) ( 10 13.5 18 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16382.045 -16384.242 -1312.8541 -188.5 0 -0.00091764552 + ( 10 13.5 4 ) ( 10 14.5 4 ) ( 9 14.5 5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.979 -16385.52 -1313.0073 -188.51744 0 -0.00080483448 + ( -6 14.5 8.5 ) ( 14 14.5 8.5 ) ( 14 14.5 42.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.715 -16384 -1313.0562 -74.5 0 0 + ( 10 14.5 10.5 ) ( 10 13.5 10.5 ) ( 10 13.5 39.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16382.389 16384 -188.41727 74.488991 -180 -3.316217e-005 + ( 14 13.5 8.5 ) ( -6 13.5 8.5 ) ( -6 13.5 42.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16385.43 -16384 -1313.1129 -74.5 0 0 + ( 9.5 13.5 9.5 ) ( 9.5 14.5 9.5 ) ( 9.5 14.5 43.5 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.889 16384 -188.50586 74.5 180 0 +} +// brush 24 +{ + contents nonColliding; + ( -32 13.5 4.5 ) ( -12 13.5 4.5 ) ( -12 14.5 4.5 ) caulk 64 64 -1294.5082 188.48904 180 -0.00038881655 lightmap_gray 16383.6 16386.631 -1294.4581 188.52116 180 0.001 + ( -12.5 14.5 17.5 ) ( -12.5 13.5 17.5 ) ( -32.5 13.5 17.5 ) caulk 64 64 -1294.4935 188.49144 180 2.5255928e-005 lightmap_gray 16383.701 16384.189 -1294.4768 188.49872 -180 6.7395631e-005 + ( -12.5 14.5 20 ) ( -32.5 14.5 20 ) ( -32.5 14.5 -14 ) okinawa_wood_shuri_int_furni 48 48 28 40 0 0 lightmap_gray 16383.938 -16384 -1294.4951 -46 180 0 + ( -12 14.5 20 ) ( -12 13.5 20 ) ( -12 13.5 -14 ) caulk 64 -64 -188.494 -46 180 0 lightmap_gray 16381.852 -16384 -188.47853 -46 180 0 + ( -32.5 13.5 20 ) ( -12.5 13.5 20 ) ( -12.5 13.5 -14 ) caulk 64 -64 -1294.5127 -46 180 0 lightmap_gray 16384.123 -16384 -1294.5084 -46 180 0 + ( 9.5 13.5 21 ) ( 9.5 14.5 21 ) ( 9.5 14.5 -13 ) berlin_ceilings_metal 88 23.996161 -12 1358.2289 90 0 lightmap_gray 16382 -16383.994 -188.47772 -45.995007 180 0 +} +// brush 25 +{ + contents nonColliding; + ( -13.5 14.5 3 ) ( -13.5 13.5 3 ) ( -12.5 13.5 4 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16385.9 16382.275 -1310.6482 188.48045 180 -0.00023569717 + ( -12.5 13.5 18 ) ( -12.5 14.5 18 ) ( -11.5 14.5 17 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.979 16381.896 -1310.4962 188.47758 -180 0.00017474967 + ( 3.5 14.5 20 ) ( -16.5 14.5 20 ) ( -16.5 14.5 -14 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16384.828 -16384 -1310.5646 -46 180 0 + ( -12.5 14.5 18 ) ( -12.5 13.5 18 ) ( -12.5 13.5 -11 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16381.408 -16384 -188.47385 -46 180 0 + ( -16.5 13.5 20 ) ( 3.5 13.5 20 ) ( 3.5 13.5 -14 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16383.516 -16384 -1310.4623 -46 180 0 + ( -12 13.5 19 ) ( -12 14.5 19 ) ( -12 14.5 -15 ) berlin_ceilings_metal 48 48 7 11 90 0 lightmap_gray 16381.949 -16384 -188.4767 -46.005642 180 0 +} +// brush 26 +{ + contents nonColliding; + ( -35 14.5 19.5 ) ( -35 13.5 19.5 ) ( -34 13.5 19.5 ) berlin_ceilings_metal 48 48 -54 -27 90 0 lightmap_gray 16384.027 16387.414 -1287.4109 188.52187 180 -0.00089256204 + ( -35 13.5 29 ) ( -35 14.5 29 ) ( -34 14.5 29 ) berlin_ceilings_metal 48 48 -54 -27 90 0 lightmap_gray 16394.031 16386.482 -1288.3663 188.58771 180 -0.001759763 + ( -19.5 14.5 35.5 ) ( -39.5 14.5 35.5 ) ( -39.5 14.5 1.5 ) berlin_ceilings_metal 48 48 -54 -27 90 0 lightmap_gray 16385.014 -16384 -1287.5802 -30.5 180 0 + ( -35 13.5 10.5 ) ( -35 14.5 10.5 ) ( -35 14.5 29 ) berlin_ceilings_metal 48 48 -54 -27 90 0 lightmap_gray 16384.557 -16384 -188.50391 -30.5 180 0 + ( -39.5 13.5 35.5 ) ( -19.5 13.5 35.5 ) ( -19.5 13.5 1.5 ) berlin_ceilings_metal 48 48 -54 -27 90 0 lightmap_gray 16383.9 -16384 -1287.4927 -30.5 180 0 + ( -34 13.5 34.5 ) ( -34 14.5 34.5 ) ( -34 14.5 0.5 ) berlin_ceilings_metal 48 48 -54 -27 90 0 lightmap_gray 16384.121 -16384 -188.50166 -30.5 180 0 +} +// brush 27 +{ + contents nonColliding; + ( -50.5 -13.5 0 ) ( 53.5 -13.5 0 ) ( 53.5 14.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16384 16384 -1457 -5.5 0 0 + ( 53.5 -13.5 3 ) ( -50.5 -13.5 3 ) ( -50.5 14.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.986 16383.99 -1456.9988 -5.5 0 0 + ( -50.5 -11.5 3 ) ( -50.5 -11.5 0 ) ( -49.5 -11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16396.842 16384 -1458.1027 148.01999 0 -0.00016310728 + ( -50.5 -11.5 0 ) ( -50.5 -11.5 3 ) ( -50.5 -12.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.875 16384 5.5 148 0 -0.00016552473 + ( -49.5 -12.5 3 ) ( -49.5 -12.5 0 ) ( -50.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16391.236 16383.959 -1350.074 32 0 0 + ( -49.5 -11.5 3 ) ( -49.5 -11.5 0 ) ( -49.5 -12.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.957 16384.063 -193.5097 32 0 0 +} +// brush 28 +{ + contents nonColliding; + ( -50.5 9.5 0 ) ( 53.5 9.5 0 ) ( 53.5 37.5 0 ) caulk 64 64 0 0 0 0 lightmap_gray 16383.988 16383.984 -1456.9988 -28.5 0 0 + ( 53.5 9.5 3 ) ( -50.5 9.5 3 ) ( -50.5 37.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16384.092 16383.984 -1457.0087 -28.5 0 0 + ( -50.5 11.5 3 ) ( -50.5 11.5 0 ) ( -49.5 11.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16388.992 16384 -1457.4298 148.01999 0 0 + ( -50.5 11.5 0 ) ( -50.5 11.5 3 ) ( -50.5 10.5 3 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16383.904 16384 28.5 147.99182 0 -8.0108643e-005 + ( -49.5 10.5 3 ) ( -49.5 10.5 0 ) ( -50.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16391.316 16383.959 -1350.0806 32 0 0 + ( -49.5 11.5 3 ) ( -49.5 11.5 0 ) ( -49.5 10.5 0 ) berlin_ceilings_metal 48 48 0 0 0 0 lightmap_gray 16385.021 16384.135 -170.51007 32 0 0 +} +// brush 29 +{ + contents nonColliding; + ( -50.5 13.5 5 ) ( -30.5 13.5 5 ) ( -30.5 14.5 5 ) caulk 64 63.996231 -1275.4934 188.49713 180 -0.00029467823 lightmap_gray 16384.504 16383.811 -1275.5406 188.49655 -180 -0.00012627816 + ( -31.5 14.5 32 ) ( -31.5 13.5 32 ) ( -51.5 13.5 32 ) caulk 64 64.003975 -1275.5112 188.50955 -180 0.00010102999 lightmap_gray 16384.398 16383.275 -1275.527 188.4915 180 0.00014306758 + ( -31.5 14 35 ) ( -51.5 14 35 ) ( -51.5 14 1 ) okinawa_wood_shuri_int_furni 48 48 -7 -29 0 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -46.5 14.5 35 ) ( -46.5 13.5 35 ) ( -46.5 13.5 1 ) caulk 64 -64 -188.49852 -31.005203 180 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) caulk 64 -64 -1275.5 -31 180 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -32.5 13.5 35 ) ( -32.5 14.5 35 ) ( -32.5 14.5 1 ) caulk 64 -64 -188.5 -30.996393 -180 0 lightmap_gray 16383.5 -16384 -188.49121 -30.996393 180 0 +} +// brush 30 +{ + contents nonColliding; + ( -31.5 13.5 4 ) ( -31.5 14.5 4 ) ( -32.5 14.5 5 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16382.023 16380.89 -1275.3546 188.46523 -180 -0.00061340112 + ( -31.5 14.5 33 ) ( -31.5 13.5 33 ) ( -32.5 13.5 32 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16383.932 16384.932 -1275.4968 188.51077 180 -0.00027783099 + ( -31.5 14.5 35 ) ( -51.5 14.5 35 ) ( -51.5 14.5 1 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -32.5 14.5 35 ) ( -32.5 13.5 35 ) ( -32.5 13.5 1 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -31.5 14.5 4 ) ( -31.5 13.5 4 ) ( -31.5 13.5 33 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16382.293 -16384 -188.48087 -31 180 0 +} +// brush 31 +{ + contents nonColliding; + ( -51.5 13.5 4 ) ( -31.5 13.5 4 ) ( -31.5 14.5 4 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.398 16383.758 -1275.5164 188.4966 180 0.0008754828 + ( -46.5 13.5 5 ) ( -46.5 14.5 5 ) ( -32.5 14.5 5 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384 16381.879 -1275.4971 188.47855 180 0.0002861968 + ( -31.5 14.5 35 ) ( -51.5 14.5 35 ) ( -51.5 14.5 1 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -46.5 14.5 5 ) ( -46.5 13.5 5 ) ( -47.5 13.5 4 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16380.235 16385.174 -1283.1753 193.51323 -180 0.0010117654 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -32.5 13.5 5 ) ( -32.5 14.5 5 ) ( -31.5 14.5 4 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.012 16385.621 -1283.4799 193.51775 180 0.00029842361 +} +// brush 32 +{ + contents nonColliding; + ( -46.5 14.5 32 ) ( -46.5 13.5 32 ) ( -32.5 13.5 32 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384 16385.352 -1275.4862 188.51591 180 0.00051545055 + ( -31.5 14.5 33 ) ( -31.5 13.5 33 ) ( -51.5 13.5 33 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.398 16383.275 -1275.527 188.4915 180 0.00014306758 + ( -31.5 14.5 35 ) ( -51.5 14.5 35 ) ( -51.5 14.5 1 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -46.5 13.5 32 ) ( -46.5 14.5 32 ) ( -47.5 14.5 33 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.016 16385.414 -1283.5085 193.51617 180 8.4193685e-005 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -32.5 14.5 32 ) ( -32.5 13.5 32 ) ( -31.5 13.5 33 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.01 16386.949 -1283.5054 193.53189 180 -0.00075781421 +} +// brush 33 +{ + contents nonColliding; + ( -47.5 14.5 4 ) ( -47.5 13.5 4 ) ( -46.5 13.5 5 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16377.906 16384.846 -1275.0024 188.51024 180 -0.00026099139 + ( -47.5 13.5 33 ) ( -47.5 14.5 33 ) ( -46.5 14.5 32 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.01 16384.689 -1275.5 188.50867 -180 -0.00055565371 + ( -31.5 14.5 35 ) ( -51.5 14.5 35 ) ( -51.5 14.5 1 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16385.205 -16384 -1275.5978 -31 180 0 + ( -47.5 14.5 33 ) ( -47.5 13.5 33 ) ( -47.5 13.5 4 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16382.945 -16384 -188.49051 -30.990732 180 0 + ( -51.5 13.5 35 ) ( -31.5 13.5 35 ) ( -31.5 13.5 1 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16384.295 -16384 -1275.5248 -31 180 0 + ( -46.5 13.5 34 ) ( -46.5 14.5 34 ) ( -46.5 14.5 0 ) berlin_ceilings_metal 48 48 -27 -16 90 0 lightmap_gray 16385.242 -16384 -188.5106 -30.994434 180 0 +} +// brush 34 +{ + contents nonColliding; + ( -33.5 13.5 5 ) ( -13.5 13.5 5 ) ( -13.5 14.5 5 ) caulk 64 64 -1292.489 188.48883 180 -0.0001989294 lightmap_gray 16384.4 16381.038 -1292.5374 188.46239 180 -0.00072324881 + ( -14.5 14.5 32 ) ( -14.5 13.5 32 ) ( -34.5 13.5 32 ) caulk 64 64 -1292.5059 188.48857 -180 0.00089242146 lightmap_gray 16383.898 16382.396 -1292.4906 188.47763 180 0.00035354836 + ( -14.5 14 35 ) ( -34.5 14 35 ) ( -34.5 14 1 ) okinawa_wood_shuri_int_furni 48 48 0 0 0 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -29.5 14.5 35 ) ( -29.5 13.5 35 ) ( -29.5 13.5 1 ) caulk 64 -64 -188.49852 -31.005203 180 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) caulk 64 -64 -1292.5118 -31 180 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -15.5 13.5 35 ) ( -15.5 14.5 35 ) ( -15.5 14.5 1 ) caulk 64 -64 -188.5 -30.996393 -180 0 lightmap_gray 16383.5 -16384 -188.49121 -30.996393 180 0 +} +// brush 35 +{ + contents nonColliding; + ( -14.5 13.5 4 ) ( -14.5 14.5 4 ) ( -15.5 14.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.979 16384.094 -1292.5 188.5 180 -0.00023509972 + ( -14.5 14.5 33 ) ( -14.5 13.5 33 ) ( -15.5 13.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.986 16383.051 -1292.4977 188.49158 180 0.00042090772 + ( -14.5 14.5 35 ) ( -34.5 14.5 35 ) ( -34.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -15.5 14.5 35 ) ( -15.5 13.5 35 ) ( -15.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.203 -16384 -188.49306 -31.005203 180 0 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -14.5 14.5 4 ) ( -14.5 13.5 4 ) ( -14.5 13.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16382.293 -16384 -188.48087 -31 180 0 +} +// brush 36 +{ + contents nonColliding; + ( -34.5 13.5 4 ) ( -14.5 13.5 4 ) ( -14.5 14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.898 16381.568 -1292.5118 188.46878 180 -0.0011363481 + ( -29.5 13.5 5 ) ( -29.5 14.5 5 ) ( -15.5 14.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.58 16382.465 -1292.469 188.47311 180 -0.00038722128 + ( -14.5 14.5 35 ) ( -34.5 14.5 35 ) ( -34.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -29.5 14.5 5 ) ( -29.5 13.5 5 ) ( -30.5 13.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16380.138 16385.189 -1300.1921 193.5136 -180 -0.00063840707 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -15.5 13.5 5 ) ( -15.5 14.5 5 ) ( -14.5 14.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.92 16386.777 -1300.4774 193.53038 180 0.00017183179 +} +// brush 37 +{ + contents nonColliding; + ( -29.5 14.5 32 ) ( -29.5 13.5 32 ) ( -15.5 13.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384 16386.557 -1292.5094 188.52608 180 -0.00028035336 + ( -14.5 14.5 33 ) ( -14.5 13.5 33 ) ( -34.5 13.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.898 16382.396 -1292.4906 188.47763 180 0.00035354836 + ( -14.5 14.5 35 ) ( -34.5 14.5 35 ) ( -34.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -29.5 13.5 32 ) ( -29.5 14.5 32 ) ( -30.5 14.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.016 16385.396 -1300.505 193.51576 180 0.00029467759 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -15.5 14.5 32 ) ( -15.5 13.5 32 ) ( -14.5 13.5 33 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16380.034 16387.57 -1300.1879 193.53854 180 -0.001271492 +} +// brush 38 +{ + contents nonColliding; + ( -30.5 14.5 4 ) ( -30.5 13.5 4 ) ( -29.5 13.5 5 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.979 16384.914 -1292.491 188.51013 180 -0.00030308802 + ( -30.5 13.5 33 ) ( -30.5 14.5 33 ) ( -29.5 14.5 32 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.01 16384.742 -1292.4722 188.50928 180 0.0014901671 + ( -14.5 14.5 35 ) ( -34.5 14.5 35 ) ( -34.5 14.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16384.986 -16384 -1292.5771 -31 -180 0 + ( -30.5 14.5 33 ) ( -30.5 13.5 33 ) ( -30.5 13.5 4 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16382.945 -16384 -188.49051 -30.990732 180 0 + ( -34.5 13.5 35 ) ( -14.5 13.5 35 ) ( -14.5 13.5 1 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16383.172 -16384 -1292.4343 -31 180 0 + ( -29.5 13.5 34 ) ( -29.5 14.5 34 ) ( -29.5 14.5 0 ) berlin_ceilings_metal 48 48 0 0 90 0 lightmap_gray 16385.242 -16384 -188.5106 -30.994434 180 0 +} +// brush 39 +{ + contents nonColliding; + ( -28 14.5 19.5 ) ( -28 13.5 19.5 ) ( -27 13.5 19.5 ) berlin_ceilings_metal 48 48 1 25 90 0 lightmap_gray 16382.025 16387.363 -1294.2935 188.53346 -180 0.0020000001 + ( -28 13.5 29 ) ( -28 14.5 29 ) ( -27 14.5 29 ) berlin_ceilings_metal 48 48 1 25 90 0 lightmap_gray 16379.983 16386.604 -1294.2438 188.59132 180 -0.0004799389 + ( -12.5 14.5 35.5 ) ( -32.5 14.5 35.5 ) ( -32.5 14.5 1.5 ) berlin_ceilings_metal 48 48 1 25 90 0 lightmap_gray 16383.877 -16384 -1294.4884 -30.5 -180 0 + ( -28 13.5 10.5 ) ( -28 14.5 10.5 ) ( -28 14.5 29 ) berlin_ceilings_metal 48 48 1 25 90 0 lightmap_gray 16384.557 -16384 -188.50391 -30.5 180 0 + ( -32.5 13.5 35.5 ) ( -12.5 13.5 35.5 ) ( -12.5 13.5 1.5 ) berlin_ceilings_metal 48 48 1 25 90 0 lightmap_gray 16382.781 -16384 -1294.4015 -30.5 180 0 + ( -27 13.5 34.5 ) ( -27 14.5 34.5 ) ( -27 14.5 0.5 ) berlin_ceilings_metal 48 48 1 25 90 0 lightmap_gray 16384.121 -16384 -188.50166 -30.5 180 0 +} +// brush 40 +{ + contents nonColliding; + ( 33.5 14.5 4.5 ) ( 33.5 13.5 4.5 ) ( 19.5 13.5 4.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 -16384.594 -1288.5358 -188.5 0 -0.0022968135 + ( 18.5 14.5 4 ) ( 18.5 13.5 4 ) ( 38.5 13.5 4 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 -16383.846 -1288.4846 -188.49895 0 0.00095967134 + ( 18.5 14.5 2 ) ( 38.5 14.5 2 ) ( 38.5 14.5 36 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.559 -16383.926 -1288.4666 -68 0 0 + ( 33.5 13.5 5 ) ( 33.5 14.5 5 ) ( 34.5 14.5 4 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16385.928 -16386.705 -1296.6809 -193.52994 0 -0.0014017795 + ( 38.5 13.5 2 ) ( 18.5 13.5 2 ) ( 18.5 13.5 36 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.844 -16383.951 -1288.4877 -68 0 0 + ( 13 14.5 5 ) ( 13 13.5 5 ) ( 12 13.5 4 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16386.053 -16385.914 -1296.6692 -193.52164 0 -0.0012882027 +} +// brush 41 +{ + contents nonColliding; + ( 18 14.5 16 ) ( 18 15.5 16 ) ( 18 15.5 17 ) berlin_ceilings_metal 48 48 -31 -2 90 0 lightmap_gray 16375.36 16383.984 -1306.8096 157.99673 0 -0.00012564636 + ( 28 14.5 17 ) ( 28 15.5 17 ) ( 28 15.5 16 ) berlin_ceilings_metal 48 48 -31 -2 90 0 lightmap_gray 16423.125 16385 -1310.6537 158.02525 0 -0.00036417425 + ( 18 14.5 16 ) ( 28 14.5 16 ) ( 28 15.5 16 ) berlin_ceilings_metal 48 48 -31 -2 90 0 lightmap_gray 16370.493 -16383.594 -1304.4285 -31.800501 90 -0.00073266699 + ( 18 15.5 16 ) ( 28 15.5 16 ) ( 28 15.5 17 ) berlin_ceilings_metal 48 48 -31 -2 90 0 lightmap_gray 16384.557 -16385.994 -157.72748 -31.478844 90 -0.00021852131 + ( 18 15.5 17 ) ( 28 15.5 17 ) ( 28 14.5 17 ) berlin_ceilings_metal 48 48 -31 -2 90 0 lightmap_gray 16301.706 -16384.313 -1298.8014 -31.800421 90 -0.00069884409 + ( 18 14.5 17 ) ( 28 14.5 17 ) ( 28 14.5 16 ) berlin_ceilings_metal 48 48 -31 -2 90 0 lightmap_gray 16384.316 -16385.201 -158.18346 -31.542969 90 0.00016973716 +} +// brush 42 +{ + contents nonColliding; + ( 35.5 14.5 19 ) ( 35.5 13.5 19 ) ( 34.5 13.5 18 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16382.045 -16384.242 -1288.347 -188.5 0 -0.00049597927 + ( 34.5 13.5 4 ) ( 34.5 14.5 4 ) ( 33.5 14.5 5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16375.811 -16385.537 -1287.8361 -188.51764 0 6.7823137e-005 + ( 18.5 14.5 8.5 ) ( 38.5 14.5 8.5 ) ( 38.5 14.5 42.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.641 -16384 -1288.5504 -74.5 0 0 + ( 34.5 14.5 10.5 ) ( 34.5 13.5 10.5 ) ( 34.5 13.5 39.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16382.846 16384 -188.42209 74.488991 180 -3.2116259e-005 + ( 38.5 13.5 8.5 ) ( 18.5 13.5 8.5 ) ( 18.5 13.5 42.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16385.611 -16384 -1288.6276 -74.5 0 0 + ( 34 13.5 9.5 ) ( 34 14.5 9.5 ) ( 34 14.5 43.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.889 16384 -188.50586 74.5 180 0 +} +// brush 43 +{ + contents nonColliding; + ( 11 14.5 3 ) ( 11 13.5 3 ) ( 12 13.5 4 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16385.9 16382.293 -1335.1427 188.48065 180 0.00015151977 + ( 12 13.5 18 ) ( 12 14.5 18 ) ( 13 14.5 17 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.979 16382.035 -1334.9944 188.47922 180 0.00031987004 + ( 28 14.5 20 ) ( 8 14.5 20 ) ( 8 14.5 -14 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.742 -16384 -1335.0577 -46 -180 0 + ( 12 14.5 18 ) ( 12 13.5 18 ) ( 12 13.5 -11 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16381.408 -16384 -188.47385 -46 180 0 + ( 8 13.5 20 ) ( 28 13.5 20 ) ( 28 13.5 -14 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.643 -16384 -1334.9725 -46 180 0 + ( 12.5 13.5 19 ) ( 12.5 14.5 19 ) ( 12.5 14.5 -15 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16381.949 -16383.99 -188.4767 -46.005562 180 0 +} +// brush 44 +{ + contents nonColliding; + ( 13 14.5 17.5 ) ( 13 13.5 17.5 ) ( 27 13.5 17.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 16382.035 -1334.9926 188.47835 180 0.00024411135 + ( 28 14.5 18 ) ( 28 13.5 18 ) ( 8 13.5 18 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 16383.611 -1334.9987 188.49507 -180 -6.329421e-005 + ( 28 14.5 20 ) ( 8 14.5 20 ) ( 8 14.5 -14 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.742 -16384 -1335.0577 -46 -180 0 + ( 13 13.5 17 ) ( 13 14.5 17 ) ( 12 14.5 18 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16382.148 16388.76 -1342.8588 193.5526 180 0.00012631631 + ( 8 13.5 20 ) ( 28 13.5 20 ) ( 28 13.5 -14 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.643 -16384 -1334.9725 -46 180 0 + ( 33.5 14.5 17 ) ( 33.5 13.5 17 ) ( 34.5 13.5 18 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.979 16384.742 -1342.9786 193.50714 180 0.00010102828 +} +// brush 45 +{ + contents nonColliding; + ( 33.5 14.5 18.5 ) ( 33.5 13.5 18.5 ) ( 19.5 13.5 18.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 -16384.594 -1288.5176 -188.5 0 -0.0011122363 + ( 18.5 14.5 18 ) ( 18.5 13.5 18 ) ( 38.5 13.5 18 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 -16383.846 -1288.4792 -188.49895 0 0.0013048325 + ( 18.5 14.5 16 ) ( 38.5 14.5 16 ) ( 38.5 14.5 50 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.9 -16383.975 -1288.4919 -82 0 0 + ( 33.5 13.5 19 ) ( 33.5 14.5 19 ) ( 34.5 14.5 18 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16386.008 -16385.293 -1296.6758 -193.51476 0 0.00042053984 + ( 38.5 13.5 16 ) ( 18.5 13.5 16 ) ( 18.5 13.5 50 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.793 -16383.912 -1288.4825 -82 0 0 + ( 13 14.5 19 ) ( 13 13.5 19 ) ( 12 13.5 18 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16386.053 -16387.863 -1296.671 -193.54247 0 -0.0015739292 +} +// brush 46 +{ + contents nonColliding; + ( 11 14.5 17 ) ( 11 13.5 17 ) ( 12 13.5 18 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16387.947 16385.725 -1335.3082 188.51747 180 0.00046307407 + ( 12 13.5 25.5 ) ( 12 14.5 25.5 ) ( 13 14.5 24.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.025 16383.535 -1335.0071 188.49693 180 -0.00058086985 + ( 28 14.5 27.5 ) ( 8 14.5 27.5 ) ( 8 14.5 -6.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16385.143 -16384 -1335.0911 -38.5 180 0 + ( 12 14.5 25.5 ) ( 12 13.5 25.5 ) ( 12 13.5 -3.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.574 -16384 -188.49548 -38.497135 180 0 + ( 8 13.5 27.5 ) ( 28 13.5 27.5 ) ( 28 13.5 -6.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.428 -16384 -1334.9535 -38.5 180 0 + ( 12.5 13.5 26.5 ) ( 12.5 14.5 26.5 ) ( 12.5 14.5 -7.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.396 -16384 -188.49423 -38.504021 180 0 +} +// brush 47 +{ + contents nonColliding; + ( 18 14.5 23.5 ) ( 18 15.5 23.5 ) ( 18 15.5 24.5 ) berlin_ceilings_metal 48 48 -32 1 90 0 lightmap_gray 16382.322 16384.506 -1307.3728 150.5089 0 0 + ( 28 14.5 24.5 ) ( 28 15.5 24.5 ) ( 28 15.5 23.5 ) berlin_ceilings_metal 48 48 -32 1 90 0 lightmap_gray 16359.005 16384 -1305.4894 150.49619 0 0 + ( 18 14.5 23.5 ) ( 28 14.5 23.5 ) ( 28 15.5 23.5 ) berlin_ceilings_metal 48 48 -32 1 90 0 lightmap_gray 16388.002 -16383.588 -1306.5107 -31.713137 90 -0.00033010755 + ( 18 15.5 23.5 ) ( 28 15.5 23.5 ) ( 28 15.5 24.5 ) berlin_ceilings_metal 48 48 -32 1 90 0 lightmap_gray 16383.246 -16384.332 -150.18521 -31.473125 90 -0.00019521209 + ( 18 15.5 24.5 ) ( 28 15.5 24.5 ) ( 28 14.5 24.5 ) berlin_ceilings_metal 48 48 -32 1 90 0 lightmap_gray 16382.193 -16383.539 -1306.1139 -31.687332 90 -0.00031986955 + ( 18 14.5 24.5 ) ( 28 14.5 24.5 ) ( 28 14.5 23.5 ) berlin_ceilings_metal 48 48 -32 1 90 0 lightmap_gray 16384.506 -16384.381 -150.75 -31.540808 90 0.00017667908 +} +// brush 48 +{ + contents nonColliding; + ( 35.5 14.5 26.5 ) ( 35.5 13.5 26.5 ) ( 34.5 13.5 25.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16379.983 -16382.828 -1288.1947 -188.48878 0 -0.0013553045 + ( 34.5 13.5 18 ) ( 34.5 14.5 18 ) ( 33.5 14.5 19 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16386.014 -16383.879 -1288.6801 -188.49802 0 -0.0010102296 + ( 18.5 14.5 16 ) ( 38.5 14.5 16 ) ( 38.5 14.5 50 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.641 -16384 -1288.5493 -82 0 0 + ( 34.5 14.5 18 ) ( 34.5 13.5 18 ) ( 34.5 13.5 47 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16386.053 16384 -188.45612 81.989052 180 -4.4748747e-005 + ( 38.5 13.5 16 ) ( 18.5 13.5 16 ) ( 18.5 13.5 50 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.729 -16384 -1288.5573 -82 0 0 + ( 34 13.5 17 ) ( 34 14.5 17 ) ( 34 14.5 51 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.104 16384 -188.49063 81.998405 180 0 +} +// brush 49 +{ + contents nonColliding; + ( 13 14.5 25 ) ( 13 13.5 25 ) ( 27 13.5 25 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 16382.035 -1334.9926 188.47835 180 0.00024411135 + ( 28 14.5 25.5 ) ( 28 13.5 25.5 ) ( 8 13.5 25.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.9 16383.611 -1334.9825 188.49507 180 0.0006510262 + ( 28 14.5 27.5 ) ( 8 14.5 27.5 ) ( 8 14.5 -6.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16385.143 -16384 -1335.0911 -38.5 180 0 + ( 13 13.5 24.5 ) ( 13 14.5 24.5 ) ( 12 14.5 25.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.037 16386.742 -1343.0315 193.52855 180 -0.00061522843 + ( 8 13.5 27.5 ) ( 28 13.5 27.5 ) ( 28 13.5 -6.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.428 -16384 -1334.9535 -38.5 180 0 + ( 33.5 14.5 24.5 ) ( 33.5 13.5 24.5 ) ( 34.5 13.5 25.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.977 16386 -1342.9661 193.5229 180 0.00071531732 +} +// brush 50 +{ + contents nonColliding; + ( 33.5 14.5 26 ) ( 33.5 13.5 26 ) ( 19.5 13.5 26 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 -16384.594 -1288.5143 -188.5 0 -0.0007686186 + ( 18.5 14.5 25.5 ) ( 18.5 13.5 25.5 ) ( 38.5 13.5 25.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 -16383.846 -1288.4792 -188.49895 0 0.0013048325 + ( 18.5 14.5 23.5 ) ( 38.5 14.5 23.5 ) ( 38.5 14.5 57.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.52 -16383.922 -1288.5406 -89.5 0 0 + ( 33.5 13.5 26.5 ) ( 33.5 14.5 26.5 ) ( 34.5 14.5 25.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.988 -16385.725 -1296.54 -193.51675 0 -0.0012881879 + ( 38.5 13.5 23.5 ) ( 18.5 13.5 23.5 ) ( 18.5 13.5 57.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.947 -16383.902 -1288.4967 -89.5 0 0 + ( 13 14.5 26.5 ) ( 13 13.5 26.5 ) ( 12 13.5 25.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.018 -16386.896 -1296.4958 -193.53369 0 -0.00085885334 +} +// brush 51 +{ + contents nonColliding; + ( 35.5 14.5 34 ) ( 35.5 13.5 34 ) ( 34.5 13.5 33 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16381.988 -16383.586 -1288.3213 -188.49619 0 0.001 + ( 34.5 13.5 25.5 ) ( 34.5 14.5 25.5 ) ( 33.5 14.5 26.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16381.992 -16383.449 -1288.3518 -188.4955 0 -0.00088392774 + ( 18.5 14.5 23.5 ) ( 38.5 14.5 23.5 ) ( 38.5 14.5 57.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.676 -16384 -1288.5525 -89.5 0 0 + ( 34.5 14.5 25.5 ) ( 34.5 13.5 25.5 ) ( 34.5 13.5 54.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16382.018 16384 -188.4142 89.489044 180 -2.5765245e-005 + ( 38.5 13.5 23.5 ) ( 18.5 13.5 23.5 ) ( 18.5 13.5 57.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.26 -16384 -1288.5182 -89.5 0 0 + ( 34 13.5 24.5 ) ( 34 14.5 24.5 ) ( 34 14.5 58.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.414 16384 -188.50505 89.493492 180 0 +} +// brush 52 +{ + contents nonColliding; + ( 18 14.5 31 ) ( 18 15.5 31 ) ( 18 15.5 32 ) berlin_ceilings_metal 48 48 -35 46 90 0 lightmap_gray 16379.614 16384 -1307.1548 142.9924 0 0 + ( 28 14.5 32 ) ( 28 15.5 32 ) ( 28 15.5 31 ) berlin_ceilings_metal 48 48 -35 46 90 0 lightmap_gray 16371.236 16384 -1306.4503 142.97823 0 -0.00085547718 + ( 18 14.5 31 ) ( 28 14.5 31 ) ( 28 15.5 31 ) berlin_ceilings_metal 48 48 -35 46 90 0 lightmap_gray 16303.568 -16383.594 -1300.4625 -31.609121 90 0.00024387021 + ( 18 15.5 31 ) ( 28 15.5 31 ) ( 28 15.5 32 ) berlin_ceilings_metal 48 48 -35 46 90 0 lightmap_gray 16383.504 -16384.412 -142.71385 -31.472837 90 -0.00021199352 + ( 18 15.5 32 ) ( 28 15.5 32 ) ( 28 14.5 32 ) berlin_ceilings_metal 48 48 -35 46 90 0 lightmap_gray 16340.246 -16383.951 -1303.3282 -31.602964 90 0.00031847064 + ( 18 14.5 32 ) ( 28 14.5 32 ) ( 28 14.5 31 ) berlin_ceilings_metal 48 48 -35 46 90 0 lightmap_gray 16384.994 -16384.057 -143.22655 -31.538603 90 0.00016021784 +} +// brush 53 +{ + contents nonColliding; + ( 11 14.5 24.5 ) ( 11 13.5 24.5 ) ( 12 13.5 25.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.977 16384.467 -1334.9979 188.50345 -180 -0.00050513283 + ( 12 13.5 33 ) ( 12 14.5 33 ) ( 13 14.5 32 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.01 16384.742 -1335.0165 188.50928 180 -0.0013723009 + ( 28 14.5 35 ) ( 8 14.5 35 ) ( 8 14.5 1 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.801 -16384 -1335.0645 -31 180 0 + ( 12 14.5 33 ) ( 12 13.5 33 ) ( 12 13.5 4 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16382.945 -16384 -188.49051 -31 180 0 + ( 8 13.5 35 ) ( 28 13.5 35 ) ( 28 13.5 1 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 -16384 -1335.0018 -31 180 0 + ( 12.5 13.5 34 ) ( 12.5 14.5 34 ) ( 12.5 14.5 0 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16385.242 -16384 -188.5106 -30.99449 180 0 +} +// brush 54 +{ + contents nonColliding; + ( 13 14.5 32.5 ) ( 13 13.5 32.5 ) ( 27 13.5 32.5 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 16382.035 -1334.9926 188.47835 180 0.00024411135 + ( 28 14.5 33 ) ( 28 13.5 33 ) ( 8 13.5 33 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16383.9 16383.611 -1334.9825 188.49507 180 0.0006510262 + ( 28 14.5 35 ) ( 8 14.5 35 ) ( 8 14.5 1 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.801 -16384 -1335.0645 -31 180 0 + ( 13 13.5 32 ) ( 13 14.5 32 ) ( 12 14.5 33 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384.016 16384.863 -1343.0015 193.5099 180 0.00093451847 + ( 8 13.5 35 ) ( 28 13.5 35 ) ( 28 13.5 1 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16384 -16384 -1335.0018 -31 180 0 + ( 33.5 14.5 32 ) ( 33.5 13.5 32 ) ( 34.5 13.5 33 ) berlin_ceilings_metal 48 48 -31 -5 90 0 lightmap_gray 16379.995 16387.346 -1342.6638 193.53613 180 -0.00010104434 +} +// brush 55 +{ + contents detail; + ( -21 11.5 34 ) ( -55 11.5 34 ) ( -55 -22.5 34 ) berlin_ceilings_metal 56 56 0 0 0 0 lightmap_gray 16384.092 16384.074 -1459.0067 -5.5 0 0 + ( -55 -16.5 36 ) ( -55 17.5 36 ) ( -21 17.5 36 ) berlin_ceilings_metal 56 56 0 17.75 0 0 lightmap_gray 16384.258 16384.066 -1459.0215 -5.5 0 0 + ( -57 -16.5 36 ) ( -23 -16.5 36 ) ( -23 -16.5 32 ) berlin_ceilings_metal 56 56 0 -34.75 0 0 lightmap_gray 16384.176 16383.939 -1459.0082 148 0 -0.0001762234 + ( 38.5 -20.5 38 ) ( 38.5 13.5 38 ) ( 38.5 13.5 34 ) berlin_ceilings_metal 56 56 -74.5 17.75 -90 0 lightmap_gray 16384.082 16384.111 5.5 148 0 0 + ( -21 15.5 38 ) ( -55 15.5 38 ) ( -55 15.5 34 ) berlin_ceilings_metal 56 -56 0 -69.25 0 0 lightmap_gray 16383.891 16384.199 -1458.9928 148.00278 0 0 + ( -54.5 11.5 38 ) ( -54.5 -22.5 38 ) ( -54.5 -22.5 34 ) berlin_ceilings_metal 56 -56 90.5 -17.75 90 0 lightmap_gray 16384 16384.316 5.5 148 0 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_wallbreak_bluewall.map b/map_source/_prefabs/zombiemode/asylum_wallbreak_bluewall.map new file mode 100644 index 000000000..a3e93b863 --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_wallbreak_bluewall.map @@ -0,0 +1,297 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_zombie_asylum" +"_color" "0.5333 0.5529 0.6274" +"ambient" ".2" +"sundiffusecolor" "0.5333 0.5529 0.6274" +"diffusefraction" ".2" +"classname" "worldspawn" +"sundirection" "-160.96 112.93 0" +"suncolor" "1 0.54 0.13" +"sunlight" "2.4" +} +// entity 1 +{ +"origin" "2.0 -0.5 13.5" +"angles" "0 180 -180" +"classname" "script_struct" +"targetname" "upper_wall_chunk" +"radius" "32" +"height" "64" +} +// entity 2 +{ +"target" "upper_wall_chunk" +"targetname" "exterior_goal" +"origin" "49.0 0.0 16.0" +"angles" "0 180 0" +"classname" "script_struct" +} +// entity 3 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 -6 92 ) ( 16 -6 92 ) ( 16 -12 104 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 -16204.827 0 -86.824478 0 0 + ( 16 -30 84 ) ( 0 -30 84 ) ( 0 -26 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 19794.826 0 -38.007378 0 0 + ( 16 -1.5 86.75 ) ( 16 -4.25 81.5 ) ( 16 -13 76.75 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 -4.25 81.5 ) ( 0 -1.5 86.75 ) ( 0 -11.75 102.75 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 0 -12 104 ) ( 16 -12 104 ) ( 16 -26 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 19298.301 0 141.43173 0 0 + ( 16 -6 92 ) ( 16 -30 84 ) ( 48 -30 84 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 4 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 14 96 ) ( 0 14 96 ) ( 0 -6 92 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 6 102 ) ( 16 6 102 ) ( 16 -12 104 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -6 92 ) ( 0 -6 92 ) ( 0 -12 104 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 12 90 ) ( 16 -6 92 ) ( 16 -12 104 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 14 96 ) ( 16 14 96 ) ( 16 6 102 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -6 92 ) ( 0 12 90 ) ( 0 6 102 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 +} +} +// entity 5 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 -8 80 ) ( 0 -8 80 ) ( 0 -14 74 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 21773.125 0 -26.922596 0 0 + ( 16 -1.5 86.75 ) ( 16 -4.25 81.5 ) ( 16 -13 76.75 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 -8 80 ) ( 16 -8 80 ) ( 16 -6 92 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 14848.861 0 -41.509354 0 0 + ( 0 -4.25 81.5 ) ( 0 -1.5 86.75 ) ( 0 -11.75 102.75 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 16 -14 74 ) ( 0 -14 74 ) ( 0 -30 84 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16233.756 0 18.890291 0 0 + ( 16 -30 84 ) ( 16 -6 92 ) ( 48 -30 84 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 6 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 2 78 ) ( 0 2 78 ) ( 0 -8 80 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 14 96 ) ( 16 14 96 ) ( 16 -6 92 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -6 92 ) ( 16 -6 92 ) ( 16 -8 80 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -6 92 ) ( 16 2 92 ) ( 16 0 80 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 2 92 ) ( 0 -6 92 ) ( 0 -8 80 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 0 12 82 ) ( 16 12 82 ) ( 16 14 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 12 82 ) ( 0 12 82 ) ( 0 2 78 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 7 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 22 74 ) ( 0 22 74 ) ( 0 12 82 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 30 88 ) ( 16 30 88 ) ( 16 14 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 12 82 ) ( 0 12 82 ) ( 0 14 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 30 88 ) ( 16 28 74 ) ( 16 12 82 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 32 74 ) ( 16 32 74 ) ( 16 30 88 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 28 74 ) ( 0 30 88 ) ( 0 14 96 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 0 22 74 ) ( 16 22 74 ) ( 16 32 74 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 8 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 22 74 ) ( 0 22 74 ) ( 0 10 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 12 82 ) ( 16 12 82 ) ( 16 2 78 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 10 68 ) ( 0 10 68 ) ( 0 2 78 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 20 72 ) ( 16 10 68 ) ( 16 2 78 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 22 74 ) ( 16 22 74 ) ( 16 12 82 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 12 80 ) ( 0 12 82 ) ( 0 2 78 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 +} +} +// entity 9 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 6 58 ) ( 16 6 58 ) ( 16 10 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -12 0 0 + ( 16 -8 80 ) ( 0 -8 80 ) ( 0 2 78 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -12 0 0 + ( 0 -14 68 ) ( 16 -14 68 ) ( 16 -14 62 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -26 0 0 + ( 16 10 68 ) ( 16 4 60 ) ( 16 -14 66 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 10 68 ) ( 16 10 68 ) ( 16 2 78 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -26 0 0 + ( 0 4 60 ) ( 0 10 68 ) ( 0 2 78 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 0 -8 80 ) ( 16 -8 80 ) ( 16 -14 74 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 6 58 ) ( 0 6 58 ) ( 0 -14 66 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 10 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 -14 66 ) ( 0 -14 66 ) ( 0 -20 60 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -10 0 0 + ( 0 -14 74 ) ( 16 -14 74 ) ( 16 -30 84 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 14 0 0 + ( 16 -30 58 ) ( 0 -30 58 ) ( 0 -40 72 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 56 0 0 + ( 16 -14 74 ) ( 16 -14 68 ) ( 16 -20 60 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 -14 66 ) ( 16 -14 66 ) ( 16 -14 74 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -24 0 0 + ( 0 -14 68 ) ( 0 -14 74 ) ( 0 -30 84 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 0 -30 84 ) ( 16 -30 84 ) ( 16 -40 72 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 26 0 0 + ( 0 -30 58 ) ( 16 -30 58 ) ( 16 -20 60 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 26 0 0 +} +} +// entity 11 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 -6 40 ) ( 16 -6 40 ) ( 16 -8 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384.02 0 -24 0 0 + ( 0 -20 60 ) ( 16 -20 60 ) ( 16 -30 58 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -18 36 ) ( 0 -18 36 ) ( 0 -26 42 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 6 0 0 + ( 16 -8 38 ) ( 16 -18 36 ) ( 16 -26 42 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 -8 50 ) ( 16 -8 50 ) ( 16 -20 60 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 6 0 0 + ( 0 -18 36 ) ( 0 -8 38 ) ( 0 -8 50 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 0 -30 58 ) ( 16 -30 58 ) ( 16 -26 42 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 56 0 0 + ( 16 -6 40 ) ( 0 -6 40 ) ( 0 -18 36 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 12 0 0 +} +} +// entity 12 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 -8 50 ) ( 0 -8 50 ) ( 0 -20 60 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -6 0 0 + ( 0 6 58 ) ( 16 6 58 ) ( 16 -14 66 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -6 0 0 + ( 16 -20 60 ) ( 0 -20 60 ) ( 0 -14 66 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -6 0 0 + ( 16 -14 66 ) ( 16 -2 66 ) ( 16 -2 62 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 16 6 58 ) ( 0 6 58 ) ( 0 -8 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16383.984 0 -6 0 0 + ( 0 -2 66 ) ( 0 -14 66 ) ( 0 -14 62 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 +} +} +// entity 13 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 -8 50 ) ( 16 8 50 ) ( 16 8 38 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 8 50 ) ( 0 -8 50 ) ( 0 -8 38 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 16 -6 40 ) ( 16 -8 50 ) ( 48 -8 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 10 36 ) ( 16 -6 40 ) ( 48 -6 40 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -8 50 ) ( 16 6 58 ) ( 48 -8 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 6 58 ) ( 16 10 36 ) ( 48 6 58 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 14 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 10 68 ) ( 16 36 68 ) ( 16 36 54 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 36 68 ) ( 0 10 68 ) ( 0 10 54 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 697 6 58 ) ( 697 10 68 ) ( 729 10 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 697 16 52 ) ( 697 6 58 ) ( 729 6 58 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 22 74 ) ( 16 22 74 ) ( 16 10 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 22 74 ) ( 0 22 74 ) ( 0 16 52 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 15 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 -8 50 ) ( 16 8 50 ) ( 16 8 38 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 16 20 38 ) ( 0 20 38 ) ( 0 10 36 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 8 50 ) ( 0 -8 50 ) ( 0 -8 38 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 16 6 58 ) ( 16 16 52 ) ( 48 6 58 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 16 52 ) ( 16 20 38 ) ( 48 16 52 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 10 36 ) ( 16 6 58 ) ( 48 6 58 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 16 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 22 74 ) ( 0 22 74 ) ( 0 32 74 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 10 68 ) ( 16 36 68 ) ( 16 36 54 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 36 68 ) ( 0 10 68 ) ( 0 10 54 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 + ( 697 34 58 ) ( 697 16 52 ) ( 729 16 52 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 697 42 64 ) ( 697 34 58 ) ( 729 34 58 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 697 32 74 ) ( 697 42 64 ) ( 729 42 64 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 22 74 ) ( 16 22 74 ) ( 16 16 52 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 17 +{ +"script_sound" "break_stone" +"targetname" "upper_wall_chunk" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 32 48 ) ( 0 32 48 ) ( 0 20 38 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 34 58 ) ( 16 34 58 ) ( 16 16 52 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 20 38 ) ( 0 20 38 ) ( 0 16 52 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 38 44 ) ( 16 20 38 ) ( 16 16 52 ) berlin_wall_plaster_two_tone_blue 152.00417 152 -672.5069 144.99339 0 0 lightmap_gray 16384 16384 516 245 0 0 + ( 0 32 48 ) ( 16 32 48 ) ( 16 34 58 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 20 38 ) ( 0 38 44 ) ( 0 34 58 ) berlin_wall_plaster_two_tone_blue 152.00117 152 -672.50146 145.00505 0 0 lightmap_gray 16384 16384 -722 194 0 0 +} +} +// entity 18 +{ +"targetname" "upper_wall_chunk" +"script_noteworthy" "clip" +"spawnflags" "1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 18 57 0 ) ( 13 57 0 ) ( 13 -68 0 ) clip_ai 64 64 -649.00177 752.00946 0 0 lightmap_gray 16384.199 16384 -646.008 741.9975 0 0 + ( 12 -69 110 ) ( 12 56 110 ) ( 17 56 110 ) clip_ai 64 64 -649.00482 752.00311 0 0 lightmap_gray 16385.02 16384 -646.04095 741.99493 0 0 + ( 12 -40 87 ) ( 17 -40 87 ) ( 17 -40 73 ) clip_ai 64 64 -649.0213 217 0 0 lightmap_gray 16384.588 16383.928 -646.02307 216.99881 0 0 + ( 23 -68 87 ) ( 23 57 87 ) ( 23 57 73 ) clip_ai 64 64 -752 217 0 0 lightmap_gray 16384 16384 -742 217 0 0 + ( 17 42 87 ) ( 12 42 87 ) ( 12 42 73 ) clip_ai 64 64 -649.00317 217.00566 0 0 lightmap_gray 16384.059 16384 -646.00238 217.00562 0 0 + ( 16 57 14 ) ( 16 -68 14 ) ( 16 -68 0 ) clip_ai 64 64 -752 217 0 0 lightmap_gray 16384 16384 -742 217 0 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_wallbreak_brownwall.map b/map_source/_prefabs/zombiemode/asylum_wallbreak_brownwall.map new file mode 100644 index 000000000..febba1afb --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_wallbreak_brownwall.map @@ -0,0 +1,289 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "1 0.537255 0.129412" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +} +// entity 1 +{ +"classname" "script_struct" +"targetname" "exterior_goal" +"angles" "0 180 0" +"origin" "49.0 1.5 13.5" +"target" "upper_wall_chunk2" +} +// entity 2 +{ +"radius" "32" +"targetname" "upper_wall_chunk2" +"classname" "script_struct" +"angles" "0 180 -180" +"origin" "4.0 0.5 13.5" +} +// entity 3 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 6 96 ) ( 16 6 96 ) ( 16 -2 100 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -2 100 ) ( 16 -2 100 ) ( 16 -18 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -18 96 ) ( 16 -14 96 ) ( 16 -14 94 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 -14 96 ) ( 0 -18 96 ) ( 0 -18 94 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 -6 76 ) ( 0 -6 76 ) ( 0 -18 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -6 76 ) ( 16 -6 76 ) ( 16 6 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 4 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 -6 76 ) ( 16 -6 76 ) ( 16 16 82 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -2 96 ) ( 16 12 96 ) ( 16 12 82 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 16 82 ) ( 16 16 82 ) ( 16 6 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 12 96 ) ( 0 -2 96 ) ( 0 -2 82 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 -6 76 ) ( 0 -6 76 ) ( 0 6 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 5 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 16 82 ) ( 16 16 82 ) ( 16 32 80 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 6 96 ) ( 0 6 96 ) ( 0 22 98 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 16 82 ) ( 0 16 82 ) ( 0 6 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 28 78 ) ( 16 12 76 ) ( 16 6 96 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 12 76 ) ( 0 28 78 ) ( 0 22 98 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 22 98 ) ( 16 34 90 ) ( 48 22 98 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 32 80 ) ( 16 32 80 ) ( 16 34 90 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 6 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 -18 96 ) ( 16 -18 96 ) ( 16 -30 84 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -6 90 ) ( 16 -16 78 ) ( 16 -30 84 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 -6 76 ) ( 16 -6 76 ) ( 16 -18 96 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -16 78 ) ( 0 -6 90 ) ( 0 -18 96 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 -6 76 ) ( 0 -6 76 ) ( 0 -30 84 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 7 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 -32 68 ) ( 16 -32 68 ) ( 16 -20 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -6 76 ) ( 16 -6 76 ) ( 16 -30 84 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -32 68 ) ( 0 -32 68 ) ( 0 -30 84 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -14 82 ) ( 16 -16 70 ) ( 16 -32 72 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 -6 76 ) ( 0 -6 76 ) ( 0 -20 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -16 70 ) ( 0 -14 82 ) ( 0 -30 84 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 +} +} +// entity 8 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 -30 48 ) ( 0 -30 48 ) ( 0 -40 56 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 2 0 0 + ( 16 -32 68 ) ( 0 -32 68 ) ( 0 -20 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 2 0 0 + ( 0 -32 68 ) ( 16 -32 68 ) ( 16 -40 56 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -24 0 0 + ( 16 -20 70 ) ( 16 -12 60 ) ( 16 -30 48 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 -12 60 ) ( 0 -20 70 ) ( 0 -32 72 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 -16 56 ) ( 0 -16 56 ) ( 0 -30 48 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -24 0 0 + ( 0 -16 56 ) ( 16 -16 56 ) ( 16 -20 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -24 0 0 +} +} +// entity 9 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 -16 56 ) ( 0 -16 56 ) ( 0 -20 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -12 80 ) ( 16 20 80 ) ( 16 20 50 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 20 80 ) ( 0 -12 80 ) ( 0 -12 50 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 -6 76 ) ( 16 -6 76 ) ( 16 -20 68 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -16 56 ) ( 16 -16 56 ) ( 16 -4 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -6 76 ) ( 0 -6 76 ) ( 0 2 66 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 2 66 ) ( 16 -4 50 ) ( 48 2 66 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 10 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 -6 76 ) ( 0 -6 76 ) ( 0 16 82 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -12 80 ) ( 16 20 80 ) ( 16 20 50 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 18 62 ) ( 16 18 62 ) ( 16 16 82 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 20 80 ) ( 0 -12 80 ) ( 0 -12 50 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 -6 76 ) ( 16 -6 76 ) ( 16 2 66 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 18 62 ) ( 0 18 62 ) ( 0 2 66 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 11 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 16 82 ) ( 0 16 82 ) ( 0 32 80 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -6 0 0 + ( 16 18 62 ) ( 0 18 62 ) ( 0 16 82 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 20 0 0 + ( 16 34 58 ) ( 16 18 56 ) ( 16 12 76 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 18 56 ) ( 0 34 58 ) ( 0 28 78 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 32 80 ) ( 16 18 62 ) ( 48 32 80 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 12 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 18 62 ) ( 16 18 62 ) ( 16 36 60 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -6 0 0 + ( 16 34 58 ) ( 16 18 56 ) ( 16 12 76 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 18 56 ) ( 0 34 58 ) ( 0 28 78 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 42 74 ) ( 16 42 74 ) ( 16 32 80 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -6 0 0 + ( 0 36 60 ) ( 16 36 60 ) ( 16 42 74 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16383.994 0 20 0 0 + ( 16 18 62 ) ( 16 32 80 ) ( 48 32 80 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 13 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 -10 40 ) ( 0 -10 40 ) ( 0 -26 38 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -16 56 ) ( 16 -16 56 ) ( 16 -30 48 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -26 38 ) ( 0 -26 38 ) ( 0 -30 48 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -14 50 ) ( 16 -10 40 ) ( 16 -26 38 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 -10 40 ) ( 0 -14 50 ) ( 0 -30 48 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 -4 50 ) ( 16 -10 40 ) ( 48 -10 40 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -16 56 ) ( 0 -16 56 ) ( 0 -4 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 14 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 16 8 48 ) ( 0 8 48 ) ( 0 -4 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 -12 80 ) ( 16 20 80 ) ( 16 20 50 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 20 80 ) ( 0 -12 80 ) ( 0 -12 50 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 8 48 ) ( 16 8 48 ) ( 16 18 62 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 2 66 ) ( 16 2 66 ) ( 16 -4 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 18 62 ) ( 16 18 62 ) ( 16 2 66 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 15 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 4 34 ) ( 16 4 34 ) ( 16 16 38 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -10 0 0 + ( 16 -10 40 ) ( 0 -10 40 ) ( 0 -4 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -10 0 0 + ( 0 -10 40 ) ( 16 -10 40 ) ( 16 4 34 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 8 0 0 + ( 16 16 38 ) ( 16 0 36 ) ( 16 -20 40 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 0 36 ) ( 0 16 38 ) ( 0 6 50 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 8 48 ) ( 0 8 48 ) ( 0 16 38 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 8 0 0 + ( 0 8 48 ) ( 16 8 48 ) ( 16 -4 50 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 -10 0 0 +} +} +// entity 16 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 16 38 ) ( 16 16 38 ) ( 16 30 36 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 8 48 ) ( 0 8 48 ) ( 0 18 62 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 8 48 ) ( 16 8 48 ) ( 16 16 38 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 30 36 ) ( 16 16 24 ) ( 16 6 50 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 16 18 62 ) ( 0 18 62 ) ( 0 30 36 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 16 24 ) ( 0 30 36 ) ( 0 20 62 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 +} +} +// entity 17 +{ +"script_sound" "break_stone" +"spawnflags" "0" +"targetname" "upper_wall_chunk2" +"classname" "script_brushmodel" +// brush 0 +{ + ( 0 30 36 ) ( 16 30 36 ) ( 16 40 48 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 18 62 ) ( 0 18 62 ) ( 0 36 60 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 18 62 ) ( 16 18 62 ) ( 16 30 36 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16 40 48 ) ( 16 24 50 ) ( 16 20 62 ) berlin_wall_plaster_two_tone_blue 152 152 565.51361 145 0 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 + ( 0 40 48 ) ( 16 40 48 ) ( 16 36 60 ) berlin_trim_rock_rough_edged 128 16 0 0 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 24 50 ) ( 0 40 48 ) ( 0 36 60 ) berlin_wall_plaster_chipped_orange 152 -152 2162 -304 180 0 lightmap_gray 16383.203 16384 515.97083 194 0 0 +} +} +// entity 18 +{ +"targetname" "upper_wall_chunk2" +"script_noteworthy" "clip" +"spawnflags" "1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 18 57 0 ) ( 13 57 0 ) ( 13 -68 0 ) clip_ai 64 64 -649.00177 752.00946 0 0 lightmap_gray 16384.199 16384 -646.008 741.9975 0 0 + ( 12 -69 106 ) ( 12 56 106 ) ( 17 56 106 ) clip_ai 64 64 -649.00482 752.00311 0 0 lightmap_gray 16385.02 16384 -646.04095 741.99493 0 0 + ( 12 -40 87 ) ( 17 -40 87 ) ( 17 -40 73 ) clip_ai 64 64 -649.0213 217 0 0 lightmap_gray 16384.588 16383.928 -646.02307 216.99881 0 0 + ( 23 -68 87 ) ( 23 57 87 ) ( 23 57 73 ) clip_ai 64 64 -752 217 0 0 lightmap_gray 16384 16384 -742 217 0 0 + ( 17 42 87 ) ( 12 42 87 ) ( 12 42 73 ) clip_ai 64 64 -649.00317 217.00566 0 0 lightmap_gray 16384.059 16384 -646.00238 217.00562 0 0 + ( 16 57 14 ) ( 16 -68 14 ) ( 16 -68 0 ) clip_ai 64 64 -752 217 0 0 lightmap_gray 16384 16384 -742 217 0 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_wallbreak_redwall.map b/map_source/_prefabs/zombiemode/asylum_wallbreak_redwall.map new file mode 100644 index 000000000..a88ec84cb --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_wallbreak_redwall.map @@ -0,0 +1,297 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_ber1" +"_color" ".6 .55.5" +"sundirection" "-45 185 0" +"spawnflags" "512" +"intensity" "100" +"suncolor" "1 0.537255 0.129412" +"ambient" ".5" +"sunlight" "2" +"classname" "worldspawn" +} +// entity 1 +{ +"script_noteworthy" "clip" +"targetname" "north_wall_break" +"spawnflags" "1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 230.5 256.5 32 ) ( 14.5 256.5 32 ) ( 14.5 32.5 32 ) clip_ai 64 64 -217.5 815.5 0 0 lightmap_gray 16384 16384 -217.5 815.5 0 0 + ( 14.5 24.5 142 ) ( 14.5 248.5 142 ) ( 230.5 248.5 142 ) clip_ai 64 64 -217.5 815.5 0 0 lightmap_gray 16384 16384 -217.5 815.5 0 0 + ( 14.5 66 128 ) ( 230.5 66 128 ) ( 230.5 66 56 ) clip_ai 64 64 -217.5 32 0 0 lightmap_gray 16384 16384 -217.5 32 0 0 + ( 170 23.5 126 ) ( 170 247.5 126 ) ( 170 247.5 54 ) clip_ai 64 64 -815.5 32 0 0 lightmap_gray 16384 16384 -815.5 32 0 0 + ( 226.5 72.5 128 ) ( 10.5 72.5 128 ) ( 10.5 72.5 56 ) clip_ai 64 64 -217.5 32 0 0 lightmap_gray 16384 16384 -217.5 32 0 0 + ( 88 248.5 130 ) ( 88 24.5 130 ) ( 88 24.5 58 ) clip_ai 64 64 -815.5 32 0 0 lightmap_gray 16384 16384 -815.5 32 0 0 +} +} +// entity 2 +{ +"targetname" "north_wall_break" +"origin" "126.5 59.5 45.5" +"classname" "script_struct" +"radius" "36" +"angles" "0 270 0" +} +// entity 3 +{ +"classname" "script_struct" +"targetname" "exterior_goal" +"angles" "0 270 0" +"origin" "127.5 95.0 45.5" +"target" "north_wall_break" +} +// entity 4 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 147 66 89 ) ( 147 50 89 ) ( 132 50 85 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 140 50 56 ) ( 132 50 85 ) ( 141 50 90 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 140 66 56 ) ( 149 66 61 ) ( 141 66 90 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 132 66 85 ) ( 134 66 72 ) ( 132 98 85 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 134 66 72 ) ( 140 66 68 ) ( 134 98 72 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 140 66 68 ) ( 152 66 72 ) ( 140 98 68 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 152 66 72 ) ( 158 66 84 ) ( 152 98 72 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 147 50 89 ) ( 147 66 89 ) ( 158 66 84 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 5 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 120 66 70 ) ( 120 50 70 ) ( 134 50 72 ) berlin_trim_rock_rough_edged 128 16 -5 -19 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 121 50 86 ) ( 121 66 86 ) ( 132 66 85 ) berlin_trim_rock_rough_edged 128 16 -5 -19 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 128 50 70 ) ( 120 50 70 ) ( 124 50 90 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 132 50 85 ) ( 132 66 85 ) ( 134 66 72 ) berlin_trim_rock_rough_edged 128 16 -10 -15 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 120 66 70 ) ( 128 66 70 ) ( 132 66 85 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 121 66 86 ) ( 108 66 73 ) ( 121 98 86 ) berlin_trim_rock_rough_edged 128 16 -5 -19 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 108 66 73 ) ( 120 66 70 ) ( 108 98 73 ) berlin_trim_rock_rough_edged 128 16 -5 -19 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 6 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 108 50 73 ) ( 108 66 73 ) ( 96 66 82 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 109 50 104 ) ( 121 50 86 ) ( 108 50 73 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 121 50 86 ) ( 121 66 86 ) ( 108 66 73 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 106 66 76 ) ( 124 66 90 ) ( 114 66 96 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 98 66 90 ) ( 96 66 82 ) ( 98 98 90 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 109 50 93 ) ( 109 66 93 ) ( 121 66 86 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 109 66 93 ) ( 109 50 93 ) ( 98 50 90 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 7 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 98 66 90 ) ( 98 50 90 ) ( 109 50 93 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 98 50 90 ) ( 98 50 101 ) ( 109 50 104 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 50 105 ) ( 112 66 105 ) ( 109 66 93 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 98 66 101 ) ( 98 66 90 ) ( 109 66 93 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 92 66 100 ) ( 92 50 100 ) ( 98 50 90 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 96 66 110 ) ( 92 66 100 ) ( 96 98 110 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 66 105 ) ( 96 66 110 ) ( 112 98 105 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 8 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 129 66 99 ) ( 129 50 99 ) ( 126 50 112 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 126 50 112 ) ( 131 50 101 ) ( 124 50 90 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 126 66 112 ) ( 118 66 105 ) ( 112 66 91 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 66 105 ) ( 112 50 105 ) ( 109 50 93 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 50 105 ) ( 112 66 105 ) ( 126 66 112 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 109 66 93 ) ( 109 50 93 ) ( 121 50 86 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 129 50 99 ) ( 129 66 99 ) ( 121 66 86 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 9 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 121 66 86 ) ( 121 50 86 ) ( 132 50 85 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 50 118 ) ( 151 50 118 ) ( 151 50 85 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 151 66 118 ) ( 112 66 118 ) ( 112 66 85 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 147 50 89 ) ( 147 66 89 ) ( 132 66 85 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 148 50 98 ) ( 148 66 98 ) ( 147 66 89 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 129 66 99 ) ( 129 50 99 ) ( 121 50 86 ) berlin_trim_rock_rough_edged 128 16 -10 -15 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 148 66 98 ) ( 148 50 98 ) ( 129 50 99 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 10 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 148 50 98 ) ( 148 66 98 ) ( 164 66 107 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 166 50 101 ) ( 166 50 90 ) ( 141 50 90 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 164 50 107 ) ( 164 66 107 ) ( 166 66 90 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 166 66 90 ) ( 166 66 101 ) ( 141 66 101 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 148 66 98 ) ( 148 50 98 ) ( 147 50 89 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 147 66 89 ) ( 147 50 89 ) ( 158 50 84 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 158 66 84 ) ( 166 66 90 ) ( 158 98 84 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 11 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 148 66 98 ) ( 148 50 98 ) ( 164 50 107 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 156 66 116 ) ( 156 50 116 ) ( 140 50 114 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 161 50 103 ) ( 145 50 101 ) ( 140 50 114 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 164 66 107 ) ( 164 50 107 ) ( 156 50 116 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 145 66 101 ) ( 161 66 103 ) ( 156 66 116 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 148 50 98 ) ( 148 66 98 ) ( 140 66 114 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 12 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 112 50 118 ) ( 151 50 118 ) ( 151 50 85 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 148 66 98 ) ( 148 50 98 ) ( 140 50 114 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 151 66 118 ) ( 112 66 118 ) ( 112 66 85 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 126 50 112 ) ( 126 66 112 ) ( 140 66 114 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 129 50 99 ) ( 129 66 99 ) ( 126 66 112 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 148 50 98 ) ( 148 66 98 ) ( 129 66 99 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 13 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 112 50 105 ) ( 112 66 105 ) ( 96 66 110 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 106 66 124 ) ( 106 50 124 ) ( 96 50 118 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 96 50 118 ) ( 103 50 118 ) ( 103 50 110 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 66 105 ) ( 112 50 105 ) ( 106 50 124 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 103 66 118 ) ( 96 66 118 ) ( 96 66 110 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 96 66 118 ) ( 96 50 118 ) ( 96 50 110 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 14 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 112 66 105 ) ( 112 50 105 ) ( 126 50 112 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 119 66 120 ) ( 119 50 120 ) ( 106 50 124 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 106 50 124 ) ( 126 50 124 ) ( 126 50 112 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 119 50 120 ) ( 119 66 120 ) ( 126 66 112 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 126 66 124 ) ( 106 66 124 ) ( 106 66 112 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 50 105 ) ( 112 66 105 ) ( 106 66 124 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 15 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 141 50 124 ) ( 141 66 124 ) ( 152 66 134 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 152 50 134 ) ( 152 50 124 ) ( 139 50 114 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 152 66 124 ) ( 152 66 134 ) ( 139 66 124 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 141 66 124 ) ( 141 50 124 ) ( 140 50 114 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 140 66 114 ) ( 156 66 116 ) ( 140 98 114 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 156 66 116 ) ( 158 66 124 ) ( 156 98 116 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 158 66 124 ) ( 152 66 134 ) ( 158 98 124 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 16 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 130 66 132 ) ( 130 50 132 ) ( 119 50 120 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 137 50 124 ) ( 126 50 112 ) ( 119 50 120 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 141 66 124 ) ( 141 50 124 ) ( 130 50 132 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 126 66 112 ) ( 137 66 124 ) ( 130 66 132 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 126 50 112 ) ( 126 66 112 ) ( 119 66 120 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 126 66 112 ) ( 140 66 114 ) ( 126 98 112 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 141 50 124 ) ( 141 66 124 ) ( 140 66 114 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 17 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 119 50 120 ) ( 119 66 120 ) ( 106 66 124 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 130 66 132 ) ( 130 50 132 ) ( 112 50 134 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 130 50 132 ) ( 130 50 122 ) ( 106 50 124 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 119 66 120 ) ( 119 50 120 ) ( 130 50 132 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 130 66 122 ) ( 130 66 132 ) ( 112 66 134 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 66 134 ) ( 112 50 134 ) ( 106 50 124 ) berlin_trim_rock_rough_edged 128 16 -9 -14 90 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 18 +{ +"script_sound" "break_stone" +"targetname" "north_wall_break" +"spawnflags" "0" +"classname" "script_brushmodel" +// brush 0 +{ + ( 141 66 124 ) ( 141 50 124 ) ( 152 50 134 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 140 66 138 ) ( 140 50 138 ) ( 130 50 132 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 149 50 130 ) ( 139 50 124 ) ( 130 50 132 ) berlin_wall_plaster_two_tone_crack 152 152 -486.00803 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 152 66 134 ) ( 152 50 134 ) ( 140 50 138 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 139 66 124 ) ( 149 66 130 ) ( 140 66 138 ) berlin_wall_plaster_two_tone_crack 152.00375 152 -486.02286 115.25 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 141 50 124 ) ( 141 66 124 ) ( 130 66 132 ) berlin_trim_rock_rough_edged 128 16 -4 -18 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} diff --git a/map_source/_prefabs/zombiemode/asylum_window_board.map b/map_source/_prefabs/zombiemode/asylum_window_board.map new file mode 100644 index 000000000..0b58534d9 --- /dev/null +++ b/map_source/_prefabs/zombiemode/asylum_window_board.map @@ -0,0 +1,96 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_zombie_asylum" +"_color" "0.5333 0.5529 0.6274" +"ambient" ".2" +"sundiffusecolor" "0.5333 0.5529 0.6274" +"diffusefraction" ".2" +"classname" "worldspawn" +"sundirection" "-160.96 111 0" +"suncolor" "1 0.54 0.13" +"sunlight" "2.4" +// brush 0 +{ + ( 1 36 -2 ) ( -7 36 -2 ) ( -7 28 -2 ) makin_door_wood2 64 128 0 0 0 0 lightmap_gray 16384 16384 1 -4 0 0 + ( -7 28 14 ) ( -7 36 14 ) ( 1 36 14 ) makin_door_wood2 64 128 0 0 0 0 lightmap_gray 16384 16384 1 -4 0 0 + ( -5 20 8 ) ( 3 20 8 ) ( 3 20 -8 ) makin_door_wood2 64 128 0 80 0 0 lightmap_gray 16384 16384 1 80 0 0 + ( 9 27 8 ) ( 9 35 8 ) ( 9 35 -8 ) makin_door_wood2 64 128 0 80 0 0 lightmap_gray 16384 16384 4 80 0 0 + ( 1 36 8 ) ( -7 36 8 ) ( -7 36 -8 ) makin_door_wood2 64 128 0 80 0 0 lightmap_gray 16384 16384 1 80 0 0 + ( -7 36 8 ) ( -7 28 8 ) ( -7 28 -8 ) makin_door_wood2 64 128 0 80 0 0 lightmap_gray 16384 16384 4 80 0 0 +} +// brush 1 +{ + ( 1 8 -2 ) ( -7 8 -2 ) ( -7 0 -2 ) makin_door_wood2 64 128 0 28 0 0 lightmap_gray 16384 16384 1 24 0 0 + ( -7 0 14 ) ( -7 8 14 ) ( 1 8 14 ) makin_door_wood2 64 128 0 28 0 0 lightmap_gray 16384 16384 1 24 0 0 + ( -5 -8 8 ) ( 3 -8 8 ) ( 3 -8 -8 ) makin_door_wood2 64 128 0 80 0 0 lightmap_gray 16384 16384 1 80 0 0 + ( 9 -1 8 ) ( 9 7 8 ) ( 9 7 -8 ) makin_door_wood2 64 128 -28 80 0 0 lightmap_gray 16384 16384 -24 80 0 0 + ( 1 8 8 ) ( -7 8 8 ) ( -7 8 -8 ) makin_door_wood2 64 128 0 80 0 0 lightmap_gray 16384 16384 1 80 0 0 + ( -7 8 8 ) ( -7 0 8 ) ( -7 0 -8 ) makin_door_wood2 64 128 -28 80 0 0 lightmap_gray 16384 16384 -24 80 0 0 +} +// brush 2 +{ + ( 1 -20 -2 ) ( -7 -20 -2 ) ( -7 -28 -2 ) makin_door_wood2 64 128 0 56 0 0 lightmap_gray 16384 16384 1 52 0 0 + ( -7 -28 14 ) ( -7 -20 14 ) ( 1 -20 14 ) makin_door_wood2 64 128 0 56 0 0 lightmap_gray 16384 16383.994 1 52 0 0 + ( -5 -36 8 ) ( 3 -36 8 ) ( 3 -36 -8 ) makin_door_wood2 64 128 0 80 0 0 lightmap_gray 16384 16384 1 80 0 0 + ( 9 -29 8 ) ( 9 -21 8 ) ( 9 -21 -8 ) makin_door_wood2 64 128 -56 80 0 0 lightmap_gray 16384.025 16384 -52 80 0 0 + ( 1 -20 8 ) ( -7 -20 8 ) ( -7 -20 -8 ) makin_door_wood2 64 128 0 80 0 0 lightmap_gray 16384 16384 1 80 0 0 + ( -7 -20 8 ) ( -7 -28 8 ) ( -7 -28 -8 ) makin_door_wood2 64 128 -56 80 0 0 lightmap_gray 16384 16384 -52 80 0 0 +} +// brush 3 +{ + ( 51 -41.75 58.25 ) ( 51 46 60.75 ) ( 49 46 60.75 ) makin_door_wood2 63.996925 127.94784 80.558403 572.22968 1.1763402 5.4102966e-005 lightmap_gray 16508.053 16384.992 -574.4704 322.75989 90 3.0719842e-005 + ( 49 -43 66.25 ) ( 49 44.75 68.75 ) ( 51 44.75 68.75 ) makin_door_wood2 64 127.94839 80.556793 572.22443 1.1658804 -0.00031206902 lightmap_gray 16508.311 16384.5 -575.67413 322.75287 90 0.00018295135 + ( 51 -43 66.25 ) ( 51 44.75 68.75 ) ( 51 46 60.75 ) makin_door_wood2 64 128 -37.817329 568.11981 -87.198753 -0.00017744303 lightmap_gray 16383.789 16383.873 -561.04163 -97.022812 8.8016253 0 + ( 51 46 60.75 ) ( 51 44.75 68.75 ) ( 49 44.75 68.75 ) makin_door_wood2 64 -126.49388 -324.75662 104.24525 180 0 lightmap_gray 16383.529 -16191.097 -322.74194 104.24072 180 0 + ( 49 -41.75 58.25 ) ( 49 46 60.75 ) ( 49 44.75 68.75 ) makin_door_wood2 64 128 -1.8854475 -569.36426 88.801338 0.0001719741 lightmap_gray 16384.043 16383.977 -561.05811 -97.023102 8.7990065 5.1691975e-005 + ( 49 -41.75 58.25 ) ( 49 -43 66.25 ) ( 51 -43 66.25 ) makin_door_wood2 64.001877 -126.49448 -324.74759 90.938232 180 0 lightmap_gray 16383.389 -16191.08 -322.73941 90.936775 180 0 +} +// brush 4 +{ + ( 51 -40.5 49.5 ) ( 51 42.5 45.5 ) ( 49 42.5 45.5 ) makin_door_wood2 64 -127.85344 -19.717672 -575.96881 -173 0.00030571129 lightmap_gray 16384 16386.002 -572.26678 322.77502 90 -6.1233739e-005 + ( 49 -40.5 57.5 ) ( 49 42.5 53.5 ) ( 51 42.5 53.5 ) makin_door_wood2 64.001411 -127.85154 -19.704433 -575.99036 -173 0.00021000578 lightmap_gray 16384.082 16383.994 -572.23059 322.7446 90 -5.9954597e-005 + ( 51 -40.5 57.5 ) ( 51 42.5 53.5 ) ( 51 42.5 45.5 ) makin_door_wood2 64 128 -16.254864 576.67755 -92 -4.7877384e-005 lightmap_gray 16384.07 16384 -572.25116 -76.5 0 0 + ( 51 42.5 45.5 ) ( 51 42.5 53.5 ) ( 49 42.5 53.5 ) makin_door_wood2 64 -128 -324.77692 76.5 -180 0 lightmap_gray 16385.049 -16384 -322.76724 76.5 -180 0 + ( 49 -40.5 49.5 ) ( 49 42.5 45.5 ) ( 49 42.5 53.5 ) makin_door_wood2 64 128 36.527245 -573.35352 86 -0.000149846 lightmap_gray 16384.035 16383.953 -572.25 -76.5 0 0 + ( 49 -40.5 49.5 ) ( 49 -40.5 57.5 ) ( 51 -40.5 57.5 ) makin_door_wood2 64.006058 -128 -324.77103 76.506691 180 0 lightmap_gray 16388.531 -16383.945 -322.82504 76.509361 180 0 +} +// brush 5 +{ + ( 51 -41 13 ) ( 51 40 28 ) ( 49 40 28 ) makin_door_wood2 64 -125.86622 -196.30919 -529.71381 178.5074 -0.0017788151 lightmap_gray 16384.188 16381.998 -573.78693 322.7088 90 -0.00027492797 + ( 49 -41 21 ) ( 49 40 36 ) ( 51 40 36 ) makin_door_wood2 64 -125.86653 -196.28685 -529.7149 178.50757 -0.0017882973 lightmap_gray 16384 16382.398 -573.78094 322.71695 90 -0.000393147 + ( 51 -41 21 ) ( 51 40 36 ) ( 51 40 28 ) makin_door_wood2 64 128.00674 -165.48135 535.7915 -78 -0.00039945275 lightmap_gray 16384.074 16384.25 -573.75 -49 0 0 + ( 51 40 28 ) ( 51 40 36 ) ( 49 40 36 ) makin_door_wood2 64 -128 -324.78311 48.994999 180 0 lightmap_gray 16383.324 -16384 -322.73947 48.994999 180 0 + ( 49 -41 13 ) ( 49 40 28 ) ( 49 40 36 ) makin_door_wood2 64 128 146.85262 -539.47974 100 -0.00038686401 lightmap_gray 16384.275 16384.129 -573.75 -49 0 0 + ( 49 -41 13 ) ( 49 -41 21 ) ( 51 -41 21 ) makin_door_wood2 64.011642 -128 -324.7934 49 180 0 lightmap_gray 16385.117 -16384 -322.76749 49 180 0 +} +// brush 6 +{ + ( 47 -18 93 ) ( 47 -23 -13 ) ( 45 -23 -13 ) makin_door_wood2 64 -127.8579 -56.399822 620.65253 -178.70035 -0.00033166999 lightmap_gray 16384.057 -16384.557 -624.48254 -318.75992 -90 0.00021294317 + ( 45 -10 93 ) ( 45 -16 -13 ) ( 47 -16 -13 ) makin_door_wood2 63.996155 127.79651 26.49272 -621.46344 -0.75 0.00013715275 lightmap_gray 16384 -16385.479 -624.48724 -318.7724 -90 0.00037031336 + ( 47 -10 93 ) ( 47 -16 -13 ) ( 47 -23 -13 ) makin_door_wood2 64 128 55.572212 622.14178 174 -0.00023086353 lightmap_gray 16384.08 16384.02 -624.5 -9.75 -90 0 + ( 45 -23 -13 ) ( 47 -23 -13 ) ( 47 -16 -13 ) makin_door_wood2 63.998055 -128 -320.74716 9.7335587 180 8.491848e-005 lightmap_gray 16385.254 -16384.285 -318.77231 9.7454586 180 0 + ( 45 -18 93 ) ( 45 -23 -13 ) ( 45 -16 -13 ) makin_door_wood2 64.001968 128 -33.747284 -620.80042 -4 -0.00040347874 lightmap_gray 16383.955 16384.152 -624.5 -9.75 -90 0 + ( 45 -10 93 ) ( 47 -10 93 ) ( 47 -18 93 ) makin_door_wood2 64 -128 -320.73648 9.7453232 -180 0 lightmap_gray 16384.014 -16384.254 -318.7468 9.75 180 0 +} +// brush 7 +{ + ( 47 -1 91 ) ( 47 13 -18 ) ( 45 13 -18 ) makin_door_wood2 64 128 -8.7844791 -622.45758 -4 0.00019574165 lightmap_gray 16285.903 -16386.012 -619.2605 -318.78271 -90 0.00043678534 + ( 45 7 92 ) ( 45 20 -16 ) ( 47 20 -16 ) makin_door_wood2 64 127.08317 26.057026 -617.78003 -0.75 -0.00029499017 lightmap_gray 16294.556 -16385.59 -620.97485 -318.78476 -89.994751 0.0002063499 + ( 47 7 92 ) ( 47 20 -16 ) ( 47 13 -18 ) makin_door_wood2 64.002121 128 22.783295 622.22192 -175.90044 -6.702551e-005 lightmap_gray 16384.156 16384.498 -621.08667 -42.359112 -79.908813 0 + ( 45 13 -18 ) ( 47 13 -18 ) ( 47 20 -16 ) makin_door_wood2 64 -126.01994 -320.74658 43.600151 180 0.00018027297 lightmap_gray 16380.759 -16130.509 -318.68173 43.609455 180 0 + ( 45 -1 91 ) ( 45 13 -18 ) ( 45 20 -16 ) makin_door_wood2 64 128 -0.9810729 -619.68921 6.1041217 -0.00046022245 lightmap_gray 16384.217 16383.828 -621.10498 -42.352467 -79.909538 -8.4681524e-005 + ( 45 7 92 ) ( 47 7 92 ) ( 47 -1 91 ) makin_door_wood2 63.997055 -126.01347 -320.69415 26.092403 179.99376 0.00028198757 lightmap_gray 16388.498 -16129.839 -318.82196 26.088612 180 6.0088332e-005 +} +// brush 8 +{ + ( 51 -42.75 68.25 ) ( 51 38.5 70.75 ) ( 49 38.5 70.75 ) makin_door_wood2 63.996628 -127.93938 -29.781366 -577.4549 -178.34052 -3.8628172e-005 lightmap_gray 16420.115 16382.078 -576.5578 322.71423 90 0.00017520598 + ( 49 -43.5 76.25 ) ( 49 37.75 78.75 ) ( 51 37.75 78.75 ) makin_door_wood2 64.005219 -127.93869 -29.743223 -577.46667 -178.32263 -0.00064043771 lightmap_gray 16420.092 16383.822 -577.41998 322.74475 90 -0.00012451633 + ( 51 -43.5 76.25 ) ( 51 37.75 78.75 ) ( 51 38.5 70.75 ) makin_door_wood2 64 128 -48.362099 576.13037 -89.899376 -0.00015407131 lightmap_gray 16383.682 16384.635 -567.91272 -108.35036 6.1001649 -4.9073322e-005 + ( 51 38.5 70.75 ) ( 51 37.75 78.75 ) ( 49 37.75 78.75 ) makin_door_wood2 64.001686 -127.27838 -324.76987 112.61334 180 0 lightmap_gray 16384.432 -16291.309 -322.75742 112.60449 180 0 + ( 49 -43 72.25 ) ( 49 38 74.75 ) ( 49 37.25 82.75 ) makin_door_wood2 64 128 48.658813 -571.58167 90.101929 -0.0002042406 lightmap_gray 16384.139 16384.211 -567.93427 -108.34956 6.0966682 0 + ( 49 -42.75 68.25 ) ( 49 -43.5 76.25 ) ( 51 -43.5 76.25 ) makin_door_wood2 64 -127.27754 -324.78217 104 180 0 lightmap_gray 16385.389 -16291.401 -322.7691 104.00389 180 0 +} +} diff --git a/map_source/_prefabs/zombiemode/factory_large_window.map b/map_source/_prefabs/zombiemode/factory_large_window.map new file mode 100644 index 000000000..e5ec9eda5 --- /dev/null +++ b/map_source/_prefabs/zombiemode/factory_large_window.map @@ -0,0 +1,104 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +} +// entity 1 +{ +"targetname" "auto2" +"spawnflags" "0" +"script_noteworthy" "window_south_1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 20 24.75 10.25 ) ( 20 75.75 76 ) ( 18 75.75 76 ) makin_door_wood2 64 -101.13132 0.10833097 407.49396 0.43503603 0.006840718 lightmap_gray 12968.125 16383.699 -410.33154 291.99655 90 -0.00048518449 + ( 18 18.25 15 ) ( 18 70 80 ) ( 20 70 80 ) makin_door_wood2 64 -100.24825 0.16442563 399.25833 0.43502608 0.0069356798 lightmap_gray 12854.948 16385.168 -402.06058 292.01968 90 0.0006002218 + ( 20 18.25 15 ) ( 20 70 80 ) ( 20 75.75 76 ) makin_door_wood2 64 128 40.665562 507.34686 -41 -0.00032943563 lightmap_gray 16384.02 16384.359 -508.76678 -12.597008 55 -7.4509073e-005 + ( 18 79.75 82 ) ( 20 79.75 82 ) ( 20 74 86 ) makin_door_wood2 64 104.85145 -293.98499 50.32959 180 0 lightmap_gray 16384 13420.983 -292.00217 50.326622 -180 0 + ( 18 24.75 10.25 ) ( 18 75.75 76 ) ( 18 70 80 ) makin_door_wood2 64 128 -22.823048 -505.57294 141 -0.00055217789 lightmap_gray 16383.727 16384.574 -508.76505 -12.596931 55 3.5467245e-005 + ( 18 8.25 9 ) ( 20 8.25 9 ) ( 20 14.75 4.25 ) makin_door_wood2 64 104.85121 -294.00302 2.6938899 180 9.1519847e-005 lightmap_gray 16385.43 13420.981 -292.02213 2.7228932 180 0 +} +} +// entity 2 +{ +"targetname" "auto2" +"spawnflags" "0" +"script_noteworthy" "window_south_1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 21 -20 85 ) ( 21 2.25 4.75 ) ( 19 2.25 4.75 ) makin_door_wood2 64 -123.34541 -39.760464 591.979 -178.55319 0.0037700001 lightmap_gray 15860.864 -16384.5 -599.59839 -292.50882 -90 -0.0003168112 + ( 19 -12.25 86.5 ) ( 19 9 6 ) ( 21 9 6 ) makin_door_wood2 64 123.74284 -8.711565 -596.29736 -0.78204459 0.0018871292 lightmap_gray 15895.179 -16386.027 -602.09418 -292.53384 -90 -0.00021204309 + ( 21 -12.25 86.5 ) ( 21 9 6 ) ( 21 2.25 4.75 ) makin_door_wood2 64.001907 128 -17.365061 -613.9646 14 -0.00041007996 lightmap_gray 16384.207 16383.359 -618.76868 -21.484459 -80 -1.8893195e-005 + ( 19 2.25 2.75 ) ( 21 2.25 2.75 ) ( 21 9 4 ) makin_door_wood2 64.004211 -126.05551 -294.52356 20.435745 180 0 lightmap_gray 16383.568 -16134.951 -292.49313 20.426937 180 0 + ( 19 -20 85 ) ( 19 2.25 4.75 ) ( 19 9 6 ) makin_door_wood2 64.001869 128 -17.365053 -613.96454 14 -0.00039625168 lightmap_gray 16384.111 16383.627 -618.77423 -21.484449 -80 0 + ( 19 -14.25 88.5 ) ( 21 -14.25 88.5 ) ( 21 -22 87 ) makin_door_wood2 64 -126.0556 -294.5 6.0154018 180 0 lightmap_gray 16383.256 -16135.069 -292.48422 6.0050364 180 0 +} +} +// entity 3 +{ +"targetname" "auto2" +"spawnflags" "0" +"script_noteworthy" "window_south_1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 22 -43 36 ) ( 22 41 26 ) ( 20 41 26 ) makin_door_wood2 64 127.10266 -28.569309 -567.60675 -179.21655 -0.0021160552 lightmap_gray 16384.15 16386.162 -574.50427 294.03586 90 0.00020738048 + ( 20 -43 44 ) ( 20 41 34 ) ( 22 41 34 ) makin_door_wood2 64 -127.10266 3.4695292 566.22949 -0.78344566 -0.0021160552 lightmap_gray 16383.809 16385.014 -574.48749 294.01715 90 0.00070607814 + ( 22 -43 44 ) ( 22 41 34 ) ( 22 41 26 ) makin_door_wood2 64 128 -1.9364299 577.8689 -96 -0.00059564348 lightmap_gray 16383.922 16383.988 -574.5 -62.5 0 0 + ( 22 85 28 ) ( 22 85 36 ) ( 20 85 36 ) makin_door_wood2 64.001114 -128 -295.99866 62.5 180 0 lightmap_gray 16384.262 -16384 -294.00433 62.5 180 0 + ( 20 -43 36 ) ( 20 41 26 ) ( 20 41 34 ) makin_door_wood2 64 128 22.143137 -574.56659 84 -0.001731233 lightmap_gray 16384.17 16384 -574.5 -62.5 0 0 + ( 20 -43 36 ) ( 20 -43 44 ) ( 22 -43 44 ) makin_door_wood2 64 -128 -296 62.5 180 0 lightmap_gray 16384.217 -16384 -294.00406 62.5 180 0 +} +} +// entity 4 +{ +"targetname" "auto2" +"spawnflags" "0" +"script_noteworthy" "window_south_1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 22 -43.75 53 ) ( 22 38.5 39.25 ) ( 20 38.5 39.25 ) makin_door_wood2 63.998672 -126.2487 17.456528 575.79736 -2.4737585 -0.0032644926 lightmap_gray 16234.508 16385.438 -570.8017 294.02631 90 -4.9174767e-005 + ( 20 -41.5 60.75 ) ( 20 40.75 47 ) ( 22 40.75 47 ) makin_door_wood2 63.998703 -126.25 7.4443941 574.92261 -2.4581463 -0.0035647049 lightmap_gray 16234.301 16386.004 -568.72839 294.03439 90 9.0722118e-005 + ( 22 -41.5 60.75 ) ( 22 40.75 47 ) ( 22 38.5 39.25 ) makin_door_wood2 64 128 40.851318 -590.31451 83 -0.00097511749 lightmap_gray 16384.248 16383.98 -587.90155 -79.408112 -15 0 + ( 22 86.5 35.25 ) ( 22 88.75 43 ) ( 20 88.75 43 ) makin_door_wood2 64.006042 -123.63829 -296.02451 69.685654 180 -9.405076e-005 lightmap_gray 16385.25 -15825.846 -294.01938 69.685555 180 0 + ( 20 -43.75 53 ) ( 20 38.5 39.25 ) ( 20 40.75 47 ) makin_door_wood2 64 128 40.852005 -590.31799 83 -0.0011024628 lightmap_gray 16383.961 16383.984 -587.89233 -79.40799 -15 0 + ( 20 -43.75 53 ) ( 20 -41.5 60.75 ) ( 22 -41.5 60.75 ) makin_door_wood2 64 -123.63855 -296 91.167625 180 -8.7726679e-005 lightmap_gray 16385.201 -15825.665 -294.02112 91.167747 180 0 +} +} +// entity 5 +{ +"targetname" "auto2" +"spawnflags" "0" +"script_noteworthy" "window_south_1" +"classname" "script_brushmodel" +// brush 0 +{ + ( 22 -41.675671 61.643867 ) ( 22 41.357113 64.893013 ) ( 20 41.357113 64.893013 ) makin_door_wood2 64 127.90224 -31.151073 -570.03613 178.7596 -0.0012152162 lightmap_gray 16390.486 16382.766 -573.38629 293.97803 90 0.00022254666 + ( 20 -42.372917 69.613426 ) ( 20 40.65987 72.862572 ) ( 22 40.65987 72.862572 ) makin_door_wood2 64 -127.90204 0.84453195 571.04169 1.2434053 -0.0013214478 lightmap_gray 16390.313 16383.99 -574.08142 294.00122 90 0.00014642371 + ( 22 -8.5022955 72.576721 ) ( 22 74.530487 75.825867 ) ( 22 75.22773 67.856308 ) makin_door_wood2 64 128 -32.333794 574.16846 -91 0.00083204272 lightmap_gray 16383.959 16383.992 -567.64502 -92.041557 5 0 + ( 22 81.204903 68.379242 ) ( 22 80.50766 76.348801 ) ( 20 80.50766 76.348801 ) makin_door_wood2 63.99778 -127.51306 -295.99081 99.261292 180 0 lightmap_gray 16384.479 -16321.625 -294.00604 99.261253 180 0 + ( 20 -41.675671 61.643867 ) ( 20 41.357113 64.893013 ) ( 20 40.65987 72.862572 ) makin_door_wood2 64 128 52.108772 -569.80127 91 -0.0012790605 lightmap_gray 16383.832 16383.979 -567.64349 -92.041557 5 0 + ( 20 -41.675671 61.643867 ) ( 20 -42.372917 69.613426 ) ( 22 -42.372917 69.613426 ) makin_door_wood2 64.001762 -127.51282 -296.00815 88.541107 180 0 lightmap_gray 16384.225 -16321.617 -294.00146 88.541107 180 0 +} +} +// entity 6 +{ +"target" "auto2" +"targetname" "exterior_goal" +"origin" "-30.0 0.0 0.0" +"angles" "0 360 0" +"classname" "script_struct" +} +// entity 7 +{ +"height" "64" +"radius" "36" +"targetname" "auto2" +"origin" "20.0 0.0 0.0" +"angles" "0 360 0" +"classname" "script_struct" +} diff --git a/map_source/_prefabs/zombiemode/nazi_asylum_window.map b/map_source/_prefabs/zombiemode/nazi_asylum_window.map new file mode 100644 index 000000000..ac78dbd21 --- /dev/null +++ b/map_source/_prefabs/zombiemode/nazi_asylum_window.map @@ -0,0 +1,96 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"skyboxmodel" "skybox_zombie_asylum" +"_color" "0.5333 0.5529 0.6274" +"ambient" ".2" +"sundiffusecolor" "0.5333 0.5529 0.6274" +"diffusefraction" ".2" +"classname" "worldspawn" +"sundirection" "-160.96 111 0" +"suncolor" "1 0.54 0.13" +"sunlight" "2.4" +// brush 0 +{ + ( 1 36 64 ) ( -7 36 64 ) ( -7 28 64 ) makin_door_wood2 64 128 0 0 0 0 lightmap_gray 16384 16384 1 -4 0 0 + ( -7 28 80 ) ( -7 36 80 ) ( 1 36 80 ) makin_door_wood2 64 128 0 0 0 0 lightmap_gray 16384 16384 1 -4 0 0 + ( -5 20 74 ) ( 3 20 74 ) ( 3 20 58 ) makin_door_wood2 64 128 0 14 0 0 lightmap_gray 16384 16384 1 14 0 0 + ( 9 27 74 ) ( 9 35 74 ) ( 9 35 58 ) makin_door_wood2 64 128 0 14 0 0 lightmap_gray 16384 16384 4 14 0 0 + ( 1 36 74 ) ( -7 36 74 ) ( -7 36 58 ) makin_door_wood2 64 128 0 14 0 0 lightmap_gray 16384 16384 1 14 0 0 + ( -7 36 74 ) ( -7 28 74 ) ( -7 28 58 ) makin_door_wood2 64 128 0 14 0 0 lightmap_gray 16384 16384 4 14 0 0 +} +// brush 1 +{ + ( 1 8 64 ) ( -7 8 64 ) ( -7 0 64 ) makin_door_wood2 64 128 0 28 0 0 lightmap_gray 16384 16384 1 24 0 0 + ( -7 0 80 ) ( -7 8 80 ) ( 1 8 80 ) makin_door_wood2 64 128 0 28 0 0 lightmap_gray 16384 16384 1 24 0 0 + ( -5 -8 74 ) ( 3 -8 74 ) ( 3 -8 58 ) makin_door_wood2 64 128 0 14 0 0 lightmap_gray 16384 16384 1 14 0 0 + ( 9 -1 74 ) ( 9 7 74 ) ( 9 7 58 ) makin_door_wood2 64 128 -28 14 0 0 lightmap_gray 16384 16384 -24 14 0 0 + ( 1 8 74 ) ( -7 8 74 ) ( -7 8 58 ) makin_door_wood2 64 128 0 14 0 0 lightmap_gray 16384 16384 1 14 0 0 + ( -7 8 74 ) ( -7 0 74 ) ( -7 0 58 ) makin_door_wood2 64 128 -28 14 0 0 lightmap_gray 16384 16384 -24 14 0 0 +} +// brush 2 +{ + ( 1 -20 64 ) ( -7 -20 64 ) ( -7 -28 64 ) makin_door_wood2 64 128 0 56 0 0 lightmap_gray 16384 16384 1 52 0 0 + ( -7 -28 80 ) ( -7 -20 80 ) ( 1 -20 80 ) makin_door_wood2 64 128 0 56 0 0 lightmap_gray 16384 16383.994 1 52 0 0 + ( -5 -36 74 ) ( 3 -36 74 ) ( 3 -36 58 ) makin_door_wood2 64 128 0 14 0 0 lightmap_gray 16384 16384 1 14 0 0 + ( 9 -29 74 ) ( 9 -21 74 ) ( 9 -21 58 ) makin_door_wood2 64 128 -56 14 0 0 lightmap_gray 16384.027 16384 -52 14 0 0 + ( 1 -20 74 ) ( -7 -20 74 ) ( -7 -20 58 ) makin_door_wood2 64 128 0 14 0 0 lightmap_gray 16384 16384 1 14 0 0 + ( -7 -20 74 ) ( -7 -28 74 ) ( -7 -28 58 ) makin_door_wood2 64 128 -56 14 0 0 lightmap_gray 16384 16384 -52 14 0 0 +} +// brush 3 +{ + ( 49 -42.75 148.25 ) ( 49 38.5 150.75 ) ( 47 38.5 150.75 ) makin_door_wood2 63.996666 -127.93936 -27.782185 -577.39709 -178.34021 -5.0217724e-005 lightmap_gray 16420.115 16382.309 -576.55823 320.71811 90 0.00017140593 + ( 47 -43.5 156.25 ) ( 47 37.75 158.75 ) ( 49 37.75 158.75 ) makin_door_wood2 64.005035 -127.93878 -27.744116 -577.40723 -178.32419 -0.00058914954 lightmap_gray 16420.09 16383.783 -577.42084 320.74411 90 -0.00014878396 + ( 49 -43.5 156.25 ) ( 49 37.75 158.75 ) ( 49 38.5 150.75 ) makin_door_wood2 64 128 -128.36229 575.99219 -89.90033 -0.00018324764 lightmap_gray 16383.764 16384.627 -559.41571 -187.89731 6.1001649 -1.4216796e-005 + ( 49 38.5 150.75 ) ( 49 37.75 158.75 ) ( 47 37.75 158.75 ) makin_door_wood2 64.001556 -127.27826 -322.76932 192.61282 -180 0 lightmap_gray 16384.51 -16291.309 -320.7587 192.60442 180 0 + ( 47 -43 152.25 ) ( 47 38 154.75 ) ( 47 37.25 162.75 ) makin_door_wood2 64 128 128.65894 -571.43939 90.101921 -0.00020698311 lightmap_gray 16384.129 16384.234 -559.43353 -187.89691 6.0981016 0 + ( 47 -42.75 148.25 ) ( 47 -43.5 156.25 ) ( 49 -43.5 156.25 ) makin_door_wood2 64 -127.2779 -322.78159 184 180 0 lightmap_gray 16385.549 -16291.386 -320.77161 184.00397 180 0 +} +// brush 4 +{ + ( 47 -1 177 ) ( 47 13 68 ) ( 45 13 68 ) makin_door_wood2 64 128 -14.367546 -702.27051 -4 -0.00014375099 lightmap_gray 16285.88 -16386.074 -699.26257 -318.78378 -90 0.00037257583 + ( 45 7 172 ) ( 45 20 64 ) ( 47 20 64 ) makin_door_wood2 64 127.08309 25.020924 -697.77216 -0.75 -0.00025836416 lightmap_gray 16294.546 -16385.457 -700.97638 -318.78986 -89.994751 0.00016896937 + ( 47 7 178 ) ( 47 20 70 ) ( 47 13 68 ) makin_door_wood2 64.002098 128 17.061522 702.01733 -175.90091 -8.1494458e-005 lightmap_gray 16384.174 16384.477 -699.84979 -56.376282 -79.908798 0 + ( 45 13 68 ) ( 47 13 68 ) ( 47 20 70 ) makin_door_wood2 64 -126.01999 -320.7464 43.600212 -180 0.00017993587 lightmap_gray 16380.759 -16130.496 -318.68173 43.609375 180 0 + ( 45 -1 171 ) ( 45 13 62 ) ( 45 20 64 ) makin_door_wood2 64 128 7.5441031 -699.23621 6.1032844 -0.00048956263 lightmap_gray 16384.221 16383.855 -699.86639 -56.368729 -79.909538 -8.7840788e-005 + ( 45 7 172 ) ( 47 7 172 ) ( 47 -1 171 ) makin_door_wood2 63.998047 -126.01347 -320.69839 26.092337 179.9938 0.00027267402 lightmap_gray 16388.508 -16129.841 -318.82227 26.088614 -180 6.4380358e-005 +} +// brush 5 +{ + ( 47 -18 173 ) ( 47 -23 67 ) ( 45 -23 67 ) makin_door_wood2 64 -127.85816 -58.200974 700.63568 -178.70331 -0.00022931152 lightmap_gray 16384.041 -16384.266 -704.48126 -318.75507 -90 0.00022838164 + ( 45 -10 173 ) ( 45 -16 67 ) ( 47 -16 67 ) makin_door_wood2 63.996292 127.79621 25.447741 -701.45844 -0.75 -1.4213181e-005 lightmap_gray 16384 -16385.543 -704.48688 -318.77347 -90 0.00037793411 + ( 47 -10 173 ) ( 47 -16 67 ) ( 47 -23 67 ) makin_door_wood2 64 128 63.924896 701.70306 174 -0.00025774527 lightmap_gray 16384.049 16384.02 -704.5 -9.75 -90 0 + ( 45 -23 67 ) ( 47 -23 67 ) ( 47 -16 67 ) makin_door_wood2 63.998055 -128 -320.74716 9.7335587 180 8.491848e-005 lightmap_gray 16385.254 -16384.285 -318.77231 9.7454586 180 0 + ( 45 -18 173 ) ( 45 -23 67 ) ( 45 -16 67 ) makin_door_wood2 64.001877 128 -39.311455 -700.60632 -4 -0.00039902315 lightmap_gray 16383.959 16384.152 -704.5 -9.75 -90 0 + ( 45 -10 173 ) ( 47 -10 173 ) ( 47 -18 173 ) makin_door_wood2 64 -128 -320.73648 9.7453232 -180 0 lightmap_gray 16384.014 -16384.254 -318.7468 9.75 -180 0 +} +// brush 6 +{ + ( 49 -41.75 138.25 ) ( 49 46 140.75 ) ( 47 46 140.75 ) makin_door_wood2 63.997169 127.94782 78.558952 572.18866 1.1764089 5.6336314e-005 lightmap_gray 16508.051 16384.996 -574.4707 320.75995 90 3.0665335e-005 + ( 47 -43 146.25 ) ( 47 44.75 148.75 ) ( 49 44.75 148.75 ) makin_door_wood2 64 127.94839 78.556984 572.18378 1.1659533 -0.00030943364 lightmap_gray 16508.311 16384.504 -575.67456 320.75293 90 0.0001827892 + ( 49 -43 146.25 ) ( 49 44.75 148.75 ) ( 49 46 140.75 ) makin_door_wood2 64 128 -117.72192 564.21307 -87.20002 -0.00021929284 lightmap_gray 16383.836 16383.842 -548.80237 -176.08063 8.8015728 0 + ( 49 46 140.75 ) ( 49 44.75 148.75 ) ( 47 44.75 148.75 ) makin_door_wood2 64 -126.49402 -322.75623 184.24574 180 0 lightmap_gray 16383.352 -16191.08 -320.73898 184.24069 180 0 + ( 47 -41.75 138.25 ) ( 47 46 140.75 ) ( 47 44.75 148.75 ) makin_door_wood2 64 128 78.097153 -571.03601 88.8022 0.00019976098 lightmap_gray 16384.025 16383.906 -548.823 -176.08142 8.7990065 4.327247e-005 + ( 47 -41.75 138.25 ) ( 47 -43 146.25 ) ( 49 -43 146.25 ) makin_door_wood2 64.002747 -126.49461 -322.75 170.9379 -180 0 lightmap_gray 16383.611 -16191.097 -320.7435 170.93649 -180 0 +} +// brush 7 +{ + ( 49 -40.5 129.5 ) ( 49 42.5 125.5 ) ( 47 42.5 125.5 ) makin_door_wood2 64 -127.85344 -17.732475 -575.72504 -173 0.00030676686 lightmap_gray 16384 16386 -572.26666 320.77499 90 -6.1180428e-005 + ( 47 -40.5 137.5 ) ( 47 42.5 133.5 ) ( 49 42.5 133.5 ) makin_door_wood2 64.001526 -127.85151 -17.719282 -575.74756 -173 0.0001782655 lightmap_gray 16384.082 16383.756 -572.23053 320.74063 90 -6.1175051e-005 + ( 49 -40.5 137.5 ) ( 49 42.5 133.5 ) ( 49 42.5 125.5 ) makin_door_wood2 64 128 -96.205368 579.46857 -92 -2.4490048e-005 lightmap_gray 16384.082 16384 -572.2514 -156.5 0 0 + ( 49 42.5 125.5 ) ( 49 42.5 133.5 ) ( 47 42.5 133.5 ) makin_door_wood2 64 -128 -322.77643 156.5 -180 0 lightmap_gray 16385.133 -16384 -320.76865 156.5 180 0 + ( 47 -40.5 129.5 ) ( 47 42.5 125.5 ) ( 47 42.5 133.5 ) makin_door_wood2 64 128 116.33259 -578.93402 86 -0.00015150025 lightmap_gray 16384.035 16383.953 -572.25 -156.5 0 0 + ( 47 -40.5 129.5 ) ( 47 -40.5 137.5 ) ( 49 -40.5 137.5 ) makin_door_wood2 64.006485 -128 -322.77271 156.50641 180 0 lightmap_gray 16388.502 -16383.984 -320.82437 156.50905 180 0 +} +// brush 8 +{ + ( 49 -41 93 ) ( 49 40 108 ) ( 47 40 108 ) makin_door_wood2 64 -125.86622 -194.3107 -529.76587 178.5074 -0.001779903 lightmap_gray 16384.188 16381.996 -573.78638 320.70877 90 -0.00027508149 + ( 47 -41 101 ) ( 47 40 116 ) ( 49 40 116 ) makin_door_wood2 63.998413 -125.86666 -194.28329 -529.76819 178.50826 -0.0018107101 lightmap_gray 16384 16382.621 -573.78082 320.72067 90 -0.00040704434 + ( 49 -41 101 ) ( 49 40 116 ) ( 49 40 108 ) makin_door_wood2 64 128.00652 -243.73013 519.15778 -78 -0.00040374332 lightmap_gray 16384.074 16384.17 -573.75 -129 0 0 + ( 49 40 108 ) ( 49 40 116 ) ( 47 40 116 ) makin_door_wood2 64 -128 -322.78387 128.99516 180 0 lightmap_gray 16383.152 -16384 -320.7366 128.99516 180 0 + ( 47 -41 93 ) ( 47 40 108 ) ( 47 40 116 ) makin_door_wood2 64 128 225.6347 -525.58704 100 -0.00036206807 lightmap_gray 16384.246 16384.115 -573.75 -129 0 0 + ( 47 -41 93 ) ( 47 -41 101 ) ( 49 -41 101 ) makin_door_wood2 64.011948 -128 -322.79492 129 -180 0 lightmap_gray 16385.08 -16384 -320.76712 129 -180 0 +} +} diff --git a/map_source/_prefabs/zombiemode/vending_doubletap.map b/map_source/_prefabs/zombiemode/vending_doubletap.map new file mode 100644 index 000000000..3f480a97f --- /dev/null +++ b/map_source/_prefabs/zombiemode/vending_doubletap.map @@ -0,0 +1,46 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( 9.5 23 -9 ) ( -20.5 23 -9 ) ( -20.5 -10 -9 ) clip_player 64 64 -0.5 -4 0 0 lightmap_gray 16384 16384 -0.5 -4 0 0 + ( -23.5 -10 78.5 ) ( -23.5 23 78.5 ) ( 6.5 23 78.5 ) clip_player 64 64 -0.5 -4 0 0 lightmap_gray 16384 16384 -0.5 -4 0 0 + ( -20.5 -14 94 ) ( 9.5 -14 94 ) ( 9.5 -14 -9 ) clip_player 64 64 -0.5 -0.5 0 0 lightmap_gray 16384 16384 -0.5 -0.5 0 0 + ( 22.5 -10 94 ) ( 22.5 23 94 ) ( 22.5 23 -9 ) clip_player 64 64 4 -0.5 0 0 lightmap_gray 16384 16384 4 -0.5 0 0 + ( 9 17.5 94 ) ( -21 17.5 94 ) ( -21 17.5 -9 ) clip_player 64 64 -0.5 -0.5 0 0 lightmap_gray 16384 16384 -0.5 -0.5 0 0 + ( -32.5 23 93 ) ( -32.5 -10 93 ) ( -32.5 -10 -10 ) clip_player 64 64 4 -0.5 0 0 lightmap_gray 16384 16384 4 -0.5 0 0 +} +} +// entity 1 +{ +"target" "vending_doubletap" +"targetname" "zombie_vending" +"script_noteworthy" "specialty_rof" +"classname" "trigger_use" +// brush 0 +{ + ( 9 31 -9.5 ) ( -19.5 31 -9.5 ) ( -19.5 -12.5 -9.5 ) trigger 64 64 0.5 -4.5 0 0 lightmap_gray 16384 16384 0.5 -4.5 0 0 + ( -20 -12.5 78 ) ( -20 31 78 ) ( 8.5 31 78 ) trigger 64 64 0.5 -4.5 0 0 lightmap_gray 16384 16384 0.5 -4.5 0 0 + ( -19 -14 93.5 ) ( 9.5 -14 93.5 ) ( 9.5 -14 -9.5 ) trigger 64 64 0.5 0 0 0 lightmap_gray 16384 16384 0.5 0 0 0 + ( 17.5 -12.5 93.5 ) ( 17.5 31 93.5 ) ( 17.5 31 -9.5 ) trigger 64 64 4.5 0 0 0 lightmap_gray 16384 16384 4.5 0 0 0 + ( 9 17.5 93.5 ) ( -19.5 17.5 93.5 ) ( -19.5 17.5 -9.5 ) trigger 64 64 0.5 0 0 0 lightmap_gray 16384 16384 0.5 0 0 0 + ( -19.5 31 93.5 ) ( -19.5 -12.5 93.5 ) ( -19.5 -12.5 -9.5 ) trigger 64 64 4.5 0 0 0 lightmap_gray 16384 16384 4.5 0 0 0 +} +} +// entity 2 +{ +"classname" "script_model" +"model" "zombie_vending_doubletap" +"origin" "-4.5 4.0 -5.0" +"targetname" "vending_doubletap" +} +// entity 3 +{ +"origin" "-3.0 -5.0 48.0" +"targetname" "perksacola" +"script_sound" "mx_doubletap_jingle" +"classname" "script_struct" +} diff --git a/map_source/_prefabs/zombiemode/vending_juggernaut.map b/map_source/_prefabs/zombiemode/vending_juggernaut.map new file mode 100644 index 000000000..0f843606c --- /dev/null +++ b/map_source/_prefabs/zombiemode/vending_juggernaut.map @@ -0,0 +1,46 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( 9.5 23 -9 ) ( -20.5 23 -9 ) ( -20.5 -10 -9 ) clip_player 64 64 -0.5 -4 0 0 lightmap_gray 16384 16384 -0.5 -4 0 0 + ( -21 -10 96 ) ( -21 23 96 ) ( 9 23 96 ) clip_player 64 64 -0.5 -4 0 0 lightmap_gray 16384 16384 -0.5 -4 0 0 + ( -20.5 -14 94 ) ( 9.5 -14 94 ) ( 9.5 -14 -9 ) clip_player 64 64 -0.5 -0.5 0 0 lightmap_gray 16384 16384 -0.5 -0.5 0 0 + ( 11.5 -10 94 ) ( 11.5 23 94 ) ( 11.5 23 -9 ) clip_player 64 64 4 -0.5 0 0 lightmap_gray 16384 16384 4 -0.5 0 0 + ( 9.5 23 94 ) ( -20.5 23 94 ) ( -20.5 23 -9 ) clip_player 64 64 -0.5 -0.5 0 0 lightmap_gray 16384 16384 -0.5 -0.5 0 0 + ( -20.5 23 93.5 ) ( -20.5 -10 93.5 ) ( -20.5 -10 -9.5 ) clip_player 64 64 4 -0.5 0 0 lightmap_gray 16384 16384 4 -0.5 0 0 +} +} +// entity 1 +{ +"target" "vending_jugg" +"targetname" "zombie_vending" +"script_noteworthy" "specialty_armorvest" +"classname" "trigger_use" +// brush 0 +{ + ( 9 31 -9.5 ) ( -19.5 31 -9.5 ) ( -19.5 -12.5 -9.5 ) trigger 64 64 0.5 -4.5 0 0 lightmap_gray 16384 16384 0.5 -4.5 0 0 + ( -19.5 -12.5 93.5 ) ( -19.5 31 93.5 ) ( 9 31 93.5 ) trigger 64 64 0.5 -4.5 0 0 lightmap_gray 16384 16384 0.5 -4.5 0 0 + ( -19 -14 93.5 ) ( 9.5 -14 93.5 ) ( 9.5 -14 -9.5 ) trigger 64 64 0.5 0 0 0 lightmap_gray 16384 16384 0.5 0 0 0 + ( 10 -12.5 93.5 ) ( 10 31 93.5 ) ( 10 31 -9.5 ) trigger 64 64 4.5 0 0 0 lightmap_gray 16384 16384 4.5 0 0 0 + ( 9 17.5 93.5 ) ( -19.5 17.5 93.5 ) ( -19.5 17.5 -9.5 ) trigger 64 64 0.5 0 0 0 lightmap_gray 16384 16384 0.5 0 0 0 + ( -19.5 31 93.5 ) ( -19.5 -12.5 93.5 ) ( -19.5 -12.5 -9.5 ) trigger 64 64 4.5 0 0 0 lightmap_gray 16384 16384 4.5 0 0 0 +} +} +// entity 2 +{ +"classname" "script_model" +"model" "zombie_vending_jugg" +"origin" "-4.5 4.0 -5.0" +"targetname" "vending_jugg" +} +// entity 3 +{ +"origin" "-4.0 0.0 81.0" +"targetname" "perksacola" +"script_sound" "mx_jugger_jingle" +"classname" "script_struct" +} diff --git a/map_source/_prefabs/zombiemode/vending_revive.map b/map_source/_prefabs/zombiemode/vending_revive.map new file mode 100644 index 000000000..7df0979ad --- /dev/null +++ b/map_source/_prefabs/zombiemode/vending_revive.map @@ -0,0 +1,48 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"targetname" "vending_revive" +"model" "zombie_vending_revive" +"classname" "worldspawn" +// brush 0 +{ + ( 9.5 23 -9 ) ( -20.5 23 -9 ) ( -20.5 -10 -9 ) clip_player 64 64 -0.5 -4 0 0 lightmap_gray 16384 16384 -0.5 -4 0 0 + ( -24 -10 53 ) ( -24 23 53 ) ( 6 23 53 ) clip_player 64 64 -0.5 -4 0 0 lightmap_gray 16384 16384 -0.5 -4 0 0 + ( -20.5 -14 94 ) ( 9.5 -14 94 ) ( 9.5 -14 -9 ) clip_player 64 64 -0.5 -0.5 0 0 lightmap_gray 16384 16384 -0.5 -0.5 0 0 + ( 22 -10 94 ) ( 22 23 94 ) ( 22 23 -9 ) clip_player 64 64 4 -0.5 0 0 lightmap_gray 16384 16384 4 -0.5 0 0 + ( 9.5 23 94 ) ( -20.5 23 94 ) ( -20.5 23 -9 ) clip_player 64 64 -0.5 -0.5 0 0 lightmap_gray 16384 16384 -0.5 -0.5 0 0 + ( -31.5 23 93.5 ) ( -31.5 -10 93.5 ) ( -31.5 -10 -9.5 ) clip_player 64 64 4 -0.5 0 0 lightmap_gray 16384 16384 4 -0.5 0 0 +} +} +// entity 1 +{ +"target" "vending_revive" +"targetname" "zombie_vending" +"script_noteworthy" "specialty_quickrevive" +"classname" "trigger_use" +// brush 0 +{ + ( 9 31 -9.5 ) ( -19.5 31 -9.5 ) ( -19.5 -12.5 -9.5 ) trigger 64 64 0.5 -4.5 0 0 lightmap_gray 16384 16384 0.5 -4.5 0 0 + ( -20 -12.5 52.5 ) ( -20 31 52.5 ) ( 8.5 31 52.5 ) trigger 64 64 0.5 -4.5 0 0 lightmap_gray 16384 16384 0.5 -4.5 0 0 + ( -19 -14 93.5 ) ( 9.5 -14 93.5 ) ( 9.5 -14 -9.5 ) trigger 64 64 0.5 0 0 0 lightmap_gray 16384 16384 0.5 0 0 0 + ( 10 -12.5 93.5 ) ( 10 31 93.5 ) ( 10 31 -9.5 ) trigger 64 64 4.5 0 0 0 lightmap_gray 16384 16384 4.5 0 0 0 + ( 9 17.5 93.5 ) ( -19.5 17.5 93.5 ) ( -19.5 17.5 -9.5 ) trigger 64 64 0.5 0 0 0 lightmap_gray 16384 16384 0.5 0 0 0 + ( -19.5 31 93.5 ) ( -19.5 -12.5 93.5 ) ( -19.5 -12.5 -9.5 ) trigger 64 64 4.5 0 0 0 lightmap_gray 16384 16384 4.5 0 0 0 +} +} +// entity 2 +{ +"classname" "script_model" +"model" "zombie_vending_revive" +"origin" "-4.5 4.0 -5.0" +"targetname" "vending_revive" +} +// entity 3 +{ +"origin" "-8.0 -8.0 48.0" +"script_sound" "mx_revive_jingle" +"targetname" "perksacola" +"classname" "script_struct" +} diff --git a/map_source/_prefabs/zombiemode/vending_sleight.map b/map_source/_prefabs/zombiemode/vending_sleight.map new file mode 100644 index 000000000..b62378487 --- /dev/null +++ b/map_source/_prefabs/zombiemode/vending_sleight.map @@ -0,0 +1,46 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( 9.5 23 -9 ) ( -20.5 23 -9 ) ( -20.5 -10 -9 ) clip_player 64 64 -0.5 -4 0 0 lightmap_gray 16384 16384 -0.5 -4 0 0 + ( -20.5 -10 100.5 ) ( -20.5 23 100.5 ) ( 9.5 23 100.5 ) clip_player 64 64 -0.5 -4 0 0 lightmap_gray 16384 16384 -0.5 -4 0 0 + ( -20.5 -14 94 ) ( 9.5 -14 94 ) ( 9.5 -14 -9 ) clip_player 64 64 -0.5 -0.5 0 0 lightmap_gray 16384 16384 -0.5 -0.5 0 0 + ( 22 -10 94 ) ( 22 23 94 ) ( 22 23 -9 ) clip_player 64 64 4 -0.5 0 0 lightmap_gray 16384 16384 4 -0.5 0 0 + ( 9.5 23 94 ) ( -20.5 23 94 ) ( -20.5 23 -9 ) clip_player 64 64 -0.5 -0.5 0 0 lightmap_gray 16384 16384 -0.5 -0.5 0 0 + ( -30 23 94 ) ( -30 -10 94 ) ( -30 -10 -9 ) clip_player 64 64 4 -0.5 0 0 lightmap_gray 16384 16384 4 -0.5 0 0 +} +} +// entity 1 +{ +"targetname" "vending_sleight" +"origin" "-4.5 4.0 -5.0" +"model" "zombie_vending_sleight" +"classname" "script_model" +} +// entity 2 +{ +"target" "vending_sleight" +"targetname" "zombie_vending" +"script_noteworthy" "specialty_fastreload" +"classname" "trigger_use" +// brush 0 +{ + ( 9 31 -9.5 ) ( -19.5 31 -9.5 ) ( -19.5 -12.5 -9.5 ) trigger 64 64 0.5 -4.5 0 0 lightmap_gray 16384 16384 0.5 -4.5 0 0 + ( -19.5 -12.5 93.5 ) ( -19.5 31 93.5 ) ( 9 31 93.5 ) trigger 64 64 0.5 -4.5 0 0 lightmap_gray 16384 16384 0.5 -4.5 0 0 + ( -19 -14 93.5 ) ( 9.5 -14 93.5 ) ( 9.5 -14 -9.5 ) trigger 64 64 0.5 0 0 0 lightmap_gray 16384 16384 0.5 0 0 0 + ( 10 -12.5 93.5 ) ( 10 31 93.5 ) ( 10 31 -9.5 ) trigger 64 64 4.5 0 0 0 lightmap_gray 16384 16384 4.5 0 0 0 + ( 9 17.5 93.5 ) ( -19.5 17.5 93.5 ) ( -19.5 17.5 -9.5 ) trigger 64 64 0.5 0 0 0 lightmap_gray 16384 16384 0.5 0 0 0 + ( -19.5 31 93.5 ) ( -19.5 -12.5 93.5 ) ( -19.5 -12.5 -9.5 ) trigger 64 64 4.5 0 0 0 lightmap_gray 16384 16384 4.5 0 0 0 +} +} +// entity 3 +{ +"script_sound" "mx_speed_jingle" +"origin" "-6.0 -3.0 88.0" +"targetname" "perksacola" +"classname" "script_struct" +} diff --git a/map_source/_prefabs/zombiemode/weapon_bar.map b/map_source/_prefabs/zombiemode/weapon_bar.map new file mode 100644 index 000000000..8476e783b --- /dev/null +++ b/map_source/_prefabs/zombiemode/weapon_bar.map @@ -0,0 +1,1305 @@ +iwmap 4 +// entity 0 +{ +"reflection_color_correction" "zombie" +"skyboxmodel" "skybox_zombie" +"sunisprimarylight" "1" +"bouncefraction" "0.3" +"contrastgain" "0.35" +"_color" "0.5 0.5 0.7" +"ambient" "0.1" +"sundiffusecolor" "0.25 0.55 0.8" +"diffusefraction" "0.15" +"classname" "worldspawn" +"sundirection" "-150 17 0" +"suncolor" "0.64 0.85 1" +"sunlight" "0.75" +// brush 0 +{ + ( -232.5 1045.5 189.5 ) ( -232.5 987.5 189.5 ) ( -225.5 987.5 189.5 ) nodraw_decal 64 64 0 6.5 0 0 lightmap_gray 16383.994 16384.713 912.9892 210.01724 90 0 + ( -226 1022 202 ) ( -233 1022 202 ) ( -233 1080 202 ) nodraw_decal 64 64 0 6.4840932 0 0 lightmap_gray 16383.938 16384.572 913 210.01691 90 0 + ( -225.5 998 473.5 ) ( -225.5 1056 473.5 ) ( -225.5 1056 -121.5 ) bar_chalk -56.500225 12.500007 -1 10.5 0 0 lightmap_gray 16383.99 16384 913 -53.5 0 0 + ( -226 1072.5 472.5 ) ( -233 1072.5 472.5 ) ( -233 1072.5 -122.5 ) nodraw_decal 64 64 0 0 0 0 lightmap_gray 16383.736 -16384 -209.99617 53.516327 180 0 + ( -233 1056 473.5 ) ( -233 998 473.5 ) ( -233 998 -121.5 ) nodraw_decal 64 64 -6.5 0 0 0 lightmap_gray 16384.469 16384 913 -53.5 0 0 + ( -233 1016 472.5 ) ( -226 1016 472.5 ) ( -226 1016 -122.5 ) nodraw_decal 64 64 0 0 0 0 lightmap_gray 16383.828 -16384 -209.99744 53.5 180 0 +} +} +// entity 1 +// entity 2 +// entity 3 +// entity 4 +// entity 5 +// entity 6 +// entity 7 +// entity 8 +// entity 9 +// entity 10 +// entity 11 +// entity 12 +// entity 13 +// entity 14 +// entity 15 +// entity 16 +// entity 17 +// entity 18 +// entity 19 +// entity 20 +// entity 21 +// entity 22 +// entity 23 +// entity 24 +// entity 25 +// entity 26 +// entity 27 +// entity 28 +// entity 29 +// entity 30 +// entity 31 +// entity 32 +// entity 33 +// entity 34 +// entity 35 +// entity 36 +// entity 37 +// entity 38 +// entity 39 +// entity 40 +// entity 41 +// entity 42 +// entity 43 +// entity 44 +// entity 45 +// entity 46 +// entity 47 +// entity 48 +// entity 49 +// entity 50 +// entity 51 +// entity 52 +// entity 53 +// entity 54 +// entity 55 +// entity 56 +// entity 57 +// entity 58 +// entity 59 +// entity 60 +// entity 61 +// entity 62 +// entity 63 +// entity 64 +// entity 65 +// entity 66 +// entity 67 +// entity 68 +// entity 69 +// entity 70 +// entity 71 +// entity 72 +// entity 73 +// entity 74 +// entity 75 +// entity 76 +// entity 77 +// entity 78 +// entity 79 +// entity 80 +// entity 81 +// entity 82 +// entity 83 +// entity 84 +// entity 85 +// entity 86 +// entity 87 +// entity 88 +// entity 89 +// entity 90 +// entity 91 +// entity 92 +// entity 93 +// entity 94 +// entity 95 +// entity 96 +// entity 97 +// entity 98 +// entity 99 +// entity 100 +// entity 101 +// entity 102 +// entity 103 +// entity 104 +// entity 105 +// entity 106 +// entity 107 +// entity 108 +// entity 109 +// entity 110 +// entity 111 +// entity 112 +// entity 113 +// entity 114 +// entity 115 +// entity 116 +// entity 117 +// entity 118 +// entity 119 +// entity 120 +// entity 121 +// entity 122 +// entity 123 +// entity 124 +// entity 125 +// entity 126 +// entity 127 +// entity 128 +// entity 129 +// entity 130 +// entity 131 +// entity 132 +// entity 133 +// entity 134 +// entity 135 +// entity 136 +// entity 137 +// entity 138 +// entity 139 +// entity 140 +// entity 141 +// entity 142 +// entity 143 +// entity 144 +// entity 145 +// entity 146 +// entity 147 +// entity 148 +// entity 149 +// entity 150 +// entity 151 +// entity 152 +// entity 153 +// entity 154 +// entity 155 +// entity 156 +// entity 157 +// entity 158 +// entity 159 +// entity 160 +// entity 161 +// entity 162 +// entity 163 +// entity 164 +// entity 165 +// entity 166 +// entity 167 +// entity 168 +// entity 169 +// entity 170 +// entity 171 +// entity 172 +// entity 173 +// entity 174 +// entity 175 +// entity 176 +// entity 177 +// entity 178 +// entity 179 +// entity 180 +// entity 181 +// entity 182 +// entity 183 +// entity 184 +// entity 185 +// entity 186 +// entity 187 +// entity 188 +// entity 189 +// entity 190 +// entity 191 +// entity 192 +// entity 193 +// entity 194 +// entity 195 +// entity 196 +// entity 197 +// entity 198 +// entity 199 +// entity 200 +// entity 201 +// entity 202 +// entity 203 +// entity 204 +// entity 205 +// entity 206 +// entity 207 +// entity 208 +// entity 209 +// entity 210 +// entity 211 +// entity 212 +// entity 213 +// entity 214 +// entity 215 +// entity 216 +// entity 217 +// entity 218 +// entity 219 +// entity 220 +// entity 221 +// entity 222 +// entity 223 +// entity 224 +// entity 225 +// entity 226 +// entity 227 +// entity 228 +// entity 229 +// entity 230 +// entity 231 +// entity 232 +// entity 233 +// entity 234 +// entity 235 +// entity 236 +// entity 237 +// entity 238 +// entity 239 +// entity 240 +// entity 241 +// entity 242 +// entity 243 +// entity 244 +// entity 245 +// entity 246 +// entity 247 +// entity 248 +// entity 249 +// entity 250 +// entity 251 +// entity 252 +// entity 253 +// entity 254 +// entity 255 +// entity 256 +// entity 257 +// entity 258 +// entity 259 +// entity 260 +// entity 261 +// entity 262 +// entity 263 +// entity 264 +// entity 265 +// entity 266 +// entity 267 +// entity 268 +// entity 269 +// entity 270 +// entity 271 +// entity 272 +// entity 273 +// entity 274 +// entity 275 +// entity 276 +// entity 277 +// entity 278 +// entity 279 +// entity 280 +// entity 281 +// entity 282 +// entity 283 +// entity 284 +// entity 285 +// entity 286 +// entity 287 +// entity 288 +// entity 289 +// entity 290 +// entity 291 +// entity 292 +// entity 293 +// entity 294 +// entity 295 +// entity 296 +// entity 297 +// entity 298 +// entity 299 +// entity 300 +// entity 301 +// entity 302 +// entity 303 +// entity 304 +// entity 305 +// entity 306 +// entity 307 +// entity 308 +// entity 309 +// entity 310 +// entity 311 +// entity 312 +// entity 313 +// entity 314 +// entity 315 +// entity 316 +// entity 317 +// entity 318 +// entity 319 +// entity 320 +// entity 321 +// entity 322 +// entity 323 +// entity 324 +// entity 325 +// entity 326 +// entity 327 +// entity 328 +// entity 329 +// entity 330 +// entity 331 +// entity 332 +// entity 333 +// entity 334 +// entity 335 +// entity 336 +// entity 337 +// entity 338 +// entity 339 +// entity 340 +// entity 341 +// entity 342 +// entity 343 +// entity 344 +// entity 345 +// entity 346 +// entity 347 +// entity 348 +// entity 349 +// entity 350 +// entity 351 +// entity 352 +// entity 353 +// entity 354 +// entity 355 +// entity 356 +// entity 357 +// entity 358 +// entity 359 +// entity 360 +// entity 361 +// entity 362 +// entity 363 +// entity 364 +// entity 365 +// entity 366 +// entity 367 +// entity 368 +// entity 369 +// entity 370 +// entity 371 +// entity 372 +// entity 373 +// entity 374 +// entity 375 +// entity 376 +// entity 377 +// entity 378 +// entity 379 +// entity 380 +// entity 381 +{ +"script_ammo_clip" "750" +"target" "auto38" +"zombie_cost" "1500" +"zombie_weapon_upgrade" "bar" +"targetname" "weapon_upgrade" +"classname" "trigger_use" +// brush 0 +{ + ( -222 1055.5 190.5 ) ( -224.5 1056 190.5 ) ( -225 1028.5 190.5 ) trigger 64.047424 64.014336 491.81674 6555.3823 178.75 0.0021233477 lightmap_gray 16414.965 16385.383 491.07117 6553.1265 178.39221 -0.004682254 + ( -222.5 1028.5 201.5 ) ( -225 1028.5 201.5 ) ( -224.5 1056 201.5 ) trigger 64.051331 63.987301 491.13187 6552.1831 178.54523 -0.0019426718 lightmap_gray 16396.463 16385.211 490.17816 6554.3931 178.724 0.00078393187 + ( -222.5 1071 192 ) ( -222.5 1071 200 ) ( -225 1071 200 ) trigger 64.032921 -64 466.81787 97.755257 180 0 lightmap_gray 16390.816 -16383.906 466.7095 97.756485 180 0 + ( -225 1056 193.5 ) ( -225 1056 201.5 ) ( -225 1028.5 201.5 ) trigger 64 -64 -6559.3457 97.668297 180 0.00012170764 lightmap_gray 16386.924 -16384.031 -6560.2163 97.668991 180 0.00012170788 + ( -225 1018 192.5 ) ( -225 1018 200.5 ) ( -222.5 1018 200.5 ) trigger 64.006912 -64 467.30853 97.690727 -180 0 lightmap_gray 16379.724 -16384 467.17865 97.690727 180 0 + ( -222.5 1056 201.5 ) ( -222.5 1056 193.5 ) ( -222.5 1028.5 193.5 ) trigger 64 -64 -6559.167 97.680328 180 -0.00030517578 lightmap_gray 16370.088 -16384 -6554.5142 97.680328 180 0.00024414063 +} +} +// entity 382 +{ +"origin" "-224.0 1041.5 198.0" +"angles" "0 90 0" +"model" "weapon_usa_bar_bipod_lmg" +"classname" "script_model" +"targetname" "auto38" +} +// entity 383 +// entity 384 +// entity 385 +// entity 386 +// entity 387 +// entity 388 +// entity 389 +// entity 390 +// entity 391 +// entity 392 +// entity 393 +// entity 394 +// entity 395 +// entity 396 +// entity 397 +// entity 398 +// entity 399 +// entity 400 +// entity 401 +// entity 402 +// entity 403 +// entity 404 +// entity 405 +// entity 406 +// entity 407 +// entity 408 +// entity 409 +// entity 410 +// entity 411 +// entity 412 +// entity 413 +// entity 414 +// entity 415 +// entity 416 +// entity 417 +// entity 418 +// entity 419 +// entity 420 +// entity 421 +// entity 422 +// entity 423 +// entity 424 +// entity 425 +// entity 426 +// entity 427 +// entity 428 +// entity 429 +// entity 430 +// entity 431 +// entity 432 +// entity 433 +// entity 434 +// entity 435 +// entity 436 +// entity 437 +// entity 438 +// entity 439 +// entity 440 +// entity 441 +// entity 442 +// entity 443 +// entity 444 +// entity 445 +// entity 446 +// entity 447 +// entity 448 +// entity 449 +// entity 450 +// entity 451 +// entity 452 +// entity 453 +// entity 454 +// entity 455 +// entity 456 +// entity 457 +// entity 458 +// entity 459 +// entity 460 +// entity 461 +// entity 462 +// entity 463 +// entity 464 +// entity 465 +// entity 466 +// entity 467 +// entity 468 +// entity 469 +// entity 470 +// entity 471 +// entity 472 +// entity 473 +// entity 474 +// entity 475 +// entity 476 +// entity 477 +// entity 478 +// entity 479 +// entity 480 +// entity 481 +// entity 482 +// entity 483 +// entity 484 +// entity 485 +// entity 486 +// entity 487 +// entity 488 +// entity 489 +// entity 490 +// entity 491 +// entity 492 +// entity 493 +// entity 494 +// entity 495 +// entity 496 +// entity 497 +// entity 498 +// entity 499 +// entity 500 +// entity 501 +// entity 502 +// entity 503 +// entity 504 +// entity 505 +// entity 506 +// entity 507 +// entity 508 +// entity 509 +// entity 510 +// entity 511 +// entity 512 +// entity 513 +// entity 514 +// entity 515 +// entity 516 +// entity 517 +// entity 518 +// entity 519 +// entity 520 +// entity 521 +// entity 522 +// entity 523 +// entity 524 +// entity 525 +// entity 526 +// entity 527 +// entity 528 +// entity 529 +// entity 530 +// entity 531 +// entity 532 +// entity 533 +// entity 534 +// entity 535 +// entity 536 +// entity 537 +// entity 538 +// entity 539 +// entity 540 +// entity 541 +// entity 542 +// entity 543 +// entity 544 +// entity 545 +// entity 546 +// entity 547 +// entity 548 +// entity 549 +// entity 550 +// entity 551 +// entity 552 +// entity 553 +// entity 554 +// entity 555 +// entity 556 +// entity 557 +// entity 558 +// entity 559 +// entity 560 +// entity 561 +// entity 562 +// entity 563 +// entity 564 +// entity 565 +// entity 566 +// entity 567 +// entity 568 +// entity 569 +// entity 570 +// entity 571 +// entity 572 +// entity 573 +// entity 574 +// entity 575 +// entity 576 +// entity 577 +// entity 578 +// entity 579 +// entity 580 +// entity 581 +// entity 582 +// entity 583 +// entity 584 +// entity 585 +// entity 586 +// entity 587 +// entity 588 +// entity 589 +// entity 590 +// entity 591 +// entity 592 +// entity 593 +// entity 594 +// entity 595 +// entity 596 +// entity 597 +// entity 598 +// entity 599 +// entity 600 +// entity 601 +// entity 602 +// entity 603 +// entity 604 +// entity 605 +// entity 606 +// entity 607 +// entity 608 +// entity 609 +// entity 610 +// entity 611 +// entity 612 +// entity 613 +// entity 614 +// entity 615 +// entity 616 +// entity 617 +// entity 618 +// entity 619 +// entity 620 +// entity 621 +// entity 622 +// entity 623 +// entity 624 +// entity 625 +// entity 626 +// entity 627 +// entity 628 +// entity 629 +// entity 630 +// entity 631 +// entity 632 +// entity 633 +// entity 634 +// entity 635 +// entity 636 +// entity 637 +// entity 638 +// entity 639 +// entity 640 +// entity 641 +// entity 642 +// entity 643 +// entity 644 +// entity 645 +// entity 646 +// entity 647 +// entity 648 +// entity 649 +// entity 650 +// entity 651 +// entity 652 +// entity 653 +// entity 654 +// entity 655 +// entity 656 +// entity 657 +// entity 658 +// entity 659 +// entity 660 +// entity 661 +// entity 662 +// entity 663 +// entity 664 +// entity 665 +// entity 666 +// entity 667 +// entity 668 +// entity 669 +// entity 670 +// entity 671 +// entity 672 +// entity 673 +// entity 674 +// entity 675 +// entity 676 +// entity 677 +// entity 678 +// entity 679 +// entity 680 +// entity 681 +// entity 682 +// entity 683 +// entity 684 +// entity 685 +// entity 686 +// entity 687 +// entity 688 +// entity 689 +// entity 690 +// entity 691 +// entity 692 +// entity 693 +// entity 694 +// entity 695 +// entity 696 +// entity 697 +// entity 698 +// entity 699 +// entity 700 +// entity 701 +// entity 702 +// entity 703 +// entity 704 +// entity 705 +// entity 706 +// entity 707 +// entity 708 +// entity 709 +// entity 710 +// entity 711 +// entity 712 +// entity 713 +// entity 714 +// entity 715 +// entity 716 +// entity 717 +// entity 718 +// entity 719 +// entity 720 +// entity 721 +// entity 722 +// entity 723 +// entity 724 +// entity 725 +// entity 726 +// entity 727 +// entity 728 +// entity 729 +// entity 730 +// entity 731 +// entity 732 +// entity 733 +// entity 734 +// entity 735 +// entity 736 +// entity 737 +// entity 738 +// entity 739 +// entity 740 +// entity 741 +// entity 742 +// entity 743 +// entity 744 +// entity 745 +// entity 746 +// entity 747 +// entity 748 +// entity 749 +// entity 750 +// entity 751 +// entity 752 +// entity 753 +// entity 754 +// entity 755 +// entity 756 +// entity 757 +// entity 758 +// entity 759 +// entity 760 +// entity 761 +// entity 762 +// entity 763 +// entity 764 +// entity 765 +// entity 766 +// entity 767 +// entity 768 +// entity 769 +// entity 770 +// entity 771 +// entity 772 +// entity 773 +// entity 774 +// entity 775 +// entity 776 +// entity 777 +// entity 778 +// entity 779 +// entity 780 +// entity 781 +// entity 782 +// entity 783 +// entity 784 +// entity 785 +// entity 786 +// entity 787 +// entity 788 +// entity 789 +// entity 790 +// entity 791 +// entity 792 +// entity 793 +// entity 794 +// entity 795 +// entity 796 +// entity 797 +// entity 798 +// entity 799 +// entity 800 +// entity 801 +// entity 802 +// entity 803 +// entity 804 +// entity 805 +// entity 806 +// entity 807 +// entity 808 +// entity 809 +// entity 810 +// entity 811 +// entity 812 +// entity 813 +// entity 814 +// entity 815 +// entity 816 +// entity 817 +// entity 818 +// entity 819 +// entity 820 +// entity 821 +// entity 822 +// entity 823 +// entity 824 +// entity 825 +// entity 826 +// entity 827 +// entity 828 +// entity 829 +// entity 830 +// entity 831 +// entity 832 +// entity 833 +// entity 834 +// entity 835 +// entity 836 +// entity 837 +// entity 838 +// entity 839 +// entity 840 +// entity 841 +// entity 842 +// entity 843 +// entity 844 +// entity 845 +// entity 846 +// entity 847 +// entity 848 +// entity 849 +// entity 850 +// entity 851 +// entity 852 +// entity 853 +// entity 854 +// entity 855 +// entity 856 +// entity 857 +// entity 858 +// entity 859 +// entity 860 +// entity 861 +// entity 862 +// entity 863 +// entity 864 +// entity 865 +// entity 866 +// entity 867 +// entity 868 +// entity 869 +// entity 870 +// entity 871 +// entity 872 +// entity 873 +// entity 874 +// entity 875 +// entity 876 +// entity 877 +// entity 878 +// entity 879 +// entity 880 +// entity 881 +// entity 882 +// entity 883 +// entity 884 +// entity 885 +// entity 886 +// entity 887 +// entity 888 +// entity 889 +// entity 890 +// entity 891 +// entity 892 +// entity 893 +// entity 894 +// entity 895 +// entity 896 +// entity 897 +// entity 898 +// entity 899 +// entity 900 +// entity 901 +// entity 902 +// entity 903 +// entity 904 +// entity 905 +// entity 906 +// entity 907 +// entity 908 +// entity 909 +// entity 910 +// entity 911 +// entity 912 +// entity 913 +// entity 914 +// entity 915 +// entity 916 +// entity 917 +// entity 918 +// entity 919 +// entity 920 +// entity 921 +// entity 922 +// entity 923 +// entity 924 +// entity 925 +// entity 926 +// entity 927 +// entity 928 +// entity 929 +// entity 930 +// entity 931 +// entity 932 +// entity 933 +// entity 934 +// entity 935 +// entity 936 +// entity 937 +// entity 938 +// entity 939 +// entity 940 +// entity 941 +// entity 942 +// entity 943 +// entity 944 +// entity 945 +// entity 946 +// entity 947 +// entity 948 +// entity 949 +// entity 950 +// entity 951 +// entity 952 +// entity 953 +// entity 954 +// entity 955 +// entity 956 +// entity 957 +// entity 958 +// entity 959 +// entity 960 +// entity 961 +// entity 962 +// entity 963 +// entity 964 +// entity 965 +// entity 966 +// entity 967 +// entity 968 +// entity 969 +// entity 970 +// entity 971 +// entity 972 +// entity 973 +// entity 974 +// entity 975 +// entity 976 +// entity 977 +// entity 978 +// entity 979 +// entity 980 +// entity 981 +// entity 982 +// entity 983 +// entity 984 +// entity 985 +// entity 986 +// entity 987 +// entity 988 +// entity 989 +// entity 990 +// entity 991 +// entity 992 +// entity 993 +// entity 994 +// entity 995 +// entity 996 +// entity 997 +// entity 998 +// entity 999 +// entity 1000 +// entity 1001 +// entity 1002 +// entity 1003 +// entity 1004 +// entity 1005 +// entity 1006 +// entity 1007 +// entity 1008 +// entity 1009 +// entity 1010 +// entity 1011 +// entity 1012 +// entity 1013 +// entity 1014 +// entity 1015 +// entity 1016 +// entity 1017 +// entity 1018 +// entity 1019 +// entity 1020 +// entity 1021 +// entity 1022 +// entity 1023 +// entity 1024 +// entity 1025 +// entity 1026 +// entity 1027 +// entity 1028 +// entity 1029 +// entity 1030 +// entity 1031 +// entity 1032 +// entity 1033 +// entity 1034 +// entity 1035 +// entity 1036 +// entity 1037 +// entity 1038 +// entity 1039 +// entity 1040 +// entity 1041 +// entity 1042 +// entity 1043 +// entity 1044 +// entity 1045 +// entity 1046 +// entity 1047 +// entity 1048 +// entity 1049 +// entity 1050 +// entity 1051 +// entity 1052 +// entity 1053 +// entity 1054 +// entity 1055 +// entity 1056 +// entity 1057 +// entity 1058 +// entity 1059 +// entity 1060 +// entity 1061 +// entity 1062 +// entity 1063 +// entity 1064 +// entity 1065 +// entity 1066 +// entity 1067 +// entity 1068 +// entity 1069 +// entity 1070 +// entity 1071 +// entity 1072 +// entity 1073 +// entity 1074 +// entity 1075 +// entity 1076 +// entity 1077 +// entity 1078 +// entity 1079 +// entity 1080 +// entity 1081 +// entity 1082 +// entity 1083 +// entity 1084 +// entity 1085 +// entity 1086 +// entity 1087 +// entity 1088 +// entity 1089 +// entity 1090 +// entity 1091 +// entity 1092 +// entity 1093 +// entity 1094 +// entity 1095 +// entity 1096 +// entity 1097 +// entity 1098 +// entity 1099 +// entity 1100 +// entity 1101 +// entity 1102 +// entity 1103 +// entity 1104 +// entity 1105 +// entity 1106 +// entity 1107 +// entity 1108 +// entity 1109 +// entity 1110 +// entity 1111 +// entity 1112 +// entity 1113 +// entity 1114 +// entity 1115 +// entity 1116 +// entity 1117 +// entity 1118 +// entity 1119 +// entity 1120 +// entity 1121 +// entity 1122 +// entity 1123 +// entity 1124 +// entity 1125 +// entity 1126 +// entity 1127 +// entity 1128 +// entity 1129 +// entity 1130 +// entity 1131 +// entity 1132 +// entity 1133 +// entity 1134 +// entity 1135 +// entity 1136 +// entity 1137 +// entity 1138 +// entity 1139 +// entity 1140 +// entity 1141 +// entity 1142 +// entity 1143 +// entity 1144 +// entity 1145 +// entity 1146 +// entity 1147 +// entity 1148 +// entity 1149 +// entity 1150 +// entity 1151 +// entity 1152 +// entity 1153 +// entity 1154 +// entity 1155 +// entity 1156 +// entity 1157 +// entity 1158 +// entity 1159 +// entity 1160 +// entity 1161 +// entity 1162 +// entity 1163 +// entity 1164 +// entity 1165 +// entity 1166 +// entity 1167 +// entity 1168 +// entity 1169 +// entity 1170 +// entity 1171 +// entity 1172 +// entity 1173 +// entity 1174 +// entity 1175 +// entity 1176 +// entity 1177 +// entity 1178 +// entity 1179 +// entity 1180 +// entity 1181 +// entity 1182 +// entity 1183 +// entity 1184 +// entity 1185 +// entity 1186 +// entity 1187 +// entity 1188 +// entity 1189 +// entity 1190 +// entity 1191 +// entity 1192 +// entity 1193 +// entity 1194 +// entity 1195 +// entity 1196 +// entity 1197 +// entity 1198 +// entity 1199 +// entity 1200 +// entity 1201 +// entity 1202 +// entity 1203 +// entity 1204 +// entity 1205 +// entity 1206 +// entity 1207 +// entity 1208 +// entity 1209 +// entity 1210 +// entity 1211 +// entity 1212 +// entity 1213 +// entity 1214 +// entity 1215 +// entity 1216 +// entity 1217 +// entity 1218 +// entity 1219 +// entity 1220 +// entity 1221 +// entity 1222 +// entity 1223 +// entity 1224 +// entity 1225 +// entity 1226 +// entity 1227 +// entity 1228 +// entity 1229 +// entity 1230 +// entity 1231 +// entity 1232 +// entity 1233 +// entity 1234 +// entity 1235 +// entity 1236 +// entity 1237 +// entity 1238 +// entity 1239 +// entity 1240 +// entity 1241 +// entity 1242 +// entity 1243 +// entity 1244 +// entity 1245 +// entity 1246 +// entity 1247 +// entity 1248 +// entity 1249 +// entity 1250 +// entity 1251 +// entity 1252 +// entity 1253 +// entity 1254 +// entity 1255 diff --git a/map_source/_prefabs/zombiemode/weapon_carbine.map b/map_source/_prefabs/zombiemode/weapon_carbine.map new file mode 100644 index 000000000..4e48380be --- /dev/null +++ b/map_source/_prefabs/zombiemode/weapon_carbine.map @@ -0,0 +1,1307 @@ +iwmap 4 +// entity 0 +{ +"reflection_color_correction" "zombie" +"skyboxmodel" "skybox_zombie" +"sunisprimarylight" "1" +"bouncefraction" "0.3" +"contrastgain" "0.35" +"_color" "0.5 0.5 0.7" +"ambient" "0.1" +"sundiffusecolor" "0.25 0.55 0.8" +"diffusefraction" "0.15" +"classname" "worldspawn" +"sundirection" "-150 17 0" +"suncolor" "0.64 0.85 1" +"sunlight" "0.75" +// brush 0 +{ + ( -104.5 -396 53.5 ) ( -104.5 -454 53.5 ) ( -97.5 -454 53.5 ) nodraw_decal 64 64 -475.01563 338.50388 90 0 lightmap_gray 16383.982 16384.432 -527.99091 338.51443 90 0 + ( -97.5 -420 66 ) ( -104.5 -420 66 ) ( -104.5 -362 66 ) nodraw_decal 64 64 -474.99225 338.61377 90 0 lightmap_gray 16384.279 16384.145 -527.96729 338.51025 90 0 + ( -97 -443 337 ) ( -97 -385 337 ) ( -97 -385 -258 ) m1carbine_chalk 52.5 12.5 -1276.5045 9 0 0 lightmap_gray 16384.031 16384 -528 83 0 0 + ( -97 -384 336.5 ) ( -104 -384 336.5 ) ( -104 -384 -258.5 ) nodraw_decal 64 -64 -338.45633 -9.4639015 180 0 lightmap_gray 16383.26 -16384 -338.48367 -82.972542 180 0 + ( -104.5 -385 337 ) ( -104.5 -443 337 ) ( -104.5 -443 -258 ) nodraw_decal 64 64 -475 9.5 0 0 lightmap_gray 16384.031 16384 -528 83 0 0 + ( -104.5 -436.5 337 ) ( -97.5 -436.5 337 ) ( -97.5 -436.5 -258 ) nodraw_decal 64 -64 -338.55212 -9.4755888 180 0 lightmap_gray 16386.832 -16384 -338.57748 -82.996315 180 0 +} +} +// entity 1 +// entity 2 +// entity 3 +// entity 4 +// entity 5 +// entity 6 +// entity 7 +// entity 8 +// entity 9 +// entity 10 +// entity 11 +// entity 12 +// entity 13 +// entity 14 +// entity 15 +// entity 16 +// entity 17 +// entity 18 +// entity 19 +// entity 20 +// entity 21 +// entity 22 +// entity 23 +// entity 24 +// entity 25 +// entity 26 +// entity 27 +// entity 28 +// entity 29 +// entity 30 +// entity 31 +// entity 32 +// entity 33 +// entity 34 +// entity 35 +// entity 36 +// entity 37 +// entity 38 +// entity 39 +// entity 40 +// entity 41 +// entity 42 +// entity 43 +// entity 44 +// entity 45 +// entity 46 +// entity 47 +// entity 48 +// entity 49 +// entity 50 +// entity 51 +// entity 52 +// entity 53 +// entity 54 +// entity 55 +// entity 56 +// entity 57 +// entity 58 +// entity 59 +// entity 60 +// entity 61 +// entity 62 +// entity 63 +// entity 64 +// entity 65 +// entity 66 +// entity 67 +// entity 68 +// entity 69 +// entity 70 +// entity 71 +// entity 72 +// entity 73 +// entity 74 +// entity 75 +// entity 76 +// entity 77 +// entity 78 +// entity 79 +// entity 80 +// entity 81 +// entity 82 +// entity 83 +// entity 84 +// entity 85 +// entity 86 +// entity 87 +// entity 88 +// entity 89 +// entity 90 +// entity 91 +// entity 92 +// entity 93 +// entity 94 +// entity 95 +// entity 96 +// entity 97 +// entity 98 +// entity 99 +// entity 100 +// entity 101 +// entity 102 +// entity 103 +// entity 104 +// entity 105 +// entity 106 +// entity 107 +// entity 108 +// entity 109 +// entity 110 +// entity 111 +// entity 112 +// entity 113 +// entity 114 +// entity 115 +// entity 116 +// entity 117 +// entity 118 +// entity 119 +// entity 120 +// entity 121 +// entity 122 +// entity 123 +// entity 124 +// entity 125 +// entity 126 +// entity 127 +// entity 128 +// entity 129 +// entity 130 +// entity 131 +// entity 132 +// entity 133 +// entity 134 +// entity 135 +// entity 136 +// entity 137 +// entity 138 +// entity 139 +// entity 140 +// entity 141 +// entity 142 +// entity 143 +// entity 144 +// entity 145 +// entity 146 +// entity 147 +// entity 148 +// entity 149 +// entity 150 +// entity 151 +// entity 152 +// entity 153 +// entity 154 +// entity 155 +// entity 156 +// entity 157 +// entity 158 +// entity 159 +// entity 160 +// entity 161 +// entity 162 +// entity 163 +// entity 164 +// entity 165 +// entity 166 +// entity 167 +// entity 168 +// entity 169 +// entity 170 +// entity 171 +// entity 172 +// entity 173 +// entity 174 +// entity 175 +// entity 176 +// entity 177 +// entity 178 +// entity 179 +// entity 180 +// entity 181 +// entity 182 +// entity 183 +// entity 184 +// entity 185 +// entity 186 +// entity 187 +// entity 188 +// entity 189 +// entity 190 +// entity 191 +// entity 192 +// entity 193 +// entity 194 +// entity 195 +// entity 196 +// entity 197 +// entity 198 +// entity 199 +// entity 200 +// entity 201 +// entity 202 +// entity 203 +// entity 204 +// entity 205 +// entity 206 +// entity 207 +// entity 208 +// entity 209 +// entity 210 +// entity 211 +// entity 212 +// entity 213 +// entity 214 +// entity 215 +// entity 216 +// entity 217 +// entity 218 +// entity 219 +// entity 220 +// entity 221 +// entity 222 +// entity 223 +// entity 224 +// entity 225 +// entity 226 +// entity 227 +// entity 228 +// entity 229 +// entity 230 +// entity 231 +// entity 232 +// entity 233 +// entity 234 +// entity 235 +// entity 236 +// entity 237 +// entity 238 +// entity 239 +// entity 240 +// entity 241 +// entity 242 +// entity 243 +// entity 244 +// entity 245 +// entity 246 +// entity 247 +// entity 248 +// entity 249 +// entity 250 +// entity 251 +// entity 252 +// entity 253 +// entity 254 +// entity 255 +// entity 256 +// entity 257 +// entity 258 +// entity 259 +// entity 260 +// entity 261 +// entity 262 +// entity 263 +// entity 264 +// entity 265 +// entity 266 +// entity 267 +// entity 268 +// entity 269 +// entity 270 +// entity 271 +// entity 272 +// entity 273 +// entity 274 +// entity 275 +// entity 276 +// entity 277 +// entity 278 +// entity 279 +// entity 280 +// entity 281 +// entity 282 +// entity 283 +// entity 284 +// entity 285 +// entity 286 +// entity 287 +// entity 288 +// entity 289 +// entity 290 +// entity 291 +// entity 292 +// entity 293 +// entity 294 +// entity 295 +// entity 296 +// entity 297 +// entity 298 +// entity 299 +// entity 300 +// entity 301 +// entity 302 +// entity 303 +// entity 304 +// entity 305 +// entity 306 +// entity 307 +// entity 308 +// entity 309 +// entity 310 +// entity 311 +// entity 312 +// entity 313 +// entity 314 +// entity 315 +// entity 316 +// entity 317 +// entity 318 +// entity 319 +// entity 320 +// entity 321 +// entity 322 +// entity 323 +// entity 324 +// entity 325 +// entity 326 +// entity 327 +// entity 328 +// entity 329 +// entity 330 +// entity 331 +// entity 332 +// entity 333 +// entity 334 +// entity 335 +// entity 336 +// entity 337 +// entity 338 +// entity 339 +// entity 340 +// entity 341 +// entity 342 +// entity 343 +// entity 344 +// entity 345 +// entity 346 +// entity 347 +// entity 348 +// entity 349 +// entity 350 +// entity 351 +// entity 352 +// entity 353 +// entity 354 +// entity 355 +// entity 356 +// entity 357 +// entity 358 +// entity 359 +// entity 360 +// entity 361 +// entity 362 +// entity 363 +// entity 364 +// entity 365 +// entity 366 +// entity 367 +// entity 368 +// entity 369 +// entity 370 +// entity 371 +// entity 372 +// entity 373 +// entity 374 +// entity 375 +// entity 376 +// entity 377 +// entity 378 +// entity 379 +// entity 380 +// entity 381 +{ +"script_ammo_clip" "200" +"target" "auto39" +"zombie_cost" "400" +"zombie_weapon_upgrade" "m1carbine" +"targetname" "weapon_upgrade" +"classname" "trigger_use" +// brush 0 +{ + ( -95.5 -428 50.5 ) ( -93 -428.5 50.5 ) ( -92.5 -401 50.5 ) trigger 64.070549 64.017197 159.23798 5935.9653 -1.2851167 0.0012449846 lightmap_gray 16416.984 16384.459 159.02748 5935.1548 -1.75 -0.0069653252 + ( -95 -400.5 66.5 ) ( -92.5 -400.5 66.5 ) ( -93 -428 66.5 ) trigger 64.066528 63.990067 159.09639 5933.8203 -1.5217576 -0.0031856245 lightmap_gray 16400.445 16385.441 158.37141 5934.7559 -1.3207942 5.1835352e-005 + ( -96 -436.5 53.5 ) ( -96 -436.5 61.5 ) ( -93.5 -436.5 61.5 ) trigger 64.043587 64 149.35773 39.260235 0 0 lightmap_gray 16394.773 16383.938 149.26804 39.231136 0 0 + ( -92.5 -425 56.5 ) ( -92.5 -425 64.5 ) ( -92.5 -397.5 64.5 ) trigger 64 64 -5932.2695 39.329704 0 0.00042609076 lightmap_gray 16391.551 16383.969 -5934.7588 39.330082 0 0.0002421629 + ( -92.5 -387.5 56 ) ( -92.5 -387.5 64 ) ( -95 -387.5 64 ) trigger 64.018806 64 149.85358 39.309418 0 0 lightmap_gray 16376.172 16384 149.62682 39.309418 0 0 + ( -95 -429 64.5 ) ( -95 -429 56.5 ) ( -95 -401.5 56.5 ) trigger 63.996216 64 -5931.8184 39.321251 0 -0.00048828125 lightmap_gray 16377.998 16384 -5930.1421 39.321251 0 0.00036621094 +} +} +// entity 382 +// entity 383 +// entity 384 +{ +"targetname" "auto39" +"classname" "script_model" +"model" "weapon_usa_m1carbine_rifle" +"angles" "0 270 0" +"origin" "-96.5 -414.0 62.0" +} +// entity 385 +// entity 386 +// entity 387 +// entity 388 +// entity 389 +// entity 390 +// entity 391 +// entity 392 +// entity 393 +// entity 394 +// entity 395 +// entity 396 +// entity 397 +// entity 398 +// entity 399 +// entity 400 +// entity 401 +// entity 402 +// entity 403 +// entity 404 +// entity 405 +// entity 406 +// entity 407 +// entity 408 +// entity 409 +// entity 410 +// entity 411 +// entity 412 +// entity 413 +// entity 414 +// entity 415 +// entity 416 +// entity 417 +// entity 418 +// entity 419 +// entity 420 +// entity 421 +// entity 422 +// entity 423 +// entity 424 +// entity 425 +// entity 426 +// entity 427 +// entity 428 +// entity 429 +// entity 430 +// entity 431 +// entity 432 +// entity 433 +// entity 434 +// entity 435 +// entity 436 +// entity 437 +// entity 438 +// entity 439 +// entity 440 +// entity 441 +// entity 442 +// entity 443 +// entity 444 +// entity 445 +// entity 446 +// entity 447 +// entity 448 +// entity 449 +// entity 450 +// entity 451 +// entity 452 +// entity 453 +// entity 454 +// entity 455 +// entity 456 +// entity 457 +// entity 458 +// entity 459 +// entity 460 +// entity 461 +// entity 462 +// entity 463 +// entity 464 +// entity 465 +// entity 466 +// entity 467 +// entity 468 +// entity 469 +// entity 470 +// entity 471 +// entity 472 +// entity 473 +// entity 474 +// entity 475 +// entity 476 +// entity 477 +// entity 478 +// entity 479 +// entity 480 +// entity 481 +// entity 482 +// entity 483 +// entity 484 +// entity 485 +// entity 486 +// entity 487 +// entity 488 +// entity 489 +// entity 490 +// entity 491 +// entity 492 +// entity 493 +// entity 494 +// entity 495 +// entity 496 +// entity 497 +// entity 498 +// entity 499 +// entity 500 +// entity 501 +// entity 502 +// entity 503 +// entity 504 +// entity 505 +// entity 506 +// entity 507 +// entity 508 +// entity 509 +// entity 510 +// entity 511 +// entity 512 +// entity 513 +// entity 514 +// entity 515 +// entity 516 +// entity 517 +// entity 518 +// entity 519 +// entity 520 +// entity 521 +// entity 522 +// entity 523 +// entity 524 +// entity 525 +// entity 526 +// entity 527 +// entity 528 +// entity 529 +// entity 530 +// entity 531 +// entity 532 +// entity 533 +// entity 534 +// entity 535 +// entity 536 +// entity 537 +// entity 538 +// entity 539 +// entity 540 +// entity 541 +// entity 542 +// entity 543 +// entity 544 +// entity 545 +// entity 546 +// entity 547 +// entity 548 +// entity 549 +// entity 550 +// entity 551 +// entity 552 +// entity 553 +// entity 554 +// entity 555 +// entity 556 +// entity 557 +// entity 558 +// entity 559 +// entity 560 +// entity 561 +// entity 562 +// entity 563 +// entity 564 +// entity 565 +// entity 566 +// entity 567 +// entity 568 +// entity 569 +// entity 570 +// entity 571 +// entity 572 +// entity 573 +// entity 574 +// entity 575 +// entity 576 +// entity 577 +// entity 578 +// entity 579 +// entity 580 +// entity 581 +// entity 582 +// entity 583 +// entity 584 +// entity 585 +// entity 586 +// entity 587 +// entity 588 +// entity 589 +// entity 590 +// entity 591 +// entity 592 +// entity 593 +// entity 594 +// entity 595 +// entity 596 +// entity 597 +// entity 598 +// entity 599 +// entity 600 +// entity 601 +// entity 602 +// entity 603 +// entity 604 +// entity 605 +// entity 606 +// entity 607 +// entity 608 +// entity 609 +// entity 610 +// entity 611 +// entity 612 +// entity 613 +// entity 614 +// entity 615 +// entity 616 +// entity 617 +// entity 618 +// entity 619 +// entity 620 +// entity 621 +// entity 622 +// entity 623 +// entity 624 +// entity 625 +// entity 626 +// entity 627 +// entity 628 +// entity 629 +// entity 630 +// entity 631 +// entity 632 +// entity 633 +// entity 634 +// entity 635 +// entity 636 +// entity 637 +// entity 638 +// entity 639 +// entity 640 +// entity 641 +// entity 642 +// entity 643 +// entity 644 +// entity 645 +// entity 646 +// entity 647 +// entity 648 +// entity 649 +// entity 650 +// entity 651 +// entity 652 +// entity 653 +// entity 654 +// entity 655 +// entity 656 +// entity 657 +// entity 658 +// entity 659 +// entity 660 +// entity 661 +// entity 662 +// entity 663 +// entity 664 +// entity 665 +// entity 666 +// entity 667 +// entity 668 +// entity 669 +// entity 670 +// entity 671 +// entity 672 +// entity 673 +// entity 674 +// entity 675 +// entity 676 +// entity 677 +// entity 678 +// entity 679 +// entity 680 +// entity 681 +// entity 682 +// entity 683 +// entity 684 +// entity 685 +// entity 686 +// entity 687 +// entity 688 +// entity 689 +// entity 690 +// entity 691 +// entity 692 +// entity 693 +// entity 694 +// entity 695 +// entity 696 +// entity 697 +// entity 698 +// entity 699 +// entity 700 +// entity 701 +// entity 702 +// entity 703 +// entity 704 +// entity 705 +// entity 706 +// entity 707 +// entity 708 +// entity 709 +// entity 710 +// entity 711 +// entity 712 +// entity 713 +// entity 714 +// entity 715 +// entity 716 +// entity 717 +// entity 718 +// entity 719 +// entity 720 +// entity 721 +// entity 722 +// entity 723 +// entity 724 +// entity 725 +// entity 726 +// entity 727 +// entity 728 +// entity 729 +// entity 730 +// entity 731 +// entity 732 +// entity 733 +// entity 734 +// entity 735 +// entity 736 +// entity 737 +// entity 738 +// entity 739 +// entity 740 +// entity 741 +// entity 742 +// entity 743 +// entity 744 +// entity 745 +// entity 746 +// entity 747 +// entity 748 +// entity 749 +// entity 750 +// entity 751 +// entity 752 +// entity 753 +// entity 754 +// entity 755 +// entity 756 +// entity 757 +// entity 758 +// entity 759 +// entity 760 +// entity 761 +// entity 762 +// entity 763 +// entity 764 +// entity 765 +// entity 766 +// entity 767 +// entity 768 +// entity 769 +// entity 770 +// entity 771 +// entity 772 +// entity 773 +// entity 774 +// entity 775 +// entity 776 +// entity 777 +// entity 778 +// entity 779 +// entity 780 +// entity 781 +// entity 782 +// entity 783 +// entity 784 +// entity 785 +// entity 786 +// entity 787 +// entity 788 +// entity 789 +// entity 790 +// entity 791 +// entity 792 +// entity 793 +// entity 794 +// entity 795 +// entity 796 +// entity 797 +// entity 798 +// entity 799 +// entity 800 +// entity 801 +// entity 802 +// entity 803 +// entity 804 +// entity 805 +// entity 806 +// entity 807 +// entity 808 +// entity 809 +// entity 810 +// entity 811 +// entity 812 +// entity 813 +// entity 814 +// entity 815 +// entity 816 +// entity 817 +// entity 818 +// entity 819 +// entity 820 +// entity 821 +// entity 822 +// entity 823 +// entity 824 +// entity 825 +// entity 826 +// entity 827 +// entity 828 +// entity 829 +// entity 830 +// entity 831 +// entity 832 +// entity 833 +// entity 834 +// entity 835 +// entity 836 +// entity 837 +// entity 838 +// entity 839 +// entity 840 +// entity 841 +// entity 842 +// entity 843 +// entity 844 +// entity 845 +// entity 846 +// entity 847 +// entity 848 +// entity 849 +// entity 850 +// entity 851 +// entity 852 +// entity 853 +// entity 854 +// entity 855 +// entity 856 +// entity 857 +// entity 858 +// entity 859 +// entity 860 +// entity 861 +// entity 862 +// entity 863 +// entity 864 +// entity 865 +// entity 866 +// entity 867 +// entity 868 +// entity 869 +// entity 870 +// entity 871 +// entity 872 +// entity 873 +// entity 874 +// entity 875 +// entity 876 +// entity 877 +// entity 878 +// entity 879 +// entity 880 +// entity 881 +// entity 882 +// entity 883 +// entity 884 +// entity 885 +// entity 886 +// entity 887 +// entity 888 +// entity 889 +// entity 890 +// entity 891 +// entity 892 +// entity 893 +// entity 894 +// entity 895 +// entity 896 +// entity 897 +// entity 898 +// entity 899 +// entity 900 +// entity 901 +// entity 902 +// entity 903 +// entity 904 +// entity 905 +// entity 906 +// entity 907 +// entity 908 +// entity 909 +// entity 910 +// entity 911 +// entity 912 +// entity 913 +// entity 914 +// entity 915 +// entity 916 +// entity 917 +// entity 918 +// entity 919 +// entity 920 +// entity 921 +// entity 922 +// entity 923 +// entity 924 +// entity 925 +// entity 926 +// entity 927 +// entity 928 +// entity 929 +// entity 930 +// entity 931 +// entity 932 +// entity 933 +// entity 934 +// entity 935 +// entity 936 +// entity 937 +// entity 938 +// entity 939 +// entity 940 +// entity 941 +// entity 942 +// entity 943 +// entity 944 +// entity 945 +// entity 946 +// entity 947 +// entity 948 +// entity 949 +// entity 950 +// entity 951 +// entity 952 +// entity 953 +// entity 954 +// entity 955 +// entity 956 +// entity 957 +// entity 958 +// entity 959 +// entity 960 +// entity 961 +// entity 962 +// entity 963 +// entity 964 +// entity 965 +// entity 966 +// entity 967 +// entity 968 +// entity 969 +// entity 970 +// entity 971 +// entity 972 +// entity 973 +// entity 974 +// entity 975 +// entity 976 +// entity 977 +// entity 978 +// entity 979 +// entity 980 +// entity 981 +// entity 982 +// entity 983 +// entity 984 +// entity 985 +// entity 986 +// entity 987 +// entity 988 +// entity 989 +// entity 990 +// entity 991 +// entity 992 +// entity 993 +// entity 994 +// entity 995 +// entity 996 +// entity 997 +// entity 998 +// entity 999 +// entity 1000 +// entity 1001 +// entity 1002 +// entity 1003 +// entity 1004 +// entity 1005 +// entity 1006 +// entity 1007 +// entity 1008 +// entity 1009 +// entity 1010 +// entity 1011 +// entity 1012 +// entity 1013 +// entity 1014 +// entity 1015 +// entity 1016 +// entity 1017 +// entity 1018 +// entity 1019 +// entity 1020 +// entity 1021 +// entity 1022 +// entity 1023 +// entity 1024 +// entity 1025 +// entity 1026 +// entity 1027 +// entity 1028 +// entity 1029 +// entity 1030 +// entity 1031 +// entity 1032 +// entity 1033 +// entity 1034 +// entity 1035 +// entity 1036 +// entity 1037 +// entity 1038 +// entity 1039 +// entity 1040 +// entity 1041 +// entity 1042 +// entity 1043 +// entity 1044 +// entity 1045 +// entity 1046 +// entity 1047 +// entity 1048 +// entity 1049 +// entity 1050 +// entity 1051 +// entity 1052 +// entity 1053 +// entity 1054 +// entity 1055 +// entity 1056 +// entity 1057 +// entity 1058 +// entity 1059 +// entity 1060 +// entity 1061 +// entity 1062 +// entity 1063 +// entity 1064 +// entity 1065 +// entity 1066 +// entity 1067 +// entity 1068 +// entity 1069 +// entity 1070 +// entity 1071 +// entity 1072 +// entity 1073 +// entity 1074 +// entity 1075 +// entity 1076 +// entity 1077 +// entity 1078 +// entity 1079 +// entity 1080 +// entity 1081 +// entity 1082 +// entity 1083 +// entity 1084 +// entity 1085 +// entity 1086 +// entity 1087 +// entity 1088 +// entity 1089 +// entity 1090 +// entity 1091 +// entity 1092 +// entity 1093 +// entity 1094 +// entity 1095 +// entity 1096 +// entity 1097 +// entity 1098 +// entity 1099 +// entity 1100 +// entity 1101 +// entity 1102 +// entity 1103 +// entity 1104 +// entity 1105 +// entity 1106 +// entity 1107 +// entity 1108 +// entity 1109 +// entity 1110 +// entity 1111 +// entity 1112 +// entity 1113 +// entity 1114 +// entity 1115 +// entity 1116 +// entity 1117 +// entity 1118 +// entity 1119 +// entity 1120 +// entity 1121 +// entity 1122 +// entity 1123 +// entity 1124 +// entity 1125 +// entity 1126 +// entity 1127 +// entity 1128 +// entity 1129 +// entity 1130 +// entity 1131 +// entity 1132 +// entity 1133 +// entity 1134 +// entity 1135 +// entity 1136 +// entity 1137 +// entity 1138 +// entity 1139 +// entity 1140 +// entity 1141 +// entity 1142 +// entity 1143 +// entity 1144 +// entity 1145 +// entity 1146 +// entity 1147 +// entity 1148 +// entity 1149 +// entity 1150 +// entity 1151 +// entity 1152 +// entity 1153 +// entity 1154 +// entity 1155 +// entity 1156 +// entity 1157 +// entity 1158 +// entity 1159 +// entity 1160 +// entity 1161 +// entity 1162 +// entity 1163 +// entity 1164 +// entity 1165 +// entity 1166 +// entity 1167 +// entity 1168 +// entity 1169 +// entity 1170 +// entity 1171 +// entity 1172 +// entity 1173 +// entity 1174 +// entity 1175 +// entity 1176 +// entity 1177 +// entity 1178 +// entity 1179 +// entity 1180 +// entity 1181 +// entity 1182 +// entity 1183 +// entity 1184 +// entity 1185 +// entity 1186 +// entity 1187 +// entity 1188 +// entity 1189 +// entity 1190 +// entity 1191 +// entity 1192 +// entity 1193 +// entity 1194 +// entity 1195 +// entity 1196 +// entity 1197 +// entity 1198 +// entity 1199 +// entity 1200 +// entity 1201 +// entity 1202 +// entity 1203 +// entity 1204 +// entity 1205 +// entity 1206 +// entity 1207 +// entity 1208 +// entity 1209 +// entity 1210 +// entity 1211 +// entity 1212 +// entity 1213 +// entity 1214 +// entity 1215 +// entity 1216 +// entity 1217 +// entity 1218 +// entity 1219 +// entity 1220 +// entity 1221 +// entity 1222 +// entity 1223 +// entity 1224 +// entity 1225 +// entity 1226 +// entity 1227 +// entity 1228 +// entity 1229 +// entity 1230 +// entity 1231 +// entity 1232 +// entity 1233 +// entity 1234 +// entity 1235 +// entity 1236 +// entity 1237 +// entity 1238 +// entity 1239 +// entity 1240 +// entity 1241 +// entity 1242 +// entity 1243 +// entity 1244 +// entity 1245 +// entity 1246 +// entity 1247 +// entity 1248 +// entity 1249 +// entity 1250 +// entity 1251 +// entity 1252 +{ +"origin" "0.0 0.0 0.0" +"model" "_prefabs/zombiemode/weapon_grenadebag.map" +"classname" "misc_prefab" +} diff --git a/map_source/_prefabs/zombiemode/weapon_db_shotgun.map b/map_source/_prefabs/zombiemode/weapon_db_shotgun.map new file mode 100644 index 000000000..6e5900bbf --- /dev/null +++ b/map_source/_prefabs/zombiemode/weapon_db_shotgun.map @@ -0,0 +1,1307 @@ +iwmap 4 +// entity 0 +{ +"reflection_color_correction" "zombie" +"skyboxmodel" "skybox_zombie" +"sunisprimarylight" "1" +"bouncefraction" "0.3" +"contrastgain" "0.35" +"_color" "0.5 0.5 0.7" +"ambient" "0.1" +"sundiffusecolor" "0.25 0.55 0.8" +"diffusefraction" "0.15" +"classname" "worldspawn" +"sundirection" "-150 17 0" +"suncolor" "0.64 0.85 1" +"sunlight" "0.75" +// brush 0 +{ + ( 1045.5 757 53 ) ( 1045.5 815 53 ) ( 1038.5 815 53 ) nodraw_decal 64 64 -836.00287 -602.52753 -90 0 lightmap_gray 16384.012 16383.715 -889.00519 -602.5 -90 0 + ( 1038.5 781 65.5 ) ( 1045.5 781 65.5 ) ( 1045.5 723 65.5 ) nodraw_decal 64 64 -836.08057 -602.46777 -90 0 lightmap_gray 16384.203 16382.285 -888.98901 -602.54211 -90 0 + ( 1038 804 336.5 ) ( 1038 746 336.5 ) ( 1038 746 -258.5 ) db_shotgun_chalk 52.5 -12.5 42.501896 -9.5 -180 0 lightmap_gray 16384.092 -16384 -889 -83.5 180 0 + ( 1038 745 336 ) ( 1045 745 336 ) ( 1045 745 -259 ) nodraw_decal 64 64 602.4198 9.9827967 0 0 lightmap_gray 16383.814 16384 602.50336 83.482506 0 0 + ( 1045.5 746 336.5 ) ( 1045.5 804 336.5 ) ( 1045.5 804 -258.5 ) nodraw_decal 64 -64 -836 -10 180 0 lightmap_gray 16384.012 -16384 -889 -83.5 180 0 + ( 1045.5 796 336 ) ( 1038.5 796 336 ) ( 1038.5 796 -259 ) nodraw_decal 64 64 602.46344 9.9866943 0 0 lightmap_gray 16385.932 16384 602.44781 83.498749 0 0 +} +} +// entity 1 +// entity 2 +// entity 3 +// entity 4 +// entity 5 +// entity 6 +// entity 7 +// entity 8 +// entity 9 +// entity 10 +// entity 11 +// entity 12 +// entity 13 +// entity 14 +// entity 15 +// entity 16 +// entity 17 +// entity 18 +// entity 19 +// entity 20 +// entity 21 +// entity 22 +// entity 23 +// entity 24 +// entity 25 +// entity 26 +// entity 27 +// entity 28 +// entity 29 +// entity 30 +// entity 31 +// entity 32 +// entity 33 +// entity 34 +// entity 35 +// entity 36 +// entity 37 +// entity 38 +// entity 39 +// entity 40 +// entity 41 +// entity 42 +// entity 43 +// entity 44 +// entity 45 +// entity 46 +// entity 47 +// entity 48 +// entity 49 +// entity 50 +// entity 51 +// entity 52 +// entity 53 +// entity 54 +// entity 55 +// entity 56 +// entity 57 +// entity 58 +// entity 59 +// entity 60 +// entity 61 +// entity 62 +// entity 63 +// entity 64 +// entity 65 +// entity 66 +// entity 67 +// entity 68 +// entity 69 +// entity 70 +// entity 71 +// entity 72 +// entity 73 +// entity 74 +// entity 75 +// entity 76 +// entity 77 +// entity 78 +// entity 79 +// entity 80 +// entity 81 +// entity 82 +// entity 83 +// entity 84 +// entity 85 +// entity 86 +// entity 87 +// entity 88 +// entity 89 +// entity 90 +// entity 91 +// entity 92 +// entity 93 +// entity 94 +// entity 95 +// entity 96 +// entity 97 +// entity 98 +// entity 99 +// entity 100 +// entity 101 +// entity 102 +// entity 103 +// entity 104 +// entity 105 +// entity 106 +// entity 107 +// entity 108 +// entity 109 +// entity 110 +// entity 111 +// entity 112 +// entity 113 +// entity 114 +// entity 115 +// entity 116 +// entity 117 +// entity 118 +// entity 119 +// entity 120 +// entity 121 +// entity 122 +// entity 123 +// entity 124 +// entity 125 +// entity 126 +// entity 127 +// entity 128 +// entity 129 +// entity 130 +// entity 131 +// entity 132 +// entity 133 +// entity 134 +// entity 135 +// entity 136 +// entity 137 +// entity 138 +// entity 139 +// entity 140 +// entity 141 +// entity 142 +// entity 143 +// entity 144 +// entity 145 +// entity 146 +// entity 147 +// entity 148 +// entity 149 +// entity 150 +// entity 151 +// entity 152 +// entity 153 +// entity 154 +// entity 155 +// entity 156 +// entity 157 +// entity 158 +// entity 159 +// entity 160 +// entity 161 +// entity 162 +// entity 163 +// entity 164 +// entity 165 +// entity 166 +// entity 167 +// entity 168 +// entity 169 +// entity 170 +// entity 171 +// entity 172 +// entity 173 +// entity 174 +// entity 175 +// entity 176 +// entity 177 +// entity 178 +// entity 179 +// entity 180 +// entity 181 +// entity 182 +// entity 183 +// entity 184 +// entity 185 +// entity 186 +// entity 187 +// entity 188 +// entity 189 +// entity 190 +// entity 191 +// entity 192 +// entity 193 +// entity 194 +// entity 195 +// entity 196 +// entity 197 +// entity 198 +// entity 199 +// entity 200 +// entity 201 +// entity 202 +// entity 203 +// entity 204 +// entity 205 +// entity 206 +// entity 207 +// entity 208 +// entity 209 +// entity 210 +// entity 211 +// entity 212 +// entity 213 +// entity 214 +// entity 215 +// entity 216 +// entity 217 +// entity 218 +// entity 219 +// entity 220 +// entity 221 +// entity 222 +// entity 223 +// entity 224 +// entity 225 +// entity 226 +// entity 227 +// entity 228 +// entity 229 +// entity 230 +// entity 231 +// entity 232 +// entity 233 +// entity 234 +// entity 235 +// entity 236 +// entity 237 +// entity 238 +// entity 239 +// entity 240 +// entity 241 +// entity 242 +// entity 243 +// entity 244 +// entity 245 +// entity 246 +// entity 247 +// entity 248 +// entity 249 +// entity 250 +// entity 251 +// entity 252 +// entity 253 +// entity 254 +// entity 255 +// entity 256 +// entity 257 +// entity 258 +// entity 259 +// entity 260 +// entity 261 +// entity 262 +// entity 263 +// entity 264 +// entity 265 +// entity 266 +// entity 267 +// entity 268 +// entity 269 +// entity 270 +// entity 271 +// entity 272 +// entity 273 +// entity 274 +// entity 275 +// entity 276 +// entity 277 +// entity 278 +// entity 279 +// entity 280 +// entity 281 +// entity 282 +// entity 283 +// entity 284 +// entity 285 +// entity 286 +// entity 287 +// entity 288 +// entity 289 +// entity 290 +// entity 291 +// entity 292 +// entity 293 +// entity 294 +// entity 295 +// entity 296 +// entity 297 +// entity 298 +// entity 299 +// entity 300 +// entity 301 +// entity 302 +// entity 303 +// entity 304 +// entity 305 +// entity 306 +// entity 307 +// entity 308 +// entity 309 +// entity 310 +// entity 311 +// entity 312 +// entity 313 +// entity 314 +// entity 315 +// entity 316 +// entity 317 +// entity 318 +// entity 319 +// entity 320 +// entity 321 +// entity 322 +// entity 323 +// entity 324 +// entity 325 +// entity 326 +// entity 327 +// entity 328 +// entity 329 +// entity 330 +// entity 331 +// entity 332 +// entity 333 +// entity 334 +// entity 335 +// entity 336 +// entity 337 +// entity 338 +// entity 339 +// entity 340 +// entity 341 +// entity 342 +// entity 343 +// entity 344 +// entity 345 +// entity 346 +// entity 347 +// entity 348 +// entity 349 +// entity 350 +// entity 351 +// entity 352 +// entity 353 +// entity 354 +// entity 355 +// entity 356 +// entity 357 +// entity 358 +// entity 359 +// entity 360 +// entity 361 +// entity 362 +// entity 363 +// entity 364 +// entity 365 +// entity 366 +// entity 367 +// entity 368 +// entity 369 +// entity 370 +// entity 371 +// entity 372 +// entity 373 +// entity 374 +// entity 375 +// entity 376 +// entity 377 +// entity 378 +// entity 379 +// entity 380 +// entity 381 +// entity 382 +// entity 383 +// entity 384 +// entity 385 +{ +"script_ammo_clip" "350" +"target" "auto40" +"zombie_cost" "700" +"zombie_weapon_upgrade" "doublebarrel" +"targetname" "weapon_upgrade" +"classname" "trigger_use" +// brush 0 +{ + ( 1037 787 50.5 ) ( 1034.5 787.5 50.5 ) ( 1034 760 50.5 ) trigger 64.07328 64.027573 -773.44684 6313.1631 178.92543 0.0049480638 lightmap_gray 16416.973 16383.82 -773.8183 6324.0464 178.17433 -0.0086097615 + ( 1036.5 759.5 66.5 ) ( 1034 759.5 66.5 ) ( 1034.5 787 66.5 ) trigger 64.07946 63.974545 -773.71582 6314.7197 178.56815 -0.0015242036 lightmap_gray 16399.648 16383.07 -774.60669 6314.5425 178.67979 6.5231732e-005 + ( 1037.5 795.5 53.5 ) ( 1037.5 795.5 61.5 ) ( 1035 795.5 61.5 ) trigger 64.043739 -64 -792.14191 -39.251312 -180 0 lightmap_gray 16388.793 -16383.938 -792.32025 -39.25 -180 0 + ( 1034 784 56.5 ) ( 1034 784 64.5 ) ( 1034 756.5 64.5 ) trigger 64 -64 -6291.3057 -39.331547 -180 0.00030399827 lightmap_gray 16389.338 -16384 -6293.0181 -39.331547 -180 0.00024285208 + ( 1034 746.5 56 ) ( 1034 746.5 64 ) ( 1036.5 746.5 64 ) trigger 64.034485 -64 -791.58777 -39.320778 180 0 lightmap_gray 16379.239 -16384 -791.82745 -39.320778 180 0 + ( 1036.5 788 64.5 ) ( 1036.5 788 56.5 ) ( 1036.5 760.5 56.5 ) trigger 64 -64 -6291.1987 -39.320595 180 -0.00030508864 lightmap_gray 16375.912 -16384 -6288.4316 -39.320595 180 0.00018319265 +} +} +// entity 386 +// entity 387 +// entity 388 +// entity 389 +// entity 390 +// entity 391 +{ +"targetname" "auto40" +"classname" "script_model" +"model" "weapon_usa_db_shotgun" +"angles" "0 90 0" +"origin" "1037.0 771.0 61.0" +} +// entity 392 +// entity 393 +// entity 394 +// entity 395 +// entity 396 +// entity 397 +// entity 398 +// entity 399 +// entity 400 +// entity 401 +// entity 402 +// entity 403 +// entity 404 +// entity 405 +// entity 406 +// entity 407 +// entity 408 +// entity 409 +// entity 410 +// entity 411 +// entity 412 +// entity 413 +// entity 414 +// entity 415 +// entity 416 +// entity 417 +// entity 418 +// entity 419 +// entity 420 +// entity 421 +// entity 422 +// entity 423 +// entity 424 +// entity 425 +// entity 426 +// entity 427 +// entity 428 +// entity 429 +// entity 430 +// entity 431 +// entity 432 +// entity 433 +// entity 434 +// entity 435 +// entity 436 +// entity 437 +// entity 438 +// entity 439 +// entity 440 +// entity 441 +// entity 442 +// entity 443 +// entity 444 +// entity 445 +// entity 446 +// entity 447 +// entity 448 +// entity 449 +// entity 450 +// entity 451 +// entity 452 +// entity 453 +// entity 454 +// entity 455 +// entity 456 +// entity 457 +// entity 458 +// entity 459 +// entity 460 +// entity 461 +// entity 462 +// entity 463 +// entity 464 +// entity 465 +// entity 466 +// entity 467 +// entity 468 +// entity 469 +// entity 470 +// entity 471 +// entity 472 +// entity 473 +// entity 474 +// entity 475 +// entity 476 +// entity 477 +// entity 478 +// entity 479 +// entity 480 +// entity 481 +// entity 482 +// entity 483 +// entity 484 +// entity 485 +// entity 486 +// entity 487 +// entity 488 +// entity 489 +// entity 490 +// entity 491 +// entity 492 +// entity 493 +// entity 494 +// entity 495 +// entity 496 +// entity 497 +// entity 498 +// entity 499 +// entity 500 +// entity 501 +// entity 502 +// entity 503 +// entity 504 +// entity 505 +// entity 506 +// entity 507 +// entity 508 +// entity 509 +// entity 510 +// entity 511 +// entity 512 +// entity 513 +// entity 514 +// entity 515 +// entity 516 +// entity 517 +// entity 518 +// entity 519 +// entity 520 +// entity 521 +// entity 522 +// entity 523 +// entity 524 +// entity 525 +// entity 526 +// entity 527 +// entity 528 +// entity 529 +// entity 530 +// entity 531 +// entity 532 +// entity 533 +// entity 534 +// entity 535 +// entity 536 +// entity 537 +// entity 538 +// entity 539 +// entity 540 +// entity 541 +// entity 542 +// entity 543 +// entity 544 +// entity 545 +// entity 546 +// entity 547 +// entity 548 +// entity 549 +// entity 550 +// entity 551 +// entity 552 +// entity 553 +// entity 554 +// entity 555 +// entity 556 +// entity 557 +// entity 558 +// entity 559 +// entity 560 +// entity 561 +// entity 562 +// entity 563 +// entity 564 +// entity 565 +// entity 566 +// entity 567 +// entity 568 +// entity 569 +// entity 570 +// entity 571 +// entity 572 +// entity 573 +// entity 574 +// entity 575 +// entity 576 +// entity 577 +// entity 578 +// entity 579 +// entity 580 +// entity 581 +// entity 582 +// entity 583 +// entity 584 +// entity 585 +// entity 586 +// entity 587 +// entity 588 +// entity 589 +// entity 590 +// entity 591 +// entity 592 +// entity 593 +// entity 594 +// entity 595 +// entity 596 +// entity 597 +// entity 598 +// entity 599 +// entity 600 +// entity 601 +// entity 602 +// entity 603 +// entity 604 +// entity 605 +// entity 606 +// entity 607 +// entity 608 +// entity 609 +// entity 610 +// entity 611 +// entity 612 +// entity 613 +// entity 614 +// entity 615 +// entity 616 +// entity 617 +// entity 618 +// entity 619 +// entity 620 +// entity 621 +// entity 622 +// entity 623 +// entity 624 +// entity 625 +// entity 626 +// entity 627 +// entity 628 +// entity 629 +// entity 630 +// entity 631 +// entity 632 +// entity 633 +// entity 634 +// entity 635 +// entity 636 +// entity 637 +// entity 638 +// entity 639 +// entity 640 +// entity 641 +// entity 642 +// entity 643 +// entity 644 +// entity 645 +// entity 646 +// entity 647 +// entity 648 +// entity 649 +// entity 650 +// entity 651 +// entity 652 +// entity 653 +// entity 654 +// entity 655 +// entity 656 +// entity 657 +// entity 658 +// entity 659 +// entity 660 +// entity 661 +// entity 662 +// entity 663 +// entity 664 +// entity 665 +// entity 666 +// entity 667 +// entity 668 +// entity 669 +// entity 670 +// entity 671 +// entity 672 +// entity 673 +// entity 674 +// entity 675 +// entity 676 +// entity 677 +// entity 678 +// entity 679 +// entity 680 +// entity 681 +// entity 682 +// entity 683 +// entity 684 +// entity 685 +// entity 686 +// entity 687 +// entity 688 +// entity 689 +// entity 690 +// entity 691 +// entity 692 +// entity 693 +// entity 694 +// entity 695 +// entity 696 +// entity 697 +// entity 698 +// entity 699 +// entity 700 +// entity 701 +// entity 702 +// entity 703 +// entity 704 +// entity 705 +// entity 706 +// entity 707 +// entity 708 +// entity 709 +// entity 710 +// entity 711 +// entity 712 +// entity 713 +// entity 714 +// entity 715 +// entity 716 +// entity 717 +// entity 718 +// entity 719 +// entity 720 +// entity 721 +// entity 722 +// entity 723 +// entity 724 +// entity 725 +// entity 726 +// entity 727 +// entity 728 +// entity 729 +// entity 730 +// entity 731 +// entity 732 +// entity 733 +// entity 734 +// entity 735 +// entity 736 +// entity 737 +// entity 738 +// entity 739 +// entity 740 +// entity 741 +// entity 742 +// entity 743 +// entity 744 +// entity 745 +// entity 746 +// entity 747 +// entity 748 +// entity 749 +// entity 750 +// entity 751 +// entity 752 +// entity 753 +// entity 754 +// entity 755 +// entity 756 +// entity 757 +// entity 758 +// entity 759 +// entity 760 +// entity 761 +// entity 762 +// entity 763 +// entity 764 +// entity 765 +// entity 766 +// entity 767 +// entity 768 +// entity 769 +// entity 770 +// entity 771 +// entity 772 +// entity 773 +// entity 774 +// entity 775 +// entity 776 +// entity 777 +// entity 778 +// entity 779 +// entity 780 +// entity 781 +// entity 782 +// entity 783 +// entity 784 +// entity 785 +// entity 786 +// entity 787 +// entity 788 +// entity 789 +// entity 790 +// entity 791 +// entity 792 +// entity 793 +// entity 794 +// entity 795 +// entity 796 +// entity 797 +// entity 798 +// entity 799 +// entity 800 +// entity 801 +// entity 802 +// entity 803 +// entity 804 +// entity 805 +// entity 806 +// entity 807 +// entity 808 +// entity 809 +// entity 810 +// entity 811 +// entity 812 +// entity 813 +// entity 814 +// entity 815 +// entity 816 +// entity 817 +// entity 818 +// entity 819 +// entity 820 +// entity 821 +// entity 822 +// entity 823 +// entity 824 +// entity 825 +// entity 826 +// entity 827 +// entity 828 +// entity 829 +// entity 830 +// entity 831 +// entity 832 +// entity 833 +// entity 834 +// entity 835 +// entity 836 +// entity 837 +// entity 838 +// entity 839 +// entity 840 +// entity 841 +// entity 842 +// entity 843 +// entity 844 +// entity 845 +// entity 846 +// entity 847 +// entity 848 +// entity 849 +// entity 850 +// entity 851 +// entity 852 +// entity 853 +// entity 854 +// entity 855 +// entity 856 +// entity 857 +// entity 858 +// entity 859 +// entity 860 +// entity 861 +// entity 862 +// entity 863 +// entity 864 +// entity 865 +// entity 866 +// entity 867 +// entity 868 +// entity 869 +// entity 870 +// entity 871 +// entity 872 +// entity 873 +// entity 874 +// entity 875 +// entity 876 +// entity 877 +// entity 878 +// entity 879 +// entity 880 +// entity 881 +// entity 882 +// entity 883 +// entity 884 +// entity 885 +// entity 886 +// entity 887 +// entity 888 +// entity 889 +// entity 890 +// entity 891 +// entity 892 +// entity 893 +// entity 894 +// entity 895 +// entity 896 +// entity 897 +// entity 898 +// entity 899 +// entity 900 +// entity 901 +// entity 902 +// entity 903 +// entity 904 +// entity 905 +// entity 906 +// entity 907 +// entity 908 +// entity 909 +// entity 910 +// entity 911 +// entity 912 +// entity 913 +// entity 914 +// entity 915 +// entity 916 +// entity 917 +// entity 918 +// entity 919 +// entity 920 +// entity 921 +// entity 922 +// entity 923 +// entity 924 +// entity 925 +// entity 926 +// entity 927 +// entity 928 +// entity 929 +// entity 930 +// entity 931 +// entity 932 +// entity 933 +// entity 934 +// entity 935 +// entity 936 +// entity 937 +// entity 938 +// entity 939 +// entity 940 +// entity 941 +// entity 942 +// entity 943 +// entity 944 +// entity 945 +// entity 946 +// entity 947 +// entity 948 +// entity 949 +// entity 950 +// entity 951 +// entity 952 +// entity 953 +// entity 954 +// entity 955 +// entity 956 +// entity 957 +// entity 958 +// entity 959 +// entity 960 +// entity 961 +// entity 962 +// entity 963 +// entity 964 +// entity 965 +// entity 966 +// entity 967 +// entity 968 +// entity 969 +// entity 970 +// entity 971 +// entity 972 +// entity 973 +// entity 974 +// entity 975 +// entity 976 +// entity 977 +// entity 978 +// entity 979 +// entity 980 +// entity 981 +// entity 982 +// entity 983 +// entity 984 +// entity 985 +// entity 986 +// entity 987 +// entity 988 +// entity 989 +// entity 990 +// entity 991 +// entity 992 +// entity 993 +// entity 994 +// entity 995 +// entity 996 +// entity 997 +// entity 998 +// entity 999 +// entity 1000 +// entity 1001 +// entity 1002 +// entity 1003 +// entity 1004 +// entity 1005 +// entity 1006 +// entity 1007 +// entity 1008 +// entity 1009 +// entity 1010 +// entity 1011 +// entity 1012 +// entity 1013 +// entity 1014 +// entity 1015 +// entity 1016 +// entity 1017 +// entity 1018 +// entity 1019 +// entity 1020 +// entity 1021 +// entity 1022 +// entity 1023 +// entity 1024 +// entity 1025 +// entity 1026 +// entity 1027 +// entity 1028 +// entity 1029 +// entity 1030 +// entity 1031 +// entity 1032 +// entity 1033 +// entity 1034 +// entity 1035 +// entity 1036 +// entity 1037 +// entity 1038 +// entity 1039 +// entity 1040 +// entity 1041 +// entity 1042 +// entity 1043 +// entity 1044 +// entity 1045 +// entity 1046 +// entity 1047 +// entity 1048 +// entity 1049 +// entity 1050 +// entity 1051 +// entity 1052 +// entity 1053 +// entity 1054 +// entity 1055 +// entity 1056 +// entity 1057 +// entity 1058 +// entity 1059 +// entity 1060 +// entity 1061 +// entity 1062 +// entity 1063 +// entity 1064 +// entity 1065 +// entity 1066 +// entity 1067 +// entity 1068 +// entity 1069 +// entity 1070 +// entity 1071 +// entity 1072 +// entity 1073 +// entity 1074 +// entity 1075 +// entity 1076 +// entity 1077 +// entity 1078 +// entity 1079 +// entity 1080 +// entity 1081 +// entity 1082 +// entity 1083 +// entity 1084 +// entity 1085 +// entity 1086 +// entity 1087 +// entity 1088 +// entity 1089 +// entity 1090 +// entity 1091 +// entity 1092 +// entity 1093 +// entity 1094 +// entity 1095 +// entity 1096 +// entity 1097 +// entity 1098 +// entity 1099 +// entity 1100 +// entity 1101 +// entity 1102 +// entity 1103 +// entity 1104 +// entity 1105 +// entity 1106 +// entity 1107 +// entity 1108 +// entity 1109 +// entity 1110 +// entity 1111 +// entity 1112 +// entity 1113 +// entity 1114 +// entity 1115 +// entity 1116 +// entity 1117 +// entity 1118 +// entity 1119 +// entity 1120 +// entity 1121 +// entity 1122 +// entity 1123 +// entity 1124 +// entity 1125 +// entity 1126 +// entity 1127 +// entity 1128 +// entity 1129 +// entity 1130 +// entity 1131 +// entity 1132 +// entity 1133 +// entity 1134 +// entity 1135 +// entity 1136 +// entity 1137 +// entity 1138 +// entity 1139 +// entity 1140 +// entity 1141 +// entity 1142 +// entity 1143 +// entity 1144 +// entity 1145 +// entity 1146 +// entity 1147 +// entity 1148 +// entity 1149 +// entity 1150 +// entity 1151 +// entity 1152 +// entity 1153 +// entity 1154 +// entity 1155 +// entity 1156 +// entity 1157 +// entity 1158 +// entity 1159 +// entity 1160 +// entity 1161 +// entity 1162 +// entity 1163 +// entity 1164 +// entity 1165 +// entity 1166 +// entity 1167 +// entity 1168 +// entity 1169 +// entity 1170 +// entity 1171 +// entity 1172 +// entity 1173 +// entity 1174 +// entity 1175 +// entity 1176 +// entity 1177 +// entity 1178 +// entity 1179 +// entity 1180 +// entity 1181 +// entity 1182 +// entity 1183 +// entity 1184 +// entity 1185 +// entity 1186 +// entity 1187 +// entity 1188 +// entity 1189 +// entity 1190 +// entity 1191 +// entity 1192 +// entity 1193 +// entity 1194 +// entity 1195 +// entity 1196 +// entity 1197 +// entity 1198 +// entity 1199 +// entity 1200 +// entity 1201 +// entity 1202 +// entity 1203 +// entity 1204 +// entity 1205 +// entity 1206 +// entity 1207 +// entity 1208 +// entity 1209 +// entity 1210 +// entity 1211 +// entity 1212 +// entity 1213 +// entity 1214 +// entity 1215 +// entity 1216 +// entity 1217 +// entity 1218 +// entity 1219 +// entity 1220 +// entity 1221 +// entity 1222 +// entity 1223 +// entity 1224 +// entity 1225 +// entity 1226 +// entity 1227 +// entity 1228 +// entity 1229 +// entity 1230 +// entity 1231 +// entity 1232 +// entity 1233 +// entity 1234 +// entity 1235 +// entity 1236 +// entity 1237 +// entity 1238 +// entity 1239 +// entity 1240 +// entity 1241 +// entity 1242 +// entity 1243 +// entity 1244 +// entity 1245 +// entity 1246 +// entity 1247 +// entity 1248 +// entity 1249 +// entity 1250 +// entity 1251 +// entity 1252 +// entity 1253 +// entity 1254 +// entity 1255 +// entity 1256 +// entity 1257 diff --git a/map_source/_prefabs/zombiemode/weapon_gewehr.map b/map_source/_prefabs/zombiemode/weapon_gewehr.map new file mode 100644 index 000000000..1cc8c6dfb --- /dev/null +++ b/map_source/_prefabs/zombiemode/weapon_gewehr.map @@ -0,0 +1,2075 @@ +iwmap 4 +// entity 0 +{ +"skyboxmodel" "skybox_zombie" +"_color" "0.5 0.5 .62 1" +"ambient" ".15" +"sundiffusecolor" "0.75 0.82 0.85" +"diffusefraction" ".5" +"classname" "worldspawn" +"sundirection" "-130 40 0" +"suncolor" "0.9 0.95 1" +"sunlight" "1.5" +// brush 0 +{ + ( 1175.375 -46.124962 106.5 ) ( 1175.375 11.875044 106.5 ) ( 1168.375 11.875065 106.5 ) nodraw_decal 64 64 -32.928181 -732.35669 -90 2.1313717e-005 lightmap_gray 16384 16382.469 -85.877319 -732.41064 -90 0 + ( 1168.3749 -22.125023 119 ) ( 1175.375 -22.124992 119 ) ( 1175.375 -80.125 119 ) nodraw_decal 64 64.004189 -32.808659 -732.19159 -90 -3.5728226e-005 lightmap_gray 16384.422 16385.174 -85.817642 -732.33459 -90 -1.6123635e-005 + ( 1167.875 0.87498474 390 ) ( 1167.875 -57.125023 390 ) ( 1167.875 -57.125023 -205 ) g43_chalk 52.5 -12.5 1265.645 -6 180 0 lightmap_gray 16384.213 -16384 -85.875 -30 180 0 + ( 1167.8751 -58.124931 389.5 ) ( 1174.875 -58.125023 389.5 ) ( 1174.875 -58.125023 -205.5 ) nodraw_decal 64 64 732.49634 -43.533081 0 0 lightmap_gray 16383.51 16384 732.38281 29.974163 0 0 + ( 1175.375 -57.125 390 ) ( 1175.375 0.87500763 390 ) ( 1175.375 0.87500763 -205 ) nodraw_decal 64 -64 -32.871101 43.5 180 0 lightmap_gray 16383.75 -16384 -85.875 -30 180 0 + ( 1175.375 -5.6249847 390 ) ( 1168.375 -5.6250305 390 ) ( 1168.375 -5.6250305 -205 ) nodraw_decal 63.996956 64 732.46472 -43.504475 0 0 lightmap_gray 16386.4 16384 732.30969 30.002228 0 0 +} +} +// entity 1 +// entity 2 +// entity 3 +// entity 4 +// entity 5 +// entity 6 +// entity 7 +// entity 8 +// entity 9 +// entity 10 +// entity 11 +// entity 12 +// entity 13 +// entity 14 +// entity 15 +// entity 16 +// entity 17 +// entity 18 +// entity 19 +// entity 20 +// entity 21 +// entity 22 +// entity 23 +// entity 24 +// entity 25 +// entity 26 +// entity 27 +// entity 28 +// entity 29 +// entity 30 +// entity 31 +// entity 32 +// entity 33 +// entity 34 +// entity 35 +// entity 36 +// entity 37 +// entity 38 +// entity 39 +// entity 40 +// entity 41 +// entity 42 +// entity 43 +// entity 44 +// entity 45 +// entity 46 +// entity 47 +// entity 48 +// entity 49 +// entity 50 +// entity 51 +// entity 52 +// entity 53 +// entity 54 +// entity 55 +// entity 56 +// entity 57 +// entity 58 +// entity 59 +// entity 60 +// entity 61 +// entity 62 +// entity 63 +// entity 64 +// entity 65 +// entity 66 +// entity 67 +// entity 68 +// entity 69 +// entity 70 +// entity 71 +// entity 72 +// entity 73 +// entity 74 +// entity 75 +// entity 76 +// entity 77 +// entity 78 +// entity 79 +// entity 80 +// entity 81 +// entity 82 +// entity 83 +// entity 84 +// entity 85 +// entity 86 +// entity 87 +// entity 88 +// entity 89 +// entity 90 +// entity 91 +// entity 92 +// entity 93 +// entity 94 +// entity 95 +// entity 96 +// entity 97 +// entity 98 +// entity 99 +// entity 100 +// entity 101 +// entity 102 +// entity 103 +// entity 104 +// entity 105 +// entity 106 +// entity 107 +// entity 108 +// entity 109 +// entity 110 +// entity 111 +// entity 112 +// entity 113 +// entity 114 +// entity 115 +// entity 116 +// entity 117 +// entity 118 +// entity 119 +// entity 120 +// entity 121 +// entity 122 +// entity 123 +// entity 124 +// entity 125 +// entity 126 +// entity 127 +// entity 128 +// entity 129 +// entity 130 +// entity 131 +// entity 132 +// entity 133 +// entity 134 +// entity 135 +// entity 136 +// entity 137 +// entity 138 +// entity 139 +// entity 140 +// entity 141 +// entity 142 +// entity 143 +// entity 144 +// entity 145 +// entity 146 +// entity 147 +// entity 148 +// entity 149 +// entity 150 +// entity 151 +// entity 152 +// entity 153 +// entity 154 +// entity 155 +// entity 156 +// entity 157 +// entity 158 +// entity 159 +// entity 160 +// entity 161 +// entity 162 +// entity 163 +// entity 164 +// entity 165 +// entity 166 +// entity 167 +// entity 168 +// entity 169 +// entity 170 +// entity 171 +// entity 172 +// entity 173 +// entity 174 +// entity 175 +// entity 176 +// entity 177 +// entity 178 +// entity 179 +// entity 180 +// entity 181 +// entity 182 +// entity 183 +// entity 184 +// entity 185 +// entity 186 +// entity 187 +// entity 188 +// entity 189 +// entity 190 +// entity 191 +// entity 192 +// entity 193 +// entity 194 +// entity 195 +// entity 196 +// entity 197 +// entity 198 +// entity 199 +// entity 200 +// entity 201 +// entity 202 +// entity 203 +// entity 204 +// entity 205 +// entity 206 +// entity 207 +// entity 208 +// entity 209 +// entity 210 +// entity 211 +// entity 212 +// entity 213 +// entity 214 +// entity 215 +// entity 216 +// entity 217 +// entity 218 +// entity 219 +// entity 220 +// entity 221 +// entity 222 +// entity 223 +// entity 224 +// entity 225 +// entity 226 +// entity 227 +// entity 228 +// entity 229 +// entity 230 +// entity 231 +// entity 232 +// entity 233 +// entity 234 +// entity 235 +// entity 236 +// entity 237 +// entity 238 +// entity 239 +// entity 240 +// entity 241 +// entity 242 +// entity 243 +// entity 244 +// entity 245 +// entity 246 +// entity 247 +// entity 248 +// entity 249 +// entity 250 +// entity 251 +// entity 252 +// entity 253 +// entity 254 +// entity 255 +// entity 256 +// entity 257 +// entity 258 +// entity 259 +// entity 260 +// entity 261 +// entity 262 +// entity 263 +// entity 264 +// entity 265 +// entity 266 +// entity 267 +// entity 268 +// entity 269 +// entity 270 +// entity 271 +// entity 272 +// entity 273 +// entity 274 +// entity 275 +// entity 276 +// entity 277 +// entity 278 +// entity 279 +// entity 280 +// entity 281 +// entity 282 +// entity 283 +// entity 284 +// entity 285 +// entity 286 +// entity 287 +// entity 288 +// entity 289 +// entity 290 +// entity 291 +// entity 292 +// entity 293 +// entity 294 +// entity 295 +// entity 296 +// entity 297 +// entity 298 +// entity 299 +// entity 300 +// entity 301 +// entity 302 +// entity 303 +// entity 304 +// entity 305 +// entity 306 +// entity 307 +// entity 308 +// entity 309 +// entity 310 +// entity 311 +// entity 312 +// entity 313 +// entity 314 +// entity 315 +// entity 316 +// entity 317 +// entity 318 +// entity 319 +// entity 320 +// entity 321 +// entity 322 +// entity 323 +// entity 324 +// entity 325 +// entity 326 +// entity 327 +// entity 328 +// entity 329 +// entity 330 +// entity 331 +// entity 332 +// entity 333 +// entity 334 +// entity 335 +// entity 336 +// entity 337 +// entity 338 +// entity 339 +// entity 340 +// entity 341 +// entity 342 +// entity 343 +// entity 344 +// entity 345 +// entity 346 +// entity 347 +// entity 348 +// entity 349 +// entity 350 +// entity 351 +// entity 352 +// entity 353 +// entity 354 +// entity 355 +// entity 356 +// entity 357 +// entity 358 +// entity 359 +// entity 360 +// entity 361 +// entity 362 +// entity 363 +// entity 364 +// entity 365 +// entity 366 +// entity 367 +// entity 368 +// entity 369 +// entity 370 +// entity 371 +// entity 372 +// entity 373 +// entity 374 +// entity 375 +// entity 376 +// entity 377 +// entity 378 +// entity 379 +// entity 380 +// entity 381 +// entity 382 +// entity 383 +// entity 384 +// entity 385 +// entity 386 +// entity 387 +// entity 388 +// entity 389 +// entity 390 +// entity 391 +// entity 392 +// entity 393 +// entity 394 +// entity 395 +// entity 396 +// entity 397 +// entity 398 +// entity 399 +// entity 400 +// entity 401 +// entity 402 +// entity 403 +// entity 404 +// entity 405 +// entity 406 +// entity 407 +// entity 408 +// entity 409 +// entity 410 +// entity 411 +// entity 412 +// entity 413 +// entity 414 +// entity 415 +// entity 416 +// entity 417 +// entity 418 +// entity 419 +// entity 420 +// entity 421 +// entity 422 +// entity 423 +// entity 424 +// entity 425 +// entity 426 +// entity 427 +// entity 428 +// entity 429 +// entity 430 +// entity 431 +// entity 432 +// entity 433 +// entity 434 +// entity 435 +// entity 436 +// entity 437 +// entity 438 +// entity 439 +// entity 440 +// entity 441 +// entity 442 +// entity 443 +// entity 444 +// entity 445 +// entity 446 +// entity 447 +// entity 448 +// entity 449 +// entity 450 +// entity 451 +// entity 452 +// entity 453 +// entity 454 +// entity 455 +// entity 456 +// entity 457 +// entity 458 +// entity 459 +// entity 460 +// entity 461 +// entity 462 +// entity 463 +// entity 464 +// entity 465 +// entity 466 +// entity 467 +// entity 468 +// entity 469 +// entity 470 +// entity 471 +// entity 472 +// entity 473 +// entity 474 +// entity 475 +// entity 476 +// entity 477 +// entity 478 +// entity 479 +// entity 480 +// entity 481 +// entity 482 +// entity 483 +// entity 484 +// entity 485 +// entity 486 +// entity 487 +// entity 488 +// entity 489 +// entity 490 +// entity 491 +// entity 492 +// entity 493 +// entity 494 +// entity 495 +// entity 496 +// entity 497 +// entity 498 +// entity 499 +// entity 500 +// entity 501 +// entity 502 +// entity 503 +// entity 504 +// entity 505 +// entity 506 +// entity 507 +// entity 508 +// entity 509 +// entity 510 +// entity 511 +// entity 512 +// entity 513 +// entity 514 +// entity 515 +// entity 516 +// entity 517 +// entity 518 +// entity 519 +// entity 520 +// entity 521 +// entity 522 +// entity 523 +// entity 524 +// entity 525 +// entity 526 +// entity 527 +// entity 528 +// entity 529 +// entity 530 +// entity 531 +// entity 532 +// entity 533 +// entity 534 +// entity 535 +// entity 536 +// entity 537 +// entity 538 +// entity 539 +// entity 540 +// entity 541 +// entity 542 +// entity 543 +// entity 544 +// entity 545 +// entity 546 +// entity 547 +// entity 548 +// entity 549 +// entity 550 +// entity 551 +// entity 552 +// entity 553 +// entity 554 +// entity 555 +// entity 556 +// entity 557 +// entity 558 +// entity 559 +// entity 560 +// entity 561 +// entity 562 +// entity 563 +// entity 564 +// entity 565 +// entity 566 +// entity 567 +// entity 568 +// entity 569 +// entity 570 +// entity 571 +// entity 572 +// entity 573 +// entity 574 +// entity 575 +// entity 576 +// entity 577 +// entity 578 +// entity 579 +// entity 580 +// entity 581 +// entity 582 +// entity 583 +// entity 584 +// entity 585 +// entity 586 +// entity 587 +// entity 588 +// entity 589 +// entity 590 +// entity 591 +// entity 592 +// entity 593 +// entity 594 +// entity 595 +// entity 596 +// entity 597 +// entity 598 +// entity 599 +// entity 600 +// entity 601 +// entity 602 +// entity 603 +// entity 604 +// entity 605 +// entity 606 +// entity 607 +// entity 608 +// entity 609 +// entity 610 +// entity 611 +// entity 612 +// entity 613 +// entity 614 +// entity 615 +// entity 616 +// entity 617 +// entity 618 +// entity 619 +// entity 620 +// entity 621 +// entity 622 +// entity 623 +// entity 624 +// entity 625 +// entity 626 +// entity 627 +// entity 628 +// entity 629 +// entity 630 +// entity 631 +// entity 632 +// entity 633 +// entity 634 +// entity 635 +// entity 636 +// entity 637 +// entity 638 +// entity 639 +// entity 640 +// entity 641 +// entity 642 +// entity 643 +// entity 644 +// entity 645 +// entity 646 +// entity 647 +// entity 648 +// entity 649 +// entity 650 +// entity 651 +// entity 652 +// entity 653 +// entity 654 +// entity 655 +// entity 656 +// entity 657 +// entity 658 +// entity 659 +// entity 660 +// entity 661 +// entity 662 +// entity 663 +// entity 664 +// entity 665 +// entity 666 +// entity 667 +// entity 668 +// entity 669 +// entity 670 +// entity 671 +// entity 672 +// entity 673 +// entity 674 +// entity 675 +// entity 676 +// entity 677 +// entity 678 +// entity 679 +// entity 680 +// entity 681 +// entity 682 +// entity 683 +// entity 684 +// entity 685 +// entity 686 +// entity 687 +// entity 688 +// entity 689 +// entity 690 +// entity 691 +// entity 692 +// entity 693 +// entity 694 +// entity 695 +// entity 696 +// entity 697 +// entity 698 +// entity 699 +// entity 700 +// entity 701 +// entity 702 +// entity 703 +// entity 704 +// entity 705 +// entity 706 +// entity 707 +// entity 708 +// entity 709 +// entity 710 +// entity 711 +// entity 712 +// entity 713 +// entity 714 +// entity 715 +// entity 716 +// entity 717 +// entity 718 +// entity 719 +// entity 720 +// entity 721 +// entity 722 +// entity 723 +// entity 724 +// entity 725 +// entity 726 +// entity 727 +// entity 728 +// entity 729 +// entity 730 +// entity 731 +// entity 732 +// entity 733 +// entity 734 +// entity 735 +// entity 736 +// entity 737 +// entity 738 +// entity 739 +// entity 740 +// entity 741 +// entity 742 +// entity 743 +// entity 744 +// entity 745 +// entity 746 +// entity 747 +// entity 748 +// entity 749 +// entity 750 +// entity 751 +// entity 752 +// entity 753 +// entity 754 +// entity 755 +// entity 756 +// entity 757 +// entity 758 +// entity 759 +// entity 760 +// entity 761 +// entity 762 +// entity 763 +// entity 764 +// entity 765 +// entity 766 +// entity 767 +// entity 768 +// entity 769 +// entity 770 +// entity 771 +// entity 772 +// entity 773 +// entity 774 +// entity 775 +// entity 776 +// entity 777 +// entity 778 +// entity 779 +// entity 780 +// entity 781 +// entity 782 +// entity 783 +// entity 784 +// entity 785 +// entity 786 +// entity 787 +// entity 788 +// entity 789 +// entity 790 +// entity 791 +// entity 792 +// entity 793 +// entity 794 +// entity 795 +// entity 796 +// entity 797 +// entity 798 +// entity 799 +// entity 800 +// entity 801 +// entity 802 +// entity 803 +// entity 804 +// entity 805 +// entity 806 +// entity 807 +// entity 808 +// entity 809 +// entity 810 +// entity 811 +// entity 812 +// entity 813 +// entity 814 +// entity 815 +// entity 816 +// entity 817 +// entity 818 +// entity 819 +// entity 820 +// entity 821 +// entity 822 +// entity 823 +// entity 824 +// entity 825 +// entity 826 +// entity 827 +// entity 828 +// entity 829 +// entity 830 +// entity 831 +// entity 832 +// entity 833 +// entity 834 +// entity 835 +// entity 836 +// entity 837 +// entity 838 +// entity 839 +// entity 840 +// entity 841 +// entity 842 +// entity 843 +// entity 844 +// entity 845 +// entity 846 +// entity 847 +// entity 848 +// entity 849 +// entity 850 +// entity 851 +// entity 852 +// entity 853 +// entity 854 +// entity 855 +// entity 856 +// entity 857 +// entity 858 +// entity 859 +// entity 860 +// entity 861 +// entity 862 +// entity 863 +// entity 864 +// entity 865 +// entity 866 +// entity 867 +// entity 868 +// entity 869 +// entity 870 +// entity 871 +// entity 872 +// entity 873 +// entity 874 +// entity 875 +// entity 876 +// entity 877 +// entity 878 +// entity 879 +// entity 880 +// entity 881 +// entity 882 +// entity 883 +// entity 884 +// entity 885 +// entity 886 +// entity 887 +// entity 888 +// entity 889 +// entity 890 +// entity 891 +// entity 892 +// entity 893 +// entity 894 +// entity 895 +// entity 896 +// entity 897 +// entity 898 +// entity 899 +// entity 900 +// entity 901 +// entity 902 +// entity 903 +// entity 904 +// entity 905 +// entity 906 +// entity 907 +// entity 908 +// entity 909 +// entity 910 +// entity 911 +// entity 912 +// entity 913 +// entity 914 +// entity 915 +// entity 916 +// entity 917 +// entity 918 +// entity 919 +// entity 920 +// entity 921 +// entity 922 +// entity 923 +// entity 924 +// entity 925 +// entity 926 +// entity 927 +// entity 928 +// entity 929 +// entity 930 +// entity 931 +// entity 932 +// entity 933 +// entity 934 +// entity 935 +// entity 936 +// entity 937 +// entity 938 +// entity 939 +// entity 940 +// entity 941 +// entity 942 +// entity 943 +// entity 944 +// entity 945 +// entity 946 +// entity 947 +// entity 948 +// entity 949 +// entity 950 +// entity 951 +// entity 952 +// entity 953 +// entity 954 +// entity 955 +// entity 956 +// entity 957 +// entity 958 +// entity 959 +// entity 960 +// entity 961 +// entity 962 +// entity 963 +// entity 964 +// entity 965 +// entity 966 +// entity 967 +// entity 968 +// entity 969 +// entity 970 +// entity 971 +// entity 972 +// entity 973 +// entity 974 +// entity 975 +// entity 976 +// entity 977 +// entity 978 +// entity 979 +// entity 980 +// entity 981 +// entity 982 +// entity 983 +// entity 984 +// entity 985 +// entity 986 +// entity 987 +// entity 988 +// entity 989 +// entity 990 +// entity 991 +// entity 992 +// entity 993 +// entity 994 +// entity 995 +// entity 996 +// entity 997 +// entity 998 +// entity 999 +// entity 1000 +// entity 1001 +// entity 1002 +// entity 1003 +// entity 1004 +// entity 1005 +// entity 1006 +// entity 1007 +// entity 1008 +// entity 1009 +// entity 1010 +// entity 1011 +// entity 1012 +// entity 1013 +// entity 1014 +// entity 1015 +// entity 1016 +// entity 1017 +// entity 1018 +// entity 1019 +// entity 1020 +// entity 1021 +// entity 1022 +// entity 1023 +// entity 1024 +// entity 1025 +// entity 1026 +// entity 1027 +// entity 1028 +// entity 1029 +// entity 1030 +// entity 1031 +// entity 1032 +// entity 1033 +// entity 1034 +// entity 1035 +// entity 1036 +// entity 1037 +// entity 1038 +// entity 1039 +// entity 1040 +// entity 1041 +// entity 1042 +// entity 1043 +// entity 1044 +// entity 1045 +// entity 1046 +// entity 1047 +// entity 1048 +// entity 1049 +// entity 1050 +// entity 1051 +// entity 1052 +// entity 1053 +// entity 1054 +// entity 1055 +// entity 1056 +// entity 1057 +// entity 1058 +// entity 1059 +// entity 1060 +// entity 1061 +// entity 1062 +// entity 1063 +// entity 1064 +// entity 1065 +// entity 1066 +// entity 1067 +// entity 1068 +// entity 1069 +// entity 1070 +// entity 1071 +// entity 1072 +// entity 1073 +// entity 1074 +// entity 1075 +// entity 1076 +// entity 1077 +// entity 1078 +// entity 1079 +// entity 1080 +// entity 1081 +// entity 1082 +// entity 1083 +// entity 1084 +// entity 1085 +// entity 1086 +// entity 1087 +// entity 1088 +// entity 1089 +// entity 1090 +// entity 1091 +// entity 1092 +// entity 1093 +// entity 1094 +// entity 1095 +// entity 1096 +// entity 1097 +// entity 1098 +// entity 1099 +// entity 1100 +// entity 1101 +// entity 1102 +// entity 1103 +// entity 1104 +// entity 1105 +// entity 1106 +// entity 1107 +// entity 1108 +// entity 1109 +// entity 1110 +// entity 1111 +// entity 1112 +// entity 1113 +// entity 1114 +// entity 1115 +// entity 1116 +// entity 1117 +// entity 1118 +// entity 1119 +// entity 1120 +// entity 1121 +// entity 1122 +// entity 1123 +// entity 1124 +// entity 1125 +// entity 1126 +// entity 1127 +// entity 1128 +// entity 1129 +// entity 1130 +// entity 1131 +// entity 1132 +// entity 1133 +// entity 1134 +// entity 1135 +// entity 1136 +// entity 1137 +// entity 1138 +// entity 1139 +// entity 1140 +// entity 1141 +// entity 1142 +// entity 1143 +// entity 1144 +// entity 1145 +// entity 1146 +// entity 1147 +// entity 1148 +// entity 1149 +// entity 1150 +// entity 1151 +// entity 1152 +// entity 1153 +// entity 1154 +// entity 1155 +// entity 1156 +// entity 1157 +// entity 1158 +// entity 1159 +// entity 1160 +// entity 1161 +// entity 1162 +// entity 1163 +// entity 1164 +// entity 1165 +// entity 1166 +// entity 1167 +// entity 1168 +// entity 1169 +// entity 1170 +// entity 1171 +// entity 1172 +// entity 1173 +// entity 1174 +// entity 1175 +// entity 1176 +// entity 1177 +// entity 1178 +// entity 1179 +// entity 1180 +// entity 1181 +// entity 1182 +// entity 1183 +// entity 1184 +// entity 1185 +{ +"origin" "1167.4 -34.1 113.0" +"angles" "0 90 0" +"model" "weapon_ger_g43_rifle" +"classname" "script_model" +"targetname" "auto88" +} +// entity 1186 +// entity 1187 +// entity 1188 +// entity 1189 +// entity 1190 +// entity 1191 +// entity 1192 +// entity 1193 +// entity 1194 +// entity 1195 +// entity 1196 +// entity 1197 +// entity 1198 +// entity 1199 +// entity 1200 +// entity 1201 +// entity 1202 +// entity 1203 +// entity 1204 +// entity 1205 +// entity 1206 +// entity 1207 +// entity 1208 +// entity 1209 +// entity 1210 +// entity 1211 +// entity 1212 +// entity 1213 +// entity 1214 +// entity 1215 +// entity 1216 +// entity 1217 +// entity 1218 +// entity 1219 +// entity 1220 +// entity 1221 +// entity 1222 +// entity 1223 +// entity 1224 +// entity 1225 +// entity 1226 +// entity 1227 +// entity 1228 +// entity 1229 +// entity 1230 +// entity 1231 +// entity 1232 +// entity 1233 +// entity 1234 +// entity 1235 +// entity 1236 +// entity 1237 +// entity 1238 +// entity 1239 +// entity 1240 +// entity 1241 +// entity 1242 +// entity 1243 +// entity 1244 +// entity 1245 +// entity 1246 +// entity 1247 +// entity 1248 +// entity 1249 +// entity 1250 +// entity 1251 +// entity 1252 +// entity 1253 +// entity 1254 +// entity 1255 +// entity 1256 +// entity 1257 +// entity 1258 +// entity 1259 +// entity 1260 +// entity 1261 +// entity 1262 +// entity 1263 +// entity 1264 +// entity 1265 +// entity 1266 +// entity 1267 +// entity 1268 +// entity 1269 +// entity 1270 +// entity 1271 +// entity 1272 +// entity 1273 +// entity 1274 +// entity 1275 +// entity 1276 +// entity 1277 +// entity 1278 +// entity 1279 +// entity 1280 +// entity 1281 +// entity 1282 +// entity 1283 +// entity 1284 +// entity 1285 +// entity 1286 +// entity 1287 +// entity 1288 +// entity 1289 +// entity 1290 +// entity 1291 +// entity 1292 +// entity 1293 +// entity 1294 +// entity 1295 +// entity 1296 +// entity 1297 +// entity 1298 +// entity 1299 +// entity 1300 +// entity 1301 +// entity 1302 +// entity 1303 +// entity 1304 +// entity 1305 +// entity 1306 +// entity 1307 +// entity 1308 +// entity 1309 +// entity 1310 +// entity 1311 +// entity 1312 +// entity 1313 +// entity 1314 +// entity 1315 +// entity 1316 +// entity 1317 +// entity 1318 +// entity 1319 +// entity 1320 +// entity 1321 +// entity 1322 +// entity 1323 +// entity 1324 +// entity 1325 +// entity 1326 +// entity 1327 +// entity 1328 +// entity 1329 +// entity 1330 +// entity 1331 +// entity 1332 +// entity 1333 +// entity 1334 +// entity 1335 +// entity 1336 +// entity 1337 +// entity 1338 +// entity 1339 +// entity 1340 +// entity 1341 +// entity 1342 +// entity 1343 +// entity 1344 +// entity 1345 +// entity 1346 +// entity 1347 +// entity 1348 +// entity 1349 +// entity 1350 +// entity 1351 +// entity 1352 +// entity 1353 +// entity 1354 +// entity 1355 +// entity 1356 +// entity 1357 +// entity 1358 +// entity 1359 +// entity 1360 +// entity 1361 +// entity 1362 +// entity 1363 +// entity 1364 +// entity 1365 +// entity 1366 +// entity 1367 +// entity 1368 +// entity 1369 +// entity 1370 +// entity 1371 +// entity 1372 +// entity 1373 +// entity 1374 +// entity 1375 +// entity 1376 +// entity 1377 +// entity 1378 +// entity 1379 +// entity 1380 +// entity 1381 +// entity 1382 +// entity 1383 +// entity 1384 +// entity 1385 +// entity 1386 +// entity 1387 +// entity 1388 +// entity 1389 +// entity 1390 +// entity 1391 +// entity 1392 +// entity 1393 +// entity 1394 +// entity 1395 +// entity 1396 +// entity 1397 +// entity 1398 +// entity 1399 +// entity 1400 +// entity 1401 +// entity 1402 +// entity 1403 +// entity 1404 +// entity 1405 +// entity 1406 +// entity 1407 +// entity 1408 +// entity 1409 +// entity 1410 +// entity 1411 +// entity 1412 +// entity 1413 +// entity 1414 +// entity 1415 +// entity 1416 +// entity 1417 +// entity 1418 +// entity 1419 +// entity 1420 +// entity 1421 +// entity 1422 +// entity 1423 +// entity 1424 +// entity 1425 +// entity 1426 +// entity 1427 +// entity 1428 +// entity 1429 +// entity 1430 +// entity 1431 +// entity 1432 +// entity 1433 +// entity 1434 +// entity 1435 +// entity 1436 +// entity 1437 +// entity 1438 +// entity 1439 +// entity 1440 +// entity 1441 +// entity 1442 +// entity 1443 +// entity 1444 +// entity 1445 +// entity 1446 +// entity 1447 +// entity 1448 +// entity 1449 +// entity 1450 +// entity 1451 +// entity 1452 +// entity 1453 +// entity 1454 +// entity 1455 +// entity 1456 +// entity 1457 +// entity 1458 +// entity 1459 +// entity 1460 +// entity 1461 +// entity 1462 +// entity 1463 +// entity 1464 +// entity 1465 +// entity 1466 +// entity 1467 +// entity 1468 +// entity 1469 +// entity 1470 +// entity 1471 +// entity 1472 +// entity 1473 +// entity 1474 +// entity 1475 +// entity 1476 +// entity 1477 +// entity 1478 +// entity 1479 +// entity 1480 +// entity 1481 +// entity 1482 +// entity 1483 +// entity 1484 +// entity 1485 +// entity 1486 +// entity 1487 +// entity 1488 +// entity 1489 +// entity 1490 +// entity 1491 +// entity 1492 +// entity 1493 +// entity 1494 +// entity 1495 +// entity 1496 +// entity 1497 +// entity 1498 +// entity 1499 +// entity 1500 +// entity 1501 +// entity 1502 +// entity 1503 +// entity 1504 +// entity 1505 +// entity 1506 +// entity 1507 +// entity 1508 +// entity 1509 +// entity 1510 +// entity 1511 +// entity 1512 +// entity 1513 +// entity 1514 +// entity 1515 +// entity 1516 +// entity 1517 +// entity 1518 +// entity 1519 +// entity 1520 +// entity 1521 +// entity 1522 +// entity 1523 +// entity 1524 +// entity 1525 +// entity 1526 +// entity 1527 +// entity 1528 +// entity 1529 +// entity 1530 +// entity 1531 +// entity 1532 +// entity 1533 +// entity 1534 +// entity 1535 +// entity 1536 +// entity 1537 +// entity 1538 +// entity 1539 +// entity 1540 +// entity 1541 +// entity 1542 +// entity 1543 +// entity 1544 +// entity 1545 +// entity 1546 +// entity 1547 +// entity 1548 +// entity 1549 +// entity 1550 +// entity 1551 +// entity 1552 +// entity 1553 +// entity 1554 +// entity 1555 +// entity 1556 +// entity 1557 +// entity 1558 +// entity 1559 +// entity 1560 +// entity 1561 +// entity 1562 +// entity 1563 +// entity 1564 +// entity 1565 +// entity 1566 +// entity 1567 +// entity 1568 +// entity 1569 +// entity 1570 +// entity 1571 +// entity 1572 +// entity 1573 +// entity 1574 +// entity 1575 +// entity 1576 +// entity 1577 +// entity 1578 +// entity 1579 +// entity 1580 +// entity 1581 +// entity 1582 +// entity 1583 +// entity 1584 +// entity 1585 +// entity 1586 +// entity 1587 +// entity 1588 +// entity 1589 +// entity 1590 +// entity 1591 +// entity 1592 +// entity 1593 +// entity 1594 +// entity 1595 +// entity 1596 +// entity 1597 +// entity 1598 +// entity 1599 +// entity 1600 +// entity 1601 +// entity 1602 +// entity 1603 +// entity 1604 +// entity 1605 +// entity 1606 +// entity 1607 +// entity 1608 +// entity 1609 +// entity 1610 +// entity 1611 +// entity 1612 +// entity 1613 +// entity 1614 +// entity 1615 +// entity 1616 +// entity 1617 +// entity 1618 +// entity 1619 +// entity 1620 +// entity 1621 +// entity 1622 +// entity 1623 +// entity 1624 +// entity 1625 +// entity 1626 +// entity 1627 +// entity 1628 +// entity 1629 +// entity 1630 +// entity 1631 +// entity 1632 +// entity 1633 +// entity 1634 +// entity 1635 +// entity 1636 +// entity 1637 +// entity 1638 +// entity 1639 +// entity 1640 +// entity 1641 +// entity 1642 +// entity 1643 +// entity 1644 +// entity 1645 +// entity 1646 +// entity 1647 +// entity 1648 +// entity 1649 +// entity 1650 +// entity 1651 +// entity 1652 +// entity 1653 +// entity 1654 +// entity 1655 +// entity 1656 +// entity 1657 +// entity 1658 +// entity 1659 +// entity 1660 +// entity 1661 +// entity 1662 +// entity 1663 +// entity 1664 +// entity 1665 +// entity 1666 +// entity 1667 +// entity 1668 +// entity 1669 +// entity 1670 +// entity 1671 +// entity 1672 +// entity 1673 +// entity 1674 +// entity 1675 +// entity 1676 +// entity 1677 +// entity 1678 +// entity 1679 +// entity 1680 +// entity 1681 +// entity 1682 +// entity 1683 +// entity 1684 +// entity 1685 +// entity 1686 +// entity 1687 +// entity 1688 +// entity 1689 +// entity 1690 +// entity 1691 +// entity 1692 +// entity 1693 +// entity 1694 +// entity 1695 +// entity 1696 +// entity 1697 +// entity 1698 +// entity 1699 +// entity 1700 +// entity 1701 +// entity 1702 +// entity 1703 +// entity 1704 +// entity 1705 +// entity 1706 +// entity 1707 +// entity 1708 +// entity 1709 +// entity 1710 +// entity 1711 +// entity 1712 +// entity 1713 +// entity 1714 +// entity 1715 +// entity 1716 +// entity 1717 +// entity 1718 +// entity 1719 +// entity 1720 +// entity 1721 +// entity 1722 +// entity 1723 +// entity 1724 +// entity 1725 +// entity 1726 +// entity 1727 +// entity 1728 +// entity 1729 +// entity 1730 +// entity 1731 +// entity 1732 +// entity 1733 +// entity 1734 +// entity 1735 +// entity 1736 +// entity 1737 +// entity 1738 +// entity 1739 +// entity 1740 +// entity 1741 +// entity 1742 +// entity 1743 +// entity 1744 +// entity 1745 +// entity 1746 +// entity 1747 +// entity 1748 +// entity 1749 +// entity 1750 +// entity 1751 +// entity 1752 +// entity 1753 +// entity 1754 +// entity 1755 +// entity 1756 +// entity 1757 +// entity 1758 +// entity 1759 +// entity 1760 +// entity 1761 +// entity 1762 +// entity 1763 +// entity 1764 +// entity 1765 +// entity 1766 +// entity 1767 +// entity 1768 +// entity 1769 +// entity 1770 +// entity 1771 +// entity 1772 +// entity 1773 +// entity 1774 +// entity 1775 +// entity 1776 +// entity 1777 +// entity 1778 +// entity 1779 +// entity 1780 +// entity 1781 +// entity 1782 +// entity 1783 +// entity 1784 +// entity 1785 +// entity 1786 +// entity 1787 +// entity 1788 +// entity 1789 +// entity 1790 +// entity 1791 +// entity 1792 +// entity 1793 +// entity 1794 +// entity 1795 +// entity 1796 +// entity 1797 +// entity 1798 +// entity 1799 +// entity 1800 +// entity 1801 +// entity 1802 +// entity 1803 +// entity 1804 +// entity 1805 +// entity 1806 +// entity 1807 +// entity 1808 +// entity 1809 +// entity 1810 +// entity 1811 +// entity 1812 +// entity 1813 +// entity 1814 +// entity 1815 +// entity 1816 +// entity 1817 +// entity 1818 +// entity 1819 +// entity 1820 +// entity 1821 +// entity 1822 +// entity 1823 +// entity 1824 +// entity 1825 +// entity 1826 +// entity 1827 +// entity 1828 +// entity 1829 +// entity 1830 +// entity 1831 +// entity 1832 +// entity 1833 +// entity 1834 +// entity 1835 +// entity 1836 +// entity 1837 +// entity 1838 +// entity 1839 +// entity 1840 +// entity 1841 +// entity 1842 +// entity 1843 +// entity 1844 +// entity 1845 +// entity 1846 +// entity 1847 +// entity 1848 +// entity 1849 +// entity 1850 +// entity 1851 +// entity 1852 +// entity 1853 +// entity 1854 +// entity 1855 +// entity 1856 +// entity 1857 +// entity 1858 +// entity 1859 +// entity 1860 +// entity 1861 +// entity 1862 +// entity 1863 +// entity 1864 +// entity 1865 +// entity 1866 +// entity 1867 +// entity 1868 +// entity 1869 +// entity 1870 +// entity 1871 +// entity 1872 +// entity 1873 +// entity 1874 +// entity 1875 +// entity 1876 +// entity 1877 +// entity 1878 +// entity 1879 +// entity 1880 +// entity 1881 +// entity 1882 +// entity 1883 +// entity 1884 +// entity 1885 +// entity 1886 +// entity 1887 +// entity 1888 +// entity 1889 +// entity 1890 +// entity 1891 +// entity 1892 +// entity 1893 +// entity 1894 +// entity 1895 +// entity 1896 +// entity 1897 +// entity 1898 +// entity 1899 +// entity 1900 +// entity 1901 +// entity 1902 +// entity 1903 +// entity 1904 +// entity 1905 +// entity 1906 +// entity 1907 +// entity 1908 +// entity 1909 +// entity 1910 +// entity 1911 +// entity 1912 +// entity 1913 +// entity 1914 +// entity 1915 +// entity 1916 +// entity 1917 +// entity 1918 +// entity 1919 +// entity 1920 +// entity 1921 +// entity 1922 +// entity 1923 +// entity 1924 +// entity 1925 +// entity 1926 +// entity 1927 +// entity 1928 +// entity 1929 +// entity 1930 +// entity 1931 +// entity 1932 +// entity 1933 +// entity 1934 +// entity 1935 +// entity 1936 +// entity 1937 +// entity 1938 +// entity 1939 +// entity 1940 +// entity 1941 +// entity 1942 +// entity 1943 +// entity 1944 +// entity 1945 +// entity 1946 +// entity 1947 +// entity 1948 +// entity 1949 +// entity 1950 +// entity 1951 +// entity 1952 +// entity 1953 +// entity 1954 +// entity 1955 +// entity 1956 +// entity 1957 +// entity 1958 +// entity 1959 +// entity 1960 +// entity 1961 +// entity 1962 +// entity 1963 +// entity 1964 +// entity 1965 +// entity 1966 +// entity 1967 +// entity 1968 +// entity 1969 +// entity 1970 +// entity 1971 +// entity 1972 +// entity 1973 +// entity 1974 +// entity 1975 +// entity 1976 +// entity 1977 +// entity 1978 +// entity 1979 +// entity 1980 +// entity 1981 +// entity 1982 +// entity 1983 +// entity 1984 +// entity 1985 +// entity 1986 +// entity 1987 +// entity 1988 +// entity 1989 +// entity 1990 +// entity 1991 +// entity 1992 +// entity 1993 +// entity 1994 +// entity 1995 +// entity 1996 +// entity 1997 +// entity 1998 +// entity 1999 +// entity 2000 +// entity 2001 +// entity 2002 +// entity 2003 +// entity 2004 +// entity 2005 +// entity 2006 +// entity 2007 +// entity 2008 +// entity 2009 +// entity 2010 +// entity 2011 +// entity 2012 +// entity 2013 +// entity 2014 +// entity 2015 +// entity 2016 +// entity 2017 +// entity 2018 +// entity 2019 +// entity 2020 +// entity 2021 +// entity 2022 +// entity 2023 +// entity 2024 +// entity 2025 +// entity 2026 +// entity 2027 +// entity 2028 +// entity 2029 +// entity 2030 +// entity 2031 +// entity 2032 +// entity 2033 +// entity 2034 +// entity 2035 +// entity 2036 +// entity 2037 +// entity 2038 +// entity 2039 +// entity 2040 +// entity 2041 +// entity 2042 +// entity 2043 +// entity 2044 +// entity 2045 +// entity 2046 diff --git a/map_source/_prefabs/zombiemode/weapon_grenadebag.map b/map_source/_prefabs/zombiemode/weapon_grenadebag.map new file mode 100644 index 000000000..ebdfeb53d --- /dev/null +++ b/map_source/_prefabs/zombiemode/weapon_grenadebag.map @@ -0,0 +1,1303 @@ +iwmap 4 +// entity 0 +{ +"reflection_color_correction" "zombie" +"skyboxmodel" "skybox_zombie" +"sunisprimarylight" "1" +"bouncefraction" "0.3" +"contrastgain" "0.35" +"_color" "0.5 0.5 0.7" +"ambient" "0.1" +"sundiffusecolor" "0.25 0.55 0.8" +"diffusefraction" "0.15" +"classname" "worldspawn" +"sundirection" "-150 17 0" +"suncolor" "0.64 0.85 1" +"sunlight" "0.75" +// brush 0 +{ + ( -139.91457 -122 191.08717 ) ( -154.41548 -122 197.84906 ) ( -154.41548 -130 197.84906 ) nodraw_decal 64 64 0 0 0 0 lightmap_gray 14848.951 16383.961 -24.813643 18 0 0 + ( -146.93051 -130 218.63306 ) ( -146.93051 -122 218.63306 ) ( -132.4296 -122 211.87117 ) nodraw_decal 64 64 0 0 0 0 lightmap_gray 14848.923 16383.945 -15.516606 18 0 0 + ( -140.04158 -130 212.11055 ) ( -125.54068 -130 205.34866 ) ( -132.30255 -130 190.84776 ) nodraw_decal 64 64 0 0 0 0 lightmap_gray 16384.016 16383.902 -80.562256 66.945976 -25 0 + ( -119.40781 -130 201.93721 ) ( -119.40781 -122 201.93721 ) ( -126.16972 -122 187.43631 ) nodraw_decal 64 64 0 0 0 0 lightmap_gray 16384 14848.951 -18 -21.128998 0 0 + ( -132.79111 -122 208.72964 ) ( -147.29205 -122 215.49152 ) ( -154.05396 -122 200.99059 ) grenade_bag_chalk 23 -22 78.555031 -83.936913 155 0 lightmap_gray 16383.973 16384.076 -80.563164 66.946709 -25 0 + ( -141.73207 -122 208.48535 ) ( -141.73207 -130 208.48535 ) ( -148.49394 -130 193.98439 ) nodraw_decal 64 64 0 0 0 0 lightmap_gray 16384.08 14849.014 -18 -30.848278 0 0 +} +} +// entity 1 +// entity 2 +// entity 3 +// entity 4 +// entity 5 +// entity 6 +// entity 7 +// entity 8 +// entity 9 +// entity 10 +// entity 11 +// entity 12 +// entity 13 +// entity 14 +// entity 15 +// entity 16 +// entity 17 +// entity 18 +// entity 19 +// entity 20 +// entity 21 +// entity 22 +// entity 23 +// entity 24 +// entity 25 +// entity 26 +// entity 27 +// entity 28 +// entity 29 +// entity 30 +// entity 31 +// entity 32 +// entity 33 +// entity 34 +// entity 35 +// entity 36 +// entity 37 +// entity 38 +// entity 39 +// entity 40 +// entity 41 +// entity 42 +// entity 43 +// entity 44 +// entity 45 +// entity 46 +// entity 47 +// entity 48 +// entity 49 +// entity 50 +// entity 51 +// entity 52 +// entity 53 +// entity 54 +// entity 55 +// entity 56 +// entity 57 +// entity 58 +// entity 59 +// entity 60 +// entity 61 +// entity 62 +// entity 63 +// entity 64 +// entity 65 +// entity 66 +// entity 67 +// entity 68 +// entity 69 +// entity 70 +// entity 71 +// entity 72 +// entity 73 +// entity 74 +// entity 75 +// entity 76 +// entity 77 +// entity 78 +// entity 79 +// entity 80 +// entity 81 +// entity 82 +// entity 83 +// entity 84 +// entity 85 +// entity 86 +// entity 87 +// entity 88 +// entity 89 +// entity 90 +// entity 91 +// entity 92 +// entity 93 +// entity 94 +// entity 95 +// entity 96 +// entity 97 +// entity 98 +// entity 99 +// entity 100 +// entity 101 +// entity 102 +// entity 103 +// entity 104 +// entity 105 +// entity 106 +// entity 107 +// entity 108 +// entity 109 +// entity 110 +// entity 111 +// entity 112 +// entity 113 +// entity 114 +// entity 115 +// entity 116 +// entity 117 +// entity 118 +// entity 119 +// entity 120 +// entity 121 +// entity 122 +// entity 123 +// entity 124 +// entity 125 +// entity 126 +// entity 127 +// entity 128 +// entity 129 +// entity 130 +// entity 131 +// entity 132 +// entity 133 +// entity 134 +// entity 135 +// entity 136 +// entity 137 +// entity 138 +// entity 139 +// entity 140 +// entity 141 +// entity 142 +// entity 143 +// entity 144 +// entity 145 +// entity 146 +// entity 147 +// entity 148 +// entity 149 +// entity 150 +// entity 151 +// entity 152 +// entity 153 +// entity 154 +// entity 155 +// entity 156 +// entity 157 +// entity 158 +// entity 159 +// entity 160 +// entity 161 +// entity 162 +// entity 163 +// entity 164 +// entity 165 +// entity 166 +// entity 167 +// entity 168 +// entity 169 +// entity 170 +// entity 171 +// entity 172 +// entity 173 +// entity 174 +// entity 175 +// entity 176 +// entity 177 +// entity 178 +// entity 179 +// entity 180 +// entity 181 +// entity 182 +// entity 183 +// entity 184 +// entity 185 +// entity 186 +// entity 187 +// entity 188 +// entity 189 +// entity 190 +// entity 191 +// entity 192 +// entity 193 +// entity 194 +// entity 195 +// entity 196 +// entity 197 +// entity 198 +// entity 199 +// entity 200 +// entity 201 +// entity 202 +// entity 203 +// entity 204 +// entity 205 +// entity 206 +// entity 207 +// entity 208 +// entity 209 +// entity 210 +// entity 211 +// entity 212 +// entity 213 +// entity 214 +// entity 215 +// entity 216 +// entity 217 +// entity 218 +// entity 219 +// entity 220 +// entity 221 +// entity 222 +// entity 223 +// entity 224 +// entity 225 +// entity 226 +// entity 227 +// entity 228 +// entity 229 +// entity 230 +// entity 231 +// entity 232 +// entity 233 +// entity 234 +// entity 235 +// entity 236 +// entity 237 +// entity 238 +// entity 239 +// entity 240 +// entity 241 +// entity 242 +// entity 243 +// entity 244 +// entity 245 +// entity 246 +// entity 247 +// entity 248 +// entity 249 +// entity 250 +// entity 251 +// entity 252 +// entity 253 +// entity 254 +// entity 255 +// entity 256 +// entity 257 +// entity 258 +// entity 259 +// entity 260 +// entity 261 +// entity 262 +// entity 263 +// entity 264 +// entity 265 +// entity 266 +// entity 267 +// entity 268 +// entity 269 +// entity 270 +// entity 271 +// entity 272 +// entity 273 +// entity 274 +// entity 275 +// entity 276 +// entity 277 +// entity 278 +// entity 279 +// entity 280 +// entity 281 +// entity 282 +// entity 283 +// entity 284 +// entity 285 +// entity 286 +// entity 287 +// entity 288 +// entity 289 +// entity 290 +// entity 291 +// entity 292 +// entity 293 +// entity 294 +// entity 295 +// entity 296 +// entity 297 +// entity 298 +// entity 299 +// entity 300 +// entity 301 +// entity 302 +// entity 303 +// entity 304 +// entity 305 +// entity 306 +// entity 307 +// entity 308 +// entity 309 +// entity 310 +// entity 311 +// entity 312 +// entity 313 +// entity 314 +// entity 315 +// entity 316 +// entity 317 +// entity 318 +// entity 319 +// entity 320 +// entity 321 +// entity 322 +// entity 323 +// entity 324 +// entity 325 +// entity 326 +// entity 327 +// entity 328 +// entity 329 +// entity 330 +// entity 331 +// entity 332 +// entity 333 +// entity 334 +// entity 335 +// entity 336 +// entity 337 +// entity 338 +// entity 339 +// entity 340 +// entity 341 +// entity 342 +// entity 343 +// entity 344 +// entity 345 +// entity 346 +// entity 347 +// entity 348 +// entity 349 +// entity 350 +// entity 351 +// entity 352 +// entity 353 +// entity 354 +// entity 355 +// entity 356 +// entity 357 +// entity 358 +// entity 359 +// entity 360 +// entity 361 +// entity 362 +// entity 363 +// entity 364 +// entity 365 +// entity 366 +// entity 367 +// entity 368 +// entity 369 +// entity 370 +// entity 371 +// entity 372 +// entity 373 +// entity 374 +// entity 375 +// entity 376 +// entity 377 +// entity 378 +// entity 379 +// entity 380 +// entity 381 +// entity 382 +// entity 383 +// entity 384 +// entity 385 +// entity 386 +// entity 387 +{ +"classname" "script_model" +"model" "german_grenade_bag" +"angles" "60.7 180 -180" +"origin" "-134.5 -121.5 197.3" +"targetname" "auto43" +} +// entity 388 +// entity 389 +// entity 390 +// entity 391 +// entity 392 +// entity 393 +// entity 394 +// entity 395 +// entity 396 +// entity 397 +// entity 398 +// entity 399 +// entity 400 +// entity 401 +// entity 402 +// entity 403 +// entity 404 +// entity 405 +// entity 406 +// entity 407 +// entity 408 +// entity 409 +// entity 410 +// entity 411 +// entity 412 +// entity 413 +// entity 414 +// entity 415 +// entity 416 +// entity 417 +// entity 418 +// entity 419 +// entity 420 +// entity 421 +// entity 422 +// entity 423 +// entity 424 +// entity 425 +// entity 426 +// entity 427 +// entity 428 +// entity 429 +// entity 430 +// entity 431 +// entity 432 +// entity 433 +// entity 434 +// entity 435 +// entity 436 +// entity 437 +// entity 438 +// entity 439 +// entity 440 +// entity 441 +// entity 442 +// entity 443 +// entity 444 +// entity 445 +// entity 446 +// entity 447 +// entity 448 +// entity 449 +// entity 450 +// entity 451 +// entity 452 +// entity 453 +// entity 454 +// entity 455 +// entity 456 +// entity 457 +// entity 458 +// entity 459 +// entity 460 +// entity 461 +// entity 462 +// entity 463 +// entity 464 +// entity 465 +// entity 466 +// entity 467 +// entity 468 +// entity 469 +// entity 470 +// entity 471 +// entity 472 +// entity 473 +// entity 474 +// entity 475 +// entity 476 +// entity 477 +// entity 478 +// entity 479 +// entity 480 +// entity 481 +// entity 482 +// entity 483 +// entity 484 +// entity 485 +// entity 486 +// entity 487 +// entity 488 +// entity 489 +// entity 490 +// entity 491 +// entity 492 +// entity 493 +// entity 494 +// entity 495 +// entity 496 +// entity 497 +// entity 498 +// entity 499 +// entity 500 +// entity 501 +// entity 502 +// entity 503 +// entity 504 +// entity 505 +// entity 506 +{ +"script_ammo_clip" "250" +"target" "auto43" +"zombie_cost" "500" +"zombie_weapon_upgrade" "stielhandgranate" +"targetname" "weapon_upgrade" +"classname" "trigger_use" +// brush 0 +{ + ( -140 -121 188.5 ) ( -142.5 -120.5 188.5 ) ( -143 -148 188.5 ) trigger 64.039848 64.002083 383.72211 5380.2163 178.69884 0.0012004412 lightmap_gray 16416.221 16385.293 383.73926 5379.9707 178.46986 -0.0034005309 + ( -141.5 -147.5 209.5 ) ( -144 -147.5 209.5 ) ( -143.5 -120 209.5 ) trigger 64.052505 63.995575 383.60907 5379.3325 178.55644 -0.0017570473 lightmap_gray 16396.756 16384.189 383.11426 5380.064 178.7019 0.00040397421 + ( -141.5 -115.5 186.5 ) ( -141.5 -115.5 194.5 ) ( -144 -115.5 194.5 ) trigger 64.026886 -64 386.79395 91.75238 180 0 lightmap_gray 16391.98 -16383.938 386.72653 91.754021 180 0 + ( -145 -120 191.5 ) ( -145 -120 199.5 ) ( -145 -147.5 199.5 ) trigger 64 -64 -5383.3418 91.668083 180 0.00030153739 lightmap_gray 16386.875 -16384 -5384.2256 91.668083 180 0.00024292889 + ( -148 -122.5 192 ) ( -148 -122.5 200 ) ( -145.5 -122.5 200 ) trigger 64.011765 -64 387.32809 91.68924 -180 0 lightmap_gray 16378.65 -16384 387.16296 91.68924 180 0 + ( -122.5 -124 195.5 ) ( -122.5 -124 187.5 ) ( -122.5 -151.5 187.5 ) trigger 64 -64 -5383.1108 91.68074 180 -0.00037309324 lightmap_gray 16369.333 -16383.971 -5378.2671 91.68058 180 0.00029779001 +} +} +// entity 507 +// entity 508 +// entity 509 +// entity 510 +// entity 511 +// entity 512 +// entity 513 +// entity 514 +// entity 515 +// entity 516 +// entity 517 +// entity 518 +// entity 519 +// entity 520 +// entity 521 +// entity 522 +// entity 523 +// entity 524 +// entity 525 +// entity 526 +// entity 527 +// entity 528 +// entity 529 +// entity 530 +// entity 531 +// entity 532 +// entity 533 +// entity 534 +// entity 535 +// entity 536 +// entity 537 +// entity 538 +// entity 539 +// entity 540 +// entity 541 +// entity 542 +// entity 543 +// entity 544 +// entity 545 +// entity 546 +// entity 547 +// entity 548 +// entity 549 +// entity 550 +// entity 551 +// entity 552 +// entity 553 +// entity 554 +// entity 555 +// entity 556 +// entity 557 +// entity 558 +// entity 559 +// entity 560 +// entity 561 +// entity 562 +// entity 563 +// entity 564 +// entity 565 +// entity 566 +// entity 567 +// entity 568 +// entity 569 +// entity 570 +// entity 571 +// entity 572 +// entity 573 +// entity 574 +// entity 575 +// entity 576 +// entity 577 +// entity 578 +// entity 579 +// entity 580 +// entity 581 +// entity 582 +// entity 583 +// entity 584 +// entity 585 +// entity 586 +// entity 587 +// entity 588 +// entity 589 +// entity 590 +// entity 591 +// entity 592 +// entity 593 +// entity 594 +// entity 595 +// entity 596 +// entity 597 +// entity 598 +// entity 599 +// entity 600 +// entity 601 +// entity 602 +// entity 603 +// entity 604 +// entity 605 +// entity 606 +// entity 607 +// entity 608 +// entity 609 +// entity 610 +// entity 611 +// entity 612 +// entity 613 +// entity 614 +// entity 615 +// entity 616 +// entity 617 +// entity 618 +// entity 619 +// entity 620 +// entity 621 +// entity 622 +// entity 623 +// entity 624 +// entity 625 +// entity 626 +// entity 627 +// entity 628 +// entity 629 +// entity 630 +// entity 631 +// entity 632 +// entity 633 +// entity 634 +// entity 635 +// entity 636 +// entity 637 +// entity 638 +// entity 639 +// entity 640 +// entity 641 +// entity 642 +// entity 643 +// entity 644 +// entity 645 +// entity 646 +// entity 647 +// entity 648 +// entity 649 +// entity 650 +// entity 651 +// entity 652 +// entity 653 +// entity 654 +// entity 655 +// entity 656 +// entity 657 +// entity 658 +// entity 659 +// entity 660 +// entity 661 +// entity 662 +// entity 663 +// entity 664 +// entity 665 +// entity 666 +// entity 667 +// entity 668 +// entity 669 +// entity 670 +// entity 671 +// entity 672 +// entity 673 +// entity 674 +// entity 675 +// entity 676 +// entity 677 +// entity 678 +// entity 679 +// entity 680 +// entity 681 +// entity 682 +// entity 683 +// entity 684 +// entity 685 +// entity 686 +// entity 687 +// entity 688 +// entity 689 +// entity 690 +// entity 691 +// entity 692 +// entity 693 +// entity 694 +// entity 695 +// entity 696 +// entity 697 +// entity 698 +// entity 699 +// entity 700 +// entity 701 +// entity 702 +// entity 703 +// entity 704 +// entity 705 +// entity 706 +// entity 707 +// entity 708 +// entity 709 +// entity 710 +// entity 711 +// entity 712 +// entity 713 +// entity 714 +// entity 715 +// entity 716 +// entity 717 +// entity 718 +// entity 719 +// entity 720 +// entity 721 +// entity 722 +// entity 723 +// entity 724 +// entity 725 +// entity 726 +// entity 727 +// entity 728 +// entity 729 +// entity 730 +// entity 731 +// entity 732 +// entity 733 +// entity 734 +// entity 735 +// entity 736 +// entity 737 +// entity 738 +// entity 739 +// entity 740 +// entity 741 +// entity 742 +// entity 743 +// entity 744 +// entity 745 +// entity 746 +// entity 747 +// entity 748 +// entity 749 +// entity 750 +// entity 751 +// entity 752 +// entity 753 +// entity 754 +// entity 755 +// entity 756 +// entity 757 +// entity 758 +// entity 759 +// entity 760 +// entity 761 +// entity 762 +// entity 763 +// entity 764 +// entity 765 +// entity 766 +// entity 767 +// entity 768 +// entity 769 +// entity 770 +// entity 771 +// entity 772 +// entity 773 +// entity 774 +// entity 775 +// entity 776 +// entity 777 +// entity 778 +// entity 779 +// entity 780 +// entity 781 +// entity 782 +// entity 783 +// entity 784 +// entity 785 +// entity 786 +// entity 787 +// entity 788 +// entity 789 +// entity 790 +// entity 791 +// entity 792 +// entity 793 +// entity 794 +// entity 795 +// entity 796 +// entity 797 +// entity 798 +// entity 799 +// entity 800 +// entity 801 +// entity 802 +// entity 803 +// entity 804 +// entity 805 +// entity 806 +// entity 807 +// entity 808 +// entity 809 +// entity 810 +// entity 811 +// entity 812 +// entity 813 +// entity 814 +// entity 815 +// entity 816 +// entity 817 +// entity 818 +// entity 819 +// entity 820 +// entity 821 +// entity 822 +// entity 823 +// entity 824 +// entity 825 +// entity 826 +// entity 827 +// entity 828 +// entity 829 +// entity 830 +// entity 831 +// entity 832 +// entity 833 +// entity 834 +// entity 835 +// entity 836 +// entity 837 +// entity 838 +// entity 839 +// entity 840 +// entity 841 +// entity 842 +// entity 843 +// entity 844 +// entity 845 +// entity 846 +// entity 847 +// entity 848 +// entity 849 +// entity 850 +// entity 851 +// entity 852 +// entity 853 +// entity 854 +// entity 855 +// entity 856 +// entity 857 +// entity 858 +// entity 859 +// entity 860 +// entity 861 +// entity 862 +// entity 863 +// entity 864 +// entity 865 +// entity 866 +// entity 867 +// entity 868 +// entity 869 +// entity 870 +// entity 871 +// entity 872 +// entity 873 +// entity 874 +// entity 875 +// entity 876 +// entity 877 +// entity 878 +// entity 879 +// entity 880 +// entity 881 +// entity 882 +// entity 883 +// entity 884 +// entity 885 +// entity 886 +// entity 887 +// entity 888 +// entity 889 +// entity 890 +// entity 891 +// entity 892 +// entity 893 +// entity 894 +// entity 895 +// entity 896 +// entity 897 +// entity 898 +// entity 899 +// entity 900 +// entity 901 +// entity 902 +// entity 903 +// entity 904 +// entity 905 +// entity 906 +// entity 907 +// entity 908 +// entity 909 +// entity 910 +// entity 911 +// entity 912 +// entity 913 +// entity 914 +// entity 915 +// entity 916 +// entity 917 +// entity 918 +// entity 919 +// entity 920 +// entity 921 +// entity 922 +// entity 923 +// entity 924 +// entity 925 +// entity 926 +// entity 927 +// entity 928 +// entity 929 +// entity 930 +// entity 931 +// entity 932 +// entity 933 +// entity 934 +// entity 935 +// entity 936 +// entity 937 +// entity 938 +// entity 939 +// entity 940 +// entity 941 +// entity 942 +// entity 943 +// entity 944 +// entity 945 +// entity 946 +// entity 947 +// entity 948 +// entity 949 +// entity 950 +// entity 951 +// entity 952 +// entity 953 +// entity 954 +// entity 955 +// entity 956 +// entity 957 +// entity 958 +// entity 959 +// entity 960 +// entity 961 +// entity 962 +// entity 963 +// entity 964 +// entity 965 +// entity 966 +// entity 967 +// entity 968 +// entity 969 +// entity 970 +// entity 971 +// entity 972 +// entity 973 +// entity 974 +// entity 975 +// entity 976 +// entity 977 +// entity 978 +// entity 979 +// entity 980 +// entity 981 +// entity 982 +// entity 983 +// entity 984 +// entity 985 +// entity 986 +// entity 987 +// entity 988 +// entity 989 +// entity 990 +// entity 991 +// entity 992 +// entity 993 +// entity 994 +// entity 995 +// entity 996 +// entity 997 +// entity 998 +// entity 999 +// entity 1000 +// entity 1001 +// entity 1002 +// entity 1003 +// entity 1004 +// entity 1005 +// entity 1006 +// entity 1007 +// entity 1008 +// entity 1009 +// entity 1010 +// entity 1011 +// entity 1012 +// entity 1013 +// entity 1014 +// entity 1015 +// entity 1016 +// entity 1017 +// entity 1018 +// entity 1019 +// entity 1020 +// entity 1021 +// entity 1022 +// entity 1023 +// entity 1024 +// entity 1025 +// entity 1026 +// entity 1027 +// entity 1028 +// entity 1029 +// entity 1030 +// entity 1031 +// entity 1032 +// entity 1033 +// entity 1034 +// entity 1035 +// entity 1036 +// entity 1037 +// entity 1038 +// entity 1039 +// entity 1040 +// entity 1041 +// entity 1042 +// entity 1043 +// entity 1044 +// entity 1045 +// entity 1046 +// entity 1047 +// entity 1048 +// entity 1049 +// entity 1050 +// entity 1051 +// entity 1052 +// entity 1053 +// entity 1054 +// entity 1055 +// entity 1056 +// entity 1057 +// entity 1058 +// entity 1059 +// entity 1060 +// entity 1061 +// entity 1062 +// entity 1063 +// entity 1064 +// entity 1065 +// entity 1066 +// entity 1067 +// entity 1068 +// entity 1069 +// entity 1070 +// entity 1071 +// entity 1072 +// entity 1073 +// entity 1074 +// entity 1075 +// entity 1076 +// entity 1077 +// entity 1078 +// entity 1079 +// entity 1080 +// entity 1081 +// entity 1082 +// entity 1083 +// entity 1084 +// entity 1085 +// entity 1086 +// entity 1087 +// entity 1088 +// entity 1089 +// entity 1090 +// entity 1091 +// entity 1092 +// entity 1093 +// entity 1094 +// entity 1095 +// entity 1096 +// entity 1097 +// entity 1098 +// entity 1099 +// entity 1100 +// entity 1101 +// entity 1102 +// entity 1103 +// entity 1104 +// entity 1105 +// entity 1106 +// entity 1107 +// entity 1108 +// entity 1109 +// entity 1110 +// entity 1111 +// entity 1112 +// entity 1113 +// entity 1114 +// entity 1115 +// entity 1116 +// entity 1117 +// entity 1118 +// entity 1119 +// entity 1120 +// entity 1121 +// entity 1122 +// entity 1123 +// entity 1124 +// entity 1125 +// entity 1126 +// entity 1127 +// entity 1128 +// entity 1129 +// entity 1130 +// entity 1131 +// entity 1132 +// entity 1133 +// entity 1134 +// entity 1135 +// entity 1136 +// entity 1137 +// entity 1138 +// entity 1139 +// entity 1140 +// entity 1141 +// entity 1142 +// entity 1143 +// entity 1144 +// entity 1145 +// entity 1146 +// entity 1147 +// entity 1148 +// entity 1149 +// entity 1150 +// entity 1151 +// entity 1152 +// entity 1153 +// entity 1154 +// entity 1155 +// entity 1156 +// entity 1157 +// entity 1158 +// entity 1159 +// entity 1160 +// entity 1161 +// entity 1162 +// entity 1163 +// entity 1164 +// entity 1165 +// entity 1166 +// entity 1167 +// entity 1168 +// entity 1169 +// entity 1170 +// entity 1171 +// entity 1172 +// entity 1173 +// entity 1174 +// entity 1175 +// entity 1176 +// entity 1177 +// entity 1178 +// entity 1179 +// entity 1180 +// entity 1181 +// entity 1182 +// entity 1183 +// entity 1184 +// entity 1185 +// entity 1186 +// entity 1187 +// entity 1188 +// entity 1189 +// entity 1190 +// entity 1191 +// entity 1192 +// entity 1193 +// entity 1194 +// entity 1195 +// entity 1196 +// entity 1197 +// entity 1198 +// entity 1199 +// entity 1200 +// entity 1201 +// entity 1202 +// entity 1203 +// entity 1204 +// entity 1205 +// entity 1206 +// entity 1207 +// entity 1208 +// entity 1209 +// entity 1210 +// entity 1211 +// entity 1212 +// entity 1213 +// entity 1214 +// entity 1215 +// entity 1216 +// entity 1217 +// entity 1218 +// entity 1219 +// entity 1220 +// entity 1221 +// entity 1222 +// entity 1223 +// entity 1224 +// entity 1225 +// entity 1226 +// entity 1227 +// entity 1228 +// entity 1229 +// entity 1230 +// entity 1231 +// entity 1232 +// entity 1233 +// entity 1234 +// entity 1235 +// entity 1236 +// entity 1237 +// entity 1238 +// entity 1239 +// entity 1240 +// entity 1241 +// entity 1242 +// entity 1243 +// entity 1244 +// entity 1245 +// entity 1246 +// entity 1247 +// entity 1248 +// entity 1249 +// entity 1250 +// entity 1251 +// entity 1252 +// entity 1253 diff --git a/map_source/_prefabs/zombiemode/weapon_kar98.map b/map_source/_prefabs/zombiemode/weapon_kar98.map new file mode 100644 index 000000000..57d568ec3 --- /dev/null +++ b/map_source/_prefabs/zombiemode/weapon_kar98.map @@ -0,0 +1,2092 @@ +iwmap 4 +// entity 0 +{ +"skyboxmodel" "skybox_zombie" +"_color" "0.5 0.5 .62 1" +"ambient" ".15" +"sundiffusecolor" "0.75 0.82 0.85" +"diffusefraction" ".5" +"classname" "worldspawn" +"sundirection" "-130 40 0" +"suncolor" "0.9 0.95 1" +"sunlight" "1.5" +// brush 0 +{ + ( 856.25 -219.75 109.5 ) ( 856.25 -277.75 109.5 ) ( 863.25 -277.75 109.5 ) nodraw_decal 128 32 0 0 0 0 lightmap_gray 16383.938 16382 -351.65701 1299.325 90 0 + ( 863.5 -244.5 120 ) ( 856.25 -244.75 120 ) ( 856.25 -186.75 120 ) nodraw_decal 128 32 0 0 0 0 lightmap_gray 16384.41 16386.867 -351.52826 1299.46 90 7.5651464e-005 + ( 864 -259 109 ) ( 864 -259 122 ) ( 864 -205 122 ) k98_chalk -60.000256 10.500007 -23 6 0 0 lightmap_gray 16384.275 16384 -351.64441 27 0 0 + ( 856 -203 122 ) ( 856 -203 109 ) ( 864 -203 109 ) nodraw_decal 128 32 0 0 0 0 lightmap_gray 16381.432 -16384 -1299.3113 -27.005875 180 0 + ( 856 -261 122 ) ( 856 -261 109 ) ( 856 -207 109 ) nodraw_decal 128 32 0 0 0 0 lightmap_gray 16383.686 16384 -351.64285 27 0 0 + ( 856 -263 109 ) ( 856 -263 122 ) ( 864 -263 122 ) nodraw_decal 128 32 0 0 0 0 lightmap_gray 16388.422 -16384 -1299.4933 -27.019882 180 0 +} +} +// entity 1 +// entity 2 +// entity 3 +// entity 4 +// entity 5 +// entity 6 +// entity 7 +// entity 8 +// entity 9 +// entity 10 +// entity 11 +// entity 12 +// entity 13 +// entity 14 +// entity 15 +// entity 16 +// entity 17 +// entity 18 +// entity 19 +// entity 20 +// entity 21 +// entity 22 +// entity 23 +// entity 24 +// entity 25 +// entity 26 +// entity 27 +// entity 28 +// entity 29 +// entity 30 +// entity 31 +// entity 32 +// entity 33 +// entity 34 +// entity 35 +// entity 36 +// entity 37 +// entity 38 +// entity 39 +// entity 40 +// entity 41 +// entity 42 +// entity 43 +// entity 44 +// entity 45 +// entity 46 +// entity 47 +// entity 48 +// entity 49 +// entity 50 +// entity 51 +// entity 52 +// entity 53 +// entity 54 +// entity 55 +// entity 56 +// entity 57 +// entity 58 +// entity 59 +// entity 60 +// entity 61 +// entity 62 +// entity 63 +// entity 64 +// entity 65 +// entity 66 +// entity 67 +// entity 68 +// entity 69 +// entity 70 +// entity 71 +// entity 72 +// entity 73 +// entity 74 +// entity 75 +// entity 76 +// entity 77 +// entity 78 +// entity 79 +// entity 80 +// entity 81 +// entity 82 +// entity 83 +// entity 84 +// entity 85 +// entity 86 +// entity 87 +// entity 88 +// entity 89 +// entity 90 +// entity 91 +// entity 92 +// entity 93 +// entity 94 +// entity 95 +// entity 96 +// entity 97 +// entity 98 +// entity 99 +// entity 100 +// entity 101 +// entity 102 +// entity 103 +// entity 104 +// entity 105 +// entity 106 +// entity 107 +// entity 108 +// entity 109 +// entity 110 +// entity 111 +// entity 112 +// entity 113 +// entity 114 +// entity 115 +// entity 116 +// entity 117 +// entity 118 +// entity 119 +// entity 120 +// entity 121 +// entity 122 +// entity 123 +// entity 124 +// entity 125 +// entity 126 +// entity 127 +// entity 128 +// entity 129 +// entity 130 +// entity 131 +// entity 132 +// entity 133 +// entity 134 +// entity 135 +// entity 136 +// entity 137 +// entity 138 +// entity 139 +// entity 140 +// entity 141 +// entity 142 +// entity 143 +// entity 144 +// entity 145 +// entity 146 +// entity 147 +// entity 148 +// entity 149 +// entity 150 +// entity 151 +// entity 152 +// entity 153 +// entity 154 +// entity 155 +// entity 156 +// entity 157 +// entity 158 +// entity 159 +// entity 160 +// entity 161 +// entity 162 +// entity 163 +// entity 164 +// entity 165 +// entity 166 +// entity 167 +// entity 168 +// entity 169 +// entity 170 +// entity 171 +// entity 172 +// entity 173 +// entity 174 +// entity 175 +// entity 176 +// entity 177 +// entity 178 +// entity 179 +// entity 180 +// entity 181 +// entity 182 +// entity 183 +// entity 184 +// entity 185 +// entity 186 +// entity 187 +// entity 188 +// entity 189 +// entity 190 +// entity 191 +// entity 192 +// entity 193 +// entity 194 +// entity 195 +// entity 196 +// entity 197 +// entity 198 +// entity 199 +// entity 200 +// entity 201 +// entity 202 +// entity 203 +// entity 204 +// entity 205 +// entity 206 +// entity 207 +// entity 208 +// entity 209 +// entity 210 +// entity 211 +// entity 212 +// entity 213 +// entity 214 +// entity 215 +// entity 216 +// entity 217 +// entity 218 +// entity 219 +// entity 220 +// entity 221 +// entity 222 +// entity 223 +// entity 224 +// entity 225 +// entity 226 +// entity 227 +// entity 228 +// entity 229 +// entity 230 +// entity 231 +// entity 232 +// entity 233 +// entity 234 +// entity 235 +// entity 236 +// entity 237 +// entity 238 +// entity 239 +// entity 240 +// entity 241 +// entity 242 +// entity 243 +// entity 244 +// entity 245 +// entity 246 +// entity 247 +// entity 248 +// entity 249 +// entity 250 +// entity 251 +// entity 252 +// entity 253 +// entity 254 +// entity 255 +// entity 256 +// entity 257 +// entity 258 +// entity 259 +// entity 260 +// entity 261 +// entity 262 +// entity 263 +// entity 264 +// entity 265 +// entity 266 +// entity 267 +// entity 268 +// entity 269 +// entity 270 +// entity 271 +// entity 272 +// entity 273 +// entity 274 +// entity 275 +// entity 276 +// entity 277 +// entity 278 +// entity 279 +// entity 280 +// entity 281 +// entity 282 +// entity 283 +// entity 284 +// entity 285 +// entity 286 +// entity 287 +// entity 288 +// entity 289 +// entity 290 +// entity 291 +// entity 292 +// entity 293 +// entity 294 +// entity 295 +// entity 296 +// entity 297 +// entity 298 +// entity 299 +// entity 300 +// entity 301 +// entity 302 +// entity 303 +// entity 304 +// entity 305 +// entity 306 +// entity 307 +// entity 308 +// entity 309 +// entity 310 +// entity 311 +// entity 312 +// entity 313 +// entity 314 +// entity 315 +// entity 316 +// entity 317 +// entity 318 +// entity 319 +// entity 320 +// entity 321 +// entity 322 +// entity 323 +// entity 324 +// entity 325 +// entity 326 +// entity 327 +// entity 328 +// entity 329 +// entity 330 +// entity 331 +// entity 332 +// entity 333 +// entity 334 +// entity 335 +// entity 336 +// entity 337 +// entity 338 +// entity 339 +// entity 340 +// entity 341 +// entity 342 +// entity 343 +// entity 344 +// entity 345 +// entity 346 +// entity 347 +// entity 348 +// entity 349 +// entity 350 +// entity 351 +// entity 352 +// entity 353 +// entity 354 +// entity 355 +// entity 356 +// entity 357 +// entity 358 +// entity 359 +// entity 360 +// entity 361 +// entity 362 +// entity 363 +// entity 364 +// entity 365 +// entity 366 +// entity 367 +// entity 368 +// entity 369 +// entity 370 +// entity 371 +// entity 372 +// entity 373 +// entity 374 +// entity 375 +// entity 376 +// entity 377 +// entity 378 +// entity 379 +// entity 380 +// entity 381 +// entity 382 +// entity 383 +// entity 384 +// entity 385 +// entity 386 +// entity 387 +// entity 388 +// entity 389 +// entity 390 +// entity 391 +// entity 392 +// entity 393 +// entity 394 +// entity 395 +// entity 396 +// entity 397 +// entity 398 +// entity 399 +// entity 400 +// entity 401 +// entity 402 +// entity 403 +// entity 404 +// entity 405 +// entity 406 +// entity 407 +// entity 408 +// entity 409 +// entity 410 +// entity 411 +// entity 412 +// entity 413 +// entity 414 +// entity 415 +// entity 416 +// entity 417 +// entity 418 +// entity 419 +// entity 420 +// entity 421 +// entity 422 +// entity 423 +// entity 424 +// entity 425 +// entity 426 +// entity 427 +// entity 428 +// entity 429 +// entity 430 +// entity 431 +// entity 432 +// entity 433 +// entity 434 +// entity 435 +// entity 436 +// entity 437 +// entity 438 +// entity 439 +// entity 440 +// entity 441 +// entity 442 +// entity 443 +// entity 444 +// entity 445 +// entity 446 +// entity 447 +// entity 448 +// entity 449 +// entity 450 +// entity 451 +// entity 452 +// entity 453 +// entity 454 +// entity 455 +// entity 456 +// entity 457 +// entity 458 +// entity 459 +// entity 460 +// entity 461 +// entity 462 +// entity 463 +// entity 464 +// entity 465 +// entity 466 +// entity 467 +// entity 468 +// entity 469 +// entity 470 +// entity 471 +// entity 472 +// entity 473 +// entity 474 +// entity 475 +// entity 476 +// entity 477 +// entity 478 +// entity 479 +// entity 480 +// entity 481 +// entity 482 +// entity 483 +// entity 484 +// entity 485 +// entity 486 +// entity 487 +// entity 488 +// entity 489 +// entity 490 +// entity 491 +// entity 492 +// entity 493 +// entity 494 +// entity 495 +// entity 496 +// entity 497 +// entity 498 +// entity 499 +// entity 500 +// entity 501 +// entity 502 +// entity 503 +// entity 504 +// entity 505 +// entity 506 +// entity 507 +// entity 508 +// entity 509 +// entity 510 +// entity 511 +// entity 512 +// entity 513 +// entity 514 +// entity 515 +// entity 516 +// entity 517 +// entity 518 +// entity 519 +// entity 520 +// entity 521 +// entity 522 +// entity 523 +// entity 524 +// entity 525 +// entity 526 +// entity 527 +// entity 528 +// entity 529 +// entity 530 +// entity 531 +// entity 532 +// entity 533 +// entity 534 +// entity 535 +// entity 536 +// entity 537 +// entity 538 +// entity 539 +// entity 540 +// entity 541 +// entity 542 +// entity 543 +// entity 544 +// entity 545 +// entity 546 +// entity 547 +// entity 548 +// entity 549 +// entity 550 +// entity 551 +// entity 552 +// entity 553 +// entity 554 +// entity 555 +// entity 556 +// entity 557 +// entity 558 +// entity 559 +// entity 560 +// entity 561 +// entity 562 +// entity 563 +// entity 564 +// entity 565 +// entity 566 +// entity 567 +// entity 568 +// entity 569 +// entity 570 +// entity 571 +// entity 572 +// entity 573 +// entity 574 +// entity 575 +// entity 576 +// entity 577 +// entity 578 +// entity 579 +// entity 580 +// entity 581 +// entity 582 +// entity 583 +// entity 584 +// entity 585 +// entity 586 +// entity 587 +// entity 588 +// entity 589 +// entity 590 +// entity 591 +// entity 592 +// entity 593 +// entity 594 +// entity 595 +// entity 596 +// entity 597 +// entity 598 +// entity 599 +// entity 600 +// entity 601 +// entity 602 +// entity 603 +// entity 604 +// entity 605 +// entity 606 +// entity 607 +// entity 608 +// entity 609 +// entity 610 +// entity 611 +// entity 612 +// entity 613 +// entity 614 +// entity 615 +// entity 616 +// entity 617 +// entity 618 +// entity 619 +// entity 620 +// entity 621 +// entity 622 +// entity 623 +// entity 624 +// entity 625 +// entity 626 +// entity 627 +// entity 628 +// entity 629 +// entity 630 +// entity 631 +// entity 632 +// entity 633 +// entity 634 +// entity 635 +// entity 636 +// entity 637 +// entity 638 +// entity 639 +// entity 640 +// entity 641 +// entity 642 +// entity 643 +// entity 644 +// entity 645 +// entity 646 +// entity 647 +// entity 648 +// entity 649 +// entity 650 +// entity 651 +// entity 652 +// entity 653 +// entity 654 +// entity 655 +// entity 656 +// entity 657 +// entity 658 +// entity 659 +// entity 660 +// entity 661 +// entity 662 +// entity 663 +// entity 664 +// entity 665 +// entity 666 +// entity 667 +// entity 668 +// entity 669 +// entity 670 +// entity 671 +// entity 672 +// entity 673 +// entity 674 +// entity 675 +// entity 676 +// entity 677 +// entity 678 +// entity 679 +// entity 680 +// entity 681 +// entity 682 +// entity 683 +// entity 684 +// entity 685 +// entity 686 +// entity 687 +// entity 688 +// entity 689 +// entity 690 +// entity 691 +// entity 692 +// entity 693 +// entity 694 +// entity 695 +// entity 696 +// entity 697 +// entity 698 +// entity 699 +// entity 700 +// entity 701 +// entity 702 +// entity 703 +// entity 704 +// entity 705 +// entity 706 +// entity 707 +// entity 708 +// entity 709 +// entity 710 +// entity 711 +// entity 712 +// entity 713 +// entity 714 +// entity 715 +// entity 716 +// entity 717 +// entity 718 +// entity 719 +// entity 720 +// entity 721 +// entity 722 +// entity 723 +// entity 724 +// entity 725 +// entity 726 +// entity 727 +// entity 728 +// entity 729 +// entity 730 +// entity 731 +// entity 732 +// entity 733 +// entity 734 +// entity 735 +// entity 736 +// entity 737 +// entity 738 +// entity 739 +// entity 740 +// entity 741 +// entity 742 +// entity 743 +// entity 744 +// entity 745 +// entity 746 +// entity 747 +// entity 748 +// entity 749 +// entity 750 +// entity 751 +// entity 752 +// entity 753 +// entity 754 +// entity 755 +// entity 756 +// entity 757 +// entity 758 +// entity 759 +// entity 760 +// entity 761 +// entity 762 +// entity 763 +// entity 764 +// entity 765 +// entity 766 +// entity 767 +// entity 768 +// entity 769 +// entity 770 +// entity 771 +// entity 772 +// entity 773 +// entity 774 +// entity 775 +// entity 776 +// entity 777 +// entity 778 +// entity 779 +// entity 780 +// entity 781 +// entity 782 +// entity 783 +// entity 784 +// entity 785 +// entity 786 +// entity 787 +// entity 788 +// entity 789 +// entity 790 +// entity 791 +// entity 792 +// entity 793 +// entity 794 +// entity 795 +// entity 796 +// entity 797 +// entity 798 +// entity 799 +// entity 800 +// entity 801 +// entity 802 +// entity 803 +// entity 804 +// entity 805 +// entity 806 +// entity 807 +// entity 808 +// entity 809 +// entity 810 +// entity 811 +// entity 812 +// entity 813 +// entity 814 +// entity 815 +// entity 816 +// entity 817 +// entity 818 +// entity 819 +// entity 820 +// entity 821 +// entity 822 +// entity 823 +// entity 824 +// entity 825 +// entity 826 +// entity 827 +// entity 828 +// entity 829 +// entity 830 +// entity 831 +// entity 832 +// entity 833 +// entity 834 +// entity 835 +// entity 836 +// entity 837 +// entity 838 +// entity 839 +// entity 840 +// entity 841 +// entity 842 +// entity 843 +// entity 844 +// entity 845 +// entity 846 +// entity 847 +// entity 848 +// entity 849 +// entity 850 +// entity 851 +// entity 852 +// entity 853 +// entity 854 +// entity 855 +// entity 856 +// entity 857 +// entity 858 +// entity 859 +// entity 860 +// entity 861 +// entity 862 +// entity 863 +// entity 864 +// entity 865 +// entity 866 +// entity 867 +// entity 868 +// entity 869 +// entity 870 +// entity 871 +// entity 872 +// entity 873 +// entity 874 +// entity 875 +// entity 876 +// entity 877 +// entity 878 +// entity 879 +// entity 880 +// entity 881 +// entity 882 +// entity 883 +// entity 884 +// entity 885 +// entity 886 +// entity 887 +// entity 888 +// entity 889 +// entity 890 +// entity 891 +// entity 892 +// entity 893 +// entity 894 +// entity 895 +// entity 896 +// entity 897 +// entity 898 +// entity 899 +// entity 900 +// entity 901 +// entity 902 +// entity 903 +// entity 904 +// entity 905 +// entity 906 +// entity 907 +// entity 908 +// entity 909 +// entity 910 +// entity 911 +// entity 912 +// entity 913 +// entity 914 +// entity 915 +// entity 916 +// entity 917 +// entity 918 +// entity 919 +// entity 920 +// entity 921 +// entity 922 +// entity 923 +// entity 924 +// entity 925 +// entity 926 +// entity 927 +// entity 928 +// entity 929 +// entity 930 +// entity 931 +// entity 932 +// entity 933 +// entity 934 +// entity 935 +// entity 936 +// entity 937 +// entity 938 +// entity 939 +// entity 940 +// entity 941 +// entity 942 +// entity 943 +// entity 944 +// entity 945 +// entity 946 +// entity 947 +// entity 948 +// entity 949 +// entity 950 +// entity 951 +// entity 952 +// entity 953 +// entity 954 +// entity 955 +// entity 956 +// entity 957 +// entity 958 +// entity 959 +// entity 960 +// entity 961 +// entity 962 +// entity 963 +// entity 964 +// entity 965 +// entity 966 +// entity 967 +// entity 968 +// entity 969 +// entity 970 +// entity 971 +// entity 972 +// entity 973 +// entity 974 +// entity 975 +// entity 976 +// entity 977 +// entity 978 +// entity 979 +// entity 980 +// entity 981 +// entity 982 +// entity 983 +// entity 984 +// entity 985 +// entity 986 +// entity 987 +// entity 988 +// entity 989 +// entity 990 +// entity 991 +// entity 992 +// entity 993 +// entity 994 +// entity 995 +// entity 996 +// entity 997 +// entity 998 +// entity 999 +// entity 1000 +// entity 1001 +// entity 1002 +// entity 1003 +// entity 1004 +// entity 1005 +// entity 1006 +// entity 1007 +// entity 1008 +// entity 1009 +// entity 1010 +// entity 1011 +// entity 1012 +// entity 1013 +// entity 1014 +// entity 1015 +// entity 1016 +// entity 1017 +// entity 1018 +// entity 1019 +// entity 1020 +// entity 1021 +// entity 1022 +// entity 1023 +// entity 1024 +// entity 1025 +// entity 1026 +// entity 1027 +// entity 1028 +// entity 1029 +// entity 1030 +// entity 1031 +// entity 1032 +// entity 1033 +// entity 1034 +// entity 1035 +// entity 1036 +// entity 1037 +// entity 1038 +// entity 1039 +// entity 1040 +// entity 1041 +// entity 1042 +// entity 1043 +// entity 1044 +// entity 1045 +// entity 1046 +// entity 1047 +// entity 1048 +// entity 1049 +// entity 1050 +// entity 1051 +// entity 1052 +// entity 1053 +// entity 1054 +// entity 1055 +// entity 1056 +// entity 1057 +// entity 1058 +// entity 1059 +// entity 1060 +// entity 1061 +// entity 1062 +// entity 1063 +// entity 1064 +// entity 1065 +// entity 1066 +// entity 1067 +// entity 1068 +// entity 1069 +// entity 1070 +// entity 1071 +// entity 1072 +// entity 1073 +// entity 1074 +// entity 1075 +// entity 1076 +// entity 1077 +// entity 1078 +// entity 1079 +// entity 1080 +// entity 1081 +// entity 1082 +// entity 1083 +// entity 1084 +// entity 1085 +// entity 1086 +// entity 1087 +// entity 1088 +// entity 1089 +// entity 1090 +// entity 1091 +// entity 1092 +// entity 1093 +// entity 1094 +// entity 1095 +// entity 1096 +// entity 1097 +// entity 1098 +// entity 1099 +// entity 1100 +// entity 1101 +// entity 1102 +// entity 1103 +// entity 1104 +// entity 1105 +// entity 1106 +// entity 1107 +// entity 1108 +// entity 1109 +// entity 1110 +// entity 1111 +// entity 1112 +// entity 1113 +// entity 1114 +// entity 1115 +// entity 1116 +// entity 1117 +// entity 1118 +// entity 1119 +// entity 1120 +// entity 1121 +// entity 1122 +// entity 1123 +// entity 1124 +// entity 1125 +// entity 1126 +// entity 1127 +// entity 1128 +// entity 1129 +// entity 1130 +// entity 1131 +// entity 1132 +// entity 1133 +// entity 1134 +// entity 1135 +// entity 1136 +// entity 1137 +// entity 1138 +// entity 1139 +// entity 1140 +// entity 1141 +// entity 1142 +// entity 1143 +// entity 1144 +// entity 1145 +// entity 1146 +// entity 1147 +// entity 1148 +// entity 1149 +// entity 1150 +// entity 1151 +// entity 1152 +// entity 1153 +// entity 1154 +// entity 1155 +// entity 1156 +// entity 1157 +// entity 1158 +// entity 1159 +// entity 1160 +// entity 1161 +// entity 1162 +// entity 1163 +// entity 1164 +// entity 1165 +// entity 1166 +// entity 1167 +// entity 1168 +// entity 1169 +// entity 1170 +// entity 1171 +// entity 1172 +// entity 1173 +// entity 1174 +// entity 1175 +// entity 1176 +// entity 1177 +// entity 1178 +// entity 1179 +// entity 1180 +// entity 1181 +// entity 1182 +// entity 1183 +// entity 1184 +// entity 1185 +{ +"target" "auto90" +"script_ammo_clip" "300" +"zombie_cost" "600" +"zombie_weapon_upgrade" "kar98k" +"targetname" "weapon_upgrade" +"classname" "trigger_use" +// brush 0 +{ + ( 866.25 -250.75 106.5 ) ( 868.75 -251.25 106.5 ) ( 869.25 -223.75 106.5 ) trigger 64 63.991158 -893.34253 -782.90582 -90 4.4880053e-005 lightmap_gray 16411.23 16387.525 1116.3723 5731.8403 -1.5686419 -0.0035115411 + ( 866.75 -223 122.5 ) ( 869.25 -223 122.5 ) ( 868.75 -250.75 122.5 ) trigger 64 63.99205 -892.8363 -782.8891 -90 -0.00048876205 lightmap_gray 16397.176 16386.408 1115.8473 5734.5542 -1.3873609 -0.0010165672 + ( 865.75 -259.25 109.5 ) ( 865.75 -259.25 117.5 ) ( 868.25 -259.25 117.5 ) trigger 64.011787 64 782.88721 -3.0021362 0 0 lightmap_gray 16398.205 16383.969 1111.2004 -16.770269 0 0 + ( 869.25 -247.5 112.5 ) ( 869.25 -247.5 120.5 ) ( 869.25 -220.25 120.5 ) trigger 64 -64 -893.38318 3 180 0 lightmap_gray 16394.188 16384 -5758.3237 -16.670319 0 0.00036528151 + ( 869.25 -210.25 112 ) ( 869.25 -210.25 120 ) ( 866.75 -210 120 ) trigger 64 64 782.87128 -2.9949722 0 0 lightmap_gray 16372.803 16384 1111.4541 -16.699074 0 0 + ( 866.75 -251.5 120.5 ) ( 866.75 -251.5 112.5 ) ( 866.75 -224.25 112.5 ) trigger 64 -64 -893.35315 3 -180 -6.1591047e-005 lightmap_gray 16377.226 16384.125 -5752.5464 -16.67861 0 0.00042868342 +} +} +// entity 1186 +{ +"targetname" "auto90" +"classname" "script_model" +"model" "weapon_ger_kar98_rifle" +"angles" "0 90 0" +"origin" "864.2 -235.3 116.0" +} +// entity 1187 +// entity 1188 +// entity 1189 +// entity 1190 +// entity 1191 +// entity 1192 +// entity 1193 +// entity 1194 +// entity 1195 +// entity 1196 +// entity 1197 +// entity 1198 +// entity 1199 +// entity 1200 +// entity 1201 +// entity 1202 +// entity 1203 +// entity 1204 +// entity 1205 +// entity 1206 +// entity 1207 +// entity 1208 +// entity 1209 +// entity 1210 +// entity 1211 +// entity 1212 +// entity 1213 +// entity 1214 +// entity 1215 +// entity 1216 +// entity 1217 +// entity 1218 +// entity 1219 +// entity 1220 +// entity 1221 +// entity 1222 +// entity 1223 +// entity 1224 +// entity 1225 +// entity 1226 +// entity 1227 +// entity 1228 +// entity 1229 +// entity 1230 +// entity 1231 +// entity 1232 +// entity 1233 +// entity 1234 +// entity 1235 +// entity 1236 +// entity 1237 +// entity 1238 +// entity 1239 +// entity 1240 +// entity 1241 +// entity 1242 +// entity 1243 +// entity 1244 +// entity 1245 +// entity 1246 +// entity 1247 +// entity 1248 +// entity 1249 +// entity 1250 +// entity 1251 +// entity 1252 +// entity 1253 +// entity 1254 +// entity 1255 +// entity 1256 +// entity 1257 +// entity 1258 +// entity 1259 +// entity 1260 +// entity 1261 +// entity 1262 +// entity 1263 +// entity 1264 +// entity 1265 +// entity 1266 +// entity 1267 +// entity 1268 +// entity 1269 +// entity 1270 +// entity 1271 +// entity 1272 +// entity 1273 +// entity 1274 +// entity 1275 +// entity 1276 +// entity 1277 +// entity 1278 +// entity 1279 +// entity 1280 +// entity 1281 +// entity 1282 +// entity 1283 +// entity 1284 +// entity 1285 +// entity 1286 +// entity 1287 +// entity 1288 +// entity 1289 +// entity 1290 +// entity 1291 +// entity 1292 +// entity 1293 +// entity 1294 +// entity 1295 +// entity 1296 +// entity 1297 +// entity 1298 +// entity 1299 +// entity 1300 +// entity 1301 +// entity 1302 +// entity 1303 +// entity 1304 +// entity 1305 +// entity 1306 +// entity 1307 +// entity 1308 +// entity 1309 +// entity 1310 +// entity 1311 +// entity 1312 +// entity 1313 +// entity 1314 +// entity 1315 +// entity 1316 +// entity 1317 +// entity 1318 +// entity 1319 +// entity 1320 +// entity 1321 +// entity 1322 +// entity 1323 +// entity 1324 +// entity 1325 +// entity 1326 +// entity 1327 +// entity 1328 +// entity 1329 +// entity 1330 +// entity 1331 +// entity 1332 +// entity 1333 +// entity 1334 +// entity 1335 +// entity 1336 +// entity 1337 +// entity 1338 +// entity 1339 +// entity 1340 +// entity 1341 +// entity 1342 +// entity 1343 +// entity 1344 +// entity 1345 +// entity 1346 +// entity 1347 +// entity 1348 +// entity 1349 +// entity 1350 +// entity 1351 +// entity 1352 +// entity 1353 +// entity 1354 +// entity 1355 +// entity 1356 +// entity 1357 +// entity 1358 +// entity 1359 +// entity 1360 +// entity 1361 +// entity 1362 +// entity 1363 +// entity 1364 +// entity 1365 +// entity 1366 +// entity 1367 +// entity 1368 +// entity 1369 +// entity 1370 +// entity 1371 +// entity 1372 +// entity 1373 +// entity 1374 +// entity 1375 +// entity 1376 +// entity 1377 +// entity 1378 +// entity 1379 +// entity 1380 +// entity 1381 +// entity 1382 +// entity 1383 +// entity 1384 +// entity 1385 +// entity 1386 +// entity 1387 +// entity 1388 +// entity 1389 +// entity 1390 +// entity 1391 +// entity 1392 +// entity 1393 +// entity 1394 +// entity 1395 +// entity 1396 +// entity 1397 +// entity 1398 +// entity 1399 +// entity 1400 +// entity 1401 +// entity 1402 +// entity 1403 +// entity 1404 +// entity 1405 +// entity 1406 +// entity 1407 +// entity 1408 +// entity 1409 +// entity 1410 +// entity 1411 +// entity 1412 +// entity 1413 +// entity 1414 +// entity 1415 +// entity 1416 +// entity 1417 +// entity 1418 +// entity 1419 +// entity 1420 +// entity 1421 +// entity 1422 +// entity 1423 +// entity 1424 +// entity 1425 +// entity 1426 +// entity 1427 +// entity 1428 +// entity 1429 +// entity 1430 +// entity 1431 +// entity 1432 +// entity 1433 +// entity 1434 +// entity 1435 +// entity 1436 +// entity 1437 +// entity 1438 +// entity 1439 +// entity 1440 +// entity 1441 +// entity 1442 +// entity 1443 +// entity 1444 +// entity 1445 +// entity 1446 +// entity 1447 +// entity 1448 +// entity 1449 +// entity 1450 +// entity 1451 +// entity 1452 +// entity 1453 +// entity 1454 +// entity 1455 +// entity 1456 +// entity 1457 +// entity 1458 +// entity 1459 +// entity 1460 +// entity 1461 +// entity 1462 +// entity 1463 +// entity 1464 +// entity 1465 +// entity 1466 +// entity 1467 +// entity 1468 +// entity 1469 +// entity 1470 +// entity 1471 +// entity 1472 +// entity 1473 +// entity 1474 +// entity 1475 +// entity 1476 +// entity 1477 +// entity 1478 +// entity 1479 +// entity 1480 +// entity 1481 +// entity 1482 +// entity 1483 +// entity 1484 +// entity 1485 +// entity 1486 +// entity 1487 +// entity 1488 +// entity 1489 +// entity 1490 +// entity 1491 +// entity 1492 +// entity 1493 +// entity 1494 +// entity 1495 +// entity 1496 +// entity 1497 +// entity 1498 +// entity 1499 +// entity 1500 +// entity 1501 +// entity 1502 +// entity 1503 +// entity 1504 +// entity 1505 +// entity 1506 +// entity 1507 +// entity 1508 +// entity 1509 +// entity 1510 +// entity 1511 +// entity 1512 +// entity 1513 +// entity 1514 +// entity 1515 +// entity 1516 +// entity 1517 +// entity 1518 +// entity 1519 +// entity 1520 +// entity 1521 +// entity 1522 +// entity 1523 +// entity 1524 +// entity 1525 +// entity 1526 +// entity 1527 +// entity 1528 +// entity 1529 +// entity 1530 +// entity 1531 +// entity 1532 +// entity 1533 +// entity 1534 +// entity 1535 +// entity 1536 +// entity 1537 +// entity 1538 +// entity 1539 +// entity 1540 +// entity 1541 +// entity 1542 +// entity 1543 +// entity 1544 +// entity 1545 +// entity 1546 +// entity 1547 +// entity 1548 +// entity 1549 +// entity 1550 +// entity 1551 +// entity 1552 +// entity 1553 +// entity 1554 +// entity 1555 +// entity 1556 +// entity 1557 +// entity 1558 +// entity 1559 +// entity 1560 +// entity 1561 +// entity 1562 +// entity 1563 +// entity 1564 +// entity 1565 +// entity 1566 +// entity 1567 +// entity 1568 +// entity 1569 +// entity 1570 +// entity 1571 +// entity 1572 +// entity 1573 +// entity 1574 +// entity 1575 +// entity 1576 +// entity 1577 +// entity 1578 +// entity 1579 +// entity 1580 +// entity 1581 +// entity 1582 +// entity 1583 +// entity 1584 +// entity 1585 +// entity 1586 +// entity 1587 +// entity 1588 +// entity 1589 +// entity 1590 +// entity 1591 +// entity 1592 +// entity 1593 +// entity 1594 +// entity 1595 +// entity 1596 +// entity 1597 +// entity 1598 +// entity 1599 +// entity 1600 +// entity 1601 +// entity 1602 +// entity 1603 +// entity 1604 +// entity 1605 +// entity 1606 +// entity 1607 +// entity 1608 +// entity 1609 +// entity 1610 +// entity 1611 +// entity 1612 +// entity 1613 +// entity 1614 +// entity 1615 +// entity 1616 +// entity 1617 +// entity 1618 +// entity 1619 +// entity 1620 +// entity 1621 +// entity 1622 +// entity 1623 +// entity 1624 +// entity 1625 +// entity 1626 +// entity 1627 +// entity 1628 +// entity 1629 +// entity 1630 +// entity 1631 +// entity 1632 +// entity 1633 +// entity 1634 +// entity 1635 +// entity 1636 +// entity 1637 +// entity 1638 +// entity 1639 +// entity 1640 +// entity 1641 +// entity 1642 +// entity 1643 +// entity 1644 +// entity 1645 +// entity 1646 +// entity 1647 +// entity 1648 +// entity 1649 +// entity 1650 +// entity 1651 +// entity 1652 +// entity 1653 +// entity 1654 +// entity 1655 +// entity 1656 +// entity 1657 +// entity 1658 +// entity 1659 +// entity 1660 +// entity 1661 +// entity 1662 +// entity 1663 +// entity 1664 +// entity 1665 +// entity 1666 +// entity 1667 +// entity 1668 +// entity 1669 +// entity 1670 +// entity 1671 +// entity 1672 +// entity 1673 +// entity 1674 +// entity 1675 +// entity 1676 +// entity 1677 +// entity 1678 +// entity 1679 +// entity 1680 +// entity 1681 +// entity 1682 +// entity 1683 +// entity 1684 +// entity 1685 +// entity 1686 +// entity 1687 +// entity 1688 +// entity 1689 +// entity 1690 +// entity 1691 +// entity 1692 +// entity 1693 +// entity 1694 +// entity 1695 +// entity 1696 +// entity 1697 +// entity 1698 +// entity 1699 +// entity 1700 +// entity 1701 +// entity 1702 +// entity 1703 +// entity 1704 +// entity 1705 +// entity 1706 +// entity 1707 +// entity 1708 +// entity 1709 +// entity 1710 +// entity 1711 +// entity 1712 +// entity 1713 +// entity 1714 +// entity 1715 +// entity 1716 +// entity 1717 +// entity 1718 +// entity 1719 +// entity 1720 +// entity 1721 +// entity 1722 +// entity 1723 +// entity 1724 +// entity 1725 +// entity 1726 +// entity 1727 +// entity 1728 +// entity 1729 +// entity 1730 +// entity 1731 +// entity 1732 +// entity 1733 +// entity 1734 +// entity 1735 +// entity 1736 +// entity 1737 +// entity 1738 +// entity 1739 +// entity 1740 +// entity 1741 +// entity 1742 +// entity 1743 +// entity 1744 +// entity 1745 +// entity 1746 +// entity 1747 +// entity 1748 +// entity 1749 +// entity 1750 +// entity 1751 +// entity 1752 +// entity 1753 +// entity 1754 +// entity 1755 +// entity 1756 +// entity 1757 +// entity 1758 +// entity 1759 +// entity 1760 +// entity 1761 +// entity 1762 +// entity 1763 +// entity 1764 +// entity 1765 +// entity 1766 +// entity 1767 +// entity 1768 +// entity 1769 +// entity 1770 +// entity 1771 +// entity 1772 +// entity 1773 +// entity 1774 +// entity 1775 +// entity 1776 +// entity 1777 +// entity 1778 +// entity 1779 +// entity 1780 +// entity 1781 +// entity 1782 +// entity 1783 +// entity 1784 +// entity 1785 +// entity 1786 +// entity 1787 +// entity 1788 +// entity 1789 +// entity 1790 +// entity 1791 +// entity 1792 +// entity 1793 +// entity 1794 +// entity 1795 +// entity 1796 +// entity 1797 +// entity 1798 +// entity 1799 +// entity 1800 +// entity 1801 +// entity 1802 +// entity 1803 +// entity 1804 +// entity 1805 +// entity 1806 +// entity 1807 +// entity 1808 +// entity 1809 +// entity 1810 +// entity 1811 +// entity 1812 +// entity 1813 +// entity 1814 +// entity 1815 +// entity 1816 +// entity 1817 +// entity 1818 +// entity 1819 +// entity 1820 +// entity 1821 +// entity 1822 +// entity 1823 +// entity 1824 +// entity 1825 +// entity 1826 +// entity 1827 +// entity 1828 +// entity 1829 +// entity 1830 +// entity 1831 +// entity 1832 +// entity 1833 +// entity 1834 +// entity 1835 +// entity 1836 +// entity 1837 +// entity 1838 +// entity 1839 +// entity 1840 +// entity 1841 +// entity 1842 +// entity 1843 +// entity 1844 +// entity 1845 +// entity 1846 +// entity 1847 +// entity 1848 +// entity 1849 +// entity 1850 +// entity 1851 +// entity 1852 +// entity 1853 +// entity 1854 +// entity 1855 +// entity 1856 +// entity 1857 +// entity 1858 +// entity 1859 +// entity 1860 +// entity 1861 +// entity 1862 +// entity 1863 +// entity 1864 +// entity 1865 +// entity 1866 +// entity 1867 +// entity 1868 +// entity 1869 +// entity 1870 +// entity 1871 +// entity 1872 +// entity 1873 +// entity 1874 +// entity 1875 +// entity 1876 +// entity 1877 +// entity 1878 +// entity 1879 +// entity 1880 +// entity 1881 +// entity 1882 +// entity 1883 +// entity 1884 +// entity 1885 +// entity 1886 +// entity 1887 +// entity 1888 +// entity 1889 +// entity 1890 +// entity 1891 +// entity 1892 +// entity 1893 +// entity 1894 +// entity 1895 +// entity 1896 +// entity 1897 +// entity 1898 +// entity 1899 +// entity 1900 +// entity 1901 +// entity 1902 +// entity 1903 +// entity 1904 +// entity 1905 +// entity 1906 +// entity 1907 +// entity 1908 +// entity 1909 +// entity 1910 +// entity 1911 +// entity 1912 +// entity 1913 +// entity 1914 +// entity 1915 +// entity 1916 +// entity 1917 +// entity 1918 +// entity 1919 +// entity 1920 +// entity 1921 +// entity 1922 +// entity 1923 +// entity 1924 +// entity 1925 +// entity 1926 +// entity 1927 +// entity 1928 +// entity 1929 +// entity 1930 +// entity 1931 +// entity 1932 +// entity 1933 +// entity 1934 +// entity 1935 +// entity 1936 +// entity 1937 +// entity 1938 +// entity 1939 +// entity 1940 +// entity 1941 +// entity 1942 +// entity 1943 +// entity 1944 +// entity 1945 +// entity 1946 +// entity 1947 +// entity 1948 +// entity 1949 +// entity 1950 +// entity 1951 +// entity 1952 +// entity 1953 +// entity 1954 +// entity 1955 +// entity 1956 +// entity 1957 +// entity 1958 +// entity 1959 +// entity 1960 +// entity 1961 +// entity 1962 +// entity 1963 +// entity 1964 +// entity 1965 +// entity 1966 +// entity 1967 +// entity 1968 +// entity 1969 +// entity 1970 +// entity 1971 +// entity 1972 +// entity 1973 +// entity 1974 +// entity 1975 +// entity 1976 +// entity 1977 +// entity 1978 +// entity 1979 +// entity 1980 +// entity 1981 +// entity 1982 +// entity 1983 +// entity 1984 +// entity 1985 +// entity 1986 +// entity 1987 +// entity 1988 +// entity 1989 +// entity 1990 +// entity 1991 +// entity 1992 +// entity 1993 +// entity 1994 +// entity 1995 +// entity 1996 +// entity 1997 +// entity 1998 +// entity 1999 +// entity 2000 +// entity 2001 +// entity 2002 +// entity 2003 +// entity 2004 +// entity 2005 +// entity 2006 +// entity 2007 +// entity 2008 +// entity 2009 +// entity 2010 +// entity 2011 +// entity 2012 +// entity 2013 +// entity 2014 +// entity 2015 +// entity 2016 +// entity 2017 +// entity 2018 +// entity 2019 +// entity 2020 +// entity 2021 +// entity 2022 +// entity 2023 +// entity 2024 +// entity 2025 +// entity 2026 +// entity 2027 +// entity 2028 +// entity 2029 +// entity 2030 +// entity 2031 +// entity 2032 +// entity 2033 +// entity 2034 +// entity 2035 +// entity 2036 +// entity 2037 +// entity 2038 +// entity 2039 +// entity 2040 +// entity 2041 +// entity 2042 +// entity 2043 +// entity 2044 +// entity 2045 +// entity 2046 diff --git a/map_source/_prefabs/zombiemode/weapon_so_shotgun.map b/map_source/_prefabs/zombiemode/weapon_so_shotgun.map new file mode 100644 index 000000000..c487cc2ee --- /dev/null +++ b/map_source/_prefabs/zombiemode/weapon_so_shotgun.map @@ -0,0 +1,1304 @@ +iwmap 4 +// entity 0 +{ +"reflection_color_correction" "zombie" +"skyboxmodel" "skybox_zombie" +"sunisprimarylight" "1" +"bouncefraction" "0.3" +"contrastgain" "0.35" +"_color" "0.5 0.5 0.7" +"ambient" "0.1" +"sundiffusecolor" "0.25 0.55 0.8" +"diffusefraction" "0.15" +"classname" "worldspawn" +"sundirection" "-150 17 0" +"suncolor" "0.64 0.85 1" +"sunlight" "0.75" +// brush 0 +{ + ( 221.5 454.5 191 ) ( 221.5 512.5 191 ) ( 214.5 512.5 191 ) nodraw_decal 64 64 -532.01447 221.00266 -90 0 lightmap_gray 16383.914 16384.57 -585.0036 221.02043 -90 0 + ( 215 476 200 ) ( 222 476 200 ) ( 222 418 200 ) nodraw_decal 64 64 -532 221.11905 -90 0 lightmap_gray 16383.926 16384.57 -584.99805 221.01877 -90 0 + ( 214.5 500 473 ) ( 214.5 442 473 ) ( 214.5 442 -122 ) sawedoff_chalk 30.5 9 -70.5 7 0 0 lightmap_gray 16383.992 -16384 -585 53 180 0 + ( 215 448 470.5 ) ( 222 448 470.5 ) ( 222 448 -124.5 ) nodraw_decal 64 64 -220.99309 -126.5059 0 0 lightmap_gray 16382.992 16384 -220.9761 -53.013649 0 0 + ( 222 442 473 ) ( 222 500 473 ) ( 222 500 -122 ) nodraw_decal 64 -64 -532 126.5 180 0 lightmap_gray 16383.975 -16384 -585 53 180 0 + ( 222 478.5 472.5 ) ( 215 478.5 472.5 ) ( 215 478.5 -122.5 ) nodraw_decal 64 64 -221.01051 -126.5136 0 0 lightmap_gray 16384.566 16384 -221.02002 -52.997871 0 0 +} +} +// entity 1 +// entity 2 +// entity 3 +// entity 4 +// entity 5 +// entity 6 +// entity 7 +// entity 8 +// entity 9 +// entity 10 +// entity 11 +// entity 12 +// entity 13 +// entity 14 +// entity 15 +// entity 16 +// entity 17 +// entity 18 +// entity 19 +// entity 20 +// entity 21 +// entity 22 +// entity 23 +// entity 24 +// entity 25 +// entity 26 +// entity 27 +// entity 28 +// entity 29 +// entity 30 +// entity 31 +// entity 32 +// entity 33 +// entity 34 +// entity 35 +// entity 36 +// entity 37 +// entity 38 +// entity 39 +// entity 40 +// entity 41 +// entity 42 +// entity 43 +// entity 44 +// entity 45 +// entity 46 +// entity 47 +// entity 48 +// entity 49 +// entity 50 +// entity 51 +// entity 52 +// entity 53 +// entity 54 +// entity 55 +// entity 56 +// entity 57 +// entity 58 +// entity 59 +// entity 60 +// entity 61 +// entity 62 +// entity 63 +// entity 64 +// entity 65 +// entity 66 +// entity 67 +// entity 68 +// entity 69 +// entity 70 +// entity 71 +// entity 72 +// entity 73 +// entity 74 +// entity 75 +// entity 76 +// entity 77 +// entity 78 +// entity 79 +// entity 80 +// entity 81 +// entity 82 +// entity 83 +// entity 84 +// entity 85 +// entity 86 +// entity 87 +// entity 88 +// entity 89 +// entity 90 +// entity 91 +// entity 92 +// entity 93 +// entity 94 +// entity 95 +// entity 96 +// entity 97 +// entity 98 +// entity 99 +// entity 100 +// entity 101 +// entity 102 +// entity 103 +// entity 104 +// entity 105 +// entity 106 +// entity 107 +// entity 108 +// entity 109 +// entity 110 +// entity 111 +// entity 112 +// entity 113 +// entity 114 +// entity 115 +// entity 116 +// entity 117 +// entity 118 +// entity 119 +// entity 120 +// entity 121 +// entity 122 +// entity 123 +// entity 124 +// entity 125 +// entity 126 +// entity 127 +// entity 128 +// entity 129 +// entity 130 +// entity 131 +// entity 132 +// entity 133 +// entity 134 +// entity 135 +// entity 136 +// entity 137 +// entity 138 +// entity 139 +// entity 140 +// entity 141 +// entity 142 +// entity 143 +// entity 144 +// entity 145 +// entity 146 +// entity 147 +// entity 148 +// entity 149 +// entity 150 +// entity 151 +// entity 152 +// entity 153 +// entity 154 +// entity 155 +// entity 156 +// entity 157 +// entity 158 +// entity 159 +// entity 160 +// entity 161 +// entity 162 +// entity 163 +// entity 164 +// entity 165 +// entity 166 +// entity 167 +// entity 168 +// entity 169 +// entity 170 +// entity 171 +// entity 172 +// entity 173 +// entity 174 +// entity 175 +// entity 176 +// entity 177 +// entity 178 +// entity 179 +// entity 180 +// entity 181 +// entity 182 +// entity 183 +// entity 184 +// entity 185 +// entity 186 +// entity 187 +// entity 188 +// entity 189 +// entity 190 +// entity 191 +// entity 192 +// entity 193 +// entity 194 +// entity 195 +// entity 196 +// entity 197 +// entity 198 +// entity 199 +// entity 200 +// entity 201 +// entity 202 +// entity 203 +// entity 204 +// entity 205 +// entity 206 +// entity 207 +// entity 208 +// entity 209 +// entity 210 +// entity 211 +// entity 212 +// entity 213 +// entity 214 +// entity 215 +// entity 216 +// entity 217 +// entity 218 +// entity 219 +// entity 220 +// entity 221 +// entity 222 +// entity 223 +// entity 224 +// entity 225 +// entity 226 +// entity 227 +// entity 228 +// entity 229 +// entity 230 +// entity 231 +// entity 232 +// entity 233 +// entity 234 +// entity 235 +// entity 236 +// entity 237 +// entity 238 +// entity 239 +// entity 240 +// entity 241 +// entity 242 +// entity 243 +// entity 244 +// entity 245 +// entity 246 +// entity 247 +// entity 248 +// entity 249 +// entity 250 +// entity 251 +// entity 252 +// entity 253 +// entity 254 +// entity 255 +// entity 256 +// entity 257 +// entity 258 +// entity 259 +// entity 260 +// entity 261 +// entity 262 +// entity 263 +// entity 264 +// entity 265 +// entity 266 +// entity 267 +// entity 268 +// entity 269 +// entity 270 +// entity 271 +// entity 272 +// entity 273 +// entity 274 +// entity 275 +// entity 276 +// entity 277 +// entity 278 +// entity 279 +// entity 280 +// entity 281 +// entity 282 +// entity 283 +// entity 284 +// entity 285 +// entity 286 +// entity 287 +// entity 288 +// entity 289 +// entity 290 +// entity 291 +// entity 292 +// entity 293 +// entity 294 +// entity 295 +// entity 296 +// entity 297 +// entity 298 +// entity 299 +// entity 300 +// entity 301 +// entity 302 +// entity 303 +// entity 304 +// entity 305 +// entity 306 +// entity 307 +// entity 308 +// entity 309 +// entity 310 +// entity 311 +// entity 312 +// entity 313 +// entity 314 +// entity 315 +// entity 316 +// entity 317 +// entity 318 +// entity 319 +// entity 320 +// entity 321 +// entity 322 +// entity 323 +// entity 324 +// entity 325 +// entity 326 +// entity 327 +// entity 328 +// entity 329 +// entity 330 +// entity 331 +// entity 332 +// entity 333 +// entity 334 +// entity 335 +// entity 336 +// entity 337 +// entity 338 +// entity 339 +// entity 340 +// entity 341 +// entity 342 +// entity 343 +// entity 344 +// entity 345 +// entity 346 +// entity 347 +// entity 348 +// entity 349 +// entity 350 +// entity 351 +// entity 352 +// entity 353 +// entity 354 +// entity 355 +// entity 356 +// entity 357 +// entity 358 +// entity 359 +// entity 360 +// entity 361 +// entity 362 +// entity 363 +// entity 364 +// entity 365 +// entity 366 +// entity 367 +// entity 368 +// entity 369 +// entity 370 +// entity 371 +// entity 372 +// entity 373 +// entity 374 +// entity 375 +// entity 376 +// entity 377 +// entity 378 +// entity 379 +// entity 380 +// entity 381 +// entity 382 +// entity 383 +// entity 384 +// entity 385 +// entity 386 +// entity 387 +{ +"script_ammo_clip" "600" +"target" "auto42" +"zombie_cost" "1200" +"zombie_weapon_upgrade" "doublebarrel_sawed_grip" +"targetname" "weapon_upgrade" +"classname" "trigger_use" +// brush 0 +{ + ( 215 473.5 189.5 ) ( 212.5 474 189.5 ) ( 212 446.5 189.5 ) trigger 64.048401 64.014015 41.053505 5983.6807 178.70213 0.0012408507 lightmap_gray 16415.127 16386.07 40.655071 5984 178.48785 -0.0031572713 + ( 214.5 447 201.5 ) ( 212 447 201.5 ) ( 212.5 474.5 201.5 ) trigger 64.051361 63.983006 40.62249 5981.5898 178.54536 -0.0019558878 lightmap_gray 16397.262 16381.656 39.915325 5981.5664 178.72437 0.00079479982 + ( 214.5 478 192 ) ( 214.5 478 200 ) ( 212 478 200 ) trigger 64.032562 -64 29.816673 97.754639 180 0 lightmap_gray 16390.178 -16383.938 29.700113 97.754997 180 0 + ( 212 474.5 193.5 ) ( 212 474.5 201.5 ) ( 212 447 201.5 ) trigger 64 -64 -5977.8418 97.667847 -180 0.00030665105 lightmap_gray 16386.596 -16384.033 -5978.6582 97.669113 180 0.00036664118 + ( 212 448 192.5 ) ( 212 448 200.5 ) ( 214.5 448 200.5 ) trigger 64.009865 -64 30.319305 97.691193 180 0 lightmap_gray 16379.116 -16384 30.169758 97.691193 180 0 + ( 214.5 474.5 201.5 ) ( 214.5 474.5 193.5 ) ( 214.5 447 193.5 ) trigger 64 -64 -5977.606 97.680237 180 -0.00036653792 lightmap_gray 16373.625 -16384 -5974.1768 97.680237 180 0.00012310213 +} +} +// entity 388 +{ +"origin" "214.0 459.0 197.0" +"angles" "0 270 0" +"model" "weapon_usa_db_shotgun_sawed_grips" +"classname" "script_model" +"targetname" "auto42" +} +// entity 389 +// entity 390 +// entity 391 +// entity 392 +// entity 393 +// entity 394 +// entity 395 +// entity 396 +// entity 397 +// entity 398 +// entity 399 +// entity 400 +// entity 401 +// entity 402 +// entity 403 +// entity 404 +// entity 405 +// entity 406 +// entity 407 +// entity 408 +// entity 409 +// entity 410 +// entity 411 +// entity 412 +// entity 413 +// entity 414 +// entity 415 +// entity 416 +// entity 417 +// entity 418 +// entity 419 +// entity 420 +// entity 421 +// entity 422 +// entity 423 +// entity 424 +// entity 425 +// entity 426 +// entity 427 +// entity 428 +// entity 429 +// entity 430 +// entity 431 +// entity 432 +// entity 433 +// entity 434 +// entity 435 +// entity 436 +// entity 437 +// entity 438 +// entity 439 +// entity 440 +// entity 441 +// entity 442 +// entity 443 +// entity 444 +// entity 445 +// entity 446 +// entity 447 +// entity 448 +// entity 449 +// entity 450 +// entity 451 +// entity 452 +// entity 453 +// entity 454 +// entity 455 +// entity 456 +// entity 457 +// entity 458 +// entity 459 +// entity 460 +// entity 461 +// entity 462 +// entity 463 +// entity 464 +// entity 465 +// entity 466 +// entity 467 +// entity 468 +// entity 469 +// entity 470 +// entity 471 +// entity 472 +// entity 473 +// entity 474 +// entity 475 +// entity 476 +// entity 477 +// entity 478 +// entity 479 +// entity 480 +// entity 481 +// entity 482 +// entity 483 +// entity 484 +// entity 485 +// entity 486 +// entity 487 +// entity 488 +// entity 489 +// entity 490 +// entity 491 +// entity 492 +// entity 493 +// entity 494 +// entity 495 +// entity 496 +// entity 497 +// entity 498 +// entity 499 +// entity 500 +// entity 501 +// entity 502 +// entity 503 +// entity 504 +// entity 505 +// entity 506 +// entity 507 +// entity 508 +// entity 509 +// entity 510 +// entity 511 +// entity 512 +// entity 513 +// entity 514 +// entity 515 +// entity 516 +// entity 517 +// entity 518 +// entity 519 +// entity 520 +// entity 521 +// entity 522 +// entity 523 +// entity 524 +// entity 525 +// entity 526 +// entity 527 +// entity 528 +// entity 529 +// entity 530 +// entity 531 +// entity 532 +// entity 533 +// entity 534 +// entity 535 +// entity 536 +// entity 537 +// entity 538 +// entity 539 +// entity 540 +// entity 541 +// entity 542 +// entity 543 +// entity 544 +// entity 545 +// entity 546 +// entity 547 +// entity 548 +// entity 549 +// entity 550 +// entity 551 +// entity 552 +// entity 553 +// entity 554 +// entity 555 +// entity 556 +// entity 557 +// entity 558 +// entity 559 +// entity 560 +// entity 561 +// entity 562 +// entity 563 +// entity 564 +// entity 565 +// entity 566 +// entity 567 +// entity 568 +// entity 569 +// entity 570 +// entity 571 +// entity 572 +// entity 573 +// entity 574 +// entity 575 +// entity 576 +// entity 577 +// entity 578 +// entity 579 +// entity 580 +// entity 581 +// entity 582 +// entity 583 +// entity 584 +// entity 585 +// entity 586 +// entity 587 +// entity 588 +// entity 589 +// entity 590 +// entity 591 +// entity 592 +// entity 593 +// entity 594 +// entity 595 +// entity 596 +// entity 597 +// entity 598 +// entity 599 +// entity 600 +// entity 601 +// entity 602 +// entity 603 +// entity 604 +// entity 605 +// entity 606 +// entity 607 +// entity 608 +// entity 609 +// entity 610 +// entity 611 +// entity 612 +// entity 613 +// entity 614 +// entity 615 +// entity 616 +// entity 617 +// entity 618 +// entity 619 +// entity 620 +// entity 621 +// entity 622 +// entity 623 +// entity 624 +// entity 625 +// entity 626 +// entity 627 +// entity 628 +// entity 629 +// entity 630 +// entity 631 +// entity 632 +// entity 633 +// entity 634 +// entity 635 +// entity 636 +// entity 637 +// entity 638 +// entity 639 +// entity 640 +// entity 641 +// entity 642 +// entity 643 +// entity 644 +// entity 645 +// entity 646 +// entity 647 +// entity 648 +// entity 649 +// entity 650 +// entity 651 +// entity 652 +// entity 653 +// entity 654 +// entity 655 +// entity 656 +// entity 657 +// entity 658 +// entity 659 +// entity 660 +// entity 661 +// entity 662 +// entity 663 +// entity 664 +// entity 665 +// entity 666 +// entity 667 +// entity 668 +// entity 669 +// entity 670 +// entity 671 +// entity 672 +// entity 673 +// entity 674 +// entity 675 +// entity 676 +// entity 677 +// entity 678 +// entity 679 +// entity 680 +// entity 681 +// entity 682 +// entity 683 +// entity 684 +// entity 685 +// entity 686 +// entity 687 +// entity 688 +// entity 689 +// entity 690 +// entity 691 +// entity 692 +// entity 693 +// entity 694 +// entity 695 +// entity 696 +// entity 697 +// entity 698 +// entity 699 +// entity 700 +// entity 701 +// entity 702 +// entity 703 +// entity 704 +// entity 705 +// entity 706 +// entity 707 +// entity 708 +// entity 709 +// entity 710 +// entity 711 +// entity 712 +// entity 713 +// entity 714 +// entity 715 +// entity 716 +// entity 717 +// entity 718 +// entity 719 +// entity 720 +// entity 721 +// entity 722 +// entity 723 +// entity 724 +// entity 725 +// entity 726 +// entity 727 +// entity 728 +// entity 729 +// entity 730 +// entity 731 +// entity 732 +// entity 733 +// entity 734 +// entity 735 +// entity 736 +// entity 737 +// entity 738 +// entity 739 +// entity 740 +// entity 741 +// entity 742 +// entity 743 +// entity 744 +// entity 745 +// entity 746 +// entity 747 +// entity 748 +// entity 749 +// entity 750 +// entity 751 +// entity 752 +// entity 753 +// entity 754 +// entity 755 +// entity 756 +// entity 757 +// entity 758 +// entity 759 +// entity 760 +// entity 761 +// entity 762 +// entity 763 +// entity 764 +// entity 765 +// entity 766 +// entity 767 +// entity 768 +// entity 769 +// entity 770 +// entity 771 +// entity 772 +// entity 773 +// entity 774 +// entity 775 +// entity 776 +// entity 777 +// entity 778 +// entity 779 +// entity 780 +// entity 781 +// entity 782 +// entity 783 +// entity 784 +// entity 785 +// entity 786 +// entity 787 +// entity 788 +// entity 789 +// entity 790 +// entity 791 +// entity 792 +// entity 793 +// entity 794 +// entity 795 +// entity 796 +// entity 797 +// entity 798 +// entity 799 +// entity 800 +// entity 801 +// entity 802 +// entity 803 +// entity 804 +// entity 805 +// entity 806 +// entity 807 +// entity 808 +// entity 809 +// entity 810 +// entity 811 +// entity 812 +// entity 813 +// entity 814 +// entity 815 +// entity 816 +// entity 817 +// entity 818 +// entity 819 +// entity 820 +// entity 821 +// entity 822 +// entity 823 +// entity 824 +// entity 825 +// entity 826 +// entity 827 +// entity 828 +// entity 829 +// entity 830 +// entity 831 +// entity 832 +// entity 833 +// entity 834 +// entity 835 +// entity 836 +// entity 837 +// entity 838 +// entity 839 +// entity 840 +// entity 841 +// entity 842 +// entity 843 +// entity 844 +// entity 845 +// entity 846 +// entity 847 +// entity 848 +// entity 849 +// entity 850 +// entity 851 +// entity 852 +// entity 853 +// entity 854 +// entity 855 +// entity 856 +// entity 857 +// entity 858 +// entity 859 +// entity 860 +// entity 861 +// entity 862 +// entity 863 +// entity 864 +// entity 865 +// entity 866 +// entity 867 +// entity 868 +// entity 869 +// entity 870 +// entity 871 +// entity 872 +// entity 873 +// entity 874 +// entity 875 +// entity 876 +// entity 877 +// entity 878 +// entity 879 +// entity 880 +// entity 881 +// entity 882 +// entity 883 +// entity 884 +// entity 885 +// entity 886 +// entity 887 +// entity 888 +// entity 889 +// entity 890 +// entity 891 +// entity 892 +// entity 893 +// entity 894 +// entity 895 +// entity 896 +// entity 897 +// entity 898 +// entity 899 +// entity 900 +// entity 901 +// entity 902 +// entity 903 +// entity 904 +// entity 905 +// entity 906 +// entity 907 +// entity 908 +// entity 909 +// entity 910 +// entity 911 +// entity 912 +// entity 913 +// entity 914 +// entity 915 +// entity 916 +// entity 917 +// entity 918 +// entity 919 +// entity 920 +// entity 921 +// entity 922 +// entity 923 +// entity 924 +// entity 925 +// entity 926 +// entity 927 +// entity 928 +// entity 929 +// entity 930 +// entity 931 +// entity 932 +// entity 933 +// entity 934 +// entity 935 +// entity 936 +// entity 937 +// entity 938 +// entity 939 +// entity 940 +// entity 941 +// entity 942 +// entity 943 +// entity 944 +// entity 945 +// entity 946 +// entity 947 +// entity 948 +// entity 949 +// entity 950 +// entity 951 +// entity 952 +// entity 953 +// entity 954 +// entity 955 +// entity 956 +// entity 957 +// entity 958 +// entity 959 +// entity 960 +// entity 961 +// entity 962 +// entity 963 +// entity 964 +// entity 965 +// entity 966 +// entity 967 +// entity 968 +// entity 969 +// entity 970 +// entity 971 +// entity 972 +// entity 973 +// entity 974 +// entity 975 +// entity 976 +// entity 977 +// entity 978 +// entity 979 +// entity 980 +// entity 981 +// entity 982 +// entity 983 +// entity 984 +// entity 985 +// entity 986 +// entity 987 +// entity 988 +// entity 989 +// entity 990 +// entity 991 +// entity 992 +// entity 993 +// entity 994 +// entity 995 +// entity 996 +// entity 997 +// entity 998 +// entity 999 +// entity 1000 +// entity 1001 +// entity 1002 +// entity 1003 +// entity 1004 +// entity 1005 +// entity 1006 +// entity 1007 +// entity 1008 +// entity 1009 +// entity 1010 +// entity 1011 +// entity 1012 +// entity 1013 +// entity 1014 +// entity 1015 +// entity 1016 +// entity 1017 +// entity 1018 +// entity 1019 +// entity 1020 +// entity 1021 +// entity 1022 +// entity 1023 +// entity 1024 +// entity 1025 +// entity 1026 +// entity 1027 +// entity 1028 +// entity 1029 +// entity 1030 +// entity 1031 +// entity 1032 +// entity 1033 +// entity 1034 +// entity 1035 +// entity 1036 +// entity 1037 +// entity 1038 +// entity 1039 +// entity 1040 +// entity 1041 +// entity 1042 +// entity 1043 +// entity 1044 +// entity 1045 +// entity 1046 +// entity 1047 +// entity 1048 +// entity 1049 +// entity 1050 +// entity 1051 +// entity 1052 +// entity 1053 +// entity 1054 +// entity 1055 +// entity 1056 +// entity 1057 +// entity 1058 +// entity 1059 +// entity 1060 +// entity 1061 +// entity 1062 +// entity 1063 +// entity 1064 +// entity 1065 +// entity 1066 +// entity 1067 +// entity 1068 +// entity 1069 +// entity 1070 +// entity 1071 +// entity 1072 +// entity 1073 +// entity 1074 +// entity 1075 +// entity 1076 +// entity 1077 +// entity 1078 +// entity 1079 +// entity 1080 +// entity 1081 +// entity 1082 +// entity 1083 +// entity 1084 +// entity 1085 +// entity 1086 +// entity 1087 +// entity 1088 +// entity 1089 +// entity 1090 +// entity 1091 +// entity 1092 +// entity 1093 +// entity 1094 +// entity 1095 +// entity 1096 +// entity 1097 +// entity 1098 +// entity 1099 +// entity 1100 +// entity 1101 +// entity 1102 +// entity 1103 +// entity 1104 +// entity 1105 +// entity 1106 +// entity 1107 +// entity 1108 +// entity 1109 +// entity 1110 +// entity 1111 +// entity 1112 +// entity 1113 +// entity 1114 +// entity 1115 +// entity 1116 +// entity 1117 +// entity 1118 +// entity 1119 +// entity 1120 +// entity 1121 +// entity 1122 +// entity 1123 +// entity 1124 +// entity 1125 +// entity 1126 +// entity 1127 +// entity 1128 +// entity 1129 +// entity 1130 +// entity 1131 +// entity 1132 +// entity 1133 +// entity 1134 +// entity 1135 +// entity 1136 +// entity 1137 +// entity 1138 +// entity 1139 +// entity 1140 +// entity 1141 +// entity 1142 +// entity 1143 +// entity 1144 +// entity 1145 +// entity 1146 +// entity 1147 +// entity 1148 +// entity 1149 +// entity 1150 +// entity 1151 +// entity 1152 +// entity 1153 +// entity 1154 +// entity 1155 +// entity 1156 +// entity 1157 +// entity 1158 +// entity 1159 +// entity 1160 +// entity 1161 +// entity 1162 +// entity 1163 +// entity 1164 +// entity 1165 +// entity 1166 +// entity 1167 +// entity 1168 +// entity 1169 +// entity 1170 +// entity 1171 +// entity 1172 +// entity 1173 +// entity 1174 +// entity 1175 +// entity 1176 +// entity 1177 +// entity 1178 +// entity 1179 +// entity 1180 +// entity 1181 +// entity 1182 +// entity 1183 +// entity 1184 +// entity 1185 +// entity 1186 +// entity 1187 +// entity 1188 +// entity 1189 +// entity 1190 +// entity 1191 +// entity 1192 +// entity 1193 +// entity 1194 +// entity 1195 +// entity 1196 +// entity 1197 +// entity 1198 +// entity 1199 +// entity 1200 +// entity 1201 +// entity 1202 +// entity 1203 +// entity 1204 +// entity 1205 +// entity 1206 +// entity 1207 +// entity 1208 +// entity 1209 +// entity 1210 +// entity 1211 +// entity 1212 +// entity 1213 +// entity 1214 +// entity 1215 +// entity 1216 +// entity 1217 +// entity 1218 +// entity 1219 +// entity 1220 +// entity 1221 +// entity 1222 +// entity 1223 +// entity 1224 +// entity 1225 +// entity 1226 +// entity 1227 +// entity 1228 +// entity 1229 +// entity 1230 +// entity 1231 +// entity 1232 +// entity 1233 +// entity 1234 +// entity 1235 +// entity 1236 +// entity 1237 +// entity 1238 +// entity 1239 +// entity 1240 +// entity 1241 +// entity 1242 +// entity 1243 +// entity 1244 +// entity 1245 +// entity 1246 +// entity 1247 +// entity 1248 +// entity 1249 +// entity 1250 +// entity 1251 +// entity 1252 +// entity 1253 +// entity 1254 diff --git a/map_source/_prefabs/zombiemode/weapon_springfield.map b/map_source/_prefabs/zombiemode/weapon_springfield.map new file mode 100644 index 000000000..7b4905225 --- /dev/null +++ b/map_source/_prefabs/zombiemode/weapon_springfield.map @@ -0,0 +1,1300 @@ +iwmap 4 +// entity 0 +{ +"reflection_color_correction" "zombie" +"skyboxmodel" "skybox_zombie" +"sunisprimarylight" "1" +"bouncefraction" "0.3" +"contrastgain" "0.35" +"_color" "0.5 0.5 0.7" +"ambient" "0.1" +"sundiffusecolor" "0.25 0.55 0.8" +"diffusefraction" "0.15" +"classname" "worldspawn" +"sundirection" "-150 17 0" +"suncolor" "0.64 0.85 1" +"sunlight" "0.75" +// brush 0 +{ + ( -215 259 53.5 ) ( -215 201 53.5 ) ( -208 201 53.5 ) nodraw_decal 64 64 180 228 90 0 lightmap_gray 16384.053 16383.863 127 227.99831 90 0 + ( -208 235 66 ) ( -215 235 66 ) ( -215 293 66 ) nodraw_decal 64 64 180 228.11298 90 0 lightmap_gray 16383.855 16384 127 228.00342 90 0 + ( -207.5 212 337 ) ( -207.5 270 337 ) ( -207.5 270 -258 ) k98_chalk 60.5 12.5 151.5 9 0 0 lightmap_gray 16383.979 16384 127 83 0 0 + ( -208 272.5 336.5 ) ( -215 272.5 336.5 ) ( -215 272.5 -258.5 ) nodraw_decal 64 -64 -228.00397 -9.4847937 180 0 lightmap_gray 16383.162 -16384 -227.98058 -82.993614 180 0 + ( -215 270 337 ) ( -215 212 337 ) ( -215 212 -258 ) nodraw_decal 64 64 180 9.5 0 0 lightmap_gray 16383.939 16384 127 83 0 0 + ( -215 212 337 ) ( -208 212 337 ) ( -208 212 -258 ) nodraw_decal 64 -64 -227.99641 -9.4939442 180 0 lightmap_gray 16383.711 -16384 -228.00237 -83.00885 -180 0 +} +} +// entity 1 +// entity 2 +// entity 3 +// entity 4 +// entity 5 +// entity 6 +// entity 7 +// entity 8 +// entity 9 +// entity 10 +// entity 11 +// entity 12 +// entity 13 +// entity 14 +// entity 15 +// entity 16 +// entity 17 +// entity 18 +// entity 19 +// entity 20 +// entity 21 +// entity 22 +// entity 23 +// entity 24 +// entity 25 +// entity 26 +// entity 27 +// entity 28 +// entity 29 +// entity 30 +// entity 31 +// entity 32 +// entity 33 +// entity 34 +// entity 35 +// entity 36 +// entity 37 +// entity 38 +// entity 39 +// entity 40 +// entity 41 +// entity 42 +// entity 43 +// entity 44 +// entity 45 +// entity 46 +// entity 47 +// entity 48 +// entity 49 +// entity 50 +// entity 51 +// entity 52 +// entity 53 +// entity 54 +// entity 55 +// entity 56 +// entity 57 +// entity 58 +// entity 59 +// entity 60 +// entity 61 +// entity 62 +// entity 63 +// entity 64 +// entity 65 +// entity 66 +// entity 67 +// entity 68 +// entity 69 +// entity 70 +// entity 71 +// entity 72 +// entity 73 +// entity 74 +// entity 75 +// entity 76 +// entity 77 +// entity 78 +// entity 79 +// entity 80 +// entity 81 +// entity 82 +// entity 83 +// entity 84 +// entity 85 +// entity 86 +// entity 87 +// entity 88 +// entity 89 +// entity 90 +// entity 91 +// entity 92 +// entity 93 +// entity 94 +// entity 95 +// entity 96 +// entity 97 +// entity 98 +// entity 99 +// entity 100 +// entity 101 +// entity 102 +// entity 103 +// entity 104 +// entity 105 +// entity 106 +// entity 107 +// entity 108 +// entity 109 +// entity 110 +// entity 111 +// entity 112 +// entity 113 +// entity 114 +// entity 115 +// entity 116 +// entity 117 +// entity 118 +// entity 119 +// entity 120 +// entity 121 +// entity 122 +// entity 123 +// entity 124 +// entity 125 +// entity 126 +// entity 127 +// entity 128 +// entity 129 +// entity 130 +// entity 131 +// entity 132 +// entity 133 +// entity 134 +// entity 135 +// entity 136 +// entity 137 +// entity 138 +// entity 139 +// entity 140 +// entity 141 +// entity 142 +// entity 143 +// entity 144 +// entity 145 +// entity 146 +// entity 147 +// entity 148 +// entity 149 +// entity 150 +// entity 151 +// entity 152 +// entity 153 +// entity 154 +// entity 155 +// entity 156 +// entity 157 +// entity 158 +// entity 159 +// entity 160 +// entity 161 +// entity 162 +// entity 163 +// entity 164 +// entity 165 +// entity 166 +// entity 167 +// entity 168 +// entity 169 +// entity 170 +// entity 171 +// entity 172 +// entity 173 +// entity 174 +// entity 175 +// entity 176 +// entity 177 +// entity 178 +// entity 179 +// entity 180 +// entity 181 +// entity 182 +// entity 183 +// entity 184 +// entity 185 +// entity 186 +// entity 187 +// entity 188 +// entity 189 +// entity 190 +// entity 191 +// entity 192 +// entity 193 +// entity 194 +// entity 195 +// entity 196 +// entity 197 +// entity 198 +// entity 199 +// entity 200 +// entity 201 +// entity 202 +// entity 203 +// entity 204 +// entity 205 +// entity 206 +// entity 207 +// entity 208 +// entity 209 +// entity 210 +// entity 211 +// entity 212 +// entity 213 +// entity 214 +// entity 215 +// entity 216 +// entity 217 +// entity 218 +// entity 219 +// entity 220 +// entity 221 +// entity 222 +// entity 223 +// entity 224 +// entity 225 +// entity 226 +// entity 227 +// entity 228 +// entity 229 +// entity 230 +// entity 231 +// entity 232 +// entity 233 +// entity 234 +// entity 235 +// entity 236 +// entity 237 +// entity 238 +// entity 239 +// entity 240 +// entity 241 +// entity 242 +// entity 243 +// entity 244 +// entity 245 +// entity 246 +// entity 247 +// entity 248 +// entity 249 +// entity 250 +// entity 251 +// entity 252 +// entity 253 +// entity 254 +// entity 255 +// entity 256 +// entity 257 +// entity 258 +// entity 259 +// entity 260 +// entity 261 +// entity 262 +// entity 263 +// entity 264 +// entity 265 +// entity 266 +// entity 267 +// entity 268 +// entity 269 +// entity 270 +// entity 271 +// entity 272 +// entity 273 +// entity 274 +// entity 275 +// entity 276 +// entity 277 +// entity 278 +// entity 279 +// entity 280 +// entity 281 +// entity 282 +// entity 283 +// entity 284 +// entity 285 +// entity 286 +// entity 287 +// entity 288 +// entity 289 +// entity 290 +// entity 291 +// entity 292 +// entity 293 +// entity 294 +// entity 295 +// entity 296 +// entity 297 +// entity 298 +// entity 299 +// entity 300 +// entity 301 +// entity 302 +// entity 303 +// entity 304 +// entity 305 +// entity 306 +// entity 307 +// entity 308 +// entity 309 +// entity 310 +// entity 311 +// entity 312 +// entity 313 +// entity 314 +// entity 315 +// entity 316 +// entity 317 +// entity 318 +// entity 319 +// entity 320 +// entity 321 +// entity 322 +// entity 323 +// entity 324 +// entity 325 +// entity 326 +// entity 327 +// entity 328 +// entity 329 +// entity 330 +// entity 331 +// entity 332 +// entity 333 +// entity 334 +// entity 335 +// entity 336 +// entity 337 +// entity 338 +// entity 339 +// entity 340 +// entity 341 +// entity 342 +// entity 343 +// entity 344 +// entity 345 +// entity 346 +// entity 347 +// entity 348 +// entity 349 +// entity 350 +// entity 351 +// entity 352 +// entity 353 +// entity 354 +// entity 355 +// entity 356 +// entity 357 +// entity 358 +// entity 359 +// entity 360 +// entity 361 +// entity 362 +// entity 363 +// entity 364 +// entity 365 +// entity 366 +// entity 367 +// entity 368 +// entity 369 +// entity 370 +// entity 371 +// entity 372 +// entity 373 +// entity 374 +// entity 375 +// entity 376 +// entity 377 +// entity 378 +// entity 379 +{ +"script_ammo_clip" "100" +"target" "auto35" +"zombie_cost" "200" +"zombie_weapon_upgrade" "kar98k" +"targetname" "weapon_upgrade" +"classname" "trigger_use" +// brush 0 +{ + ( -204.5 254.5 53.5 ) ( -207 255 53.5 ) ( -207.5 227.5 53.5 ) trigger 64.05735 64.011475 455.23843 5754.4502 178.54716 -0.0015104294 lightmap_gray 16415.951 16385.469 454.94278 5753.228 178.34503 -0.005405338 + ( -205 228 65.5 ) ( -207.5 228 65.5 ) ( -207 255.5 65.5 ) trigger 64.051392 64.032082 454.88388 5756.3345 178.56665 -0.0016311599 lightmap_gray 16397.178 16376.978 454.25394 5751.5869 178.69107 0.00016294041 + ( -205 269 56.5 ) ( -205 269 64.5 ) ( -207.5 269 64.5 ) trigger 64.029938 -64 449.30615 -38.240784 180 0 lightmap_gray 16390.309 -16384 449.20139 -38.240784 180 0 + ( -207.5 255.5 57.5 ) ( -207.5 255.5 65.5 ) ( -207.5 228 65.5 ) trigger 64 -64 -5758.7778 -38.330971 -180 0.00012035597 lightmap_gray 16373.36 -16383.961 -5755.1567 -38.331116 180 0.00036563759 + ( -207.5 214 58 ) ( -207.5 214 66 ) ( -205 214 66 ) trigger 64.005287 -64 449.80234 -38.309471 180 0 lightmap_gray 16379.312 -16384 449.67188 -38.309471 180 0 + ( -205 255.5 65.5 ) ( -205 255.5 57.5 ) ( -205 228 57.5 ) trigger 64 -64 -5758.6743 -38.319962 -180 -0.00036622587 lightmap_gray 16382.34 -16383.961 -5758.0786 -38.320213 180 0 +} +} +// entity 380 +{ +"origin" "-206.0 244.0 61.5" +"angles" "0 270 0" +"model" "weapon_ger_kar98_rifle" +"classname" "script_model" +"targetname" "auto35" +} +// entity 381 +// entity 382 +// entity 383 +// entity 384 +// entity 385 +// entity 386 +// entity 387 +// entity 388 +// entity 389 +// entity 390 +// entity 391 +// entity 392 +// entity 393 +// entity 394 +// entity 395 +// entity 396 +// entity 397 +// entity 398 +// entity 399 +// entity 400 +// entity 401 +// entity 402 +// entity 403 +// entity 404 +// entity 405 +// entity 406 +// entity 407 +// entity 408 +// entity 409 +// entity 410 +// entity 411 +// entity 412 +// entity 413 +// entity 414 +// entity 415 +// entity 416 +// entity 417 +// entity 418 +// entity 419 +// entity 420 +// entity 421 +// entity 422 +// entity 423 +// entity 424 +// entity 425 +// entity 426 +// entity 427 +// entity 428 +// entity 429 +// entity 430 +// entity 431 +// entity 432 +// entity 433 +// entity 434 +// entity 435 +// entity 436 +// entity 437 +// entity 438 +// entity 439 +// entity 440 +// entity 441 +// entity 442 +// entity 443 +// entity 444 +// entity 445 +// entity 446 +// entity 447 +// entity 448 +// entity 449 +// entity 450 +// entity 451 +// entity 452 +// entity 453 +// entity 454 +// entity 455 +// entity 456 +// entity 457 +// entity 458 +// entity 459 +// entity 460 +// entity 461 +// entity 462 +// entity 463 +// entity 464 +// entity 465 +// entity 466 +// entity 467 +// entity 468 +// entity 469 +// entity 470 +// entity 471 +// entity 472 +// entity 473 +// entity 474 +// entity 475 +// entity 476 +// entity 477 +// entity 478 +// entity 479 +// entity 480 +// entity 481 +// entity 482 +// entity 483 +// entity 484 +// entity 485 +// entity 486 +// entity 487 +// entity 488 +// entity 489 +// entity 490 +// entity 491 +// entity 492 +// entity 493 +// entity 494 +// entity 495 +// entity 496 +// entity 497 +// entity 498 +// entity 499 +// entity 500 +// entity 501 +// entity 502 +// entity 503 +// entity 504 +// entity 505 +// entity 506 +// entity 507 +// entity 508 +// entity 509 +// entity 510 +// entity 511 +// entity 512 +// entity 513 +// entity 514 +// entity 515 +// entity 516 +// entity 517 +// entity 518 +// entity 519 +// entity 520 +// entity 521 +// entity 522 +// entity 523 +// entity 524 +// entity 525 +// entity 526 +// entity 527 +// entity 528 +// entity 529 +// entity 530 +// entity 531 +// entity 532 +// entity 533 +// entity 534 +// entity 535 +// entity 536 +// entity 537 +// entity 538 +// entity 539 +// entity 540 +// entity 541 +// entity 542 +// entity 543 +// entity 544 +// entity 545 +// entity 546 +// entity 547 +// entity 548 +// entity 549 +// entity 550 +// entity 551 +// entity 552 +// entity 553 +// entity 554 +// entity 555 +// entity 556 +// entity 557 +// entity 558 +// entity 559 +// entity 560 +// entity 561 +// entity 562 +// entity 563 +// entity 564 +// entity 565 +// entity 566 +// entity 567 +// entity 568 +// entity 569 +// entity 570 +// entity 571 +// entity 572 +// entity 573 +// entity 574 +// entity 575 +// entity 576 +// entity 577 +// entity 578 +// entity 579 +// entity 580 +// entity 581 +// entity 582 +// entity 583 +// entity 584 +// entity 585 +// entity 586 +// entity 587 +// entity 588 +// entity 589 +// entity 590 +// entity 591 +// entity 592 +// entity 593 +// entity 594 +// entity 595 +// entity 596 +// entity 597 +// entity 598 +// entity 599 +// entity 600 +// entity 601 +// entity 602 +// entity 603 +// entity 604 +// entity 605 +// entity 606 +// entity 607 +// entity 608 +// entity 609 +// entity 610 +// entity 611 +// entity 612 +// entity 613 +// entity 614 +// entity 615 +// entity 616 +// entity 617 +// entity 618 +// entity 619 +// entity 620 +// entity 621 +// entity 622 +// entity 623 +// entity 624 +// entity 625 +// entity 626 +// entity 627 +// entity 628 +// entity 629 +// entity 630 +// entity 631 +// entity 632 +// entity 633 +// entity 634 +// entity 635 +// entity 636 +// entity 637 +// entity 638 +// entity 639 +// entity 640 +// entity 641 +// entity 642 +// entity 643 +// entity 644 +// entity 645 +// entity 646 +// entity 647 +// entity 648 +// entity 649 +// entity 650 +// entity 651 +// entity 652 +// entity 653 +// entity 654 +// entity 655 +// entity 656 +// entity 657 +// entity 658 +// entity 659 +// entity 660 +// entity 661 +// entity 662 +// entity 663 +// entity 664 +// entity 665 +// entity 666 +// entity 667 +// entity 668 +// entity 669 +// entity 670 +// entity 671 +// entity 672 +// entity 673 +// entity 674 +// entity 675 +// entity 676 +// entity 677 +// entity 678 +// entity 679 +// entity 680 +// entity 681 +// entity 682 +// entity 683 +// entity 684 +// entity 685 +// entity 686 +// entity 687 +// entity 688 +// entity 689 +// entity 690 +// entity 691 +// entity 692 +// entity 693 +// entity 694 +// entity 695 +// entity 696 +// entity 697 +// entity 698 +// entity 699 +// entity 700 +// entity 701 +// entity 702 +// entity 703 +// entity 704 +// entity 705 +// entity 706 +// entity 707 +// entity 708 +// entity 709 +// entity 710 +// entity 711 +// entity 712 +// entity 713 +// entity 714 +// entity 715 +// entity 716 +// entity 717 +// entity 718 +// entity 719 +// entity 720 +// entity 721 +// entity 722 +// entity 723 +// entity 724 +// entity 725 +// entity 726 +// entity 727 +// entity 728 +// entity 729 +// entity 730 +// entity 731 +// entity 732 +// entity 733 +// entity 734 +// entity 735 +// entity 736 +// entity 737 +// entity 738 +// entity 739 +// entity 740 +// entity 741 +// entity 742 +// entity 743 +// entity 744 +// entity 745 +// entity 746 +// entity 747 +// entity 748 +// entity 749 +// entity 750 +// entity 751 +// entity 752 +// entity 753 +// entity 754 +// entity 755 +// entity 756 +// entity 757 +// entity 758 +// entity 759 +// entity 760 +// entity 761 +// entity 762 +// entity 763 +// entity 764 +// entity 765 +// entity 766 +// entity 767 +// entity 768 +// entity 769 +// entity 770 +// entity 771 +// entity 772 +// entity 773 +// entity 774 +// entity 775 +// entity 776 +// entity 777 +// entity 778 +// entity 779 +// entity 780 +// entity 781 +// entity 782 +// entity 783 +// entity 784 +// entity 785 +// entity 786 +// entity 787 +// entity 788 +// entity 789 +// entity 790 +// entity 791 +// entity 792 +// entity 793 +// entity 794 +// entity 795 +// entity 796 +// entity 797 +// entity 798 +// entity 799 +// entity 800 +// entity 801 +// entity 802 +// entity 803 +// entity 804 +// entity 805 +// entity 806 +// entity 807 +// entity 808 +// entity 809 +// entity 810 +// entity 811 +// entity 812 +// entity 813 +// entity 814 +// entity 815 +// entity 816 +// entity 817 +// entity 818 +// entity 819 +// entity 820 +// entity 821 +// entity 822 +// entity 823 +// entity 824 +// entity 825 +// entity 826 +// entity 827 +// entity 828 +// entity 829 +// entity 830 +// entity 831 +// entity 832 +// entity 833 +// entity 834 +// entity 835 +// entity 836 +// entity 837 +// entity 838 +// entity 839 +// entity 840 +// entity 841 +// entity 842 +// entity 843 +// entity 844 +// entity 845 +// entity 846 +// entity 847 +// entity 848 +// entity 849 +// entity 850 +// entity 851 +// entity 852 +// entity 853 +// entity 854 +// entity 855 +// entity 856 +// entity 857 +// entity 858 +// entity 859 +// entity 860 +// entity 861 +// entity 862 +// entity 863 +// entity 864 +// entity 865 +// entity 866 +// entity 867 +// entity 868 +// entity 869 +// entity 870 +// entity 871 +// entity 872 +// entity 873 +// entity 874 +// entity 875 +// entity 876 +// entity 877 +// entity 878 +// entity 879 +// entity 880 +// entity 881 +// entity 882 +// entity 883 +// entity 884 +// entity 885 +// entity 886 +// entity 887 +// entity 888 +// entity 889 +// entity 890 +// entity 891 +// entity 892 +// entity 893 +// entity 894 +// entity 895 +// entity 896 +// entity 897 +// entity 898 +// entity 899 +// entity 900 +// entity 901 +// entity 902 +// entity 903 +// entity 904 +// entity 905 +// entity 906 +// entity 907 +// entity 908 +// entity 909 +// entity 910 +// entity 911 +// entity 912 +// entity 913 +// entity 914 +// entity 915 +// entity 916 +// entity 917 +// entity 918 +// entity 919 +// entity 920 +// entity 921 +// entity 922 +// entity 923 +// entity 924 +// entity 925 +// entity 926 +// entity 927 +// entity 928 +// entity 929 +// entity 930 +// entity 931 +// entity 932 +// entity 933 +// entity 934 +// entity 935 +// entity 936 +// entity 937 +// entity 938 +// entity 939 +// entity 940 +// entity 941 +// entity 942 +// entity 943 +// entity 944 +// entity 945 +// entity 946 +// entity 947 +// entity 948 +// entity 949 +// entity 950 +// entity 951 +// entity 952 +// entity 953 +// entity 954 +// entity 955 +// entity 956 +// entity 957 +// entity 958 +// entity 959 +// entity 960 +// entity 961 +// entity 962 +// entity 963 +// entity 964 +// entity 965 +// entity 966 +// entity 967 +// entity 968 +// entity 969 +// entity 970 +// entity 971 +// entity 972 +// entity 973 +// entity 974 +// entity 975 +// entity 976 +// entity 977 +// entity 978 +// entity 979 +// entity 980 +// entity 981 +// entity 982 +// entity 983 +// entity 984 +// entity 985 +// entity 986 +// entity 987 +// entity 988 +// entity 989 +// entity 990 +// entity 991 +// entity 992 +// entity 993 +// entity 994 +// entity 995 +// entity 996 +// entity 997 +// entity 998 +// entity 999 +// entity 1000 +// entity 1001 +// entity 1002 +// entity 1003 +// entity 1004 +// entity 1005 +// entity 1006 +// entity 1007 +// entity 1008 +// entity 1009 +// entity 1010 +// entity 1011 +// entity 1012 +// entity 1013 +// entity 1014 +// entity 1015 +// entity 1016 +// entity 1017 +// entity 1018 +// entity 1019 +// entity 1020 +// entity 1021 +// entity 1022 +// entity 1023 +// entity 1024 +// entity 1025 +// entity 1026 +// entity 1027 +// entity 1028 +// entity 1029 +// entity 1030 +// entity 1031 +// entity 1032 +// entity 1033 +// entity 1034 +// entity 1035 +// entity 1036 +// entity 1037 +// entity 1038 +// entity 1039 +// entity 1040 +// entity 1041 +// entity 1042 +// entity 1043 +// entity 1044 +// entity 1045 +// entity 1046 +// entity 1047 +// entity 1048 +// entity 1049 +// entity 1050 +// entity 1051 +// entity 1052 +// entity 1053 +// entity 1054 +// entity 1055 +// entity 1056 +// entity 1057 +// entity 1058 +// entity 1059 +// entity 1060 +// entity 1061 +// entity 1062 +// entity 1063 +// entity 1064 +// entity 1065 +// entity 1066 +// entity 1067 +// entity 1068 +// entity 1069 +// entity 1070 +// entity 1071 +// entity 1072 +// entity 1073 +// entity 1074 +// entity 1075 +// entity 1076 +// entity 1077 +// entity 1078 +// entity 1079 +// entity 1080 +// entity 1081 +// entity 1082 +// entity 1083 +// entity 1084 +// entity 1085 +// entity 1086 +// entity 1087 +// entity 1088 +// entity 1089 +// entity 1090 +// entity 1091 +// entity 1092 +// entity 1093 +// entity 1094 +// entity 1095 +// entity 1096 +// entity 1097 +// entity 1098 +// entity 1099 +// entity 1100 +// entity 1101 +// entity 1102 +// entity 1103 +// entity 1104 +// entity 1105 +// entity 1106 +// entity 1107 +// entity 1108 +// entity 1109 +// entity 1110 +// entity 1111 +// entity 1112 +// entity 1113 +// entity 1114 +// entity 1115 +// entity 1116 +// entity 1117 +// entity 1118 +// entity 1119 +// entity 1120 +// entity 1121 +// entity 1122 +// entity 1123 +// entity 1124 +// entity 1125 +// entity 1126 +// entity 1127 +// entity 1128 +// entity 1129 +// entity 1130 +// entity 1131 +// entity 1132 +// entity 1133 +// entity 1134 +// entity 1135 +// entity 1136 +// entity 1137 +// entity 1138 +// entity 1139 +// entity 1140 +// entity 1141 +// entity 1142 +// entity 1143 +// entity 1144 +// entity 1145 +// entity 1146 +// entity 1147 +// entity 1148 +// entity 1149 +// entity 1150 +// entity 1151 +// entity 1152 +// entity 1153 +// entity 1154 +// entity 1155 +// entity 1156 +// entity 1157 +// entity 1158 +// entity 1159 +// entity 1160 +// entity 1161 +// entity 1162 +// entity 1163 +// entity 1164 +// entity 1165 +// entity 1166 +// entity 1167 +// entity 1168 +// entity 1169 +// entity 1170 +// entity 1171 +// entity 1172 +// entity 1173 +// entity 1174 +// entity 1175 +// entity 1176 +// entity 1177 +// entity 1178 +// entity 1179 +// entity 1180 +// entity 1181 +// entity 1182 +// entity 1183 +// entity 1184 +// entity 1185 +// entity 1186 +// entity 1187 +// entity 1188 +// entity 1189 +// entity 1190 +// entity 1191 +// entity 1192 +// entity 1193 +// entity 1194 +// entity 1195 +// entity 1196 +// entity 1197 +// entity 1198 +// entity 1199 +// entity 1200 +// entity 1201 +// entity 1202 +// entity 1203 +// entity 1204 +// entity 1205 +// entity 1206 +// entity 1207 +// entity 1208 +// entity 1209 +// entity 1210 +// entity 1211 +// entity 1212 +// entity 1213 +// entity 1214 +// entity 1215 +// entity 1216 +// entity 1217 +// entity 1218 +// entity 1219 +// entity 1220 +// entity 1221 +// entity 1222 +// entity 1223 +// entity 1224 +// entity 1225 +// entity 1226 +// entity 1227 +// entity 1228 +// entity 1229 +// entity 1230 +// entity 1231 +// entity 1232 +// entity 1233 +// entity 1234 +// entity 1235 +// entity 1236 +// entity 1237 +// entity 1238 +// entity 1239 +// entity 1240 +// entity 1241 +// entity 1242 +// entity 1243 +// entity 1244 +// entity 1245 +// entity 1246 +// entity 1247 +// entity 1248 +// entity 1249 +// entity 1250 diff --git a/map_source/_prefabs/zombiemode/weapon_thompson.map b/map_source/_prefabs/zombiemode/weapon_thompson.map new file mode 100644 index 000000000..cb0cd1336 --- /dev/null +++ b/map_source/_prefabs/zombiemode/weapon_thompson.map @@ -0,0 +1,1306 @@ +iwmap 4 +// entity 0 +{ +"reflection_color_correction" "zombie" +"skyboxmodel" "skybox_zombie" +"sunisprimarylight" "1" +"bouncefraction" "0.3" +"contrastgain" "0.35" +"_color" "0.5 0.5 0.7" +"ambient" "0.1" +"sundiffusecolor" "0.25 0.55 0.8" +"diffusefraction" "0.15" +"classname" "worldspawn" +"sundirection" "-150 17 0" +"suncolor" "0.64 0.85 1" +"sunlight" "0.75" +// brush 0 +{ + ( 948 1016.5 49 ) ( 890 1016.5 49 ) ( 890 1009.5 49 ) nodraw_decal 64 64 869.49683 -573.95349 0 0 lightmap_gray 16383.947 16384.355 816.53601 -573.98798 0 -4.0932835e-005 + ( 925.5 1010 67.5 ) ( 925.5 1017 67.5 ) ( 983.5 1017 67.5 ) nodraw_decal 64 64 869.44513 -573.92712 0 0 lightmap_gray 16384 16384.203 816.4411 -573.99152 0 0 + ( 901.5 1009.5 337 ) ( 959.5 1009.5 337 ) ( 959.5 1009.5 -258 ) thompson_chalk 38.5 18.5 1347.0288 154.5 0 0 lightmap_gray 16384.045 16384 816.5 83 0 0 + ( 962 1010 336.5 ) ( 962 1017 336.5 ) ( 962 1017 -258.5 ) nodraw_decal 64 64 574.08569 9.5110168 0 0 lightmap_gray 16382.928 16384 574.026 83.001106 0 0 + ( 959.5 1017 337 ) ( 901.5 1017 337 ) ( 901.5 1017 -258 ) nodraw_decal 64 64 869.5 9.5 0 0 lightmap_gray 16383.906 16384 816.5 83 0 0 + ( 923.5 1017 336.5 ) ( 923.5 1010 336.5 ) ( 923.5 1010 -258.5 ) nodraw_decal 64 64 574.10852 9.4838171 0 0 lightmap_gray 16384.113 16384 573.99274 83 0 0 +} +} +// entity 1 +// entity 2 +// entity 3 +// entity 4 +// entity 5 +// entity 6 +// entity 7 +// entity 8 +// entity 9 +// entity 10 +// entity 11 +// entity 12 +// entity 13 +// entity 14 +// entity 15 +// entity 16 +// entity 17 +// entity 18 +// entity 19 +// entity 20 +// entity 21 +// entity 22 +// entity 23 +// entity 24 +// entity 25 +// entity 26 +// entity 27 +// entity 28 +// entity 29 +// entity 30 +// entity 31 +// entity 32 +// entity 33 +// entity 34 +// entity 35 +// entity 36 +// entity 37 +// entity 38 +// entity 39 +// entity 40 +// entity 41 +// entity 42 +// entity 43 +// entity 44 +// entity 45 +// entity 46 +// entity 47 +// entity 48 +// entity 49 +// entity 50 +// entity 51 +// entity 52 +// entity 53 +// entity 54 +// entity 55 +// entity 56 +// entity 57 +// entity 58 +// entity 59 +// entity 60 +// entity 61 +// entity 62 +// entity 63 +// entity 64 +// entity 65 +// entity 66 +// entity 67 +// entity 68 +// entity 69 +// entity 70 +// entity 71 +// entity 72 +// entity 73 +// entity 74 +// entity 75 +// entity 76 +// entity 77 +// entity 78 +// entity 79 +// entity 80 +// entity 81 +// entity 82 +// entity 83 +// entity 84 +// entity 85 +// entity 86 +// entity 87 +// entity 88 +// entity 89 +// entity 90 +// entity 91 +// entity 92 +// entity 93 +// entity 94 +// entity 95 +// entity 96 +// entity 97 +// entity 98 +// entity 99 +// entity 100 +// entity 101 +// entity 102 +// entity 103 +// entity 104 +// entity 105 +// entity 106 +// entity 107 +// entity 108 +// entity 109 +// entity 110 +// entity 111 +// entity 112 +// entity 113 +// entity 114 +// entity 115 +// entity 116 +// entity 117 +// entity 118 +// entity 119 +// entity 120 +// entity 121 +// entity 122 +// entity 123 +// entity 124 +// entity 125 +// entity 126 +// entity 127 +// entity 128 +// entity 129 +// entity 130 +// entity 131 +// entity 132 +// entity 133 +// entity 134 +// entity 135 +// entity 136 +// entity 137 +// entity 138 +// entity 139 +// entity 140 +// entity 141 +// entity 142 +// entity 143 +// entity 144 +// entity 145 +// entity 146 +// entity 147 +// entity 148 +// entity 149 +// entity 150 +// entity 151 +// entity 152 +// entity 153 +// entity 154 +// entity 155 +// entity 156 +// entity 157 +// entity 158 +// entity 159 +// entity 160 +// entity 161 +// entity 162 +// entity 163 +// entity 164 +// entity 165 +// entity 166 +// entity 167 +// entity 168 +// entity 169 +// entity 170 +// entity 171 +// entity 172 +// entity 173 +// entity 174 +// entity 175 +// entity 176 +// entity 177 +// entity 178 +// entity 179 +// entity 180 +// entity 181 +// entity 182 +// entity 183 +// entity 184 +// entity 185 +// entity 186 +// entity 187 +// entity 188 +// entity 189 +// entity 190 +// entity 191 +// entity 192 +// entity 193 +// entity 194 +// entity 195 +// entity 196 +// entity 197 +// entity 198 +// entity 199 +// entity 200 +// entity 201 +// entity 202 +// entity 203 +// entity 204 +// entity 205 +// entity 206 +// entity 207 +// entity 208 +// entity 209 +// entity 210 +// entity 211 +// entity 212 +// entity 213 +// entity 214 +// entity 215 +// entity 216 +// entity 217 +// entity 218 +// entity 219 +// entity 220 +// entity 221 +// entity 222 +// entity 223 +// entity 224 +// entity 225 +// entity 226 +// entity 227 +// entity 228 +// entity 229 +// entity 230 +// entity 231 +// entity 232 +// entity 233 +// entity 234 +// entity 235 +// entity 236 +// entity 237 +// entity 238 +// entity 239 +// entity 240 +// entity 241 +// entity 242 +// entity 243 +// entity 244 +// entity 245 +// entity 246 +// entity 247 +// entity 248 +// entity 249 +// entity 250 +// entity 251 +// entity 252 +// entity 253 +// entity 254 +// entity 255 +// entity 256 +// entity 257 +// entity 258 +// entity 259 +// entity 260 +// entity 261 +// entity 262 +// entity 263 +// entity 264 +// entity 265 +// entity 266 +// entity 267 +// entity 268 +// entity 269 +// entity 270 +// entity 271 +// entity 272 +// entity 273 +// entity 274 +// entity 275 +// entity 276 +// entity 277 +// entity 278 +// entity 279 +// entity 280 +// entity 281 +// entity 282 +// entity 283 +// entity 284 +// entity 285 +// entity 286 +// entity 287 +// entity 288 +// entity 289 +// entity 290 +// entity 291 +// entity 292 +// entity 293 +// entity 294 +// entity 295 +// entity 296 +// entity 297 +// entity 298 +// entity 299 +// entity 300 +// entity 301 +// entity 302 +// entity 303 +// entity 304 +// entity 305 +// entity 306 +// entity 307 +// entity 308 +// entity 309 +// entity 310 +// entity 311 +// entity 312 +// entity 313 +// entity 314 +// entity 315 +// entity 316 +// entity 317 +// entity 318 +// entity 319 +// entity 320 +// entity 321 +// entity 322 +// entity 323 +// entity 324 +// entity 325 +// entity 326 +// entity 327 +// entity 328 +// entity 329 +// entity 330 +// entity 331 +// entity 332 +// entity 333 +// entity 334 +// entity 335 +// entity 336 +// entity 337 +// entity 338 +// entity 339 +// entity 340 +// entity 341 +// entity 342 +// entity 343 +// entity 344 +// entity 345 +// entity 346 +// entity 347 +// entity 348 +// entity 349 +// entity 350 +// entity 351 +// entity 352 +// entity 353 +// entity 354 +// entity 355 +// entity 356 +// entity 357 +// entity 358 +// entity 359 +// entity 360 +// entity 361 +// entity 362 +// entity 363 +// entity 364 +// entity 365 +// entity 366 +// entity 367 +// entity 368 +// entity 369 +// entity 370 +// entity 371 +// entity 372 +// entity 373 +// entity 374 +// entity 375 +// entity 376 +// entity 377 +// entity 378 +// entity 379 +// entity 380 +// entity 381 +{ +"script_ammo_clip" "600" +"target" "auto37" +"zombie_cost" "1200" +"zombie_weapon_upgrade" "thompson" +"targetname" "weapon_upgrade" +"classname" "trigger_use" +// brush 0 +{ + ( 929.5 1010.5 53.5 ) ( 929 1008 53.5 ) ( 956.5 1007.5 53.5 ) trigger 64.052544 64.004189 -787.71967 4599.9512 -91.39476 -0.0004599379 lightmap_gray 16409.627 16386.844 -787.45068 4604.9399 -91.635483 -0.0052011912 + ( 956 1010 65.5 ) ( 956 1007.5 65.5 ) ( 928.5 1008 65.5 ) trigger 64.048706 64.001472 -787.5249 4599.1147 -91.364883 -0.00041247194 lightmap_gray 16401.002 16382.197 -787.64612 4596.5615 -91.262169 0.001 + ( 915 1010 56.5 ) ( 915 1010 64.5 ) ( 915 1007.5 64.5 ) trigger 64.030228 -64 -765.69214 -38.237915 180 0 lightmap_gray 16391.313 -16383.938 -765.78326 -38.222084 -180 0 + ( 928.5 1007.5 57.5 ) ( 928.5 1007.5 65.5 ) ( 956 1007.5 65.5 ) trigger 64 64 -4574.7285 38.33271 0 0.00012225306 lightmap_gray 16387.473 16384.016 -4575.8853 38.332016 0 0.00012225317 + ( 970 1007.5 58 ) ( 970 1007.5 66 ) ( 970 1010 66 ) trigger 64.009674 -64 -765.18256 -38.328979 180 0 lightmap_gray 16379.304 -16384 -765.32703 -38.328979 180 0 + ( 934.5 1008 65.5 ) ( 934.5 1008 57.5 ) ( 962 1008 57.5 ) trigger 64 64 -4574.6631 38.319695 0 -0.00024366693 lightmap_gray 16366.372 16384 -4568.7285 38.319695 0 0.00024524919 +} +} +// entity 382 +// entity 383 +// entity 384 +// entity 385 +// entity 386 +// entity 387 +// entity 388 +// entity 389 +// entity 390 +// entity 391 +// entity 392 +// entity 393 +// entity 394 +// entity 395 +// entity 396 +// entity 397 +// entity 398 +// entity 399 +// entity 400 +// entity 401 +{ +"targetname" "auto37" +"classname" "script_model" +"model" "weapon_usa_thompson_smg" +"angles" "0 180 0" +"origin" "935.5 1009.5 61.0" +} +// entity 402 +// entity 403 +// entity 404 +// entity 405 +// entity 406 +// entity 407 +// entity 408 +// entity 409 +// entity 410 +// entity 411 +// entity 412 +// entity 413 +// entity 414 +// entity 415 +// entity 416 +// entity 417 +// entity 418 +// entity 419 +// entity 420 +// entity 421 +// entity 422 +// entity 423 +// entity 424 +// entity 425 +// entity 426 +// entity 427 +// entity 428 +// entity 429 +// entity 430 +// entity 431 +// entity 432 +// entity 433 +// entity 434 +// entity 435 +// entity 436 +// entity 437 +// entity 438 +// entity 439 +// entity 440 +// entity 441 +// entity 442 +// entity 443 +// entity 444 +// entity 445 +// entity 446 +// entity 447 +// entity 448 +// entity 449 +// entity 450 +// entity 451 +// entity 452 +// entity 453 +// entity 454 +// entity 455 +// entity 456 +// entity 457 +// entity 458 +// entity 459 +// entity 460 +// entity 461 +// entity 462 +// entity 463 +// entity 464 +// entity 465 +// entity 466 +// entity 467 +// entity 468 +// entity 469 +// entity 470 +// entity 471 +// entity 472 +// entity 473 +// entity 474 +// entity 475 +// entity 476 +// entity 477 +// entity 478 +// entity 479 +// entity 480 +// entity 481 +// entity 482 +// entity 483 +// entity 484 +// entity 485 +// entity 486 +// entity 487 +// entity 488 +// entity 489 +// entity 490 +// entity 491 +// entity 492 +// entity 493 +// entity 494 +// entity 495 +// entity 496 +// entity 497 +// entity 498 +// entity 499 +// entity 500 +// entity 501 +// entity 502 +// entity 503 +// entity 504 +// entity 505 +// entity 506 +// entity 507 +// entity 508 +// entity 509 +// entity 510 +// entity 511 +// entity 512 +// entity 513 +// entity 514 +// entity 515 +// entity 516 +// entity 517 +// entity 518 +// entity 519 +// entity 520 +// entity 521 +// entity 522 +// entity 523 +// entity 524 +// entity 525 +// entity 526 +// entity 527 +// entity 528 +// entity 529 +// entity 530 +// entity 531 +// entity 532 +// entity 533 +// entity 534 +// entity 535 +// entity 536 +// entity 537 +// entity 538 +// entity 539 +// entity 540 +// entity 541 +// entity 542 +// entity 543 +// entity 544 +// entity 545 +// entity 546 +// entity 547 +// entity 548 +// entity 549 +// entity 550 +// entity 551 +// entity 552 +// entity 553 +// entity 554 +// entity 555 +// entity 556 +// entity 557 +// entity 558 +// entity 559 +// entity 560 +// entity 561 +// entity 562 +// entity 563 +// entity 564 +// entity 565 +// entity 566 +// entity 567 +// entity 568 +// entity 569 +// entity 570 +// entity 571 +// entity 572 +// entity 573 +// entity 574 +// entity 575 +// entity 576 +// entity 577 +// entity 578 +// entity 579 +// entity 580 +// entity 581 +// entity 582 +// entity 583 +// entity 584 +// entity 585 +// entity 586 +// entity 587 +// entity 588 +// entity 589 +// entity 590 +// entity 591 +// entity 592 +// entity 593 +// entity 594 +// entity 595 +// entity 596 +// entity 597 +// entity 598 +// entity 599 +// entity 600 +// entity 601 +// entity 602 +// entity 603 +// entity 604 +// entity 605 +// entity 606 +// entity 607 +// entity 608 +// entity 609 +// entity 610 +// entity 611 +// entity 612 +// entity 613 +// entity 614 +// entity 615 +// entity 616 +// entity 617 +// entity 618 +// entity 619 +// entity 620 +// entity 621 +// entity 622 +// entity 623 +// entity 624 +// entity 625 +// entity 626 +// entity 627 +// entity 628 +// entity 629 +// entity 630 +// entity 631 +// entity 632 +// entity 633 +// entity 634 +// entity 635 +// entity 636 +// entity 637 +// entity 638 +// entity 639 +// entity 640 +// entity 641 +// entity 642 +// entity 643 +// entity 644 +// entity 645 +// entity 646 +// entity 647 +// entity 648 +// entity 649 +// entity 650 +// entity 651 +// entity 652 +// entity 653 +// entity 654 +// entity 655 +// entity 656 +// entity 657 +// entity 658 +// entity 659 +// entity 660 +// entity 661 +// entity 662 +// entity 663 +// entity 664 +// entity 665 +// entity 666 +// entity 667 +// entity 668 +// entity 669 +// entity 670 +// entity 671 +// entity 672 +// entity 673 +// entity 674 +// entity 675 +// entity 676 +// entity 677 +// entity 678 +// entity 679 +// entity 680 +// entity 681 +// entity 682 +// entity 683 +// entity 684 +// entity 685 +// entity 686 +// entity 687 +// entity 688 +// entity 689 +// entity 690 +// entity 691 +// entity 692 +// entity 693 +// entity 694 +// entity 695 +// entity 696 +// entity 697 +// entity 698 +// entity 699 +// entity 700 +// entity 701 +// entity 702 +// entity 703 +// entity 704 +// entity 705 +// entity 706 +// entity 707 +// entity 708 +// entity 709 +// entity 710 +// entity 711 +// entity 712 +// entity 713 +// entity 714 +// entity 715 +// entity 716 +// entity 717 +// entity 718 +// entity 719 +// entity 720 +// entity 721 +// entity 722 +// entity 723 +// entity 724 +// entity 725 +// entity 726 +// entity 727 +// entity 728 +// entity 729 +// entity 730 +// entity 731 +// entity 732 +// entity 733 +// entity 734 +// entity 735 +// entity 736 +// entity 737 +// entity 738 +// entity 739 +// entity 740 +// entity 741 +// entity 742 +// entity 743 +// entity 744 +// entity 745 +// entity 746 +// entity 747 +// entity 748 +// entity 749 +// entity 750 +// entity 751 +// entity 752 +// entity 753 +// entity 754 +// entity 755 +// entity 756 +// entity 757 +// entity 758 +// entity 759 +// entity 760 +// entity 761 +// entity 762 +// entity 763 +// entity 764 +// entity 765 +// entity 766 +// entity 767 +// entity 768 +// entity 769 +// entity 770 +// entity 771 +// entity 772 +// entity 773 +// entity 774 +// entity 775 +// entity 776 +// entity 777 +// entity 778 +// entity 779 +// entity 780 +// entity 781 +// entity 782 +// entity 783 +// entity 784 +// entity 785 +// entity 786 +// entity 787 +// entity 788 +// entity 789 +// entity 790 +// entity 791 +// entity 792 +// entity 793 +// entity 794 +// entity 795 +// entity 796 +// entity 797 +// entity 798 +// entity 799 +// entity 800 +// entity 801 +// entity 802 +// entity 803 +// entity 804 +// entity 805 +// entity 806 +// entity 807 +// entity 808 +// entity 809 +// entity 810 +// entity 811 +// entity 812 +// entity 813 +// entity 814 +// entity 815 +// entity 816 +// entity 817 +// entity 818 +// entity 819 +// entity 820 +// entity 821 +// entity 822 +// entity 823 +// entity 824 +// entity 825 +// entity 826 +// entity 827 +// entity 828 +// entity 829 +// entity 830 +// entity 831 +// entity 832 +// entity 833 +// entity 834 +// entity 835 +// entity 836 +// entity 837 +// entity 838 +// entity 839 +// entity 840 +// entity 841 +// entity 842 +// entity 843 +// entity 844 +// entity 845 +// entity 846 +// entity 847 +// entity 848 +// entity 849 +// entity 850 +// entity 851 +// entity 852 +// entity 853 +// entity 854 +// entity 855 +// entity 856 +// entity 857 +// entity 858 +// entity 859 +// entity 860 +// entity 861 +// entity 862 +// entity 863 +// entity 864 +// entity 865 +// entity 866 +// entity 867 +// entity 868 +// entity 869 +// entity 870 +// entity 871 +// entity 872 +// entity 873 +// entity 874 +// entity 875 +// entity 876 +// entity 877 +// entity 878 +// entity 879 +// entity 880 +// entity 881 +// entity 882 +// entity 883 +// entity 884 +// entity 885 +// entity 886 +// entity 887 +// entity 888 +// entity 889 +// entity 890 +// entity 891 +// entity 892 +// entity 893 +// entity 894 +// entity 895 +// entity 896 +// entity 897 +// entity 898 +// entity 899 +// entity 900 +// entity 901 +// entity 902 +// entity 903 +// entity 904 +// entity 905 +// entity 906 +// entity 907 +// entity 908 +// entity 909 +// entity 910 +// entity 911 +// entity 912 +// entity 913 +// entity 914 +// entity 915 +// entity 916 +// entity 917 +// entity 918 +// entity 919 +// entity 920 +// entity 921 +// entity 922 +// entity 923 +// entity 924 +// entity 925 +// entity 926 +// entity 927 +// entity 928 +// entity 929 +// entity 930 +// entity 931 +// entity 932 +// entity 933 +// entity 934 +// entity 935 +// entity 936 +// entity 937 +// entity 938 +// entity 939 +// entity 940 +// entity 941 +// entity 942 +// entity 943 +// entity 944 +// entity 945 +// entity 946 +// entity 947 +// entity 948 +// entity 949 +// entity 950 +// entity 951 +// entity 952 +// entity 953 +// entity 954 +// entity 955 +// entity 956 +// entity 957 +// entity 958 +// entity 959 +// entity 960 +// entity 961 +// entity 962 +// entity 963 +// entity 964 +// entity 965 +// entity 966 +// entity 967 +// entity 968 +// entity 969 +// entity 970 +// entity 971 +// entity 972 +// entity 973 +// entity 974 +// entity 975 +// entity 976 +// entity 977 +// entity 978 +// entity 979 +// entity 980 +// entity 981 +// entity 982 +// entity 983 +// entity 984 +// entity 985 +// entity 986 +// entity 987 +// entity 988 +// entity 989 +// entity 990 +// entity 991 +// entity 992 +// entity 993 +// entity 994 +// entity 995 +// entity 996 +// entity 997 +// entity 998 +// entity 999 +// entity 1000 +// entity 1001 +// entity 1002 +// entity 1003 +// entity 1004 +// entity 1005 +// entity 1006 +// entity 1007 +// entity 1008 +// entity 1009 +// entity 1010 +// entity 1011 +// entity 1012 +// entity 1013 +// entity 1014 +// entity 1015 +// entity 1016 +// entity 1017 +// entity 1018 +// entity 1019 +// entity 1020 +// entity 1021 +// entity 1022 +// entity 1023 +// entity 1024 +// entity 1025 +// entity 1026 +// entity 1027 +// entity 1028 +// entity 1029 +// entity 1030 +// entity 1031 +// entity 1032 +// entity 1033 +// entity 1034 +// entity 1035 +// entity 1036 +// entity 1037 +// entity 1038 +// entity 1039 +// entity 1040 +// entity 1041 +// entity 1042 +// entity 1043 +// entity 1044 +// entity 1045 +// entity 1046 +// entity 1047 +// entity 1048 +// entity 1049 +// entity 1050 +// entity 1051 +// entity 1052 +// entity 1053 +// entity 1054 +// entity 1055 +// entity 1056 +// entity 1057 +// entity 1058 +// entity 1059 +// entity 1060 +// entity 1061 +// entity 1062 +// entity 1063 +// entity 1064 +// entity 1065 +// entity 1066 +// entity 1067 +// entity 1068 +// entity 1069 +// entity 1070 +// entity 1071 +// entity 1072 +// entity 1073 +// entity 1074 +// entity 1075 +// entity 1076 +// entity 1077 +// entity 1078 +// entity 1079 +// entity 1080 +// entity 1081 +// entity 1082 +// entity 1083 +// entity 1084 +// entity 1085 +// entity 1086 +// entity 1087 +// entity 1088 +// entity 1089 +// entity 1090 +// entity 1091 +// entity 1092 +// entity 1093 +// entity 1094 +// entity 1095 +// entity 1096 +// entity 1097 +// entity 1098 +// entity 1099 +// entity 1100 +// entity 1101 +// entity 1102 +// entity 1103 +// entity 1104 +// entity 1105 +// entity 1106 +// entity 1107 +// entity 1108 +// entity 1109 +// entity 1110 +// entity 1111 +// entity 1112 +// entity 1113 +// entity 1114 +// entity 1115 +// entity 1116 +// entity 1117 +// entity 1118 +// entity 1119 +// entity 1120 +// entity 1121 +// entity 1122 +// entity 1123 +// entity 1124 +// entity 1125 +// entity 1126 +// entity 1127 +// entity 1128 +// entity 1129 +// entity 1130 +// entity 1131 +// entity 1132 +// entity 1133 +// entity 1134 +// entity 1135 +// entity 1136 +// entity 1137 +// entity 1138 +// entity 1139 +// entity 1140 +// entity 1141 +// entity 1142 +// entity 1143 +// entity 1144 +// entity 1145 +// entity 1146 +// entity 1147 +// entity 1148 +// entity 1149 +// entity 1150 +// entity 1151 +// entity 1152 +// entity 1153 +// entity 1154 +// entity 1155 +// entity 1156 +// entity 1157 +// entity 1158 +// entity 1159 +// entity 1160 +// entity 1161 +// entity 1162 +// entity 1163 +// entity 1164 +// entity 1165 +// entity 1166 +// entity 1167 +// entity 1168 +// entity 1169 +// entity 1170 +// entity 1171 +// entity 1172 +// entity 1173 +// entity 1174 +// entity 1175 +// entity 1176 +// entity 1177 +// entity 1178 +// entity 1179 +// entity 1180 +// entity 1181 +// entity 1182 +// entity 1183 +// entity 1184 +// entity 1185 +// entity 1186 +// entity 1187 +// entity 1188 +// entity 1189 +// entity 1190 +// entity 1191 +// entity 1192 +// entity 1193 +// entity 1194 +// entity 1195 +// entity 1196 +// entity 1197 +// entity 1198 +// entity 1199 +// entity 1200 +// entity 1201 +// entity 1202 +// entity 1203 +// entity 1204 +// entity 1205 +// entity 1206 +// entity 1207 +// entity 1208 +// entity 1209 +// entity 1210 +// entity 1211 +// entity 1212 +// entity 1213 +// entity 1214 +// entity 1215 +// entity 1216 +// entity 1217 +// entity 1218 +// entity 1219 +// entity 1220 +// entity 1221 +// entity 1222 +// entity 1223 +// entity 1224 +// entity 1225 +// entity 1226 +// entity 1227 +// entity 1228 +// entity 1229 +// entity 1230 +// entity 1231 +// entity 1232 +// entity 1233 +// entity 1234 +// entity 1235 +// entity 1236 +// entity 1237 +// entity 1238 +// entity 1239 +// entity 1240 +// entity 1241 +// entity 1242 +// entity 1243 +// entity 1244 +// entity 1245 +// entity 1246 +// entity 1247 +// entity 1248 +// entity 1249 +// entity 1250 +// entity 1251 +// entity 1252 +// entity 1253 +// entity 1254 +// entity 1255 +// entity 1256 diff --git a/mods/mp_usermaps/maps/mp/gametypes/_globallogic.gsc b/mods/mp_usermaps/maps/mp/gametypes/_globallogic.gsc index c0cd6334e..2428a1aca 100644 --- a/mods/mp_usermaps/maps/mp/gametypes/_globallogic.gsc +++ b/mods/mp_usermaps/maps/mp/gametypes/_globallogic.gsc @@ -1,7598 +1 @@ -#include maps\mp\_utility; -#include maps\mp\gametypes\_hud_util; -#include maps\mp\_burnplayer; -#include maps\mp\_laststand; -#include maps\mp\_music; -#include maps\mp\_busing; - -#include common_scripts\utility; - -init() -{ - - // hack to allow maps with no scripts to run correctly - if ( !isDefined( level.tweakablesInitialized ) ) - maps\mp\gametypes\_tweakables::init(); - - if ( getDvar( "scr_player_sprinttime" ) == "" ) - setDvar( "scr_player_sprinttime", getDvar( "player_sprintTime" ) ); - - level.splitscreen = isSplitScreen(); - level.xenon = (getdvar("xenonGame") == "true"); - level.ps3 = (getdvar("ps3Game") == "true"); - level.onlineGame = getDvarInt( "onlinegame" ); - level.console = (level.xenon || level.ps3); - - level.rankedMatch = ( level.onlineGame && !getDvarInt( "xblive_privatematch" ) ); - /# - if ( getdvarint( "scr_forcerankedmatch" ) == 1 ) - level.rankedMatch = true; - #/ - - level.script = toLower( getDvar( "mapname" ) ); - level.gametype = toLower( getDvar( "g_gametype" ) ); - - level.otherTeam["allies"] = "axis"; - level.otherTeam["axis"] = "allies"; - - level.teamBased = false; - - level.overrideTeamScore = false; - level.overridePlayerScore = false; - level.displayHalftimeText = false; - level.displayRoundEndText = true; - - level.endGameOnScoreLimit = true; - level.endGameOnTimeLimit = true; - level.scoreLimitIsPerRound = false; - - level.gameForfeited= false; - - precacheString( &"MP_HALFTIME" ); - precacheString( &"MP_OVERTIME" ); - precacheString( &"MP_ROUNDEND" ); - precacheString( &"MP_INTERMISSION" ); - precacheString( &"MP_SWITCHING_SIDES" ); - precacheString( &"MP_FRIENDLY_FIRE_WILL_NOT" ); - - if ( level.splitScreen ) - precacheString( &"MP_ENDED_GAME" ); - else - precacheString( &"MP_HOST_ENDED_GAME" ); - - level.halftimeType = "halftime"; - level.halftimeSubCaption = &"MP_SWITCHING_SIDES"; - - level.lastStatusTime = 0; - level.wasWinning = "none"; - - level.lastSlowProcessFrame = 0; - - level.placement["allies"] = []; - level.placement["axis"] = []; - level.placement["all"] = []; - - level.postRoundTime = 7.0;//Kevin Sherwood changed to 9 to have enough time for music stingers - - level.inOvertime = false; - - level.dropTeam = getdvarint( "sv_maxclients" ); - - registerDvars(); - maps\mp\gametypes\_class::initPerkDvars(); - - level.oldschool = ( getDvarInt( "scr_oldschool" ) == 1 ); - if ( level.oldschool ) - { - logString( "game mode: oldschool" ); - - setDvar( "jump_height", 64 ); - setDvar( "jump_slowdownEnable", 0 ); - setDvar( "bg_fallDamageMinHeight", 256 ); - setDvar( "bg_fallDamageMaxHeight", 512 ); - setDvar( "player_sprintUnlimited", 1 ); - setDvar( "player_clipSizeMultiplier", 2.0 ); - } - -// precacheModel( "vehicle_jap_airplane_zero_fly_player" ); - precacheModel( "aircraft_bomb" ); - precacheModel( "tag_origin" ); - - precacheShader( "faction_128_american" ); - precacheShader( "faction_128_german" ); - precacheShader( "faction_128_japan" ); - precacheShader( "faction_128_soviet" ); - -// level.fx_airstrike_afterburner = loadfx ("fire/jet_afterburner"); -// level.fx_airstrike_contrail = loadfx ("smoke/jet_contrail"); - - // sets up the flame fx - maps\mp\_burnplayer::initBurnPlayer(); - - // set up last stand - - maps\mp\_laststand::initLastStand(); - - - if ( !isDefined( game["tiebreaker"] ) ) - game["tiebreaker"] = false; -} - -registerDvars() -{ - if ( getdvar( "scr_oldschool" ) == "" ) - setdvar( "scr_oldschool", "0" ); - - makeDvarServerInfo( "scr_oldschool" ); - - setDvar( "ui_bomb_timer", 0 ); - makeDvarServerInfo( "ui_bomb_timer" ); - - if( !level.console ) - { - if ( getDvar( "scr_show_unlock_wait" ) == "" ) - setDvar( "scr_show_unlock_wait", 0.1 ); - - if ( getDvar( "scr_intermission_time" ) == "" ) - setDvar( "scr_intermission_time", 30.0 ); - } - - level.fire_audio_repeat_duration = getDvarInt( "fire_audio_repeat_duration" ); - level.fire_audio_random_max_duration = getDvarInt( "fire_audio_random_max_duration" ); -} - -SetupCallbacks() -{ - level.spawnPlayer = ::spawnPlayer; - level.spawnClient = ::spawnClient; - level.spawnSpectator = ::spawnSpectator; - level.spawnIntermission = ::spawnIntermission; - level.onPlayerScore = ::default_onPlayerScore; - level.onTeamScore = ::default_onTeamScore; - - level.onXPEvent = ::onXPEvent; - level.waveSpawnTimer = ::waveSpawnTimer; - - level.onSpawnPlayer = ::blank; - level.onSpawnPlayerUnified = ::blank; - level.onSpawnSpectator = ::default_onSpawnSpectator; - level.onSpawnIntermission = ::default_onSpawnIntermission; - level.onRespawnDelay = ::blank; - - level.onForfeit = ::default_onForfeit; - level.onTimeLimit = ::default_onTimeLimit; - level.onScoreLimit = ::default_onScoreLimit; - level.onDeadEvent = ::default_onDeadEvent; - level.onOneLeftEvent = ::default_onOneLeftEvent; - level.giveTeamScore = ::giveTeamScore; - level.givePlayerScore = ::givePlayerScore; - - level.getTimeLimitDvarValue = ::default_getTimeLimitDvarValue; - - level._setTeamScore = ::_setTeamScore; - level._setPlayerScore = ::_setPlayerScore; - - level._getTeamScore = ::_getTeamScore; - level._getPlayerScore = ::_getPlayerScore; - - level.onPrecacheGametype = ::blank; - level.onStartGameType = ::blank; - level.onPlayerConnect = ::blank; - level.onPlayerDisconnect = ::blank; - level.onPlayerDamage = ::blank; - level.onPlayerKilled = ::blank; - level.onPlayerKilledExtraUnthreadedCBs = []; ///< Array of other CB function pointers - - level.onTeamOutcomeNotify = maps\mp\gametypes\_hud_message::teamOutcomeNotify; - level.onOutcomeNotify = maps\mp\gametypes\_hud_message::outcomeNotify; - level.onEndGame = ::blank; - level.onRoundEndGame = ::default_onRoundEndGame; - - level.autoassign = ::menuAutoAssign; - level.spectator = ::menuSpectator; - level.class = ::menuClass; - level.allies = ::menuAllies; - level.axis = ::menuAxis; - - level.leaveSquad = ::menuLeaveSquad; - level.createSquad = ::menuCreateSquad; - level.lockSquad = ::menuLockSquad; - level.unlockSquad = ::menuUnlockSquad; - level.joinSquad = ::menuJoinSquad; - level.showSquadInfo = ::menuShowSquadInfo; -} - - -// to be used with things that are slow. -// unfortunately, it can only be used with things that aren't time critical. -WaitTillSlowProcessAllowed() -{ - while ( level.lastSlowProcessFrame == gettime() ) - wait .05; - - level.lastSlowProcessFrame = gettime(); -} - - -blank( arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10 ) -{ -} - -// when a team leaves completely, that team forfeited, team left wins round, ends game -default_onForfeit( team ) -{ - level.gameForfeited= true; - - level notify ( "forfeit in progress" ); //ends all other forfeit threads attempting to run - level endon( "forfeit in progress" ); //end if another forfeit thread is running - level endon( "abort forfeit" ); //end if the team is no longer in forfeit status - - forfeit_delay = 20.0; //forfeit wait, for switching teams and such - - announcement( game["strings"]["opponent_forfeiting_in"], forfeit_delay ); - wait (10.0); - announcement( game["strings"]["opponent_forfeiting_in"], 10.0 ); - wait (10.0); - - endReason = &""; - if ( !isDefined( team ) ) - { - setDvar( "ui_text_endreason", game["strings"]["players_forfeited"] ); - endReason = game["strings"]["players_forfeited"]; - winner = level.players[0]; - } - else if ( team == "allies" ) - { - setDvar( "ui_text_endreason", game["strings"]["allies_forfeited"] ); - endReason = game["strings"]["allies_forfeited"]; - winner = "axis"; - } - else if ( team == "axis" ) - { - setDvar( "ui_text_endreason", game["strings"]["axis_forfeited"] ); - endReason = game["strings"]["axis_forfeited"]; - winner = "allies"; - } - else - { - //shouldn't get here - assertEx( isdefined( team ), "Forfeited team is not defined" ); - assertEx( 0, "Forfeited team " + team + " is not allies or axis" ); - winner = "tie"; - } - //exit game, last round, no matter if round limit reached or not - level.forcedEnd = true; - - if ( isPlayer( winner ) ) - logString( "forfeit, win: " + winner getXuid() + "(" + winner.name + ")" ); - else - logString( "forfeit, win: " + winner + ", allies: " + game["teamScores"]["allies"] + ", axis: " + game["teamScores"]["axis"] ); - thread endGame( winner, endReason ); -} - - -default_onDeadEvent( team ) -{ - if ( team == "allies" ) - { - iPrintLn( game["strings"]["allies_eliminated"] ); - makeDvarServerInfo( "ui_text_endreason", game["strings"]["allies_eliminated"] ); - setDvar( "ui_text_endreason", game["strings"]["allies_eliminated"] ); - - logString( "team eliminated, win: axis, allies: " + game["teamScores"]["allies"] + ", axis: " + game["teamScores"]["axis"] ); - - thread endGame( "axis", game["strings"]["allies_eliminated"] ); - } - else if ( team == "axis" ) - { - iPrintLn( game["strings"]["axis_eliminated"] ); - makeDvarServerInfo( "ui_text_endreason", game["strings"]["axis_eliminated"] ); - setDvar( "ui_text_endreason", game["strings"]["axis_eliminated"] ); - - logString( "team eliminated, win: allies, allies: " + game["teamScores"]["allies"] + ", axis: " + game["teamScores"]["axis"] ); - - thread endGame( "allies", game["strings"]["axis_eliminated"] ); - } - else - { - makeDvarServerInfo( "ui_text_endreason", game["strings"]["tie"] ); - setDvar( "ui_text_endreason", game["strings"]["tie"] ); - - logString( "tie, allies: " + game["teamScores"]["allies"] + ", axis: " + game["teamScores"]["axis"] ); - - if ( level.teamBased ) - thread endGame( "tie", game["strings"]["tie"] ); - else - thread endGame( undefined, game["strings"]["tie"] ); - } -} - -default_onRoundEndGame( winner ) -{ - return winner; -} - -default_onOneLeftEvent( team ) -{ - if ( !level.teamBased ) - { - winner = getHighestScoringPlayer(); - - if ( isDefined( winner ) ) - logString( "last one alive, win: " + winner.name ); - else - logString( "last one alive, win: unknown" ); - - thread endGame( winner, &"MP_ENEMIES_ELIMINATED" ); - } - else - { - for ( index = 0; index < level.players.size; index++ ) - { - player = level.players[index]; - - if ( !isAlive( player ) ) - continue; - - if ( !isDefined( player.pers["team"] ) || player.pers["team"] != team ) - continue; - - player maps\mp\gametypes\_globallogic::leaderDialogOnPlayer( "last_alive" ); - } - } -} - - -default_onTimeLimit() -{ - winner = undefined; - - if ( level.teamBased ) - { - if ( game["teamScores"]["allies"] == game["teamScores"]["axis"] ) - winner = "tie"; - else if ( game["teamScores"]["axis"] > game["teamScores"]["allies"] ) - winner = "axis"; - else - winner = "allies"; - - logString( "time limit, win: " + winner + ", allies: " + game["teamScores"]["allies"] + ", axis: " + game["teamScores"]["axis"] ); - } - else - { - winner = getHighestScoringPlayer(); - - if ( isDefined( winner ) ) - logString( "time limit, win: " + winner.name ); - else - logString( "time limit, tie" ); - } - - // i think these two lines are obsolete - makeDvarServerInfo( "ui_text_endreason", game["strings"]["time_limit_reached"] ); - setDvar( "ui_text_endreason", game["strings"]["time_limit_reached"] ); - - thread endGame( winner, game["strings"]["time_limit_reached"] ); -} - - -forceEnd(hostsucks) -{ - if (!isDefined(hostsucks)) - hostsucks = false; - - if ( level.hostForcedEnd || level.forcedEnd ) - return; - - winner = undefined; - - if ( level.teamBased ) - { - if ( game["teamScores"]["allies"] == game["teamScores"]["axis"] ) - winner = "tie"; - else if ( game["teamScores"]["axis"] > game["teamScores"]["allies"] ) - winner = "axis"; - else - winner = "allies"; - logString( "host ended game, win: " + winner + ", allies: " + game["teamScores"]["allies"] + ", axis: " + game["teamScores"]["axis"] ); - } - else - { - winner = getHighestScoringPlayer(); - if ( isDefined( winner ) ) - logString( "host ended game, win: " + winner.name ); - else - logString( "host ended game, tie" ); - } - - level.forcedEnd = true; - level.hostForcedEnd = true; - - if (hostsucks) - { - endString = &"MP_HOST_SUCKS"; - } - else - { - if ( level.splitscreen ) - endString = &"MP_ENDED_GAME"; - else - endString = &"MP_HOST_ENDED_GAME"; - } - - makeDvarServerInfo( "ui_text_endreason", endString ); - setDvar( "ui_text_endreason", endString ); - thread endGame( winner, endString ); -} - - -default_onScoreLimit() -{ - if ( !level.endGameOnScoreLimit ) - return; - - winner = undefined; - - if ( level.teamBased ) - { - if ( game["teamScores"]["allies"] == game["teamScores"]["axis"] ) - winner = "tie"; - else if ( game["teamScores"]["axis"] > game["teamScores"]["allies"] ) - winner = "axis"; - else - winner = "allies"; - logString( "scorelimit, win: " + winner + ", allies: " + game["teamScores"]["allies"] + ", axis: " + game["teamScores"]["axis"] ); - } - else - { - winner = getHighestScoringPlayer(); - if ( isDefined( winner ) ) - logString( "scorelimit, win: " + winner.name ); - else - logString( "scorelimit, tie" ); - } - - makeDvarServerInfo( "ui_text_endreason", game["strings"]["score_limit_reached"] ); - setDvar( "ui_text_endreason", game["strings"]["score_limit_reached"] ); - - if ( !level.scoreLimitIsPerRound ) - { - level.forcedEnd = true; // no more rounds if scorelimit is hit - } - thread endGame( winner, game["strings"]["score_limit_reached"] ); -} - - -updateGameEvents() -{ - if ( level.rankedMatch && !level.inGracePeriod ) - { - if ( level.teamBased ) - { - if (!level.gameForfeited) - { - // if allies disconnected, and axis still connected, axis wins round and game ends to lobby - if ( (level.everExisted["allies"] || level.console) && level.playerCount["allies"] < 1 && level.playerCount["axis"] > 0 && game["state"] == "playing" ) - { - //allies forfeited - thread [[level.onForfeit]]( "allies" ); - return; - } - - // if axis disconnected, and allies still connected, allies wins round and game ends to lobby - if ( (level.everExisted["axis"] || level.console) && level.playerCount["axis"] < 1 && level.playerCount["allies"] > 0 && game["state"] == "playing" ) - { - //axis forfeited - thread [[level.onForfeit]]( "axis" ); - return; - } - } - else // level.gameForfeited==true - { - if ( level.playerCount["axis"] > 0 && level.playerCount["allies"] > 0 ) - { - level.gameForfeited= false; - level notify( "abort forfeit" ); - } - } - } - else - { - if (!level.gameForfeited) - { - if ( level.playerCount["allies"] + level.playerCount["axis"] == 1 && level.maxPlayerCount > 1 ) - { - thread [[level.onForfeit]](); - return; - } - } - else // level.gameForfeited==true - { - if ( level.playerCount["axis"] + level.playerCount["allies"] > 1 ) - { - level.gameForfeited= false; - level notify( "abort forfeit" ); - } - } - } - } - - if ( !level.numLives && !level.inOverTime ) - return; - - if ( level.inGracePeriod ) - return; - - if ( level.teamBased ) - { - // if both allies and axis were alive and now they are both dead in the same instance - if ( level.everExisted["allies"] && !level.aliveCount["allies"] && level.everExisted["axis"] && !level.aliveCount["axis"] && !level.playerLives["allies"] && !level.playerLives["axis"] ) - { - [[level.onDeadEvent]]( "all" ); - return; - } - - // if allies were alive and now they are not - if ( level.everExisted["allies"] && !level.aliveCount["allies"] && !level.playerLives["allies"] ) - { - [[level.onDeadEvent]]( "allies" ); - return; - } - - // if axis were alive and now they are not - if ( level.everExisted["axis"] && !level.aliveCount["axis"] && !level.playerLives["axis"] ) - { - [[level.onDeadEvent]]( "axis" ); - return; - } - - // one ally left - if ( level.lastAliveCount["allies"] > 1 && level.aliveCount["allies"] == 1 && level.playerLives["allies"] == 1 ) - { - [[level.onOneLeftEvent]]( "allies" ); - return; - } - - // one axis left - if ( level.lastAliveCount["axis"] > 1 && level.aliveCount["axis"] == 1 && level.playerLives["axis"] == 1 ) - { - [[level.onOneLeftEvent]]( "axis" ); - return; - } - } - else - { - // everyone is dead - if ( (!level.aliveCount["allies"] && !level.aliveCount["axis"]) && (!level.playerLives["allies"] && !level.playerLives["axis"]) && level.maxPlayerCount > 1 ) - { - [[level.onDeadEvent]]( "all" ); - return; - } - - // last man standing - if ( (level.aliveCount["allies"] + level.aliveCount["axis"] == 1) && (level.playerLives["allies"] + level.playerLives["axis"] == 1) && level.maxPlayerCount > 1 ) - { - [[level.onOneLeftEvent]]( "all" ); - return; - } - } -} - - -matchStartTimer() -{ - visionSetNaked( "mpIntro", 0 ); - - matchStartText = createServerFontString( "objective", 1.5 ); - matchStartText setPoint( "CENTER", "CENTER", 0, -40 ); - matchStartText.sort = 1001; - matchStartText setText( game["strings"]["waiting_for_teams"] ); - matchStartText.foreground = false; - matchStartText.hidewheninmenu = true; - - waitForPlayers(); - matchStartText setText( game["strings"]["match_starting_in"] ); - - matchStartTimer = createServerFontString( "objective", 2.2 ); - matchStartTimer setPoint( "CENTER", "CENTER", 0, 0 ); - matchStartTimer.sort = 1001; - matchStartTimer.color = (1,1,0); - matchStartTimer.foreground = false; - matchStartTimer.hidewheninmenu = true; - - matchStartTimer maps\mp\gametypes\_hud::fontPulseInit(); - - countTime = int( level.prematchPeriod ); - - if ( countTime >= 2 ) - { - while ( countTime > 0 && !level.gameEnded ) - { - matchStartTimer setValue( countTime ); - matchStartTimer thread maps\mp\gametypes\_hud::fontPulse( level ); - if ( countTime == 2 ) - visionSetNaked( getDvar( "mapname" ), 3.0 ); - countTime--; - wait ( 1.0 ); - } - } - else - { - visionSetNaked( getDvar( "mapname" ), 1.0 ); - } - - matchStartTimer destroyElem(); - matchStartText destroyElem(); -} - -matchStartTimerSkip() -{ - visionSetNaked( getDvar( "mapname" ), 0 ); -} - - -spawnPlayer() -{ - prof_begin( "spawnPlayer_preUTS" ); - - self endon("disconnect"); - self endon("joined_spectators"); - self notify("spawned"); - self notify("end_respawn"); - - self setSpawnVariables(); - - if ( level.teamBased ) - self.sessionteam = self.team; - else - self.sessionteam = "none"; - - hadSpawned = self.hasSpawned; - - self.sessionstate = "playing"; - self.spectatorclient = -1; - self.killcamentity = -1; - self.archivetime = 0; - self.psoffsettime = 0; - self.statusicon = ""; - if ( getDvarInt( "scr_csmode" ) > 0 ) - self.maxhealth = getDvarInt( "scr_csmode" ); - else - self.maxhealth = maps\mp\gametypes\_tweakables::getTweakableValue( "player", "maxhealth" ); - self.health = self.maxhealth; - self.friendlydamage = undefined; - self.hasSpawned = true; - self.spawnTime = getTime(); - self.afk = false; - if ( self.pers["lives"] ) - self.pers["lives"]--; - self.lastStand = undefined; - self.revivingTeammate = false; - self.burning = undefined; - - self.diedOnVehicle= undefined; - - if ( !self.wasAliveAtMatchStart ) - { - if ( level.inGracePeriod || getTimePassed() < 20 * 1000 ) - self.wasAliveAtMatchStart = true; - } - - //self clearPerks(); - - self setClientDvar( "cg_thirdPerson", "0" ); - self setClientDvar( "killcam_title", "@MP_KILLCAM" ); - self setDepthOfField( 0, 0, 512, 512, 4, 0 ); - - - { - if ( IsDefined( level.onSpawnPlayerUnified ) - && GetDvarInt( "scr_disableunifiedspawning" ) == 0 ) - { - self [[level.onSpawnPlayerUnified]](); - } - else - { - self [[level.onSpawnPlayer]](); - } - - if ( IsDefined( level.playerSpawnedCB ) ) - { - self [[level.playerSpawnedCB]](); - } - } - - - self maps\mp\gametypes\_missions::playerSpawned(); - - - prof_end( "spawnPlayer_preUTS" ); - - level thread updateTeamStatus(); - - prof_begin( "spawnPlayer_postUTS" ); - - self thread stopPoisoningAndFlareOnSpawn(); - - self StopBurning(); - - if ( level.oldschool ) - { - assert( !isDefined( self.class ) ); - self maps\mp\gametypes\_oldschool::giveLoadout(); - self maps\mp\gametypes\_class::setClass( level.defaultClass ); - } - else - { - assert( isValidClass( self.class ) ); - - self maps\mp\gametypes\_class::setClass( self.class ); - self maps\mp\gametypes\_class::giveLoadout( self.team, self.class ); - } - - if ( level.inPrematchPeriod ) - { - self freezeControls( true ); - //self disableWeapons(); - - self setClientDvar( "scr_objectiveText", getObjectiveHintText( self.pers["team"] ) ); - - team = self.pers["team"]; - - music = game["music"]["spawn_" + team]; - if ( level.splitscreen ) - { - if ( isDefined( level.playedStartingMusic ) ) - music = undefined; - else - level.playedStartingMusic = true; - } - - thread maps\mp\gametypes\_hud_message::oldNotifyMessage( game["strings"][team + "_name"], undefined, game["icons"][team], game["colors"][team], music ); - if ( isDefined( game["dialog"]["gametype"] ) && (!level.splitscreen || self == level.players[0]) ) - { - if( !isDefined( level.inFinalFight ) || !level.inFinalFight ) - self leaderDialogOnPlayer( "gametype" ); - } - - thread maps\mp\gametypes\_hud::showClientScoreBar( 5.0 ); - } - else - { - self freezeControls( false ); - self enableWeapons(); - if ( !hadSpawned && game["state"] == "playing" ) - { - team = self.team; - - music = game["music"]["spawn_" + team]; - if ( level.splitscreen ) - { - if ( isDefined( level.playedStartingMusic ) ) - music = undefined; - else - level.playedStartingMusic = true; - } - - thread maps\mp\gametypes\_hud_message::oldNotifyMessage( game["strings"][team + "_name"], undefined, game["icons"][team], game["colors"][team], music ); - if ( isDefined( game["dialog"]["gametype"] ) && (!level.splitscreen || self == level.players[0]) ) - { - if( !isDefined( level.inFinalFight ) || !level.inFinalFight ) - { - self leaderDialogOnPlayer( "gametype" ); - if ( team == game["attackers"] ) - self leaderDialogOnPlayer( "offense_obj", "introboost" ); - else - self leaderDialogOnPlayer( "defense_obj", "introboost" ); - } - } - - self setClientDvar( "scr_objectiveText", getObjectiveHintText( self.pers["team"] ) ); - thread maps\mp\gametypes\_hud::showClientScoreBar( 5.0 ); - } - } - - if ( getdvar( "scr_showperksonspawn" ) == "" ) - setdvar( "scr_showperksonspawn", "1" ); - - if ( !level.splitscreen && getdvarint( "scr_showperksonspawn" ) == 1 && game["state"] != "postgame" ) - { - perks = getPerks( self ); - self showPerk( 0, perks[0], -50 ); - self showPerk( 1, perks[1], -50 ); - self showPerk( 2, perks[2], -50 ); - self showPerk( 3, perks[3], -50 ); - - self thread hidePerksAfterTime( 3.0 ); - self thread hidePerksOnDeath(); - } - - prof_end( "spawnPlayer_postUTS" ); - - waittillframeend; - self notify( "spawned_player" ); - - self logstring( "S " + self.origin[0] + " " + self.origin[1] + " " + self.origin[2] ); - - setdvar( "scr_selecting_location", "" ); - self thread maps\mp\gametypes\_hardpoints::hardpointItemWaiter(); - self thread maps\mp\gametypes\_hardpoints::artilleryWaiter(); - - self thread maps\mp\_vehicles::vehicleDeathWaiter(); - self thread maps\mp\_vehicles::turretDeathWaiter(); - - /# - if ( getDvarInt( "scr_xprate" ) > 0 ) - self thread xpRateThread(); - #/ - - //self thread testHPs(); - //self thread testShock(); - //self thread testMenu(); - - if ( game["state"] == "postgame" ) - { - assert( !level.intermission ); - // We're in the victory screen, but before intermission - self freezePlayerForRoundEnd(); - } -} - -/# -xpRateThread() -{ - self endon ( "death" ); - self endon ( "disconnect" ); - level endon ( "game_ended" ); - - while ( level.inPrematchPeriod ) - wait ( 0.05 ); - - for ( ;; ) - { - wait ( 5.0 ); - if ( level.players[0].pers["team"] == "allies" || level.players[0].pers["team"] == "axis" ) - self maps\mp\gametypes\_rank::giveRankXP( "kill", int(min( getDvarInt( "scr_xprate" ), 50 )) ); - } -} -#/ - -hidePerksAfterTime( delay ) -{ - self endon("disconnect"); - self endon("perks_hidden"); - - wait delay; - - self thread hidePerk( 0, 2.0 ); - self thread hidePerk( 1, 2.0 ); - self thread hidePerk( 2, 2.0 ); - self thread hidePerk( 3, 2.0 ); - - self notify("perks_hidden"); -} - -stopPoisoningAndFlareOnSpawn() -{ - self endon("disconnect"); - - - self.inPoisonArea = false; - //self stopPoisoning(); - self.inFlareVisionArea = false; -} - - -hidePerksOnDeath() -{ - self endon("disconnect"); - self endon("perks_hidden"); - - self waittill("death"); - - self hidePerk( 0 ); - self hidePerk( 1 ); - self hidePerk( 2 ); - self hidePerk( 3 ); - - self notify("perks_hidden"); -} - -hidePerksOnKill() -{ - self endon("disconnect"); - self endon("death"); - self endon("perks_hidden"); - - self waittill( "killed_player" ); - - self hidePerk( 0 ); - self hidePerk( 1 ); - self hidePerk( 2 ); - self hidePerk( 3 ); - - self notify("perks_hidden"); -} - - -testMenu() -{ - self endon ( "death" ); - self endon ( "disconnect" ); - - for ( ;; ) - { - wait ( 10.0 ); - - notifyData = spawnStruct(); - notifyData.titleText = &"MP_CHALLENGE_COMPLETED"; - notifyData.notifyText = "wheee"; - notifyData.sound = "mp_challenge_complete"; - - self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData ); - } -} - -testShock() -{ - self endon ( "death" ); - self endon ( "disconnect" ); - - for ( ;; ) - { - wait ( 3.0 ); - - numShots = randomInt( 6 ); - - for ( i = 0; i < numShots; i++ ) - { - iPrintLnBold( numShots ); - self shellShock( "frag_grenade_mp", 0.2 ); - wait ( 0.1 ); - } - } -} - -testHPs() -{ - self endon ( "death" ); - self endon ( "disconnect" ); - - hps = []; - hps[hps.size] = "radar_mp"; - hps[hps.size] = "artillery_mp"; - hps[hps.size] = "dogs_mp"; - - for ( ;; ) - { -// hp = hps[randomInt(hps.size)]; - hp = "radar_mp"; - if ( self thread maps\mp\gametypes\_hardpoints::giveHardpointItem( hp ) ) - { - self playLocalSound( level.hardpointInforms[hp] ); - } - -// self thread maps\mp\gametypes\_hardpoints::upgradeHardpointItem(); - - wait ( 20.0 ); - } -} - - -spawnSpectator( origin, angles ) -{ - self notify("spawned"); - self notify("end_respawn"); - in_spawnSpectator( origin, angles ); -} - -// spawnSpectator clone without notifies for spawning between respawn delays -respawn_asSpectator( origin, angles ) -{ - in_spawnSpectator( origin, angles ); -} - -// spawnSpectator helper -in_spawnSpectator( origin, angles ) -{ - self setSpawnVariables(); - - // don't clear lower message if not actually a spectator, - // because it probably has important information like when we'll spawn - if ( self.pers["team"] == "spectator" ) - self clearLowerMessage(); - - self.sessionstate = "spectator"; - self.spectatorclient = -1; - self.killcamentity = -1; - self.archivetime = 0; - self.psoffsettime = 0; - self.friendlydamage = undefined; - - if(self.pers["team"] == "spectator") - self.statusicon = ""; - else - self.statusicon = "hud_status_dead"; - - maps\mp\gametypes\_spectating::setSpectatePermissions(); - - [[level.onSpawnSpectator]]( origin, angles ); - - if ( level.teamBased && !level.splitscreen ) - self thread spectatorThirdPersonness(); - - level thread updateTeamStatus(); -} - -spectatorThirdPersonness() -{ - self endon("disconnect"); - self endon("spawned"); - - self notify("spectator_thirdperson_thread"); - self endon("spectator_thirdperson_thread"); - - self.spectatingThirdPerson = false; - - self setThirdPerson( true ); - - // we can reenable this if we ever get a way to determine who a player is spectating. - // self.spectatorClient is write-only so it doesn't work. - /* - player = getPlayerFromClientNum( self.spectatorClient ); - prevClientNum = self.spectatorClient; - prevWeap = "none"; - hasScope = false; - - while(1) - { - if ( self.spectatorClient != prevClientNum ) - { - player = getPlayerFromClientNum( self.spectatorClient ); - prevClientNum = self.specatorClient; - } - - if ( isDefined( player ) ) - { - weap = player getCurrentWeapon(); - if ( weap != prevWeap ) - { - hasScope = maps\mp\gametypes\_weapons::hasScope( weap ); - prevWeap = weap; - } - if ( hasScope && player playerADS() == 1 ) - self setThirdPerson( false ); - else - self setThirdPerson( true ); - } - else - { - self setThirdPerson( false ); - } - wait .05; - } - */ -} - -getPlayerFromClientNum( clientNum ) -{ - if ( clientNum < 0 ) - return undefined; - - for ( i = 0; i < level.players.size; i++ ) - { - if ( level.players[i] getEntityNumber() == clientNum ) - return level.players[i]; - } - return undefined; -} - -setThirdPerson( value ) -{ - if ( value != self.spectatingThirdPerson ) - { - self.spectatingThirdPerson = value; - if ( value ) - { - self setClientDvar( "cg_thirdPerson", "1" ); - self setDepthOfField( 0, 128, 512, 4000, 6, 1.8 ); - self setClientDvar( "cg_fov", "40" ); - } - else - { - self setClientDvar( "cg_thirdPerson", "0" ); - self setDepthOfField( 0, 0, 512, 4000, 4, 0 ); - self setClientDvar( "cg_fov", "65" ); - } - } -} - -waveSpawnTimer() -{ - level endon( "game_ended" ); - - while ( game["state"] == "playing" ) - { - time = getTime(); - - if ( time - level.lastWave["allies"] > (level.waveDelay["allies"] * 1000) ) - { - level notify ( "wave_respawn_allies" ); - level.lastWave["allies"] = time; - level.wavePlayerSpawnIndex["allies"] = 0; - } - - if ( time - level.lastWave["axis"] > (level.waveDelay["axis"] * 1000) ) - { - level notify ( "wave_respawn_axis" ); - level.lastWave["axis"] = time; - level.wavePlayerSpawnIndex["axis"] = 0; - } - - wait ( 0.05 ); - } -} - - -default_onSpawnSpectator( origin, angles) -{ - if( isDefined( origin ) && isDefined( angles ) ) - { - self spawn(origin, angles); - return; - } - - spawnpointname = "mp_global_intermission"; - spawnpoints = getentarray(spawnpointname, "classname"); - assertex( spawnpoints.size, "There are no mp_global_intermission spawn points in the map. There must be at least one." ); - spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random(spawnpoints); - - self spawn(spawnpoint.origin, spawnpoint.angles); -} - -spawnIntermission() -{ - self notify("spawned"); - self notify("end_respawn"); - - self setSpawnVariables(); - - self clearLowerMessage(); - - self freezeControls( false ); - - self setClientDvar( "cg_everyoneHearsEveryone", "1" ); - - self.sessionstate = "intermission"; - self.spectatorclient = -1; - self.killcamentity = -1; - self.archivetime = 0; - self.psoffsettime = 0; - self.friendlydamage = undefined; - - [[level.onSpawnIntermission]](); - self setDepthOfField( 0, 128, 512, 4000, 6, 1.8 ); -} - - -default_onSpawnIntermission() -{ - spawnpointname = "mp_global_intermission"; - spawnpoints = getentarray(spawnpointname, "classname"); -// spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random(spawnpoints); - spawnpoint = spawnPoints[0]; - - if( isDefined( spawnpoint ) ) - self spawn( spawnpoint.origin, spawnpoint.angles ); - else - maps\mp\_utility::error("NO " + spawnpointname + " SPAWNPOINTS IN MAP"); -} - -// returns the best guess of the exact time until the scoreboard will be displayed and player control will be lost. -// returns undefined if time is not known -timeUntilRoundEnd() -{ - if ( level.gameEnded ) - { - timePassed = (getTime() - level.gameEndTime) / 1000; - timeRemaining = level.postRoundTime - timePassed; - - if ( timeRemaining < 0 ) - return 0; - - return timeRemaining; - } - - if ( level.inOvertime ) - return undefined; - - if ( level.timeLimit <= 0 ) - return undefined; - - if ( !isDefined( level.startTime ) ) - return undefined; - - timePassed = (getTime() - level.startTime)/1000; - timeRemaining = (level.timeLimit * 60) - timePassed; - - return timeRemaining + level.postRoundTime; -} - -freezePlayerForRoundEnd() -{ - self clearLowerMessage(); - - self closeMenu(); - self closeInGameMenu(); - - self freezeControls( true ); -// self disableWeapons(); -} - - -logXPGains() -{ - if ( !isDefined( self.xpGains ) ) - return; - - xpTypes = getArrayKeys( self.xpGains ); - for ( index = 0; index < xpTypes.size; index++ ) - { - gain = self.xpGains[xpTypes[index]]; - if ( !gain ) - continue; - - self logString( "xp " + xpTypes[index] + ": " + gain ); - } -} - -freeGameplayHudElems() -{ - // free up some hud elems so we have enough for other things. - - // perk icons - if ( isdefined( self.perkicon ) ) - { - if ( isdefined( self.perkicon[0] ) ) - { - self.perkicon[0] destroyElem(); - self.perkname[0] destroyElem(); - } - if ( isdefined( self.perkicon[1] ) ) - { - self.perkicon[1] destroyElem(); - self.perkname[1] destroyElem(); - } - if ( isdefined( self.perkicon[2] ) ) - { - self.perkicon[2] destroyElem(); - self.perkname[2] destroyElem(); - } - if ( isdefined( self.perkicon[3] ) ) - { - self.perkicon[3] destroyElem(); - self.perkname[3] destroyElem(); - } - } - self notify("perks_hidden"); // stop any threads that are waiting to hide the perk icons - - // lower message - self.lowerMessage destroyElem(); - self.lowerTimer destroyElem(); - - // progress bar - if ( isDefined( self.proxBar ) ) - self.proxBar destroyElem(); - if ( isDefined( self.proxBarText ) ) - self.proxBarText destroyElem(); -} - - -getHostPlayer() -{ - players = get_players(); - - for ( index = 0; index < players.size; index++ ) - { - if ( players[index] getEntityNumber() == 0 ) - return players[index]; - } -} - - -hostIdledOut() -{ - hostPlayer = getHostPlayer(); - - // host never spawned - if ( isDefined( hostPlayer ) && !hostPlayer.hasSpawned && !isDefined( hostPlayer.selectedClass ) ) - return true; - - return false; -} - - -endGame( winner, endReasonText ) -{ - // return if already ending via host quit or victory - if ( game["state"] == "postgame" || level.gameEnded ) - return; - - if ( isDefined( level.onEndGame ) ) - [[level.onEndGame]]( winner ); - - visionSetNaked( "mpOutro", 2.0 ); - - game["state"] = "postgame"; - level.gameEndTime = getTime(); - level.gameEnded = true; - level.inGracePeriod = false; - level notify ( "game_ended" ); - level.allowBattleChatter = false; - - setGameEndTime( 0 ); // stop/hide the timers - - if ( level.rankedMatch ) - { - setXenonRanks(); - - if ( hostIdledOut() ) - { - level.hostForcedEnd = true; - logString( "host idled out" ); - endLobby(); - } - } - - updatePlacement(); - updateMatchBonusScores( winner ); - updateWinLossStats( winner ); - - //Send After Action Report information to the client - for ( index = 0; index < level.players.size; index++ ) - { - //Find the Nemesis for each player - nemesis = level.players[index].pers["nemesis_name"]; - - if( !isDefined( level.players[index].pers["killed_players"][nemesis] ) ) - level.players[index].pers["killed_players"][nemesis] = 0; - if( !isDefined( level.players[index].pers["killed_by"][nemesis] ) ) - level.players[index].pers["killed_by"][nemesis] = 0; - - //Get the kill to death spread of the player - spread = level.players[index].kills - level.players[index].deaths; - - if( level.players[index].cur_kill_streak > level.players[index].pers["best_kill_streak"] ) - level.players[index].pers["best_kill_streak"] = level.players[index].cur_kill_streak; - - //set the client dvars - level.players[index] setClientDvars( "ns_n", nemesis, - "ns_r", level.players[index].pers["nemesis_rank"], - "ns_ri", level.players[index].pers["nemesis_rankIcon"], - "ns_x", level.players[index].pers["nemesis_xp"], - "ns_k", level.players[index].pers["killed_players"][nemesis], - "ns_d", level.players[index].pers["killed_by"][nemesis], - "ps_n", level.players[index].name, - "ps_k", level.players[index].kills, - "ps_d", level.players[index].deaths, - "ps_h", level.players[index].headshots, - "ps_kds", spread, - "ps_st", level.players[index].pers["best_kill_streak"], - "ps_r", level.players[index].pers["uav_used"], - "ps_ac", level.players[index].pers["artillery_used"], - "ps_dc", level.players[index].pers["dogs_used"], - "ps_ak", level.players[index].pers["artillery_kills"], - "ps_dk", level.players[index].pers["dog_kills"] ); - recordPlayerStats( level.players[index], "highestKillStreak", level.players[index].pers["best_kill_streak"] ); - recordPlayerStats( level.players[index], "numUavCalled", level.players[index].pers["uav_used"] ); - recordPlayerStats( level.players[index], "numArtilleryCalled", level.players[index].pers["artillery_used"] ); - recordPlayerStats( level.players[index], "numDogsCalled", level.players[index].pers["dogs_used"] ); - recordPlayerStats( level.players[index], "numArtilleryKills", level.players[index].pers["artillery_kills"] ); - recordPlayerStats( level.players[index], "numDogsKills", level.players[index].pers["dog_kills"] ); - } - - // freeze players - players = level.players; - for ( index = 0; index < players.size; index++ ) - { - player = players[index]; - - player freezePlayerForRoundEnd(); - player thread roundEndDoF( 4.0 ); - - player freeGameplayHudElems(); - - player setClientDvar( "cg_everyoneHearsEveryone", "1" ); - - if( level.rankedMatch ) - { - if ( isDefined( player.setPromotion ) ) - player setClientDvar( "ui_lobbypopup", "promotion" ); - else - player setClientDvar( "ui_lobbypopup", "summary" ); - } - } - - setmusicstate( "SILENT" ); - setbusstate("map_end"); - // end round - if ( (level.roundLimit > 1 || (!level.roundLimit && level.scoreLimit != 1)) && !level.forcedEnd ) - { - if ( level.displayRoundEndText ) - { - players = level.players; - for ( index = 0; index < players.size; index++ ) - { - player = players[index]; - - if ( level.teamBased ) - player thread [[level.onTeamOutcomeNotify]]( winner, true, endReasonText ); - else - player thread [[level.onOutcomeNotify]]( winner, endReasonText ); - - player setClientDvars( "ui_hud_hardcore", 1, - "cg_drawSpectatorMessages", 0, - "g_compassShowEnemies", 0 ); - } - - if ( level.teamBased && !(hitRoundLimit() || hitScoreLimit()) ) - thread announceRoundWinner( winner, level.roundEndDelay / 4 ); - - if ( hitRoundLimit() || hitScoreLimit() ) - roundEndWait( level.roundEndDelay / 2, false ); - else - roundEndWait( level.roundEndDelay, true ); - } - - game["roundsplayed"]++; - roundSwitching = false; - if ( !hitRoundLimit() && !hitScoreLimit() ) - roundSwitching = checkRoundSwitch(); - - if ( roundSwitching && level.teamBased ) - { - players = level.players; - for ( index = 0; index < players.size; index++ ) - { - player = players[index]; - - if ( !isDefined( player.pers["team"] ) || player.pers["team"] == "spectator" ) - { - player [[level.spawnIntermission]](); - player closeMenu(); - player closeInGameMenu(); - continue; - } - - switchType = level.halftimeType; - if ( switchType == "halftime" ) - { - if ( level.roundLimit ) - { - if ( (game["roundsplayed"] * 2) == level.roundLimit ) - switchType = "halftime"; - else - switchType = "intermission"; - } - else if ( level.scoreLimit ) - { - if ( game["roundsplayed"] == (level.scoreLimit - 1) ) - switchType = "halftime"; - else - switchType = "intermission"; - } - else - { - switchType = "intermission"; - } - } - switch( switchType ) - { - case "halftime": - player leaderDialogOnPlayer( "halftime" ); - break; - case "overtime": - player leaderDialogOnPlayer( "overtime" ); - break; - case "finalfight": - player leaderDialogOnPlayer( "finalfight" ); - break; - case "endregulation": - player leaderDialogOnPlayer( "side_switch" ); - break; - default: - player leaderDialogOnPlayer( "side_switch" ); - break; - } - player thread [[level.onTeamOutcomeNotify]]( switchType, true, level.halftimeSubCaption ); - player setClientDvar( "ui_hud_hardcore", 1 ); - } - - roundEndWait( level.halftimeRoundEndDelay, false ); - } - else if ( !hitRoundLimit() && !hitScoreLimit() && !level.displayRoundEndText && level.teamBased ) - { - players = level.players; - for ( index = 0; index < players.size; index++ ) - { - player = players[index]; - - if ( !isDefined( player.pers["team"] ) || player.pers["team"] == "spectator" ) - { - player [[level.spawnIntermission]](); - player closeMenu(); - player closeInGameMenu(); - continue; - } - - switchType = level.halftimeType; - if ( switchType == "halftime" ) - { - if ( level.roundLimit ) - { - if ( (game["roundsplayed"] * 2) == level.roundLimit ) - switchType = "halftime"; - else - switchType = "roundend"; - } - else if ( level.scoreLimit ) - { - if ( game["roundsplayed"] == (level.scoreLimit - 1) ) - switchType = "halftime"; - else - switchTime = "roundend"; - } - } - switch( switchType ) - { - case "halftime": - player leaderDialogOnPlayer( "halftime" ); - break; - case "overtime": - player leaderDialogOnPlayer( "overtime" ); - break; - } - player thread [[level.onTeamOutcomeNotify]]( switchType, true, endReasonText ); - player setClientDvar( "ui_hud_hardcore", 1 ); - } - - roundEndWait( level.halftimeRoundEndDelay, !(hitRoundLimit() || hitScoreLimit()) ); - } - - if ( !hitRoundLimit() && !hitScoreLimit() ) - { - game["state"] = "playing"; - level.allowBattleChatter = getdvarint( "scr_allowbattlechatter" ); - map_restart( true ); - return; - } - - if ( isDefined( level.onRoundEndGame ) ) - winner = [[level.onRoundEndGame]]( winner ); - - if ( hitRoundLimit() ) - endReasonText = game["strings"]["round_limit_reached"]; - else if ( hitScoreLimit() ) - endReasonText = game["strings"]["score_limit_reached"]; - else - endReasonText = game["strings"]["time_limit_reached"]; - } - - thread maps\mp\gametypes\_missions::roundEnd( winner ); - - // catching gametype, since DM forceEnd sends winner as player entity, instead of string - players = level.players; - for ( index = 0; index < players.size; index++ ) - { - player = players[index]; - - if ( !isDefined( player.pers["team"] ) || player.pers["team"] == "spectator" ) - { - player [[level.spawnIntermission]](); - player closeMenu(); - player closeInGameMenu(); - continue; - } - - if ( level.teamBased ) - { - player thread [[level.onTeamOutcomeNotify]]( winner, false, endReasonText ); - } - else - { - player thread [[level.onOutcomeNotify]]( winner, endReasonText ); - - if ( isDefined( winner ) && player == winner ) - player playLocalSound( game["music"]["victory_" + player.pers["team"] ] ); - else if ( !level.splitScreen ) - player playLocalSound( game["music"]["defeat"] ); - } - - player setClientDvars( "ui_hud_hardcore", 1, - "cg_drawSpectatorMessages", 0, - "g_compassShowEnemies", 0 ); - } - - if ( level.teamBased ) - { - thread announceGameWinner( winner, level.postRoundTime / 2 ); - - if ( level.splitscreen ) - { - if ( winner == "allies" ) - playSoundOnPlayers( game["music"]["victory_allies"], "allies" ); - else if ( winner == "axis" ) - playSoundOnPlayers( game["music"]["victory_axis"], "axis" ); - else - playSoundOnPlayers( game["music"]["defeat"] ); - } - else - { - if ( winner == "allies" ) - { - playSoundOnPlayers( game["music"]["victory_allies"], "allies" ); - playSoundOnPlayers( game["music"]["defeat"], "axis" ); - } - else if ( winner == "axis" ) - { - playSoundOnPlayers( game["music"]["victory_axis"], "axis" ); - playSoundOnPlayers( game["music"]["defeat"], "allies" ); - } - else - { - playSoundOnPlayers( game["music"]["defeat"] ); - } - } - } - - - roundEndWait( level.postRoundTime, true ); - - level.intermission = true; - - //regain players array since some might've disconnected during the wait above - players = level.players; - for ( index = 0; index < players.size; index++ ) - { - player = players[index]; - - player closeMenu(); - player closeInGameMenu(); - player notify ( "reset_outcome" ); - player thread spawnIntermission(); - player setClientDvar( "ui_hud_hardcore", 0 ); - if( !level.console ) - { - player setclientdvar( "g_scriptMainMenu", game["menu_eog_main"] ); - } - } - - logString( "game ended" ); - - if( level.console ) - { - wait 9.0; //scoreboard time 5 sec (Kevin sherwood changed to have enough time for vic stingers) - exitLevel( false ); - return; - } - else - { - wait getDvarFloat( "scr_show_unlock_wait" ); - } - - // popup for game summary - players = level.players; - for ( index = 0; index < players.size; index++ ) - { - player = players[index]; - //iPrintLnBold( "opening eog summary!" ); - //player.sessionstate = "dead"; - player openMenu( game["menu_eog_unlock"] ); - } - - thread timeLimitClock_Intermission( getDvarFloat( "scr_intermission_time" ) ); - wait getDvarFloat( "scr_intermission_time" ); - - players = level.players; - for ( index = 0; index < players.size; index++ ) - { - player = players[index]; - //iPrintLnBold( "closing eog summary!" ); - player closeMenu(); - player closeInGameMenu(); - } - - exitLevel( false ); -} - -getWinningTeam() -{ - if ( getGameScore( "allies" ) == getGameScore( "axis" ) ) - winner = "tie"; - else if ( getGameScore( "allies" ) > getGameScore( "axis" ) ) - winner = "allies"; - else - winner = "axis"; -} - - -roundEndWait( defaultDelay, matchBonus ) -{ - notifiesDone = false; - while ( !notifiesDone ) - { - players = level.players; - notifiesDone = true; - for ( index = 0; index < players.size; index++ ) - { - if ( !isDefined( players[index].doingNotify ) || !players[index].doingNotify ) - continue; - - notifiesDone = false; - } - wait ( 0.5 ); - } - - if ( !matchBonus ) - { - wait ( defaultDelay ); - return; - } - - wait ( defaultDelay / 2 ); - level notify ( "give_match_bonus" ); - wait ( defaultDelay / 2 ); - - notifiesDone = false; - while ( !notifiesDone ) - { - players = level.players; - notifiesDone = true; - for ( index = 0; index < players.size; index++ ) - { - if ( !isDefined( players[index].doingNotify ) || !players[index].doingNotify ) - continue; - - notifiesDone = false; - } - wait ( 0.5 ); - } -} - - -roundEndDOF( time ) -{ - self setDepthOfField( 0, 128, 512, 4000, 6, 1.8 ); -} - - -updateMatchBonusScores( winner ) -{ - if ( !game["timepassed"] ) - return; - - if ( !level.rankedMatch ) - return; - - // dont give the bonus until the game is over - if ( level.teamBased && isDefined( winner ) ) - { - if ( winner == "endregulation" ) - return; - } - - if ( !level.timeLimit || level.forcedEnd ) - { - gameLength = getTimePassed() / 1000; - // cap it at 20 minutes to avoid exploiting - gameLength = min( gameLength, 1200 ); - - // the bonus for final fight needs to be based on the total time played - if ( level.gameType == "twar" && game["roundsplayed"] > 0 ) - gameLength += level.timeLimit * 60; - } - else - { - gameLength = level.timeLimit * 60; - } - - if ( level.teamBased ) - { - if ( winner == "allies" ) - { - winningTeam = "allies"; - losingTeam = "axis"; - } - else if ( winner == "axis" ) - { - winningTeam = "axis"; - losingTeam = "allies"; - } - else - { - winningTeam = "tie"; - losingTeam = "tie"; - } - - if ( winningTeam != "tie" ) - { - winnerScale = maps\mp\gametypes\_rank::getScoreInfoValue( "win" ); - loserScale = maps\mp\gametypes\_rank::getScoreInfoValue( "loss" ); - } - else - { - winnerScale = maps\mp\gametypes\_rank::getScoreInfoValue( "tie" ); - loserScale = maps\mp\gametypes\_rank::getScoreInfoValue( "tie" ); - } - - players = level.players; - for( i = 0; i < players.size; i++ ) - { - player = players[i]; - - if ( player.timePlayed["total"] < 1 || player.pers["participation"] < 1 ) - { - player thread maps\mp\gametypes\_rank::endGameUpdate(); - continue; - } - - // no bonus for hosts who force ends - if ( level.hostForcedEnd && player getEntityNumber() == 0 ) - continue; - - spm = player maps\mp\gametypes\_rank::getSPM(); - if ( winningTeam == "tie" ) - { - playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); - player thread giveMatchBonus( "tie", playerScore ); - player.matchBonus = playerScore; - } - else if ( isDefined( player.pers["team"] ) && player.pers["team"] == winningTeam ) - { - playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); - player thread giveMatchBonus( "win", playerScore ); - player.matchBonus = playerScore; - } - else if ( isDefined(player.pers["team"] ) && player.pers["team"] == losingTeam ) - { - playerScore = int( (loserScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); - player thread giveMatchBonus( "loss", playerScore ); - player.matchBonus = playerScore; - } - } - } - else - { - if ( isDefined( winner ) ) - { - winnerScale = maps\mp\gametypes\_rank::getScoreInfoValue( "win" ); - loserScale = maps\mp\gametypes\_rank::getScoreInfoValue( "loss" ); - } - else - { - winnerScale = maps\mp\gametypes\_rank::getScoreInfoValue( "tie" ); - loserScale = maps\mp\gametypes\_rank::getScoreInfoValue( "tie" ); - } - - players = level.players; - for( i = 0; i < players.size; i++ ) - { - player = players[i]; - - if ( player.timePlayed["total"] < 1 || player.pers["participation"] < 1 ) - { - player thread maps\mp\gametypes\_rank::endGameUpdate(); - continue; - } - - spm = player maps\mp\gametypes\_rank::getSPM(); - - isWinner = false; - for ( pIdx = 0; pIdx < min( level.placement["all"][0].size, 3 ); pIdx++ ) - { - if ( level.placement["all"][pIdx] != player ) - continue; - isWinner = true; - } - - if ( isWinner ) - { - playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); - player thread giveMatchBonus( "win", playerScore ); - player.matchBonus = playerScore; - } - else - { - playerScore = int( (loserScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); - player thread giveMatchBonus( "loss", playerScore ); - player.matchBonus = playerScore; - } - } - } -} - - -giveMatchBonus( scoreType, score ) -{ - self endon ( "disconnect" ); - - level waittill ( "give_match_bonus" ); - - self maps\mp\gametypes\_rank::giveRankXP( scoreType, score ); - logXPGains(); - - self maps\mp\gametypes\_rank::endGameUpdate(); -} - - -setXenonRanks( winner ) -{ - players = level.players; - - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - - if( !isdefined(player.score) || !isdefined(player.pers["team"]) ) - continue; - - } - - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - - if( !isdefined(player.score) || !isdefined(player.pers["team"]) ) - continue; - - setPlayerTeamRank( player, i, player.score - 5 * player.deaths ); - player logString( "team: score " + player.pers["team"] + ":" + player.score ); - } - sendranks(); -} - - -getHighestScoringPlayer() -{ - players = level.players; - winner = undefined; - tie = false; - - for( i = 0; i < players.size; i++ ) - { - if ( !isDefined( players[i].score ) ) - continue; - - if ( players[i].score < 1 ) - continue; - - if ( !isDefined( winner ) || players[i].score > winner.score ) - { - winner = players[i]; - tie = false; - } - else if ( players[i].score == winner.score ) - { - tie = true; - } - } - - if ( tie || !isDefined( winner ) ) - return undefined; - else - return winner; -} - - -checkTimeLimit() -{ - if ( isDefined( level.timeLimitOverride ) && level.timeLimitOverride ) - return; - - if ( game["state"] != "playing" ) - { - setGameEndTime( 0 ); - return; - } - - if ( level.timeLimit <= 0 ) - { - setGameEndTime( 0 ); - return; - } - - if ( level.inPrematchPeriod ) - { - setGameEndTime( 0 ); - return; - } - - if ( !isdefined( level.startTime ) ) - return; - - timeLeft = getTimeRemaining(); - - // want this accurate to the millisecond - setGameEndTime( getTime() + int(timeLeft) ); - - if ( timeLeft > 0 ) - return; - - [[level.onTimeLimit]](); -} - -getTimeRemaining() -{ - return level.timeLimit * 60 * 1000 - getTimePassed(); -} - -checkScoreLimit() -{ - if ( game["state"] != "playing" ) - return; - - if ( level.scoreLimit <= 0 ) - return; - - if ( level.teamBased ) - { - if( game["teamScores"]["allies"] < level.scoreLimit && game["teamScores"]["axis"] < level.scoreLimit ) - return; - } - else - { - if ( !isPlayer( self ) ) - return; - - if ( self.score < level.scoreLimit ) - return; - } - - [[level.onScoreLimit]](); -} - - -hitRoundLimit() -{ - if( level.roundLimit <= 0 ) - return false; - - return ( game["roundsplayed"] >= level.roundLimit ); -} - -hitScoreLimit() -{ - // hitScoreLimit only gets called in endGame - // I do not want it returning true if the score limits are per round - if ( level.scoreLimitIsPerRound ) - return false; - - if( level.scoreLimit <= 0 ) - return false; - - if ( level.teamBased ) - { - if( game["teamScores"]["allies"] >= level.scoreLimit || game["teamScores"]["axis"] >= level.scoreLimit ) - return true; - } - else - { - for ( i = 0; i < level.players.size; i++ ) - { - player = level.players[i]; - if ( isDefined( player.score ) && player.score >= level.scorelimit ) - return true; - } - } - return false; -} - -registerRoundSwitchDvar( dvarString, defaultValue, minValue, maxValue ) -{ - dvarString = ("scr_" + dvarString + "_roundswitch"); - if ( getDvar( dvarString ) == "" ) - setDvar( dvarString, defaultValue ); - - if ( getDvarInt( dvarString ) > maxValue ) - setDvar( dvarString, maxValue ); - else if ( getDvarInt( dvarString ) < minValue ) - setDvar( dvarString, minValue ); - - - level.roundswitchDvar = dvarString; - level.roundswitchMin = minValue; - level.roundswitchMax = maxValue; - level.roundswitch = getDvarInt( level.roundswitchDvar ); -} - -registerRoundLimitDvar( dvarString, defaultValue, minValue, maxValue ) -{ - dvarString = ("scr_" + dvarString + "_roundlimit"); - if ( getDvar( dvarString ) == "" ) - setDvar( dvarString, defaultValue ); - - if ( getDvarInt( dvarString ) > maxValue ) - setDvar( dvarString, maxValue ); - else if ( getDvarInt( dvarString ) < minValue ) - setDvar( dvarString, minValue ); - - - level.roundLimitDvar = dvarString; - level.roundlimitMin = minValue; - level.roundlimitMax = maxValue; - level.roundLimit = getDvarInt( level.roundLimitDvar ); -} - - -registerScoreLimitDvar( dvarString, defaultValue, minValue, maxValue ) -{ - dvarString = ("scr_" + dvarString + "_scorelimit"); - if ( getDvar( dvarString ) == "" ) - setDvar( dvarString, defaultValue ); - - if ( getDvarInt( dvarString ) > maxValue ) - setDvar( dvarString, maxValue ); - else if ( getDvarInt( dvarString ) < minValue ) - setDvar( dvarString, minValue ); - - level.scoreLimitDvar = dvarString; - level.scorelimitMin = minValue; - level.scorelimitMax = maxValue; - level.scoreLimit = getDvarInt( level.scoreLimitDvar ); - - setDvar( "ui_scorelimit", level.scoreLimit ); -} - - -registerTimeLimitDvar( dvarString, defaultValue, minValue, maxValue ) -{ - dvarString = ("scr_" + dvarString + "_timelimit"); - if ( getDvar( dvarString ) == "" ) - setDvar( dvarString, defaultValue ); - - if ( getDvarFloat( dvarString ) > maxValue ) - setDvar( dvarString, maxValue ); - else if ( getDvarFloat( dvarString ) < minValue ) - setDvar( dvarString, minValue ); - - level.timeLimitDvar = dvarString; - level.timelimitMin = minValue; - level.timelimitMax = maxValue; - level.timelimit = getDvarFloat( level.timeLimitDvar ); - - setDvar( "ui_timelimit", level.timelimit ); -} - - -registerNumLivesDvar( dvarString, defaultValue, minValue, maxValue ) -{ - dvarString = ("scr_" + dvarString + "_numlives"); - if ( getDvar( dvarString ) == "" ) - setDvar( dvarString, defaultValue ); - - if ( getDvarInt( dvarString ) > maxValue ) - setDvar( dvarString, maxValue ); - else if ( getDvarInt( dvarString ) < minValue ) - setDvar( dvarString, minValue ); - - level.numLivesDvar = dvarString; - level.numLivesMin = minValue; - level.numLivesMax = maxValue; - level.numLives = getDvarInt( level.numLivesDvar ); -} - - -getValueInRange( value, minValue, maxValue ) -{ - if ( value > maxValue ) - return maxValue; - else if ( value < minValue ) - return minValue; - else - return value; -} - -default_getTimeLimitDvarValue() -{ - return getValueInRange( getDvarFloat( level.timeLimitDvar ), level.timeLimitMin, level.timeLimitMax ); -} - -updateGameTypeDvars() -{ - level endon ( "game_ended" ); - - while ( game["state"] == "playing" ) - { - roundlimit = getValueInRange( getDvarInt( level.roundLimitDvar ), level.roundLimitMin, level.roundLimitMax ); - if ( roundlimit != level.roundlimit ) - { - level.roundlimit = roundlimit; - level notify ( "update_roundlimit" ); - } - - timeLimit = [[level.getTimeLimitDvarValue]](); - if ( timeLimit != level.timeLimit ) - { - level.timeLimit = timeLimit; - setDvar( "ui_timelimit", level.timeLimit ); - level notify ( "update_timelimit" ); - } - thread checkTimeLimit(); - - scoreLimit = getValueInRange( getDvarInt( level.scoreLimitDvar ), level.scoreLimitMin, level.scoreLimitMax ); - if ( scoreLimit != level.scoreLimit ) - { - level.scoreLimit = scoreLimit; - setDvar( "ui_scorelimit", level.scoreLimit ); - level notify ( "update_scorelimit" ); - } - thread checkScoreLimit(); - - // make sure we check time limit right when game ends - if ( isdefined( level.startTime ) ) - { - if ( getTimeRemaining() < 3000 ) - { - wait .1; - continue; - } - } - wait 1; - } -} - - -menuShowSquadInfo() -{ - if ( isDefined( self.pers["squadMessage"] ) ) - { - if ( getplayersquad( self ) && self.pers["squadMessage"] != 3 ) - { - obituary_squad( self, self.pers["squadMessage"] ); - } - self.pers["squadMessage"] = undefined; - } -} - -menuLeaveSquad() -{ - if ( getplayersquad( self ) ) - { - leavesquad(self); - self.pers["squadMessage"] = 3; - } -} - -menuCreateSquad() -{ - createsquad(self); - self.pers["squadMessage"] = 1; - -} - -menuJoinSquad() -{ - if ( getplayersquad( self ) ) - { - self.pers["squadMessage"] = 2; - } -} - -menuLockSquad() -{ - locksquad(self); -} - -menuUnlockSquad() -{ - unlocksquad(self); -} - - - - - -menuAutoAssign() -{ - teams[0] = "allies"; - teams[1] = "axis"; - assignment = teams[randomInt(2)]; - - self closeMenus(); - - if ( level.teamBased ) - { - if ( getDvarInt( "party_autoteams" ) == 1 ) - { - teamNum = getAssignedTeam( self ); - switch ( teamNum ) - { - case 1: - assignment = teams[1]; - break; - - case 2: - assignment = teams[0]; - break; - - default: - assignment = ""; - } - } - else - { - self menuLeaveSquad(); - } - - if ( assignment == "" || getDvarInt( "party_autoteams" ) == 0 ) - { - playerCounts = self maps\mp\gametypes\_teams::CountPlayers(); - - // if teams are equal return the team with the lowest score - if ( playerCounts["allies"] == playerCounts["axis"] ) - { - if( getTeamScore( "allies" ) == getTeamScore( "axis" ) ) - assignment = teams[randomInt(2)]; - else if ( getTeamScore( "allies" ) < getTeamScore( "axis" ) ) - assignment = "allies"; - else - assignment = "axis"; - } - else if( playerCounts["allies"] < playerCounts["axis"] ) - { - assignment = "allies"; - } - else - { - assignment = "axis"; - } - } - - if ( assignment == self.pers["team"] && (self.sessionstate == "playing" || self.sessionstate == "dead") ) - { - self beginClassChoice(); - return; - } - } - - if ( assignment != self.pers["team"] && (self.sessionstate == "playing" || self.sessionstate == "dead") ) - { - self menuLeaveSquad(); - self.switching_teams = true; - self.joining_team = assignment; - self.leaving_team = self.pers["team"]; - self suicide(); - } - - self.pers["team"] = assignment; - self.team = assignment; - self.pers["class"] = undefined; - self.class = undefined; - self.pers["weapon"] = undefined; - self.pers["savedmodel"] = undefined; - - self updateObjectiveText(); - - if ( level.teamBased ) - self.sessionteam = assignment; - else - { - self.sessionteam = "none"; - } - - if ( !isAlive( self ) ) - self.statusicon = "hud_status_dead"; - - self notify("joined_team"); - self notify("end_respawn"); - - self beginClassChoice(); - - self setclientdvar( "g_scriptMainMenu", game[ "menu_class_" + self.pers["team"] ] ); -} - - -updateObjectiveText() -{ - if ( self.pers["team"] == "spectator" ) - { - self setClientDvar( "cg_objectiveText", "" ); - return; - } - - if( level.scorelimit > 0 ) - { - if ( level.splitScreen ) - self setclientdvar( "cg_objectiveText", getObjectiveScoreText( self.pers["team"] ) ); - else - self setclientdvar( "cg_objectiveText", getObjectiveScoreText( self.pers["team"] ), level.scorelimit ); - } - else - { - self setclientdvar( "cg_objectiveText", getObjectiveText( self.pers["team"] ) ); - } -} - -closeMenus() -{ - self closeMenu(); - self closeInGameMenu(); -} - -beginClassChoice( forceNewChoice ) -{ - assert( self.pers["team"] == "axis" || self.pers["team"] == "allies" ); - - team = self.pers["team"]; - - if ( level.oldschool ) - { - // skip class choice and just spawn. - - self.pers["class"] = undefined; - self.class = undefined; - - // open a menu that just sets the ui_team localvar - self openMenu( game[ "menu_initteam_" + team ] ); - - if ( self.sessionstate != "playing" && game["state"] == "playing" ) - self thread [[level.spawnClient]](); - level thread updateTeamStatus(); - self thread maps\mp\gametypes\_spectating::setSpectatePermissions(); - - return; - } - - // menu_changeclass_team is the one where you choose one of the n classes to play as. - // menu_class_team is where you can choose to change your team, class, controls, or leave game. - self openMenu( game[ "menu_changeclass_" + team ] ); - - //if ( level.rankedMatch ) - // self openMenu( game[ "menu_changeclass_" + team ] ); - //else - // self openMenu( game[ "menu_class_" + team ] ); -} - -showMainMenuForTeam() -{ - assert( self.pers["team"] == "axis" || self.pers["team"] == "allies" ); - - team = self.pers["team"]; - - // menu_changeclass_team is the one where you choose one of the n classes to play as. - // menu_class_team is where you can choose to change your team, class, controls, or leave game. - - self openMenu( game[ "menu_class_" + team ] ); -} - -menuAllies() -{ - self closeMenus(); - - if(self.pers["team"] != "allies") - { - // allow respawn when switching teams during grace period. - if ( level.inGracePeriod && (!isdefined(self.hasDoneCombat) || !self.hasDoneCombat) ) - self.hasSpawned = false; - - if(self.sessionstate == "playing") - { - self menuLeaveSquad(); - self.switching_teams = true; - self.joining_team = "allies"; - self.leaving_team = self.pers["team"]; - self suicide(); - } - - self.pers["team"] = "allies"; - self.team = "allies"; - self.pers["class"] = undefined; - self.class = undefined; - self.pers["weapon"] = undefined; - self.pers["savedmodel"] = undefined; - - self updateObjectiveText(); - - if ( level.teamBased ) - self.sessionteam = "allies"; - else - self.sessionteam = "none"; - - self setclientdvar("g_scriptMainMenu", game["menu_class_allies"]); - - self notify("joined_team"); - self notify("end_respawn"); - } - - self beginClassChoice(); -} - - -menuAxis() -{ - self closeMenus(); - - if(self.pers["team"] != "axis") - { - // allow respawn when switching teams during grace period. - if ( level.inGracePeriod && (!isdefined(self.hasDoneCombat) || !self.hasDoneCombat) ) - self.hasSpawned = false; - - if(self.sessionstate == "playing") - { - self menuLeaveSquad(); - self.switching_teams = true; - self.joining_team = "axis"; - self.leaving_team = self.pers["team"]; - self suicide(); - } - - self.pers["team"] = "axis"; - self.team = "axis"; - self.pers["class"] = undefined; - self.class = undefined; - self.pers["weapon"] = undefined; - self.pers["savedmodel"] = undefined; - - self updateObjectiveText(); - - if ( level.teamBased ) - self.sessionteam = "axis"; - else - self.sessionteam = "none"; - - self setclientdvar("g_scriptMainMenu", game["menu_class_axis"]); - - self notify("joined_team"); - self notify("end_respawn"); - } - - self beginClassChoice(); -} - - -menuSpectator() -{ - self closeMenus(); - - if(self.pers["team"] != "spectator") - { - if(isAlive(self)) - { - self menuLeaveSquad(); - self.switching_teams = true; - self.joining_team = "spectator"; - self.leaving_team = self.pers["team"]; - self suicide(); - } - - self.pers["team"] = "spectator"; - self.team = "spectator"; - self.pers["class"] = undefined; - self.class = undefined; - self.pers["weapon"] = undefined; - self.pers["savedmodel"] = undefined; - - self updateObjectiveText(); - - self.sessionteam = "spectator"; - [[level.spawnSpectator]](); - - self setclientdvar("g_scriptMainMenu", game["menu_team"]); - - self notify("joined_spectators"); - } -} - - -menuClass( response ) -{ - self closeMenus(); - - // clears new status of unlocked classes - if ( response == "demolitions_mp,0" && self getstat( int( tablelookup( "mp/statstable.csv", 4, "feature_closeassault", 1 ) ) ) != 1 ) - { - closeassault_stat = int( tablelookup( "mp/statstable.csv", 4, "feature_closeassault", 1 ) ); - self setstat( closeassault_stat, 1 ); - //println( "Close Assault class [new status cleared]: stat(" + closeassault_stat + ") = " + self getstat( closeassault_stat ) ); - } - if ( response == "sniper_mp,0" && self getstat( int( tablelookup( "mp/statstable.csv", 4, "feature_sniper", 1 ) ) ) != 1 ) - { - sniper_stat = int( tablelookup( "mp/statstable.csv", 4, "feature_sniper", 1 ) ); - self setstat( sniper_stat, 1 ); - //println( "Sniper class [new status cleared]: stat(" + sniper_stat + ") = " + self getstat( sniper_stat ) ); - } - assert( !level.oldschool ); - - // this should probably be an assert - if(!isDefined(self.pers["team"]) || (self.pers["team"] != "allies" && self.pers["team"] != "axis")) - return; - - class = self maps\mp\gametypes\_class::getClassChoice( response ); - primary = self maps\mp\gametypes\_class::getWeaponChoice( response ); - - if ( class == "restricted" ) - { - self beginClassChoice(); - return; - } - - if( (isDefined( self.pers["class"] ) && self.pers["class"] == class) && - (isDefined( self.pers["primary"] ) && self.pers["primary"] == primary) ) - return; - - if ( self.sessionstate == "playing" ) - { - self.pers["class"] = class; - self.class = class; - self.pers["primary"] = primary; - self.pers["weapon"] = undefined; - - if ( game["state"] == "postgame" ) - return; - - if ( level.inGracePeriod && !self.hasDoneCombat ) // used weapons check? - { - self maps\mp\gametypes\_class::setClass( self.pers["class"] ); - self.tag_stowed_back = undefined; - self.tag_stowed_hip = undefined; - self maps\mp\gametypes\_class::giveLoadout( self.pers["team"], self.pers["class"] ); - } - else if ( !level.splitScreen ) - { - self iPrintLnBold( game["strings"]["change_class"] ); - } - } - else - { - self.pers["class"] = class; - self.class = class; - self.pers["primary"] = primary; - self.pers["weapon"] = undefined; - - if ( game["state"] == "postgame" ) - return; - - if ( game["state"] == "playing" ) - self thread [[level.spawnClient]](); - } - - level thread updateTeamStatus(); - - self thread maps\mp\gametypes\_spectating::setSpectatePermissions(); -} - -/# -assertProperPlacement() -{ - numPlayers = level.placement["all"].size; - for ( i = 0; i < numPlayers - 1; i++ ) - { - if ( level.placement["all"][i].score < level.placement["all"][i + 1].score ) - { - println("^1Placement array:"); - for ( i = 0; i < numPlayers; i++ ) - { - player = level.placement["all"][i]; - println("^1" + i + ". " + player.name + ": " + player.score ); - } - assertmsg( "Placement array was not properly sorted" ); - break; - } - } -} -#/ - - -removeDisconnectedPlayerFromPlacement() -{ - offset = 0; - numPlayers = level.placement["all"].size; - found = false; - for ( i = 0; i < numPlayers; i++ ) - { - if ( level.placement["all"][i] == self ) - found = true; - - if ( found ) - level.placement["all"][i] = level.placement["all"][ i + 1 ]; - } - if ( !found ) - return; - - level.placement["all"][ numPlayers - 1 ] = undefined; - assert( level.placement["all"].size == numPlayers - 1 ); - - /# - assertProperPlacement(); - #/ - - updateTeamPlacement(); - - if ( level.teamBased ) - return; - - numPlayers = level.placement["all"].size; - for ( i = 0; i < numPlayers; i++ ) - { - player = level.placement["all"][i]; - player notify( "update_outcome" ); - } - -} - -updatePlacement() -{ - prof_begin("updatePlacement"); - - if ( !level.players.size ) - return; - - level.placement["all"] = []; - for ( index = 0; index < level.players.size; index++ ) - { - if ( level.players[index].team == "allies" || level.players[index].team == "axis" ) - level.placement["all"][level.placement["all"].size] = level.players[index]; - } - - placementAll = level.placement["all"]; - - for ( i = 1; i < placementAll.size; i++ ) - { - player = placementAll[i]; - playerScore = player.score; - for ( j = i - 1; j >= 0 && (playerScore > placementAll[j].score || (playerScore == placementAll[j].score && player.deaths < placementAll[j].deaths)); j-- ) - placementAll[j + 1] = placementAll[j]; - placementAll[j + 1] = player; - } - - level.placement["all"] = placementAll; - - /# - assertProperPlacement(); - #/ - - updateTeamPlacement(); - - prof_end("updatePlacement"); -} - - -updateTeamPlacement() -{ - placement["allies"] = []; - placement["axis"] = []; - placement["spectator"] = []; - - if ( !level.teamBased ) - return; - - placementAll = level.placement["all"]; - placementAllSize = placementAll.size; - - for ( i = 0; i < placementAllSize; i++ ) - { - player = placementAll[i]; - team = player.pers["team"]; - - placement[team][ placement[team].size ] = player; - } - - level.placement["allies"] = placement["allies"]; - level.placement["axis"] = placement["axis"]; -} - -onXPEvent( event ) -{ - self maps\mp\gametypes\_rank::giveRankXP( event ); -} - - -givePlayerScore( event, player, victim ) -{ - if ( level.overridePlayerScore ) - return; - - score = player.pers["score"]; - [[level.onPlayerScore]]( event, player, victim ); - - if ( score == player.pers["score"] ) - return; - - recordPlayerStats( player, "score" , player.pers["score"] ); - - player maps\mp\gametypes\_persistence::statAdd( "score", (player.pers["score"] - score) ); - - player.score = player.pers["score"]; - - if ( !level.teambased ) - thread sendUpdatedDMScores(); - - player notify ( "update_playerscore_hud" ); - player thread checkScoreLimit(); -} - - -default_onPlayerScore( event, player, victim ) -{ - score = maps\mp\gametypes\_rank::getScoreInfoValue( event ); - - assert( isDefined( score ) ); - /* - if ( event == "assist" ) - player.pers["score"] += 2; - else - player.pers["score"] += 10; - */ - - player.pers["score"] += score; - recordPlayerStats( player, "score" , player.pers["score"] ); -} - - -_setPlayerScore( player, score ) -{ - if ( score == player.pers["score"] ) - return; - - player.pers["score"] = score; - player.score = player.pers["score"]; - recordPlayerStats( player, "score" , player.pers["score"] ); - - player notify ( "update_playerscore_hud" ); - player thread checkScoreLimit(); -} - - -_getPlayerScore( player ) -{ - return player.pers["score"]; -} - - -giveTeamScore( event, team, player, victim ) -{ - if ( level.overrideTeamScore ) - return; - - teamScore = game["teamScores"][team]; - [[level.onTeamScore]]( event, team, player, victim ); - - if ( teamScore == game["teamScores"][team] ) - return; - - updateTeamScores( team ); - - thread checkScoreLimit(); -} - -_setTeamScore( team, teamScore ) -{ - if ( teamScore == game["teamScores"][team] ) - return; - - game["teamScores"][team] = teamScore; - - updateTeamScores( team ); - - thread checkScoreLimit(); -} - -updateTeamScores( team1, team2 ) -{ - setTeamScore( team1, getGameScore( team1 ) ); - if ( isdefined( team2 ) ) - setTeamScore( team2, getGameScore( team2 ) ); - - if ( level.teambased ) - thread sendUpdatedTeamScores(); -} - - -_getTeamScore( team ) -{ - return game["teamScores"][team]; -} - - -default_onTeamScore( event, team, player, victim ) -{ - score = maps\mp\gametypes\_rank::getScoreInfoValue( event ); - - assert( isDefined( score ) ); - - otherTeam = level.otherTeam[team]; - - if ( game["teamScores"][team] > game["teamScores"][otherTeam] ) - level.wasWinning = team; - else if ( game["teamScores"][otherTeam] > game["teamScores"][team] ) - level.wasWinning = otherTeam; - - game["teamScores"][team] += score; - - isWinning = "none"; - if ( game["teamScores"][team] > game["teamScores"][otherTeam] ) - isWinning = team; - else if ( game["teamScores"][otherTeam] > game["teamScores"][team] ) - isWinning = otherTeam; - - if ( !level.splitScreen && isWinning != "none" && isWinning != level.wasWinning && getTime() - level.lastStatusTime > 5000 ) - { - level.lastStatusTime = getTime(); - leaderDialog( "lead_taken", isWinning, "status" ); - if ( level.wasWinning != "none") - leaderDialog( "lead_lost", level.wasWinning, "status" ); - } - - if ( isWinning != "none" ) - level.wasWinning = isWinning; -} - - -sendUpdatedTeamScores() -{ - level notify("updating_scores"); - level endon("updating_scores"); - wait .05; - - WaitTillSlowProcessAllowed(); - - for ( i = 0; i < level.players.size; i++ ) - { - level.players[i] updateScores(); - } -} - -sendUpdatedDMScores() -{ - level notify("updating_dm_scores"); - level endon("updating_dm_scores"); - wait .05; - - WaitTillSlowProcessAllowed(); - - for ( i = 0; i < level.players.size; i++ ) - { - level.players[i] updateDMScores(); - level.players[i].updatedDMScores = true; - } -} - -initPersStat( dataName, record_stats ) -{ - if( !isDefined( self.pers[dataName] ) ) - { - self.pers[dataName] = 0; - } - - if ( !isdefined(record_stats) || record_stats == true ) - { - recordPlayerStats( self, dataName, self.pers[dataName] ); - } -} - - -getPersStat( dataName ) -{ - return self.pers[dataName]; -} - - -incPersStat( dataName, increment, record_stats ) -{ - self.pers[dataName] += increment; - self maps\mp\gametypes\_persistence::statAdd( dataName, increment ); - - if ( !isdefined(record_stats) || record_stats == true ) - { - self thread threadedRecordPlayerStats( dataName ); - } -} - -threadedRecordPlayerStats( dataName ) -{ - self endon("disconnect"); - waittillframeend; - - recordPlayerStats( self, dataName, self.pers[dataName] ); -} - -updatePersRatio( ratio, num, denom ) -{ - numValue = self maps\mp\gametypes\_persistence::statGet( num ); - denomValue = self maps\mp\gametypes\_persistence::statGet( denom ); - if ( denomValue == 0 ) - denomValue = 1; - - self maps\mp\gametypes\_persistence::statSet( ratio, int( (numValue * 1000) / denomValue ) ); - - numValue = self maps\mp\gametypes\_persistence::statGetWithGameType( num ); - denomValue = self maps\mp\gametypes\_persistence::statGetWithGameType( denom ); - if ( denomValue == 0 ) - denomValue = 1; - - self maps\mp\gametypes\_persistence::statSetWithGameType( ratio, int( (numValue * 1000) / denomValue ) ); -} - - -updateTeamStatus() -{ - // run only once per frame, at the end of the frame. - level notify("updating_team_status"); - level endon("updating_team_status"); - level endon ( "game_ended" ); - waittillframeend; - - wait 0; // Required for Callback_PlayerDisconnect to complete before updateTeamStatus can execute - - if ( game["state"] == "postgame" ) - return; - - resetTimeout(); - - prof_begin( "updateTeamStatus" ); - - level.playerCount["allies"] = 0; - level.playerCount["axis"] = 0; - - level.lastAliveCount["allies"] = level.aliveCount["allies"]; - level.lastAliveCount["axis"] = level.aliveCount["axis"]; - level.aliveCount["allies"] = 0; - level.aliveCount["axis"] = 0; - level.playerLives["allies"] = 0; - level.playerLives["axis"] = 0; - level.alivePlayers["allies"] = []; - level.alivePlayers["axis"] = []; - level.activePlayers = []; - level.squads["allies"] = []; - level.squads["axis"] = []; - - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - - if ( !isDefined( player ) && level.splitscreen ) - continue; - - team = player.team; - class = player.class; - - if ( team != "spectator" && (level.oldschool || (isDefined( class ) && class != "")) ) - { - level.playerCount[team]++; - - if ( player.sessionstate == "playing" ) - { - level.aliveCount[team]++; - level.playerLives[team]++; - - if ( isAlive( player ) ) - { - level.alivePlayers[team][level.alivePlayers[team].size] = player; - level.activeplayers[ level.activeplayers.size ] = player; - - squadID = getplayersquadid( player ); - - if( isDefined( squadID ) ) - { - - if( !isdefined( level.squads[team][squadID] ) ) - level.squads[team][squadID] = []; - - level.squads[team][squadID][level.squads[team][squadID].size] = player; - } - } - } - else - { - if ( player maySpawn() ) - level.playerLives[team]++; - } - } - } - - if ( level.aliveCount["allies"] + level.aliveCount["axis"] > level.maxPlayerCount ) - level.maxPlayerCount = level.aliveCount["allies"] + level.aliveCount["axis"]; - - if ( level.aliveCount["allies"] ) - level.everExisted["allies"] = true; - if ( level.aliveCount["axis"] ) - level.everExisted["axis"] = true; - - prof_end( "updateTeamStatus" ); - - level updateGameEvents(); -} - -isValidClass( class ) -{ - if ( level.oldschool ) - { - assert( !isdefined( class ) ); - return true; - } - return isdefined( class ) && class != ""; -} - -playTickingSound() -{ - self endon("death"); - self endon("stop_ticking"); - level endon("game_ended"); - - while(1) - { - self playSound( "ui_mp_suitcasebomb_timer" ); - wait 1.0; - } -} - -stopTickingSound() -{ - self notify("stop_ticking"); -} - -timeLimitClock() -{ - level endon ( "game_ended" ); - - wait .05; - - clockObject = spawn( "script_origin", (0,0,0) ); - - while ( game["state"] == "playing" ) - { - if ( !level.timerStopped && level.timeLimit ) - { - timeLeft = getTimeRemaining() / 1000; - timeLeftInt = int(timeLeft + 0.5); // adding .5 and flooring rounds it. - - if ( timeLeftInt >= 40 && timeLeftInt <= 60 ) - level notify ( "match_ending_soon" ); - - if ( timeLeftInt >= 30 && timeLeftInt <= 40 ) - level notify ( "match_ending_pretty_soon" ); - - if ( timeLeftInt <= 10 || (timeLeftInt <= 30 && timeLeftInt % 2 == 0) ) - { - level notify ( "match_ending_very_soon" ); - // don't play a tick at exactly 0 seconds, that's when something should be happening! - if ( timeLeftInt == 0 ) - break; - - clockObject playSound( "ui_mp_timer_countdown" ); - } - - // synchronize to be exactly on the second - if ( timeLeft - floor(timeLeft) >= .05 ) - wait timeLeft - floor(timeLeft); - } - - wait ( 1.0 ); - } -} - -timeLimitClock_Intermission( waitTime ) -{ - setGameEndTime( getTime() + int(waitTime*1000) ); - clockObject = spawn( "script_origin", (0,0,0) ); - - if ( waitTime >= 10.0 ) - wait ( waitTime - 10.0 ); - - for ( ;; ) - { - clockObject playSound( "ui_mp_timer_countdown" ); - wait ( 1.0 ); - } -} - - -gameTimer() -{ - level endon ( "game_ended" ); - - level waittill("prematch_over"); - setmusicstate( "UNDERSCORE" ); - - level.startTime = getTime(); - level.discardTime = 0; - - if ( isDefined( game["roundMillisecondsAlreadyPassed"] ) ) - { - level.startTime -= game["roundMillisecondsAlreadyPassed"]; - game["roundMillisecondsAlreadyPassed"] = undefined; - } - - prevtime = gettime(); - - while ( game["state"] == "playing" ) - { - if ( !level.timerStopped ) - { - // the wait isn't always exactly 1 second. dunno why. - game["timepassed"] += gettime() - prevtime; - } - prevtime = gettime(); - wait ( 1.0 ); - } -} - -getTimePassed() -{ - if ( !isDefined( level.startTime ) ) - return 0; - - if ( level.timerStopped ) - return (level.timerPauseTime - level.startTime) - level.discardTime; - else - return (gettime() - level.startTime) - level.discardTime; - -} - - -pauseTimer() -{ - if ( level.timerStopped ) - return; - - level.timerStopped = true; - level.timerPauseTime = gettime(); -} - - -resumeTimer() -{ - if ( !level.timerStopped ) - return; - - level.timerStopped = false; - level.discardTime += gettime() - level.timerPauseTime; -} - - -startGame() -{ - thread gameTimer(); - level.timerStopped = false; - thread maps\mp\gametypes\_spawnlogic::spawnPerFrameUpdate(); - - prematchPeriod(); - level notify("prematch_over"); - - thread timeLimitClock(); - thread gracePeriod(); - - thread musicController(); - thread maps\mp\gametypes\_missions::roundBegin(); -} - - -musicController() -{ - level endon ( "game_ended" ); - - /*if ( !level.hardcoreMode ) - thread suspenseMusic();*/ - - level waittill ( "match_ending_soon" ); - - if ( level.roundLimit == 1 || game["roundsplayed"] == (level.roundLimit - 1) ) - { - if ( !level.splitScreen ) - { - if ( game["teamScores"]["allies"] > game["teamScores"]["axis"] ) - { - /*if ( !level.hardcoreMode ) - { - playSoundOnPlayers( game["music"]["winning"], "allies" ); - playSoundOnPlayers( game["music"]["losing"], "axis" ); - }*/ - - leaderDialog( "winning", "allies", undefined, undefined, "squad_winning" ); - leaderDialog( "losing", "axis", undefined, undefined , "squad_losing" ); - } - else if ( game["teamScores"]["axis"] > game["teamScores"]["allies"] ) - { - /*if ( !level.hardcoreMode ) - { - playSoundOnPlayers( game["music"]["winning"], "axis" ); - playSoundOnPlayers( game["music"]["losing"], "allies" ); - }*/ - - leaderDialog( "winning", "axis", undefined, undefined, "squad_winning" ); - leaderDialog( "losing", "allies", undefined, undefined , "squad_losing" ); - } - else - { - /*if ( !level.hardcoreMode ) - playSoundOnPlayers( game["music"]["losing"] );*/ - - leaderDialog( "timesup", "axis", undefined, undefined , "squad_30sec" ); - leaderDialog( "timesup", "allies", undefined, undefined , "squad_30sec" ); - } - - level waittill ( "match_ending_pretty_soon" ); - setmusicstate( "MATCH_END" ); - - level waittill ( "match_ending_very_soon" ); - leaderDialog( "timesup", "axis", undefined, undefined , "squad_30sec" ); - leaderDialog( "timesup", "allies", undefined, undefined , "squad_30sec" ); - } - } - else - { - //if ( !level.hardcoreMode ) - //playSoundOnPlayers( game["music"]["losing"] ); - - level waittill ( "match_ending_pretty_soon" ); - setmusicstate( "MATCH_END" ); - - leaderDialog( "timesup" ); - } -} - - -suspenseMusic() -{ - level endon ( "game_ended" ); - level endon ( "match_ending_soon" ); - - numTracks = game["music"]["suspense"].size; - for ( ;; ) - { - wait ( randomFloatRange( 60, 120 ) ); - - playSoundOnPlayers( game["music"]["suspense"][randomInt(numTracks)] ); - } -} - - -waitForPlayers() -{ - /* - if ( level.teamBased ) - while( !level.everExisted[ "axis" ] || !level.everExisted[ "allies" ] ) - wait ( 0.05 ); - else - while ( level.maxPlayerCount < 2 ) - wait ( 0.05 ); - */ -} - - -prematchPeriod() -{ - makeDvarServerInfo( "ui_hud_hardcore", 1 ); - setDvar( "ui_hud_hardcore", 1 ); - level endon( "game_ended" ); - - if ( level.prematchPeriod > 0 ) - { - thread matchStartTimer(); - - waitForPlayers(); - - wait ( level.prematchPeriod ); - } - else - { - matchStartTimerSkip(); - } - - level.inPrematchPeriod = false; - - for ( index = 0; index < level.players.size; index++ ) - { - level.players[index] freezeControls( false ); - level.players[index] enableWeapons(); - - hintMessage = getObjectiveHintText( level.players[index].pers["team"] ); - if ( !isDefined( hintMessage ) || !level.players[index].hasSpawned ) - continue; - - level.players[index] setClientDvar( "scr_objectiveText", hintMessage ); - level.players[index] thread maps\mp\gametypes\_hud_message::hintMessage( hintMessage ); - - } - - leaderDialog( "offense_obj", game["attackers"], "introboost" ); - leaderDialog( "defense_obj", game["defenders"], "introboost" ); - - if ( game["state"] != "playing" ) - return; - - setDvar( "ui_hud_hardcore", level.hardcoreMode ); -} - - -gracePeriod() -{ - level endon("game_ended"); - - wait ( level.gracePeriod ); - - level notify ( "grace_period_ending" ); - wait ( 0.05 ); - - level.inGracePeriod = false; - - if ( game["state"] != "playing" ) - return; - - if ( level.numLives ) - { - // Players on a team but without a weapon show as dead since they can not get in this round - players = level.players; - - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - - if ( !player.hasSpawned && player.sessionteam != "spectator" && !isAlive( player ) ) - player.statusicon = "hud_status_dead"; - } - } - - level thread updateTeamStatus(); -} - - -announceRoundWinner( winner, delay ) -{ - if ( delay > 0 ) - wait delay; - - if ( !isDefined( winner ) || isPlayer( winner ) ) - return; - - if ( winner == "allies" ) - { - thread playSoundOnPlayers( "mx_round_win"+"_"+level.teamPrefix["allies"] ); - thread playSoundOnPlayers( "mx_round_loss"+"_"+level.teamPrefix["axis"] ); - leaderDialog( "round_success", "allies" ); - leaderDialog( "round_failure", "axis" ); - } - else if ( winner == "axis" ) - { - thread playSoundOnPlayers( "mx_round_loss"+"_"+level.teamPrefix["allies"] ); - thread playSoundOnPlayers( "mx_round_win"+"_"+level.teamPrefix["axis"] ); - leaderDialog( "round_success", "axis" ); - leaderDialog( "round_failure", "allies" ); - } - else - { - thread playSoundOnPlayers( "mx_round_draw"+"_"+level.teamPrefix["allies"] ); - thread playSoundOnPlayers( "mx_round_draw"+"_"+level.teamPrefix["axis"] ); -// leaderDialog( "mission_draw" ); - } -} - - -announceGameWinner( winner, delay ) -{ - if ( delay > 0 ) - wait delay; - - if ( !isDefined( winner ) || isPlayer( winner ) ) - return; - - if ( winner == "allies" ) - { - leaderDialog( "mission_success", "allies" ); - leaderDialog( "mission_failure", "axis" ); - } - else if ( winner == "axis" ) - { - leaderDialog( "mission_success", "axis" ); - leaderDialog( "mission_failure", "allies" ); - } - else - { - leaderDialog( "mission_draw" ); - } -} - -updateWinStats( winner ) -{ - winner maps\mp\gametypes\_persistence::statAdd( "losses", -1 ); - - println( "setting winner: " + winner maps\mp\gametypes\_persistence::statGet( "wins" ) ); - winner maps\mp\gametypes\_persistence::statAdd( "wins", 1 ); - winner updatePersRatio( "wlratio", "wins", "losses" ); - winner maps\mp\gametypes\_persistence::statAdd( "cur_win_streak", 1 ); - - cur_gamemode_win_streak = winner maps\mp\gametypes\_persistence::statGetWithGameType( "cur_win_streak" ); - gamemode_win_streak = winner maps\mp\gametypes\_persistence::statGetWithGameType( "win_streak" ); - - cur_win_streak = winner maps\mp\gametypes\_persistence::statGet( "cur_win_streak" ); - if ( cur_win_streak > winner maps\mp\gametypes\_persistence::statGet( "win_streak" ) ) - { - winner maps\mp\gametypes\_persistence::statSet( "win_streak", cur_win_streak, false ); - } - - if ( cur_gamemode_win_streak > gamemode_win_streak ) - { - winner maps\mp\gametypes\_persistence::statSetWithGameType( "win_streak", cur_gamemode_win_streak ); - } - -} - - -updateLossStats( loser ) -{ - loser maps\mp\gametypes\_persistence::statAdd( "losses", 1 ); - loser updatePersRatio( "wlratio", "wins", "losses" ); -} - - -updateTieStats( loser ) -{ - loser maps\mp\gametypes\_persistence::statAdd( "losses", -1 ); - - loser maps\mp\gametypes\_persistence::statAdd( "ties", 1 ); - loser updatePersRatio( "wlratio", "wins", "losses" ); - loser maps\mp\gametypes\_persistence::statSet( "cur_win_streak", 0 ); -} - - -updateWinLossStats( winner ) -{ - if ( level.roundLimit > 1 && !hitRoundLimit() && !level.hostForcedEnd ) - return; - - players = level.players; - - if ( !isDefined( winner ) || ( isDefined( winner ) && !isPlayer( winner ) && winner == "tie" ) ) - { - for ( i = 0; i < players.size; i++ ) - { - if ( !isDefined( players[i].pers["team"] ) ) - continue; - - if ( level.hostForcedEnd && players[i] getEntityNumber() == 0 ) - continue; - - updateTieStats( players[i] ); - } - } - else if ( isPlayer( winner ) ) - { - if ( level.hostForcedEnd && winner getEntityNumber() == 0 ) - return; - - updateWinStats( winner ); - } - else - { - for ( i = 0; i < players.size; i++ ) - { - if ( !isDefined( players[i].pers["team"] ) ) - continue; - - if ( level.hostForcedEnd && players[i] getEntityNumber() == 0 ) - continue; - - if ( winner == "tie" ) - updateTieStats( players[i] ); - else if ( players[i].pers["team"] == winner ) - updateWinStats( players[i] ); - else - players[i] maps\mp\gametypes\_persistence::statSet( "cur_win_streak", 0 ); - - } - } -} - - -TimeUntilWaveSpawn( minimumWait ) -{ - // the time we'll spawn if we only wait the minimum wait. - earliestSpawnTime = gettime() + minimumWait * 1000; - - lastWaveTime = level.lastWave[self.pers["team"]]; - waveDelay = level.waveDelay[self.pers["team"]] * 1000; - - // the number of waves that will have passed since the last wave happened, when the minimum wait is over. - numWavesPassedEarliestSpawnTime = (earliestSpawnTime - lastWaveTime) / waveDelay; - // rounded up - numWaves = ceil( numWavesPassedEarliestSpawnTime ); - - timeOfSpawn = lastWaveTime + numWaves * waveDelay; - - // avoid spawning everyone on the same frame - if ( isdefined( self.waveSpawnIndex ) ) - timeOfSpawn += 50 * self.waveSpawnIndex; - - return (timeOfSpawn - gettime()) / 1000; -} - -ShouldTeamKillKick(teamKillDelay) -{ - if ( teamKillDelay && maps\mp\gametypes\_tweakables::getTweakableValue( "team", "kickteamkillers" ) ) - { - // if its more then 5 seconds into the match and we have a delay then just kick them - if ( getTimePassed() >= 5000 ) - { - return true; - } - - // if its under 5 seconds into the match only kick them if they have killed more then one players so far - if ( self.pers["teamkills_nostats"] > 1 ) - { - return true; - } - } - - return false; -} - -TeamKillKick() -{ - self incPersStat( "sessionbans", 1 ); - - self endon("disconnect"); - waittillframeend; - - //for test purposes lets lock them out of certain game type for 2mins - - playlistbanquantum = maps\mp\gametypes\_tweakables::getTweakableValue( "team", "teamkillerplaylistbanquantum" ); - playlistbanpenalty = maps\mp\gametypes\_tweakables::getTweakableValue( "team", "teamkillerplaylistbanpenalty" ); - if ( playlistbanquantum > 0 && playlistbanpenalty > 0 ) - { - timeplayedtotal = self maps\mp\gametypes\_persistence::statGet( "time_played_total" ); - minutesplayed = timeplayedtotal / 60; - - freebees = 2; - - banallowance = int( floor(minutesplayed / playlistbanquantum) ) + freebees; - - if ( self.sessionbans > banallowance ) - { - self maps\mp\gametypes\_persistence::statSet( "gametypeban", timeplayedtotal + (playlistbanpenalty * 60) ); - } - } - - // no waiting because then they could quit and rejoin before the ban -// self setLowerMessage( &"MP_FRIENDLY_FIRE_WILL_NOT", 2 ); - - ban( self getentitynumber() ); - leaderDialog( "kicked" ); -} - -TeamKillDelay() -{ - teamkills = self.pers["teamkills_nostats"]; - if ( level.minimumAllowedTeamKills < 0 || teamkills <= level.minimumAllowedTeamKills ) - return 0; - - exceeded = (teamkills - level.minimumAllowedTeamKills); - return maps\mp\gametypes\_tweakables::getTweakableValue( "team", "teamkillspawndelay" ) * exceeded; -} - - -TimeUntilSpawn( includeTeamkillDelay ) -{ - if ( level.inGracePeriod && !self.hasSpawned ) - return 0; - - respawnDelay = 0; - if ( self.hasSpawned ) - { - result = self [[level.onRespawnDelay]](); - if ( isDefined( result ) ) - respawnDelay = result; - else - respawnDelay = getDvarInt( "scr_" + level.gameType + "_playerrespawndelay" ); - - if ( includeTeamkillDelay && self.teamKillPunish ) - respawnDelay += TeamKillDelay(); - } - - waveBased = (getDvarInt( "scr_" + level.gameType + "_waverespawndelay" ) > 0); - - if ( waveBased ) - return self TimeUntilWaveSpawn( respawnDelay ); - - return respawnDelay; -} - - -maySpawn() -{ - if ( level.inOvertime ) - return false; - - if ( level.numLives ) - { - if ( level.teamBased ) - gameHasStarted = ( level.everExisted[ "axis" ] && level.everExisted[ "allies" ] ); - else - gameHasStarted = (level.maxPlayerCount > 1); - - if ( !self.pers["lives"] && gameHasStarted ) - { - return false; - } - else if ( gameHasStarted ) - { - // disallow spawning for late comers - if ( !level.inGracePeriod && !self.hasSpawned ) - return false; - } - } - return true; -} - -spawnClient( timeAlreadyPassed ) -{ - assert( isDefined( self.team ) ); - assert( isValidClass( self.class ) ); - - if ( !self maySpawn() ) - { - currentorigin = self.origin; - currentangles = self.angles; - - shouldShowRespawnMessage = true; - if ( level.roundLimit > 1 && game["roundsplayed"] >= (level.roundLimit - 1) ) - shouldShowRespawnMessage = false; - if ( level.scoreLimit > 1 && level.teambased && game["teamScores"]["allies"] >= level.scoreLimit - 1 && game["teamScores"]["axis"] >= level.scoreLimit - 1 ) - shouldShowRespawnMessage = false; - if ( shouldShowRespawnMessage ) - { - setLowerMessage( game["strings"]["spawn_next_round"] ); - self thread removeSpawnMessageShortly( 3 ); - } - self thread [[level.spawnSpectator]]( currentorigin + (0, 0, 60), currentangles ); - return; - } - - if ( self.waitingToSpawn ) - return; - self.waitingToSpawn = true; - - self waitAndSpawnClient( timeAlreadyPassed ); - - if ( isdefined( self ) ) - self.waitingToSpawn = false; -} - -waitAndSpawnClient( timeAlreadyPassed ) -{ - self endon ( "disconnect" ); - self endon ( "end_respawn" ); - self endon ( "game_ended" ); - - if ( !isdefined( timeAlreadyPassed ) ) - timeAlreadyPassed = 0; - - spawnedAsSpectator = false; - - if ( self.teamKillPunish ) - { - teamKillDelay = TeamKillDelay(); - if ( teamKillDelay > timeAlreadyPassed ) - { - teamKillDelay -= timeAlreadyPassed; - timeAlreadyPassed = 0; - } - else - { - timeAlreadyPassed -= teamKillDelay; - teamKillDelay = 0; - } - - if ( teamKillDelay > 0 ) - { - setLowerMessage( &"MP_FRIENDLY_FIRE_WILL_NOT", teamKillDelay ); - - self thread respawn_asSpectator( self.origin + (0, 0, 60), self.angles ); - spawnedAsSpectator = true; - - wait( teamKillDelay ); - } - - self.teamKillPunish = false; - } - - if ( !isdefined( self.waveSpawnIndex ) && isdefined( level.wavePlayerSpawnIndex[self.team] ) ) - { - self.waveSpawnIndex = level.wavePlayerSpawnIndex[self.team]; - level.wavePlayerSpawnIndex[self.team]++; - } - - timeUntilSpawn = TimeUntilSpawn( false ); - if ( timeUntilSpawn > timeAlreadyPassed ) - { - timeUntilSpawn -= timeAlreadyPassed; - timeAlreadyPassed = 0; - } - else - { - timeAlreadyPassed -= timeUntilSpawn; - timeUntilSpawn = 0; - } - - if ( timeUntilSpawn > 0 ) - { - // spawn player into spectator on death during respawn delay, if he switches teams during this time, he will respawn next round - setLowerMessage( game["strings"]["waiting_to_spawn"], timeUntilSpawn ); - //showSafeSpawnMessage(); - //thread waitSafeSpawnButton(); - - if ( !spawnedAsSpectator ) - self thread respawn_asSpectator( self.origin + (0, 0, 60), self.angles ); - spawnedAsSpectator = true; - - self waitForTimeOrNotify( timeUntilSpawn, "force_spawn" ); - - self notify("stop_wait_safe_spawn_button"); - } - - waveBased = (getDvarInt( "scr_" + level.gameType + "_waverespawndelay" ) > 0); - if ( maps\mp\gametypes\_tweakables::getTweakableValue( "player", "forcerespawn" ) == 0 && self.hasSpawned && !waveBased && !self.wantSafeSpawn ) - { - setLowerMessage( game["strings"]["press_to_spawn"] ); - //showSafeSpawnMessage(); - - if ( !spawnedAsSpectator ) - self thread respawn_asSpectator( self.origin + (0, 0, 60), self.angles ); - spawnedAsSpectator = true; - - self waitRespawnOrSafeSpawnButton(); - } - - //hideSafeSpawnMessage(); - - /* - if ( self.wantSafeSpawn ) - { - setLowerMessage( game["strings"]["waiting_to_safespawn"] ); - - timeToWait = randomfloatrange( 7.0, 12.0 ); - if ( randomint( 10 ) == 0 ) - timeToWait = randomfloatrange( 2.0, 7.0 ); - - if ( !spawnedAsSpectator ) - self thread respawn_asSpectator( self.origin + (0, 0, 60), self.angles ); - spawnedAsSpectator = true; - - /# println( "Safe spawn time: " + timeToWait ); #/ - self waitForTimeOrNotifyNoAirstrikes( timeToWait, "force_spawn" ); - - if ( level.inOvertime ) - return; - } - */ - - self.waitingToSpawn = false; - - self clearLowerMessage(); - - self.waveSpawnIndex = undefined; - -// self thread rumbler(); - - self thread [[level.spawnPlayer]](); -} - -rumbler() -{ - self endon("disconnect"); - while(1) - { - wait(0.1); - self PlayRumbleOnEntity( "damage_heavy" ); - } -} - -/*waitSafeSpawnButton() -{ - self endon ( "disconnect" ); - self endon ( "end_respawn" ); - self endon ( "game_ended" ); - self endon ( "stop_wait_safe_spawn_button" ); - - while(1) - { - if ( self fragButtonPressed() ) - break; - wait .05; - } - - self.wantSafeSpawn = true; - hideSafeSpawnMessage(); -}*/ - -waitRespawnOrSafeSpawnButton() -{ - self endon("disconnect"); - self endon("end_respawn"); - - while (1) - { - if ( self useButtonPressed() ) - break; - /*if ( self fragButtonPressed() ) - { - self.wantSafeSpawn = true; - break; - }*/ - wait .05; - } -} - -waitForTimeOrNotify( time, notifyname ) -{ - self endon( notifyname ); - wait time; -} - -waitForTimeOrNotifyNoArtillery( time, notifyname ) -{ - self endon( notifyname ); - wait time; - while( isDefined( level.artilleryInProgress ) ) - { - assert( level.artilleryInProgress ); // undefined or true - wait .25; - } -} - -/* -showSafeSpawnMessage() -{ - if ( level.splitscreen ) - return; - - // don't show it if they've already asked for a safe spawn - if ( self.wantSafeSpawn ) - return; - - if ( !isdefined( self.safeSpawnMsg ) ) - { - self.safeSpawnMsg = createFontString( "default", 1.4 ); - self.safeSpawnMsg setPoint( "CENTER", level.lowerTextYAlign, 0, level.lowerTextY + 50 ); - self.safeSpawnMsg setText( &"PLATFORM_PRESS_TO_SAFESPAWN" ); - self.safeSpawnMsg.archived = false; - } - self.safeSpawnMsg.alpha = 1; -} -hideSafeSpawnMessage() -{ - if ( !isdefined( self.safeSpawnMsg ) ) - return; - - self.safeSpawnMsg.alpha = 0; -} -*/ - - -removeSpawnMessageShortly( delay ) -{ - self endon("disconnect"); - - waittillframeend; // so we don't endon the end_respawn from spawning as a spectator - - self endon("end_respawn"); - - wait delay; - - self clearLowerMessage( 2.0 ); -} - - -Callback_StartGameType() -{ - level.prematchPeriod = 0; - level.intermission = false; - - if ( !isDefined( game["gamestarted"] ) ) - { - // defaults if not defined in level script - if ( !isDefined( game["allies"] ) ) - game["allies"] = "marines"; - if ( !isDefined( game["axis"] ) ) - game["axis"] = "japanese"; - if ( !isDefined( game["attackers"] ) ) - game["attackers"] = "allies"; - if ( !isDefined( game["defenders"] ) ) - game["defenders"] = "axis"; - - if ( !isDefined( game["state"] ) ) - game["state"] = "playing"; - - precacheStatusIcon( "hud_status_dead" ); - precacheStatusIcon( "hud_status_connecting" ); - - precacheRumble( "damage_heavy" ); - - precacheShader( "white" ); - precacheShader( "black" ); - - makeDvarServerInfo( "scr_allies", "usmc" ); - makeDvarServerInfo( "scr_axis", "japanese" ); - - makeDvarServerInfo( "cg_thirdPersonAngle", 354 ); - - setDvar( "cg_thirdPersonAngle", 354 ); - - game["strings"]["press_to_spawn"] = &"PLATFORM_PRESS_TO_SPAWN"; - if ( level.teamBased ) - { - game["strings"]["waiting_for_teams"] = &"MP_WAITING_FOR_TEAMS"; - game["strings"]["opponent_forfeiting_in"] = &"MP_OPPONENT_FORFEITING_IN"; - } - else - { - game["strings"]["waiting_for_teams"] = &"MP_WAITING_FOR_PLAYERS"; - game["strings"]["opponent_forfeiting_in"] = &"MP_OPPONENT_FORFEITING_IN"; - } - game["strings"]["match_starting_in"] = &"MP_MATCH_STARTING_IN"; - game["strings"]["spawn_next_round"] = &"MP_SPAWN_NEXT_ROUND"; - game["strings"]["waiting_to_spawn"] = &"MP_WAITING_TO_SPAWN"; - //game["strings"]["waiting_to_safespawn"] = &"MP_WAITING_TO_SAFESPAWN"; - game["strings"]["match_starting"] = &"MP_MATCH_STARTING"; - game["strings"]["change_class"] = &"MP_CHANGE_CLASS_NEXT_SPAWN"; - game["strings"]["last_stand"] = &"MPUI_LAST_STAND"; - - game["strings"]["cowards_way"] = &"PLATFORM_COWARDS_WAY_OUT"; - - game["strings"]["tie"] = &"MP_MATCH_TIE"; - game["strings"]["round_draw"] = &"MP_ROUND_DRAW"; - - game["strings"]["enemies_eliminated"] = &"MP_ENEMIES_ELIMINATED"; - game["strings"]["score_limit_reached"] = &"MP_SCORE_LIMIT_REACHED"; - game["strings"]["round_limit_reached"] = &"MP_ROUND_LIMIT_REACHED"; - game["strings"]["time_limit_reached"] = &"MP_TIME_LIMIT_REACHED"; - game["strings"]["players_forfeited"] = &"MP_PLAYERS_FORFEITED"; - - switch ( game["allies"] ) - { - case "russian": - game["strings"]["allies_win"] = &"MP_RUSSIAN_WIN_MATCH"; - game["strings"]["allies_win_round"] = &"MP_RUSSIAN_WIN_ROUND"; - game["strings"]["allies_mission_accomplished"] = &"MP_RUSSIAN_MISSION_ACCOMPLISHED"; - game["strings"]["allies_eliminated"] = &"MP_RUSSIAN_ELIMINATED"; - game["strings"]["allies_forfeited"] = &"MP_RUSSIAN_FORFEITED"; - game["strings"]["allies_name"] = &"MP_RUSSIAN_NAME"; - - game["music"]["spawn_allies"] = "mp_spawn_soviet"; - game["music"]["victory_allies"] = "mp_victory_soviet"; - game["icons"]["allies"] = "faction_128_soviet"; - game["colors"]["allies"] = (0,0,0); - game["voice"]["allies"] = "RU_1mc_"; - setDvar( "scr_allies", "ussr" ); - break; - default: - case "marines": - game["strings"]["allies_win"] = &"MP_MARINE_WIN_MATCH"; - game["strings"]["allies_win_round"] = &"MP_MARINE_WIN_ROUND"; - game["strings"]["allies_mission_accomplished"] = &"MP_MARINE_MISSION_ACCOMPLISHED"; - game["strings"]["allies_eliminated"] = &"MP_MARINE_ELIMINATED"; - game["strings"]["allies_forfeited"] = &"MP_MARINE_FORFEITED"; - game["strings"]["allies_name"] = &"MP_MARINE_NAME"; - - game["music"]["spawn_allies"] = "mp_spawn_usa"; - game["music"]["victory_allies"] = "mp_victory_usa"; - game["icons"]["allies"] = "faction_128_american"; - game["colors"]["allies"] = (0.6,0.64,0.69); - game["voice"]["allies"] = "US_1mc_"; - setDvar( "scr_allies", "usmc" ); - break; - } - switch ( game["axis"] ) - { - case "german": - game["strings"]["axis_win"] = &"MP_GERMAN_WIN_MATCH"; - game["strings"]["axis_win_round"] = &"MP_GERMAN_WIN_ROUND"; - game["strings"]["axis_mission_accomplished"] = &"MP_GERMAN_MISSION_ACCOMPLISHED"; - game["strings"]["axis_eliminated"] = &"MP_GERMAN_ELIMINATED"; - game["strings"]["axis_forfeited"] = &"MP_GERMAN_FORFEITED"; - game["strings"]["axis_name"] = &"MP_GERMAN_NAME"; - - game["music"]["spawn_axis"] = "mp_spawn_german"; - game["music"]["victory_axis"] = "mp_victory_german"; - game["icons"]["axis"] = "faction_128_german"; - game["colors"]["axis"] = (0.65,0.57,0.41); - game["voice"]["axis"] = "GE_1mc_"; - setDvar( "scr_axis", "german" ); - break; - default: - case "japanese": - game["strings"]["axis_win"] = &"MP_JAPANESE_WIN_MATCH"; - game["strings"]["axis_win_round"] = &"MP_JAPANESE_WIN_ROUND"; - game["strings"]["axis_mission_accomplished"] = &"MP_JAPANESE_MISSION_ACCOMPLISHED"; - game["strings"]["axis_eliminated"] = &"MP_JAPANESE_ELIMINATED"; - game["strings"]["axis_forfeited"] = &"MP_JAPANESE_FORFEITED"; - game["strings"]["axis_name"] = &"MP_JAPANESE_NAME"; - - game["music"]["spawn_axis"] = "mp_spawn_japanese"; - game["music"]["victory_axis"] = "mp_victory_japanese"; - game["icons"]["axis"] = "faction_128_japan"; - game["colors"]["axis"] = (0.52,0.28,0.28); - game["voice"]["axis"] = "JP_1mc_"; - setDvar( "scr_axis", "japanese" ); - break; - } - game["music"]["defeat"] = "mp_defeat"; - game["music"]["victory_spectator"] = "mp_defeat"; - game["music"]["winning"] = "mp_time_running_out_winning"; - game["music"]["losing"] = "mp_time_running_out_losing"; - game["music"]["match_end"] = "mx_match_end"; - game["music"]["victory_tie"] = "mp_defeat"; - - game["music"]["suspense"] = []; - game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_01"; - game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_02"; - game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_03"; - game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_04"; - game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_05"; - game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_06"; - - game["dialog"]["mission_success"] = "mission_success"; - game["dialog"]["mission_failure"] = "mission_fail"; - game["dialog"]["mission_draw"] = "draw"; - - game["dialog"]["round_success"] = "encourage_win"; - game["dialog"]["round_failure"] = "encourage_lost"; - game["dialog"]["round_draw"] = "draw"; - - // status - game["dialog"]["timesup"] = "timesup"; - game["dialog"]["winning"] = "winning"; - game["dialog"]["losing"] = "losing"; - game["dialog"]["lead_lost"] = "lead_lost"; - game["dialog"]["lead_tied"] = "tied"; - game["dialog"]["lead_taken"] = "lead_taken"; - game["dialog"]["last_alive"] = "lastalive"; - - game["dialog"]["boost"] = "boost"; - - if ( !isDefined( game["dialog"]["offense_obj"] ) ) - game["dialog"]["offense_obj"] = "boost"; - if ( !isDefined( game["dialog"]["defense_obj"] ) ) - game["dialog"]["defense_obj"] = "boost"; - - game["dialog"]["hardcore"] = "hardcore"; - game["dialog"]["oldschool"] = "oldschool"; - game["dialog"]["highspeed"] = "highspeed"; - game["dialog"]["tactical"] = "tactical"; - - game["dialog"]["challenge"] = "challengecomplete"; - game["dialog"]["promotion"] = "promotion"; - - game["dialog"]["bomb_taken"] = "bomb_taken"; - game["dialog"]["bomb_lost"] = "bomb_lost"; - game["dialog"]["bomb_defused"] = "bomb_defused"; - game["dialog"]["bomb_planted"] = "bomb_planted"; - - game["dialog"]["obj_taken"] = "securedobj"; - game["dialog"]["obj_lost"] = "lostobj"; - - game["dialog"]["obj_defend"] = "obj_defend"; - game["dialog"]["obj_destroy"] = "obj_destroy"; - game["dialog"]["obj_capture"] = "capture_obj"; - game["dialog"]["objs_capture"] = "capture_objs"; - - game["dialog"]["hq_located"] = "hq_located"; - game["dialog"]["hq_enemy_captured"] = "hq_captured"; - game["dialog"]["hq_enemy_destroyed"] = "hq_destroyed"; - game["dialog"]["hq_secured"] = "hq_secured"; - game["dialog"]["hq_offline"] = "hq_offline"; - game["dialog"]["hq_online"] = "hq_online"; - - game["dialog"]["move_to_new"] = "new_positions"; - - game["dialog"]["attack"] = "attack"; - game["dialog"]["defend"] = "defend"; - game["dialog"]["offense"] = "offense"; - game["dialog"]["defense"] = "defense"; - - game["dialog"]["halftime"] = "halftime"; - game["dialog"]["overtime"] = "overtime"; - game["dialog"]["finalfight"] = "finalfight"; - game["dialog"]["side_switch"] = "switching"; - - game["dialog"]["flag_taken"] = "ourflag"; - game["dialog"]["flag_dropped"] = "ourflag_drop"; - game["dialog"]["flag_returned"] = "ourflag_return"; - game["dialog"]["flag_captured"] = "ourflag_capt"; - game["dialog"]["enemy_flag_taken"] = "enemyflag"; - game["dialog"]["enemy_flag_dropped"] = "enemyflag_drop"; - game["dialog"]["enemy_flag_returned"] = "enemyflag_return"; - game["dialog"]["enemy_flag_captured"] = "enemyflag_capt"; - - game["dialog"]["capturing_a"] = "capturing_a"; - game["dialog"]["capturing_b"] = "capturing_b"; - game["dialog"]["capturing_c"] = "capturing_c"; - game["dialog"]["capturing_d"] = "capturing_d"; - game["dialog"]["capturing_e"] = "capturing_e"; - game["dialog"]["capturing_f"] = "capturing_f"; - game["dialog"]["captured_a"] = "capture_a"; - game["dialog"]["captured_b"] = "capture_b"; - game["dialog"]["captured_c"] = "capture_c"; - game["dialog"]["captured_d"] = "capture_d"; - game["dialog"]["captured_e"] = "capture_e"; - game["dialog"]["captured_f"] = "capture_f"; - - game["dialog"]["securing_a"] = "securing_a"; - game["dialog"]["securing_b"] = "securing_b"; - game["dialog"]["securing_c"] = "securing_c"; - game["dialog"]["securing_d"] = "securing_d"; - game["dialog"]["securing_e"] = "securing_e"; - game["dialog"]["securing_f"] = "securing_f"; - game["dialog"]["secured_a"] = "secure_a"; - game["dialog"]["secured_b"] = "secure_b"; - game["dialog"]["secured_c"] = "secure_c"; - game["dialog"]["secured_d"] = "secure_d"; - game["dialog"]["secured_e"] = "secure_e"; - game["dialog"]["secured_f"] = "secure_f"; - - game["dialog"]["losing_a"] = "losing_a"; - game["dialog"]["losing_b"] = "losing_b"; - game["dialog"]["losing_c"] = "losing_c"; - game["dialog"]["losing_d"] = "losing_d"; - game["dialog"]["losing_e"] = "losing_e"; - game["dialog"]["losing_f"] = "losing_f"; - game["dialog"]["lost_a"] = "lost_a"; - game["dialog"]["lost_b"] = "lost_b"; - game["dialog"]["lost_c"] = "lost_c"; - game["dialog"]["lost_d"] = "lost_d"; - game["dialog"]["lost_e"] = "lost_e"; - game["dialog"]["lost_f"] = "lost_f"; - - game["dialog"]["enemy_taking_a"] = "enemy_take_a"; - game["dialog"]["enemy_taking_b"] = "enemy_take_b"; - game["dialog"]["enemy_taking_c"] = "enemy_take_c"; - game["dialog"]["enemy_taking_d"] = "enemy_take_d"; - game["dialog"]["enemy_taking_e"] = "enemy_take_e"; - game["dialog"]["enemy_taking_f"] = "enemy_take_f"; - game["dialog"]["enemy_has_a"] = "enemy_has_a"; - game["dialog"]["enemy_has_b"] = "enemy_has_b"; - game["dialog"]["enemy_has_c"] = "enemy_has_c"; - game["dialog"]["enemy_has_d"] = "enemy_has_d"; - game["dialog"]["enemy_has_e"] = "enemy_has_e"; - game["dialog"]["enemy_has_f"] = "enemy_has_f"; - - //War - game["dialog"]["secure_flag"] = "secure_flag"; - game["dialog"]["securing_flag"] = "securing_flag"; - game["dialog"]["losing_flag"] = "losing_flag"; - game["dialog"]["lost_flag"] = "lost_flag"; - game["dialog"]["oneflag_enemy"] = "oneflag_enemy"; - game["dialog"]["oneflag_friendly"] = "oneflag_friendly"; - - game["dialog"]["lost_all"] = "take_positions"; - game["dialog"]["secure_all"] = "positions_lock"; - - //squads - game["dialog"]["squad_move"] = "squad_move"; - game["dialog"]["squad_30sec"] = "squad_30sec"; - game["dialog"]["squad_winning"] = "squad_onemin_vic"; - game["dialog"]["squad_losing"] = "squad_onemin_loss"; - game["dialog"]["squad_down"] = "squad_down"; - game["dialog"]["squad_bomb"] = "squad_bomb"; - game["dialog"]["squad_plant"] = "squad_plant"; - game["dialog"]["squad_take"] = "squad_takeobj"; - - //Player kicked - game["dialog"]["kicked"] = "player_kicked"; - - [[level.onPrecacheGameType]](); - - game["gamestarted"] = true; - - game["teamScores"]["allies"] = 0; - game["teamScores"]["axis"] = 0; - - if ( !level.splitscreen ) - level.prematchPeriod = maps\mp\gametypes\_tweakables::getTweakableValue( "game", "graceperiod" ); // TODO rename to prematch and update files to match - } - - if(!isdefined(game["timepassed"])) - game["timepassed"] = 0; - - if(!isdefined(game["roundsplayed"])) - game["roundsplayed"] = 0; - - level.skipVote = false; - level.gameEnded = false; - level.teamSpawnPoints["axis"] = []; - level.teamSpawnPoints["allies"] = []; - - level.objIDStart = 0; - level.forcedEnd = false; - level.hostForcedEnd = false; - - level.hardcoreMode = getDvarInt( "scr_hardcore" ); - if ( level.hardcoreMode ) - logString( "game mode: hardcore" ); - - // this gets set to false when someone takes damage or a gametype-specific event happens. - level.useStartSpawns = true; - - // set to 0 to disable - if ( getdvar( "scr_teamKillPunishCount" ) == "" ) - setdvar( "scr_teamKillPunishCount", "3" ); - level.minimumAllowedTeamKills = getdvarint( "scr_teamKillPunishCount" ) - 1; // punishment starts at the next one - - if( getdvar( "r_reflectionProbeGenerate" ) == "1" ) - level waittill( "eternity" ); - - thread maps\mp\gametypes\_persistence::init(); - thread maps\mp\gametypes\_menus::init(); - thread maps\mp\gametypes\_hud::init(); - thread maps\mp\gametypes\_serversettings::init(); - thread maps\mp\gametypes\_clientids::init(); - thread maps\mp\gametypes\_teams::init(); - thread maps\mp\gametypes\_weapons::init(); - thread maps\mp\gametypes\_scoreboard::init(); - thread maps\mp\gametypes\_killcam::init(); - thread maps\mp\gametypes\_shellshock::init(); - thread maps\mp\gametypes\_deathicons::init(); - thread maps\mp\gametypes\_damagefeedback::init(); - thread maps\mp\gametypes\_healthoverlay::init(); - thread maps\mp\gametypes\_spectating::init(); - thread maps\mp\gametypes\_objpoints::init(); - thread maps\mp\gametypes\_gameobjects::init(); - thread maps\mp\gametypes\_spawnlogic::init(); - thread maps\mp\gametypes\_oldschool::init(); - thread maps\mp\gametypes\_battlechatter_mp::init(); - - thread maps\mp\gametypes\_hardpoints::init(); - - // CODER MOD : Sumeet - Added _squad.gsc to handle all - // squad perk system related tasks. - //if ( level.teamBased ) - thread maps\mp\gametypes\_squad::init(); - - if ( level.teamBased ) - thread maps\mp\gametypes\_friendicons::init(); - - thread maps\mp\gametypes\_hud_message::init(); - - if ( !level.console ) - thread maps\mp\gametypes\_quickmessages::init(); - - stringNames = getArrayKeys( game["strings"] ); - for ( index = 0; index < stringNames.size; index++ ) - { - if( !IsString( game["strings"][stringNames[index]] ) ) - { - PrecacheString( game["strings"][stringNames[index]] ); - } - } - - level.maxPlayerCount = 0; - level.playerCount["allies"] = 0; - level.playerCount["axis"] = 0; - level.aliveCount["allies"] = 0; - level.aliveCount["axis"] = 0; - level.playerLives["allies"] = 0; - level.playerLives["axis"] = 0; - level.lastAliveCount["allies"] = 0; - level.lastAliveCount["axis"] = 0; - level.everExisted["allies"] = false; - level.everExisted["axis"] = false; - level.waveDelay["allies"] = 0; - level.waveDelay["axis"] = 0; - level.lastWave["allies"] = 0; - level.lastWave["axis"] = 0; - level.wavePlayerSpawnIndex["allies"] = 0; - level.wavePlayerSpawnIndex["axis"] = 0; - level.alivePlayers["allies"] = []; - level.alivePlayers["axis"] = []; - level.activePlayers = []; - level.squads["allies"] = []; - level.squads["axis"] = []; - - level.allowAnnouncer = getdvarint( "scr_allowannouncer" ); - - if ( !isDefined( level.timeLimit ) ) - registerTimeLimitDvar( "default", 10, 1, 1440 ); - - if ( !isDefined( level.scoreLimit ) ) - registerScoreLimitDvar( "default", 100, 1, 500 ); - - if ( !isDefined( level.roundLimit ) ) - registerRoundLimitDvar( "default", 1, 0, 10 ); - - makeDvarServerInfo( "ui_scorelimit" ); - makeDvarServerInfo( "ui_timelimit" ); - makeDvarServerInfo( "ui_allow_classchange", getDvar( "ui_allow_classchange" ) ); - makeDvarServerInfo( "ui_allow_teamchange", getDvar( "ui_allow_teamchange" ) ); - - waveDelay = getDvarInt( "scr_" + level.gameType + "_waverespawndelay" ); - if ( waveDelay ) - { - level.waveDelay["allies"] = waveDelay; - level.waveDelay["axis"] = waveDelay; - level.lastWave["allies"] = 0; - level.lastWave["axis"] = 0; - - level thread [[level.waveSpawnTimer]](); - } - - level.inPrematchPeriod = true; - - if ( level.prematchPeriod > 2.0 ) - level.prematchPeriod = level.prematchPeriod + (randomFloat( 4 ) - 2); // live host obfuscation - - if ( level.numLives || level.waveDelay["allies"] || level.waveDelay["axis"] ) - level.gracePeriod = 15; - else - level.gracePeriod = 5; - - level.inGracePeriod = true; - - level.roundEndDelay = 5; - level.halftimeRoundEndDelay = 3; - - updateTeamScores( "axis", "allies" ); - - if ( !level.teamBased ) - thread initialDMScoreUpdate(); - - [[level.onStartGameType]](); - - // this must be after onstartgametype for scr_showspawns to work when set at start of game - /# - thread maps\mp\gametypes\_dev::init(); - #/ - - thread startGame(); - level thread updateGameTypeDvars(); -} - -initialDMScoreUpdate() -{ - // the first time we call updateDMScores on a player, we have to send them the whole scoreboard. - // by calling updateDMScores on each player one at a time, - // we can avoid having to send the entire scoreboard to every single player - // the first time someone kills someone else. - wait .2; - numSent = 0; - while(1) - { - didAny = false; - - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - - if ( !isdefined( player ) ) - continue; - - if ( isdefined( player.updatedDMScores ) ) - continue; - - player.updatedDMScores = true; - player updateDMScores(); - - didAny = true; - wait .5; - } - - if ( !didAny ) - wait 3; // let more players connect - } -} - -checkRoundSwitch() -{ - if ( !isdefined( level.roundSwitch ) || !level.roundSwitch ) - return false; - if ( !isdefined( level.onRoundSwitch ) ) - return false; - - assert( game["roundsplayed"] > 0 ); - - if ( game["roundsplayed"] % level.roundswitch == 0 ) - { - [[level.onRoundSwitch]](); - return true; - } - - return false; -} - - -getGameScore( team ) -{ - return game["teamScores"][team]; -} - - -fakeLag() -{ - self endon ( "disconnect" ); - self.fakeLag = randomIntRange( 50, 150 ); - - for ( ;; ) - { - self setClientDvar( "fakelag_target", self.fakeLag ); - wait ( randomFloatRange( 5.0, 15.0 ) ); - } -} - -listenForGameEnd() -{ - self waittill( "host_sucks_end_game" ); - if ( level.console ) - endparty(); - level.skipVote = true; - - if ( !level.gameEnded ) - level thread maps\mp\gametypes\_globallogic::forceEnd(true); -} - - -Callback_PlayerConnect() -{ - thread notifyConnecting(); - - self.statusicon = "hud_status_connecting"; - self waittill( "begin" ); - waittillframeend; - self.statusicon = ""; - - level notify( "connected", self ); - -// self thread fakeLag(); - if ( level.console && self getEntityNumber() == 0 ) - self thread listenForGameEnd(); - - // only print that we connected if we haven't connected in a previous round - if( !level.splitscreen && !isdefined( self.pers["score"] ) ) - iPrintLn(&"MP_CONNECTED", self); - - lpselfnum = self getEntityNumber(); - lpGuid = self getGuid(); - logPrint("J;" + lpGuid + ";" + lpselfnum + ";" + self.name + "\n"); - - self setClientDvars( "cg_drawSpectatorMessages", 1, - "ui_hud_hardcore", getDvar( "ui_hud_hardcore" ), - "player_sprintTime", getDvar( "scr_player_sprinttime" ), - "g_compassShowEnemies", getDvar( "scr_game_forceradar" ), - "ui_radar_client", getDvar( "ui_radar_client" ) ); - - if ( level.hardcoreMode ) - { - self setClientDvars( "cg_drawTalk", 3, - //"cg_drawCrosshairNames", 0 ), - "cg_drawCrosshair", 0, - "cg_hudGrenadeIconMaxRangeFrag", 0 ); - } - else - { - self setClientDvars( "cg_drawCrosshair", 1, - "cg_hudGrenadeIconMaxRangeFrag", 250 ); - } - - if ( level.splitScreen ) - { - self setClientDvars("cg_hudGrenadeIconHeight", "37.5", - "cg_hudGrenadeIconWidth", "37.5", - "cg_hudGrenadeIconOffset", "75", - "cg_hudGrenadePointerHeight", "18", - "cg_hudGrenadePointerWidth", "37.5", - "cg_hudGrenadePointerPivot", "18 40.5", - "cg_fovscale", "0.75" ); - } - else - { - self setClientDvars("cg_hudGrenadeIconHeight", "25", - "cg_hudGrenadeIconWidth", "25", - "cg_hudGrenadeIconOffset", "50", - "cg_hudGrenadePointerHeight", "12", - "cg_hudGrenadePointerWidth", "25", - "cg_hudGrenadePointerPivot", "12 27", - "cg_fovscale", "1"); - } - - if ( level.oldschool ) - { - self setClientDvars( "ragdoll_explode_force", 60000, - "ragdoll_explode_upbias", 0.8, - "bg_fallDamageMinHeight", 256, - "bg_fallDamageMaxHeight", 512, - "player_sprintUnlimited", 1, - "player_clipSizeMultiplier", 2.0 ); - } - - if ( getdvarint("scr_hitloc_debug") ) - { - for ( i = 0; i < 6; i++ ) - { - self setClientDvar( "ui_hitloc_" + i, "" ); - } - self.hitlocInited = true; - } - - self initPersStat( "score" ); - self.score = self.pers["score"]; - - self initPersStat( "deaths" ); - self.deaths = self getPersStat( "deaths" ); - - self initPersStat( "suicides" ); - self.suicides = self getPersStat( "suicides" ); - - self initPersStat( "kills" ); - self.kills = self getPersStat( "kills" ); - - self initPersStat( "headshots" ); - self.headshots = self getPersStat( "headshots" ); - - self initPersStat( "challenges" ); - self.challenges = self getPersStat( "challenges" ); - - self initPersStat( "assists" ); - self.assists = self getPersStat( "assists" ); - - - self initPersStat( "sessionbans" ); - self.sessionbans = self getPersStat( "sessionbans" ); - self initPersStat( "gametypeban" ); - self initPersStat( "time_played_total" ); - - self initPersStat( "teamkills", false ); - self initPersStat( "teamkills_nostats" ); - self.teamKillPunish = false; - if ( level.minimumAllowedTeamKills >= 0 && self.pers["teamkills_nostats"] > level.minimumAllowedTeamKills ) - self thread reduceTeamKillsOverTime(); - - if( getdvar( "r_reflectionProbeGenerate" ) == "1" ) - level waittill( "eternity" ); - - - self.killedPlayersCurrent = []; - - if( !isDefined( self.pers["best_kill_streak"] ) ) - { - self.pers["killed_players"] = []; - self.pers["killed_by"] = []; - self.pers["nemesis_tracking"] = []; - self.pers["uav_used"] = 0; - self.pers["artillery_used"] = 0; - self.pers["dogs_used"] = 0; - self.pers["artillery_kills"] = 0; - self.pers["dog_kills"] = 0; - self.pers["nemesis_name"] = ""; - self.pers["nemesis_rank"] = 0; - self.pers["nemesis_rankIcon"] = 0; - self.pers["nemesis_xp"] = 0; - - - /*self.killstreakKills["artillery"] = 0; - self.killstreakKills["dogs"] = 0; - self.killstreaksUsed["radar"] = 0; - self.killstreaksUsed["artillery"] = 0; - self.killstreaksUsed["dogs"] = 0;*/ - self.pers["best_kill_streak"] = 0; - - - //init After Action Report dvars - self setClientDvars( "ns_n", "", - "ns_r", "0", - "ns_ri", "0", - "ns_x", "0", - "ns_k", "0", - "ns_d", "0", - "ps_n", "", - "ps_h", "0", - "ps_k", "0", - "ps_d", "0", - "ps_kds", "0", - "ps_st", "0", - "ps_r", "0", - "ps_ac", "0", - "ps_ak", "0", - "ps_dc", "0", - "ps_dk", "0" ); - } - - self.leaderDialogQueue = []; - self.leaderDialogActive = false; - self.leaderDialogGroups = []; - self.leaderDialogGroup = ""; - - self.cur_kill_streak = 0; - - self.cur_death_streak = 0; - self.death_streak = self maps\mp\gametypes\_persistence::statGet( "death_streak" ); - self.kill_streak = self maps\mp\gametypes\_persistence::statGet( "kill_streak" ); - self.gametype_death_streak = self maps\mp\gametypes\_persistence::statGetWithGameType( "death_streak" ); - self.gametype_kill_streak = self maps\mp\gametypes\_persistence::statGetWithGameType( "kill_streak" ); - - - self.lastGrenadeSuicideTime = -1; - - self.teamkillsThisRound = 0; - - self.pers["lives"] = level.numLives; - - self.hasSpawned = false; - self.waitingToSpawn = false; - self.wantSafeSpawn = false; - self.deathCount = 0; - - self.wasAliveAtMatchStart = false; - - self thread maps\mp\_flashgrenades::monitorFlash(); - - if ( level.numLives ) - { - self setClientDvars("cg_deadChatWithDead", "1", - "cg_deadChatWithTeam", "0", - "cg_deadHearTeamLiving", "0", - "cg_deadHearAllLiving", "0", - "cg_everyoneHearsEveryone", "0" ); - } - else - { - self setClientDvars("cg_deadChatWithDead", "0", - "cg_deadChatWithTeam", "1", - "cg_deadHearTeamLiving", "1", - "cg_deadHearAllLiving", "0", - "cg_everyoneHearsEveryone", "0" ); - } - - level.players[level.players.size] = self; - - if( level.splitscreen ) - setdvar( "splitscreen_playerNum", level.players.size ); - - if ( level.teambased ) - self updateScores(); - - setmusicstate( "UNDERSCORE", self ); - // When joining a game in progress, if the game is at the post game state (scoreboard) the connecting player should spawn into intermission - if ( game["state"] == "postgame" ) - { - self.pers["team"] = "spectator"; - self.team = "spectator"; - - self setClientDvars( "ui_hud_hardcore", 1, - "cg_drawSpectatorMessages", 0 ); - - [[level.spawnIntermission]](); - self closeMenu(); - self closeInGameMenu(); - return; - } - - updateLossStats( self ); - - level endon( "game_ended" ); - - if ( level.oldschool ) - { - self.pers["class"] = undefined; - self.class = self.pers["class"]; - } - - if ( isDefined( self.pers["team"] ) ) - self.team = self.pers["team"]; - - if ( isDefined( self.pers["class"] ) ) - self.class = self.pers["class"]; - - if ( !isDefined( self.pers["team"] ) ) - { - // Don't set .sessionteam until we've gotten the assigned team from code, - // because it overrides the assigned team. - self.pers["team"] = "spectator"; - self.team = "spectator"; - self.sessionstate = "dead"; - - self updateObjectiveText(); - - [[level.spawnSpectator]](); - - if ( level.rankedMatch && level.console ) - { - [[level.autoassign]](); - - //self thread forceSpawn(); - self thread kickIfDontSpawn(); - } - else if ( !level.teamBased && level.console ) - { - [[level.autoassign]](); - } - else - { - self setclientdvar( "g_scriptMainMenu", game["menu_team"] ); - self openMenu( game["menu_team"] ); - } - - if ( self.pers["team"] == "spectator" ) - self.sessionteam = "spectator"; - - if ( level.teamBased ) - { - // set team and spectate permissions so the map shows waypoint info on connect - self.sessionteam = self.pers["team"]; - if ( !isAlive( self ) ) - self.statusicon = "hud_status_dead"; - self thread maps\mp\gametypes\_spectating::setSpectatePermissions(); - } - } - else if ( self.pers["team"] == "spectator" ) - { - self setclientdvar( "g_scriptMainMenu", game["menu_team"] ); - [[level.spawnSpectator]](); - self.sessionteam = "spectator"; - self.sessionstate = "spectator"; - } - else - { - self.sessionteam = self.pers["team"]; - self.sessionstate = "dead"; - - self updateObjectiveText(); - - [[level.spawnSpectator]](); - - if ( isValidClass( self.pers["class"] ) ) - { - self thread [[level.spawnClient]](); - } - else - { - self showMainMenuForTeam(); - } - - self thread maps\mp\gametypes\_spectating::setSpectatePermissions(); - } - - if ( isDefined( self.pers["isBot"] ) ) - return; -} - - -forceSpawn() -{ - self endon ( "death" ); - self endon ( "disconnect" ); - self endon ( "spawned" ); - - wait ( 60.0 ); - - if ( self.hasSpawned ) - return; - - if ( self.pers["team"] == "spectator" ) - return; - - if ( !isValidClass( self.pers["class"] ) ) - { - if ( getDvarInt( "onlinegame" ) ) - self.pers["class"] = "CLASS_CUSTOM1"; - else - self.pers["class"] = "CLASS_ASSAULT"; - - self.class = self.pers["class"]; - } - - self closeMenus(); - self thread [[level.spawnClient]](); -} - -kickIfDontSpawn() -{ - if ( self getEntityNumber() == 0 ) - { - // don't try to kick the host - return; - } - - self kickIfIDontSpawnInternal(); - // clear any client dvars here, - // like if we set anything to change the menu appearance to warn them of kickness -} - -kickIfIDontSpawnInternal() -{ - self endon ( "death" ); - self endon ( "disconnect" ); - self endon ( "spawned" ); - - waittime = 90; - if ( getdvar("scr_kick_time") != "" ) - waittime = getdvarfloat("scr_kick_time"); - mintime = 45; - if ( getdvar("scr_kick_mintime") != "" ) - mintime = getdvarfloat("scr_kick_mintime"); - - starttime = gettime(); - - kickWait( waittime ); - - timePassed = (gettime() - starttime)/1000; - if ( timePassed < waittime - .1 && timePassed < mintime ) - return; - - if ( self.hasSpawned ) - return; - - if ( self.pers["team"] == "spectator" ) - return; - - kick( self getEntityNumber() ); -} - -kickWait( waittime ) -{ - level endon("game_ended"); - wait waittime; -} - -Callback_PlayerDisconnect() -{ - self removePlayerOnDisconnect(); - - if ( !level.gameEnded ) - self logXPGains(); - - if ( level.splitscreen ) - { - players = level.players; - - if ( players.size <= 1 ) - level thread maps\mp\gametypes\_globallogic::forceEnd(); - - // passing number of players to menus in splitscreen to display leave or end game option - setdvar( "splitscreen_playerNum", players.size ); - } - - if ( isDefined( self.score ) && isDefined( self.pers["team"] ) ) - { - setPlayerTeamRank( self, level.dropTeam, self.score - 5 * self.deaths ); - self logString( "team: score " + self.pers["team"] + ":" + self.score ); - level.dropTeam += 1; - } - - [[level.onPlayerDisconnect]](); - - lpselfnum = self getEntityNumber(); - lpGuid = self getGuid(); - logPrint("Q;" + lpGuid + ";" + lpselfnum + ";" + self.name + "\n"); - - for ( entry = 0; entry < level.players.size; entry++ ) - { - if ( level.players[entry] == self ) - { - while ( entry < level.players.size-1 ) - { - level.players[entry] = level.players[entry+1]; - entry++; - } - level.players[entry] = undefined; - break; - } - } - for ( entry = 0; entry < level.players.size; entry++ ) - { - if ( isDefined( level.players[entry].pers["killed_players"][self.name] ) ) - level.players[entry].pers["killed_players"][self.name] = undefined; - - if ( isDefined( level.players[entry].killedPlayersCurrent[self.name] ) ) - level.players[entry].killedPlayersCurrent[self.name] = undefined; - - if ( isDefined( level.players[entry].pers["killed_by"][self.name] ) ) - level.players[entry].pers["killed_by"][self.name] = undefined; - } - - if ( level.gameEnded ) - self removeDisconnectedPlayerFromPlacement(); - - level thread updateTeamStatus(); - - -} - - -removePlayerOnDisconnect() -{ - for ( entry = 0; entry < level.players.size; entry++ ) - { - if ( level.players[entry] == self ) - { - while ( entry < level.players.size-1 ) - { - level.players[entry] = level.players[entry+1]; - entry++; - } - level.players[entry] = undefined; - break; - } - } -} - -isHeadShot( sWeapon, sHitLoc, sMeansOfDeath ) -{ - return (sHitLoc == "head" || sHitLoc == "helmet") && sMeansOfDeath != "MOD_MELEE" && sMeansOfDeath != "MOD_BAYONET" && sMeansOfDeath != "MOD_IMPACT"; //CoD5: MGs need to cause headshots as well. && !isMG( sWeapon ); -} - - -Callback_VehicleDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime, damageFromUnderneath, modelIndex, partName ) -{ - // already applied in the Callback_VehicleDamage - if ( !(level.iDFLAGS_RADIUS & iDFlags) ) - { - // create a class specialty checks; CAC:bulletdamage, CAC:armorvest - iDamage = maps\mp\gametypes\_class::cac_modified_vehicle_damage( self, eAttacker, iDamage, sMeansOfDeath, sWeapon, eInflictor ); - } - - self.iDFlags = iDFlags; - self.iDFlagsTime = getTime(); - - if ( game["state"] == "postgame" ) - return; - - if ( isDefined( eAttacker ) && isPlayer( eAttacker ) && isDefined( eAttacker.canDoCombat ) && !eAttacker.canDoCombat ) - return; - -// prof_begin( "Callback_VehicleDamage flags/tweaks" ); - - // Don't do knockback if the damage direction was not specified - if( !isDefined( vDir ) ) - iDFlags |= level.iDFLAGS_NO_KNOCKBACK; - - friendly = false; - - if ( ((self.health == self.maxhealth)) || !isDefined( self.attackers ) ) - { - self.attackers = []; - self.attackerData = []; - self.attackerDamage = []; - } - - // explosive barrel/car detection - if ( sWeapon == "none" && isDefined( eInflictor ) ) - { - if ( isDefined( eInflictor.targetname ) && eInflictor.targetname == "explodable_barrel" ) - sWeapon = "explodable_barrel"; - else if ( isDefined( eInflictor.destructible_type ) && isSubStr( eInflictor.destructible_type, "vehicle_" ) ) - sWeapon = "destructible_car"; - } - -// prof_end( "Callback_VehicleDamage flags/tweaks" ); - - // check for completely getting out of the damage - if( !(iDFlags & level.iDFLAGS_NO_PROTECTION) ) - { - if ( self IsVehicleImmuneToDamage( iDFlags, sMeansOfDeath, sWeapon ) ) - { - return; - } - - if ( sMeansOfDeath == "MOD_PISTOL_BULLET" || sMeansOfDeath == "MOD_RIFLE_BULLET" ) - { - iDamage = GetVehicleBulletDamage( sWeapon ); - } - // This handles direct damage only. Splash is done in VehicleRadiusDamage - else if ( sMeansOfDeath == "MOD_PROJECTILE" || sMeansOfDeath == "MOD_GRENADE" ) - { - iDamage *= GetVehicleProjectileScalar( sWeapon ); - iDamage = int(iDamage); - - if ( iDamage == 0 ) - { - return; - } - } - // Except for splash that we want to modify additionally based on "underneath" - else if ( sMeansOfDeath == "MOD_GRENADE_SPLASH" ) - { - iDamage *= GetVehicleUnderneathSplashScalar( sWeapon ); - iDamage = int(iDamage); - - if ( iDamage == 0 ) - { - return; - } - } - - if ( isPlayer( eAttacker ) ) - eAttacker.pers["participation"]++; - - prevHealthRatio = self.health / self.maxhealth; - - occupant_team = self maps\mp\_vehicles::vehicle_get_occupant_team(); - - if ( level.teamBased && isPlayer( eAttacker ) && (occupant_team == eAttacker.pers["team"]) ) - { -// prof_begin( "Callback_VehicleDamage player" ); // profs automatically end when the function returns - if ( level.friendlyfire == 0 ) // no one takes damage - { - if( sWeapon != "artillery_mp" ) - return; - - vehicle = eAttacker GetVehicleOccupied(); - - if( isDefined( vehicle ) && vehicle == self ) - { - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishVehicleDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime, damageFromUnderneath, modelIndex, partName, true); - } - else - return; - } - else if ( level.friendlyfire == 1 ) // the friendly takes damage - { - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishVehicleDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime, damageFromUnderneath, modelIndex, partName, false); - } - else if ( level.friendlyfire == 2 ) // no one takes damage - { - if( sWeapon != "artillery_mp" ) - return; - - vehicle = eAttacker GetVehicleOccupied(); - - if( isDefined( vehicle ) && vehicle == self ) - { - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishVehicleDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime, damageFromUnderneath, modelIndex, partName, true); - } - else - return; - } - else if ( level.friendlyfire == 3 ) // both friendly and attacker take damage - { - iDamage = int(iDamage * .5); - - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishVehicleDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime, damageFromUnderneath, modelIndex, partName, false); - } - - friendly = true; - } - else - { -// prof_begin( "Callback_VehicleDamage world" ); - // Make sure at least one point of damage is done - if(iDamage < 1) - iDamage = 1; - - if ( isdefined( eAttacker ) && isPlayer( eAttacker ) && isDefined( sWeapon ) ) - eAttacker maps\mp\gametypes\_weapons::checkHit( sWeapon ); - - if ( issubstr( sMeansOfDeath, "MOD_GRENADE" ) && isDefined( eInflictor.isCooked ) ) - self.wasCooked = getTime(); - else - self.wasCooked = undefined; - - attacker_seat = undefined; - if ( IsDefined( eAttacker ) ) - attacker_seat = self GetOccupantSeat( eAttacker ); - - self.lastDamageWasFromEnemy = (isDefined( eAttacker ) && !isdefined(attacker_seat)); - - self finishVehicleDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime, damageFromUnderneath, modelIndex, partName, false); - -// prof_end( "Callback_ActorDamage world" ); - } - - if ( isdefined(eAttacker) && eAttacker != self ) - { - if (sWeapon != "artillery_mp" && (!isdefined(eInflictor) || !isai(eInflictor)) ) - { - hasBodyArmor = false; - - if ( iDamage > 0 ) - eAttacker thread maps\mp\gametypes\_damagefeedback::updateDamageFeedback( hasBodyArmor, sMeansOfDeath ); - } - } - } - -// prof_begin( "Callback_ActorDamage log" ); - - // Do debug print if it's enabled - if(getDvarInt("g_debugDamage")) - println("actor:" + self getEntityNumber() + " health:" + self.health + " attacker:" + eAttacker.clientid + " inflictor is player:" + isPlayer(eInflictor) + " damage:" + iDamage + " hitLoc:" + sHitLoc); - - if(1) // self.sessionstate != "dead") - { - lpselfnum = self getEntityNumber(); - lpselfteam = ""; - lpattackerteam = ""; - - if(isPlayer(eAttacker)) - { - lpattacknum = eAttacker getEntityNumber(); - lpattackGuid = eAttacker getGuid(); - lpattackname = eAttacker.name; - lpattackerteam = eAttacker.pers["team"]; - } - else - { - lpattacknum = -1; - lpattackGuid = ""; - lpattackname = ""; - lpattackerteam = "world"; - } - - logPrint("VD;" + lpselfnum + ";" + lpselfteam + ";" + lpattackGuid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n"); - } - -// prof_end( "Callback_VehicleDamage log" ); -} - -Callback_VehicleRadiusDamage( eInflictor, eAttacker, iDamage, fInnerDamage, fOuterDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, fRadius, fConeAngleCos, vConeDir, psOffsetTime ) -{ - // create a class specialty checks; CAC:bulletdamage, CAC:armorvest - iDamage = maps\mp\gametypes\_class::cac_modified_vehicle_damage( self, eAttacker, iDamage, sMeansOfDeath, sWeapon, eInflictor ); - fInnerDamage = maps\mp\gametypes\_class::cac_modified_vehicle_damage( self, eAttacker, fInnerDamage, sMeansOfDeath, sWeapon, eInflictor ); - fOuterDamage = maps\mp\gametypes\_class::cac_modified_vehicle_damage( self, eAttacker, fOuterDamage, sMeansOfDeath, sWeapon, eInflictor ); - self.iDFlags = iDFlags; - self.iDFlagsTime = getTime(); - - if ( game["state"] == "postgame" ) - return; - - if ( isDefined( eAttacker ) && isPlayer( eAttacker ) && isDefined( eAttacker.canDoCombat ) && !eAttacker.canDoCombat ) - return; - - friendly = false; - - // check for completely getting out of the damage - if( !(iDFlags & level.iDFLAGS_NO_PROTECTION) ) - { - if ( self IsVehicleImmuneToDamage( iDFlags, sMeansOfDeath, sWeapon ) ) - { - return; - } - - // THIS HANDLES SPLASH DAMAGE ONLY. SPLASH IS DONE IN VehicleRadiusDamage - if ( sMeansOfDeath == "MOD_PROJECTILE_SPLASH" || sMeansOfDeath == "MOD_GRENADE_SPLASH" || sMeansOfDeath == "MOD_EXPLOSIVE" ) - { - - scalar = GetVehicleProjectileSplashScalar( sWeapon ); - iDamage = int(iDamage * scalar); - fInnerDamage = (fInnerDamage * scalar); - fOuterDamage = (fOuterDamage * scalar); - - if ( fInnerDamage == 0 ) - { - return; - } - if ( iDamage < 1 ) - { - iDamage = 1; - } - } - - occupant_team = self maps\mp\_vehicles::vehicle_get_occupant_team(); - - if ( level.teamBased && isPlayer( eAttacker ) && (occupant_team == eAttacker.pers["team"]) ) - { -// prof_begin( "Callback_VehicleDamage player" ); // profs automatically end when the function returns - if ( level.friendlyfire == 0 ) // no one takes damage - { - if( sWeapon != "artillery_mp" ) - return; - - vehicle = eAttacker GetVehicleOccupied(); - - if( isDefined( vehicle ) && vehicle == self ) - { - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishVehicleRadiusDamage(eInflictor, eAttacker, iDamage, fInnerDamage, fOuterDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, fRadius, fConeAngleCos, vConeDir, psOffsetTime); - - } - else - return; - } - else if ( level.friendlyfire == 1 ) // the friendly takes damage - { - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishVehicleRadiusDamage(eInflictor, eAttacker, iDamage, fInnerDamage, fOuterDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, fRadius, fConeAngleCos, vConeDir, psOffsetTime); - } - else if ( level.friendlyfire == 2 ) // Attacker will take damage from artillery - { - if( sWeapon != "artillery_mp" ) - return; - - vehicle = eAttacker GetVehicleOccupied(); - - if( isDefined( vehicle ) && vehicle == self ) - { - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishVehicleRadiusDamage(eInflictor, eAttacker, iDamage, fInnerDamage, fOuterDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, fRadius, fConeAngleCos, vConeDir, psOffsetTime); - - } - else - return; - } - else if ( level.friendlyfire == 3 ) // both friendly and attacker take damage - { - iDamage = int(iDamage * .5); - - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishVehicleRadiusDamage(eInflictor, eAttacker, iDamage, fInnerDamage, fOuterDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, fRadius, fConeAngleCos, vConeDir, psOffsetTime); - } - - friendly = true; - } - else - { - // Make sure at least one point of damage is done - if(iDamage < 1) - iDamage = 1; - - self finishVehicleRadiusDamage(eInflictor, eAttacker, iDamage, fInnerDamage, fOuterDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, fRadius, fConeAngleCos, vConeDir, psOffsetTime); - } - } -} - - -// add to provided array of influencer structs -Callback_PlayerSpawnGenerateInfluencers( - player_entity, // the player who wants to spawn - spawn_influencers) // reference to an influencer array struct -{ - return; -} - -// returns the baseline score for a spawn point entity -Callback_PlayerSpawnGenerateSpawnPointEntityBaseScore( - player_entity, - spawn_point_entity) -{ - return 0.0; -} - -Callback_ActorDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime ) -{ - // create a class specialty checks; CAC:bulletdamage, CAC:armorvest - iDamage = maps\mp\gametypes\_class::cac_modified_damage( self, eAttacker, iDamage, sMeansOfDeath, sWeapon, eInflictor ); - self.iDFlags = iDFlags; - self.iDFlagsTime = getTime(); - - if ( game["state"] == "postgame" ) - return; - - if ( self.aiteam == "spectator" ) - return; - - if ( isDefined( eAttacker ) && isPlayer( eAttacker ) && isDefined( eAttacker.canDoCombat ) && !eAttacker.canDoCombat ) - return; - -// prof_begin( "Callback_ActorDamage flags/tweaks" ); - - // Don't do knockback if the damage direction was not specified - if( !isDefined( vDir ) ) - iDFlags |= level.iDFLAGS_NO_KNOCKBACK; - - friendly = false; - - if ( ((self.health == self.maxhealth)) || !isDefined( self.attackers ) ) - { - self.attackers = []; - self.attackerData = []; - self.attackerDamage = []; - } - - if ( isHeadShot( sWeapon, sHitLoc, sMeansOfDeath ) ) - sMeansOfDeath = "MOD_HEAD_SHOT"; - - if ( maps\mp\gametypes\_tweakables::getTweakableValue( "game", "onlyheadshots" ) ) - { - if ( sMeansOfDeath == "MOD_PISTOL_BULLET" || sMeansOfDeath == "MOD_RIFLE_BULLET" ) - return; - else if ( sMeansOfDeath == "MOD_HEAD_SHOT" ) - iDamage = 150; - } - - // When actor gets hit directly with molotov do some fire effects - if( sMeansOfDeath == "MOD_GRENADE" && sWeapon == "molotov_mp") - { - self thread maps\mp\_burnplayer::directHitWithMolotov(); - } - - if( sMeansOfDeath == "MOD_BURNED") - { - if (sWeapon == "none") - { - self maps\mp\_burnplayer::walkedThroughFlames(); - } - if (sWeapon == "m2_flamethrower_mp") - { - self maps\mp\_burnplayer::burnedWithFlameThrower(); - } - } - - // explosive barrel/car detection - if ( sWeapon == "none" && isDefined( eInflictor ) ) - { - if ( isDefined( eInflictor.targetname ) && eInflictor.targetname == "explodable_barrel" ) - sWeapon = "explodable_barrel"; - else if ( isDefined( eInflictor.destructible_type ) && isSubStr( eInflictor.destructible_type, "vehicle_" ) ) - sWeapon = "destructible_car"; - } - -// prof_end( "Callback_ActorDamage flags/tweaks" ); - -/# - if ( maps\mp\_dogs::dog_get_dvar_int( "debug_dog_attack","0" ) == 2 ) - { - iDamage = 1; - } -#/ - // check for completely getting out of the damage - if( !(iDFlags & level.iDFLAGS_NO_PROTECTION) ) - { - if ( isPlayer( eAttacker ) ) - eAttacker.pers["participation"]++; - - prevHealthRatio = self.health / self.maxhealth; - - if ( level.teamBased && isPlayer( eAttacker ) && (self != eAttacker) && (self.aiteam == eAttacker.pers["team"]) ) - { -// prof_begin( "Callback_ActorDamage actor" ); // profs automatically end when the function returns - if ( level.friendlyfire == 0 ) // no one takes damage - { - return; - } - else if ( level.friendlyfire == 1 ) // the friendly takes damage - { - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishActorDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - } - else if ( level.friendlyfire == 2 ) // no one takes damage - { - return; - } - else if ( level.friendlyfire == 3 ) // both friendly and attacker take damage - { - iDamage = int(iDamage * .5); - - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishActorDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - } - - friendly = true; - } - else - { - // no damage from the dogs owner unless in hardcore - if ( isDefined( eAttacker ) && isDefined( self.script_owner ) && eAttacker == self.script_owner && !level.hardcoreMode ) - { - return; - } - - // dogs with the same owner can not damage each other - if ( isDefined( eAttacker ) && isDefined( self.script_owner ) && isdefined( eAttacker.script_owner ) && eAttacker.script_owner == self.script_owner ) - { - return; - } - -// prof_begin( "Callback_ActorDamage world" ); - // Make sure at least one point of damage is done - if(iDamage < 1) - iDamage = 1; - - if ( isdefined( eAttacker ) && isPlayer( eAttacker ) && isDefined( sWeapon ) ) - eAttacker maps\mp\gametypes\_weapons::checkHit( sWeapon ); - - if ( issubstr( sMeansOfDeath, "MOD_GRENADE" ) && isDefined( eInflictor.isCooked ) ) - self.wasCooked = getTime(); - else - self.wasCooked = undefined; - - self.lastDamageWasFromEnemy = (isDefined( eAttacker ) && (eAttacker != self)); - - self finishActorDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - -// prof_end( "Callback_ActorDamage world" ); - } - - if ( isdefined(eAttacker) && eAttacker != self ) - { - hasBodyArmor = false; - - if (sWeapon != "artillery_mp" && (!isdefined(eInflictor) || !isai(eInflictor)) ) - { - if ( iDamage > 0 ) - eAttacker thread maps\mp\gametypes\_damagefeedback::updateDamageFeedback( hasBodyArmor, sMeansOfDeath ); - } - } - } - -// prof_begin( "Callback_ActorDamage log" ); - - // Do debug print if it's enabled - if(getDvarInt("g_debugDamage")) - println("actor:" + self getEntityNumber() + " health:" + self.health + " attacker:" + eAttacker.clientid + " inflictor is player:" + isPlayer(eInflictor) + " damage:" + iDamage + " hitLoc:" + sHitLoc); - - if(1) // self.sessionstate != "dead") - { - lpselfnum = self getEntityNumber(); - lpselfteam = self.aiteam; - lpattackerteam = ""; - - if(isPlayer(eAttacker)) - { - lpattacknum = eAttacker getEntityNumber(); - lpattackGuid = eAttacker getGuid(); - lpattackname = eAttacker.name; - lpattackerteam = eAttacker.pers["team"]; - } - else - { - lpattacknum = -1; - lpattackGuid = ""; - lpattackname = ""; - lpattackerteam = "world"; - } - - logPrint("AD;" + lpselfnum + ";" + lpselfteam + ";" + lpattackGuid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n"); - } - -// prof_end( "Callback_ActorDamage log" ); -} - -Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime ) -{ - // create a class specialty checks; CAC:bulletdamage, CAC:armorvest - iDamage = maps\mp\gametypes\_class::cac_modified_damage( self, eAttacker, iDamage, sMeansOfDeath, sWeapon, eInflictor ); - self.iDFlags = iDFlags; - self.iDFlagsTime = getTime(); - - if ( game["state"] == "postgame" ) - return; - - if ( self.sessionteam == "spectator" ) - return; - - if ( isDefined( self.canDoCombat ) && !self.canDoCombat ) - return; - - if ( isDefined( eAttacker ) && isPlayer( eAttacker ) && isDefined( eAttacker.canDoCombat ) && !eAttacker.canDoCombat ) - return; - - if ( isdefined(eAttacker) ) - { - if( isai(eAttacker) && isDefined( eAttacker.script_owner ) ) - { - if ( eAttacker.script_owner.team != self.team ) - eAttacker = eAttacker.script_owner; - } - - if( eAttacker.classname == "script_vehicle" && isDefined( eAttacker.owner ) ) - eAttacker = eAttacker.owner; - } - - prof_begin( "PlayerDamage flags/tweaks" ); - - // Don't do knockback if the damage direction was not specified - if( !isDefined( vDir ) ) - iDFlags |= level.iDFLAGS_NO_KNOCKBACK; - - friendly = false; - - self thread threadedSetStatLBByName( sWeapon, 1, "hits by", 2 ); - - if ( ((self.health == self.maxhealth)) || !isDefined( self.attackers ) ) - { - self.attackers = []; - self.attackerData = []; - self.attackerDamage = []; - } - - if ( isHeadShot( sWeapon, sHitLoc, sMeansOfDeath ) ) - sMeansOfDeath = "MOD_HEAD_SHOT"; - - if ( maps\mp\gametypes\_tweakables::getTweakableValue( "game", "onlyheadshots" ) ) - { - if ( sMeansOfDeath == "MOD_PISTOL_BULLET" || sMeansOfDeath == "MOD_RIFLE_BULLET" ) - return; - else if ( sMeansOfDeath == "MOD_HEAD_SHOT" ) - iDamage = 150; - } - - // CODER_MOD: Nathan@CA( 06/04/08 ): Make all vehicle drivers invulnerable to bullets - if ( self maps\mp\_vehicles::player_is_occupant_invulnerable( sMeansOfDeath ) ) - return; - - if( ( sMeansOfDeath == "MOD_GRENADE" && sWeapon == "molotov_mp" ) || ( sMeansOfDeath == "MOD_BURNED") ) - self thread doFlameAudio(); - - if (isdefined (eAttacker) && isPlayer(eAttacker) && ( (self.pers["team"] != eAttacker.pers["team"]) || ( game["dialog"]["gametype"] == "freeforall" ) ) ) - { - self.lastAttackWeapon = sWeapon; - - if ( eAttacker player_is_driver() ) - { - vehicle = eAttacker GetVehicleOccupied(); - self.lastTankThatAttacked = vehicle; - self thread clearLastTankAttacker(); - } - - if( sMeansOfDeath == "MOD_GRENADE" && sWeapon == "molotov_mp") - { - if ( !self hasperk( "specialty_fireproof" ) ) - self thread maps\mp\_burnplayer::directHitWithMolotov( eAttacker, eInflictor, "MOD_BURNED" ); - } - - if( sMeansOfDeath == "MOD_BURNED") - { - if (sWeapon == "none") - { - if ( !self hasperk( "specialty_fireproof" ) ) - self thread maps\mp\_burnplayer::walkedThroughFlames(); - } - else if (sWeapon == "m2_flamethrower_mp") - { - if ( !self hasperk( "specialty_fireproof" ) ) - self thread maps\mp\_burnplayer::burnedWithFlameThrower(); - } - } - } - - // explosive barrel/car detection - if ( sWeapon == "none" && isDefined( eInflictor ) ) - { - if ( isDefined( eInflictor.targetname ) && eInflictor.targetname == "explodable_barrel" ) - { - sWeapon = "explodable_barrel"; - //thread maps\mp\gametypes\_battlechatter_mp::onPlayerNearExplodable( self, "barrel" ); - } - else if ( isDefined( eInflictor.destructible_type ) && isSubStr( eInflictor.destructible_type, "vehicle_" ) ) - { - sWeapon = "destructible_car"; - //level thread maps\mp\gametypes\_battlechatter_mp::onPlayerNearExplodable( self, "car" ); - } - } - - prof_end( "PlayerDamage flags/tweaks" ); - - if( iDFlags & level.iDFLAGS_PENETRATION && eAttacker hasPerk( "specialty_bulletpenetration" ) ) - self thread maps\mp\gametypes\_battlechatter_mp::perkSpecificBattleChatter( "deepimpact", true ); - - // check for completely getting out of the damage - if( !(iDFlags & level.iDFLAGS_NO_PROTECTION) ) - { - // return if helicopter friendly fire is on - if ( level.teamBased && isdefined( level.chopper ) && isdefined( eAttacker ) && eAttacker == level.chopper && eAttacker.team == self.pers["team"] ) - { -// if( level.friendlyfire == 0 ) -// { -// prof_end( "Callback_PlayerDamage player" ); - return; -// } - } - - if ( (isSubStr( sMeansOfDeath, "MOD_GRENADE" ) || isSubStr( sMeansOfDeath, "MOD_EXPLOSIVE" ) || isSubStr( sMeansOfDeath, "MOD_PROJECTILE" )) && isDefined( eInflictor ) ) - { - // protect players from spawnkill grenades - if ( eInflictor.classname == "grenade" && (self.lastSpawnTime + 3500) > getTime() && distance( eInflictor.origin, self.lastSpawnPoint.origin ) < 250 ) - { -// prof_end( "Callback_PlayerDamage player" ); - return; - } - - self.explosiveInfo = []; - self.explosiveInfo["damageTime"] = getTime(); - self.explosiveInfo["damageId"] = eInflictor getEntityNumber(); - self.explosiveInfo["returnToSender"] = false; - self.explosiveInfo["bulletPenetrationKill"] = false; - self.explosiveInfo["chainKill"] = false; - self.explosiveInfo["counterKill"] = false; - self.explosiveInfo["chainKill"] = false; - self.explosiveInfo["cookedKill"] = false; - self.explosiveInfo["weapon"] = sWeapon; - - isFrag = isSubStr( sWeapon, "frag_" ); - - if ( eAttacker != self ) - { - if ( (isSubStr( sWeapon, "satchel_" ) || isSubStr( sWeapon, "mine_bouncing_betty_" ) ) && isDefined( eAttacker ) && isDefined( eInflictor.owner ) ) - { - self.explosiveInfo["returnToSender"] = (eInflictor.owner == self); - self.explosiveInfo["counterKill"] = isDefined( eInflictor.wasDamaged ); - self.explosiveInfo["chainKill"] = isDefined( eInflictor.wasChained ); - self.explosiveInfo["ohnoyoudontKill"] = isDefined( eInflictor.wasJustPlanted ); - self.explosiveInfo["bulletPenetrationKill"] = isDefined( eInflictor.wasDamagedFromBulletPenetration ); - self.explosiveInfo["cookedKill"] = false; - } - if ( ( isSubStr( sWeapon, "sticky_grenade_" ) ) && isDefined( eInflictor ) ) - { - self.explosiveInfo["stuckToPlayer"] = isDefined( eInflictor.stuckToPlayer ); - } - if ( isDefined( eAttacker.lastGrenadeSuicideTime ) && eAttacker.lastGrenadeSuicideTime >= gettime() - 50 && isFrag ) - { - self.explosiveInfo["suicideGrenadeKill"] = true; - } - else - { - self.explosiveInfo["suicideGrenadeKill"] = false; - } - } - - if ( isFrag ) - { - self.explosiveInfo["cookedKill"] = isDefined( eInflictor.isCooked ); - self.explosiveInfo["throwbackKill"] = isDefined( eInflictor.threwBack ); - } - } - - if ( isPlayer( eAttacker ) ) - eAttacker.pers["participation"]++; - - prevHealthRatio = self.health / self.maxhealth; - - if ( level.teamBased && isPlayer( eAttacker ) && (self != eAttacker) && (self.pers["team"] == eAttacker.pers["team"]) ) - { - prof_begin( "PlayerDamage player" ); // profs automatically end when the function returns - if ( level.friendlyfire == 0 ) // no one takes damage - { - if ( sWeapon == "artillery_mp" ) - self damageShellshockAndRumble( eInflictor, sWeapon, sMeansOfDeath, iDamage ); - return; - } - else if ( level.friendlyfire == 1 ) // the friendly takes damage - { - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - - self finishPlayerDamageWrapper(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - } - else if ( level.friendlyfire == 2 && isAlive( eAttacker ) ) // only the attacker takes damage - { - iDamage = int(iDamage * .5); - - // Make sure at least one point of damage is done - if(iDamage < 1) - iDamage = 1; - - eAttacker.lastDamageWasFromEnemy = false; - - eAttacker.friendlydamage = true; - eAttacker finishPlayerDamageWrapper(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - eAttacker.friendlydamage = undefined; - } - else if ( level.friendlyfire == 3 && isAlive( eAttacker ) ) // both friendly and attacker take damage - { - iDamage = int(iDamage * .5); - - // Make sure at least one point of damage is done - if ( iDamage < 1 ) - iDamage = 1; - - self.lastDamageWasFromEnemy = false; - eAttacker.lastDamageWasFromEnemy = false; - - self finishPlayerDamageWrapper(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - eAttacker.friendlydamage = true; - eAttacker finishPlayerDamageWrapper(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - eAttacker.friendlydamage = undefined; - } - - friendly = true; - prof_end( "PlayerDamage player" ); - } - else - { - prof_begin( "PlayerDamage world" ); - // Make sure at least one point of damage is done - if(iDamage < 1) - iDamage = 1; - - if ( isDefined( eAttacker ) && isPlayer( eAttacker ) ) - { - if ( !isdefined( self.attackerData[eAttacker.clientid] ) ) - { - self.attackerDamage[eAttacker.clientid] = iDamage; - self.attackers[ self.attackers.size ] = eAttacker; - // we keep an array of attackers by their client ID so we can easily tell - // if they're already one of the existing attackers in the above if(). - // we store in this array data that is useful for other things, like challenges - self.attackerData[eAttacker.clientid] = false; - } - else - { - self.attackerDamage[eAttacker.clientid] += iDamage; - } - if ( maps\mp\gametypes\_weapons::isPrimaryWeapon( sWeapon ) ) - self.attackerData[eAttacker.clientid] = true; - - } - - if ( isdefined( eAttacker ) ) - level.lastLegitimateAttacker = eAttacker; - - if ( isdefined( eAttacker ) && isPlayer( eAttacker ) && isDefined( sWeapon ) ) - eAttacker maps\mp\gametypes\_weapons::checkHit( sWeapon ); - - if ( issubstr( sMeansOfDeath, "MOD_GRENADE" ) && isDefined( eInflictor.isCooked ) ) - self.wasCooked = getTime(); - else - self.wasCooked = undefined; - - self.lastDamageWasFromEnemy = (isDefined( eAttacker ) && (eAttacker != self)); - - self finishPlayerDamageWrapper(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - - self thread maps\mp\gametypes\_missions::playerDamaged(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc ); - - prof_end( "Callback_PlayerDamage world" ); - } - - if ( isdefined(eAttacker) && eAttacker != self ) - { - if (sWeapon != "artillery_mp" && (!isdefined(eInflictor) || !isai(eInflictor)) ) - { - hasBodyArmor = false; - if ( self hasPerk( "specialty_armorvest" ) && sWeapon != "m2_flamethrower_mp" ) - { - hasBodyArmor = true; - - if( isPlayer(eAttacker) ) - eAttacker thread maps\mp\gametypes\_battlechatter_mp::perkSpecificBattleChatter( "juggernaut" ); - } - - - if ( iDamage > 0 ) - eAttacker thread maps\mp\gametypes\_damagefeedback::updateDamageFeedback( hasBodyArmor, sMeansOfDeath ); - } - } - - self.hasDoneCombat = true; - } - - if ( isdefined( eAttacker ) && eAttacker != self && !friendly ) - level.useStartSpawns = false; - - prof_begin( "PlayerDamage log" ); - - // Do debug print if it's enabled - if(getDvarInt("g_debugDamage")) - println("client:" + self getEntityNumber() + " health:" + self.health + " attacker:" + eAttacker.clientid + " inflictor is player:" + isPlayer(eInflictor) + " damage:" + iDamage + " hitLoc:" + sHitLoc); - - if(self.sessionstate != "dead") - { - lpselfnum = self getEntityNumber(); - lpselfname = self.name; - lpselfteam = self.pers["team"]; - lpselfGuid = self getGuid(); - lpattackerteam = ""; - - if(isPlayer(eAttacker)) - { - lpattacknum = eAttacker getEntityNumber(); - lpattackGuid = eAttacker getGuid(); - lpattackname = eAttacker.name; - lpattackerteam = eAttacker.pers["team"]; - } - else - { - lpattacknum = -1; - lpattackGuid = ""; - lpattackname = ""; - lpattackerteam = "world"; - } - - logPrint("D;" + lpselfGuid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + lpattackGuid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n"); - } - - if ( getdvarint("scr_hitloc_debug") ) - { - if ( !isdefined( eAttacker.hitlocInited ) ) - { - for ( i = 0; i < 6; i++ ) - { - eAttacker setClientDvar( "ui_hitloc_" + i, "" ); - } - eAttacker.hitlocInited = true; - } - - if ( isPlayer( eAttacker ) && !level.splitscreen ) - { - colors = []; - colors[0] = 2; - colors[1] = 3; - colors[2] = 5; - colors[3] = 7; - - elemcount = 6; - if ( !isdefined( eAttacker.damageInfo ) ) - { - eAttacker.damageInfo = []; - for ( i = 0; i < elemcount; i++ ) - { - eAttacker.damageInfo[i] = spawnstruct(); - eAttacker.damageInfo[i].damage = 0; - eAttacker.damageInfo[i].hitloc = ""; - eAttacker.damageInfo[i].bp = false; - eAttacker.damageInfo[i].jugg = false; - eAttacker.damageInfo[i].colorIndex = 0; - } - eAttacker.damageInfoColorIndex = 0; - eAttacker.damageInfoVictim = undefined; - } - - for ( i = elemcount-1; i > 0; i-- ) - { - eAttacker.damageInfo[i].damage = eAttacker.damageInfo[i - 1].damage; - eAttacker.damageInfo[i].hitloc = eAttacker.damageInfo[i - 1].hitloc; - eAttacker.damageInfo[i].bp = eAttacker.damageInfo[i - 1].bp; - eAttacker.damageInfo[i].jugg = eAttacker.damageInfo[i - 1].jugg; - eAttacker.damageInfo[i].colorIndex = eAttacker.damageInfo[i - 1].colorIndex; - } - eAttacker.damageInfo[0].damage = iDamage; - eAttacker.damageInfo[0].hitloc = sHitLoc; - eAttacker.damageInfo[0].bp = (iDFlags & level.iDFLAGS_PENETRATION); - eAttacker.damageInfo[0].jugg = self hasPerk( "specialty_armorvest" ); - if ( isdefined( eAttacker.damageInfoVictim ) && eAttacker.damageInfoVictim != self ) - { - eAttacker.damageInfoColorIndex++; - if ( eAttacker.damageInfoColorIndex == colors.size ) - eAttacker.damageInfoColorIndex = 0; - } - eAttacker.damageInfoVictim = self; - eAttacker.damageInfo[0].colorIndex = eAttacker.damageInfoColorIndex; - - for ( i = 0; i < elemcount; i++ ) - { - color = "^" + colors[ eAttacker.damageInfo[i].colorIndex ]; - if ( eAttacker.damageInfo[i].hitloc != "" ) - { - val = color + eAttacker.damageInfo[i].hitloc; - if ( eAttacker.damageInfo[i].bp ) - val += " (BP)"; - if ( eAttacker.damageInfo[i].jugg ) - val += " (Jugg)"; - eAttacker setClientDvar( "ui_hitloc_" + i, val ); - } - eAttacker setClientDvar( "ui_hitloc_damage_" + i, color + eAttacker.damageInfo[i].damage ); - } - } - } - - prof_end( "PlayerDamage log" ); -} - -player_is_driver() -{ - if ( !isalive(self) ) - return false; - - vehicle = self GetVehicleOccupied(); - - if ( IsDefined( vehicle ) ) - { - seat = vehicle GetOccupantSeat( self ); - - if ( isdefined(seat) && seat == 0 ) - return true; - } - - return false; -} - -doFlameAudio() -{ - self endon("disconnect"); - waittillframeend; - - if (!isdefined ( self.lastFlameHurtAudio ) ) - self.lastFlameHurtAudio = 0; - - currentTime = gettime(); - - if ( self.lastFlameHurtAudio + level.fire_audio_repeat_duration + RandomInt( level.fire_audio_random_max_duration ) < currentTime ) - { - self playLocalSound("player_pain_small"); - self.lastFlameHurtAudio = currentTime; - } -} - -Callback_ActorKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime) -{ - if ( game["state"] == "postgame" ) - return; - - if( isai(attacker) && isDefined( attacker.script_owner ) ) - { - // if the person who called the dogs in switched teams make sure they don't - // get penalized for the kill - if ( attacker.script_owner.team != self.aiteam ) - attacker = attacker.script_owner; - } - - if( attacker.classname == "script_vehicle" && isDefined( attacker.owner ) ) - attacker = attacker.owner; - - if ( isdefined( attacker ) && isplayer( attacker ) ) - { - if ( !level.teamBased || (self.aiteam != attacker.pers["team"]) ) - { - value = maps\mp\gametypes\_rank::getScoreInfoValue( "dogkill" ); - attacker thread maps\mp\gametypes\_rank::giveRankXP( "dogkill", value ); - givePlayerScore( "dogkill", attacker, self ); - - // dog score for team - if( level.teamBased ) - giveTeamScore( "dogkill", attacker.pers["team"], attacker, self ); - } - } - -} - -/* -removeBlockedAnims( array ) -{ - newArray = []; - for ( index = 0; index < array.size; index++ ) - { - localDeltaVector = getMoveDelta( array[index], 0, 1 ); - endPoint = self localToWorldCoords( localDeltaVector ); - - if ( self mayMoveToPoint( endPoint ) ) - newArray[newArray.size] = array[index]; - } - return newArray; -} -*/ - -finishPlayerDamageWrapper( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime ) -{ - self finishPlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime ); - - if ( getDvar( "scr_csmode" ) != "" ) - self shellShock( "damage_mp", 0.2 ); - - self damageShellshockAndRumble( eInflictor, sWeapon, sMeansOfDeath, iDamage ); -} - -damageShellshockAndRumble( eInflictor, sWeapon, sMeansOfDeath, iDamage ) -{ - self thread maps\mp\gametypes\_weapons::onWeaponDamage( eInflictor, sWeapon, sMeansOfDeath, iDamage ); - self PlayRumbleOnEntity( "damage_heavy" ); -} - - -Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration) -{ - self endon( "spawned" ); - self notify( "killed_player" ); - - if ( self.sessionteam == "spectator" ) - return; - - if ( game["state"] == "postgame" ) - return; - - self needsRevive( false ); - - // explosive barrel/car detection - if ( sWeapon == "none" && isDefined( eInflictor ) ) - { - if ( isDefined( eInflictor.targetname ) && eInflictor.targetname == "explodable_barrel" ) - sWeapon = "explodable_barrel"; - else if ( isDefined( eInflictor.destructible_type ) && isSubStr( eInflictor.destructible_type, "vehicle_" ) ) - sWeapon = "destructible_car"; - } - - prof_begin( "PlayerKilled pre constants" ); - - deathTimeOffset = 0; - if ( isdefined( self.useLastStandParams ) ) - { - self.useLastStandParams = undefined; - - assert( isdefined( self.lastStandParams ) ); - - eInflictor = self.lastStandParams.eInflictor; - attacker = self.lastStandParams.attacker; - iDamage = self.lastStandParams.iDamage; - sMeansOfDeath = self.lastStandParams.sMeansOfDeath; - sWeapon = self.lastStandParams.sWeapon; - vDir = self.lastStandParams.vDir; - sHitLoc = self.lastStandParams.sHitLoc; - - deathTimeOffset = (gettime() - self.lastStandParams.lastStandStartTime) / 1000; - - self.lastStandParams = undefined; - - self thread maps\mp\gametypes\_battlechatter_mp::perkSpecificBattleChatter( "secondchance" ); - } - - if( isHeadShot( sWeapon, sHitLoc, sMeansOfDeath ) ) - { - sMeansOfDeath = "MOD_HEAD_SHOT"; - } - - if( isai(attacker) ) - attacker notify("killed",self); - - if( isai(attacker) && isDefined( attacker.script_owner ) ) - { - // if the person who called the dogs in switched teams make sure they don't - // get penalized for the kill - if ( !level.teambased || attacker.script_owner.team != self.team ) - attacker = attacker.script_owner; - } - - if( attacker.classname == "script_vehicle" && isDefined( attacker.owner ) ) - attacker = attacker.owner; - - if ( ( isdefined ( self.capturingLastFlag ) ) && ( self.capturingLastFlag == true ) ) - { - attacker.lastCapKiller = true; - } - - // we do not want the melee icon to show up for dog attacks - if ( sWeapon == "dog_bite_mp" ) - sMeansOfDeath = "MOD_PISTOL_BULLET"; - - self thread trackLeaderBoardDeathStats( sWeapon, sMeansOfDeath ); - attacker thread trackAttackerLeaderBoardDeathStats( sWeapon, sMeansOfDeath ); - - // send out an obituary message to all clients about the kill - if( level.teamBased && isDefined( attacker.pers ) && self.team == attacker.team && sMeansOfDeath == "MOD_GRENADE" && level.friendlyfire == 0 ) - obituary(self, self, sWeapon, sMeansOfDeath); - else - obituary(self, attacker, sWeapon, sMeansOfDeath); - -// self maps\mp\gametypes\_weapons::updateWeaponUsageStats(); - if ( !level.inGracePeriod ) - { - self maps\mp\gametypes\_weapons::dropWeaponForDeath( attacker ); - self maps\mp\gametypes\_weapons::dropOffhand(); - } - - maps\mp\gametypes\_spawnlogic::deathOccured(self, attacker); - - self.sessionstate = "dead"; - self.statusicon = "hud_status_dead"; - - self.pers["weapon"] = undefined; - - self.killedPlayersCurrent = []; - - self.deathCount++; - -/# - println( "players("+self.clientId+") death count ++: " + self.deathCount ); -#/ - if( self.cur_kill_streak >= 5 && isPlayer( attacker ) ) - level thread maps\mp\gametypes\_battlechatter_mp::sayLocalSoundDelayed( attacker, "kill_killstreak", "killstreak", 0.75 ); - - if( !isDefined( self.switching_teams ) ) - { - // if team killed we reset kill streak, but dont count death and death streak - if ( isPlayer( attacker ) && level.teamBased && ( attacker != self ) && ( self.pers["team"] == attacker.pers["team"] ) ) - { - - self.cur_kill_streak = 0; - } - else - { - self incPersStat( "deaths", 1 ); - self.deaths = self getPersStat( "deaths" ); - self updatePersRatio( "kdratio", "kills", "deaths" ); - - if( self.cur_kill_streak > self.pers["best_kill_streak"] ) - self.pers["best_kill_streak"] = self.cur_kill_streak; - - self.cur_kill_streak = 0; - self.cur_death_streak++; - - if ( self.cur_death_streak > self.death_streak ) - { - self maps\mp\gametypes\_persistence::statSet( "death_streak", self.cur_death_streak ); - self.death_streak = self.cur_death_streak; - self.gametype_death_streak = self.cur_death_streak; - } - else if ( self.cur_death_streak > self.gametype_death_streak ) - { - self maps\mp\gametypes\_persistence::statSetWithGameType( "death_streak", self.cur_death_streak ); - self.gametype_death_streak = self.cur_death_streak; - } - } - } - - lpselfnum = self getEntityNumber(); - lpselfname = self.name; - lpattackGuid = ""; - lpattackname = ""; - lpselfteam = ""; - lpselfguid = self getGuid(); - lpattackerteam = ""; - - lpattacknum = -1; - - prof_end( "PlayerKilled pre constants" ); - - prof_begin( "PlayerKilled constants" ); - if( isPlayer( attacker ) ) - { - lpattackGuid = attacker getGuid(); - lpattackname = attacker.name; - - if ( attacker == self ) // killed himself - { - doKillcam = false; - - // suicide kill cam - //lpattacknum = attacker getEntityNumber(); - //doKillcam = true; - - // switching teams - if ( isDefined( self.switching_teams ) ) - { - if ( !level.teamBased && ((self.leaving_team == "allies" && self.joining_team == "axis") || (self.leaving_team == "axis" && self.joining_team == "allies")) ) - { - playerCounts = self maps\mp\gametypes\_teams::CountPlayers(); - playerCounts[self.leaving_team]--; - playerCounts[self.joining_team]++; - - if( (playerCounts[self.joining_team] - playerCounts[self.leaving_team]) > 1 ) - { - self thread [[level.onXPEvent]]( "suicide" ); - self incPersStat( "suicides", 1 ); - self.suicides = self getPersStat( "suicides" ); - } - } - } - else - { - self thread [[level.onXPEvent]]( "suicide" ); - self incPersStat( "suicides", 1 ); - self.suicides = self getPersStat( "suicides" ); - - scoreSub = maps\mp\gametypes\_tweakables::getTweakableValue( "game", "suicidepointloss" ); - _setPlayerScore( self, _getPlayerScore( self ) - scoreSub ); - - if ( sMeansOfDeath == "MOD_SUICIDE" && sHitLoc == "none" && self.throwingGrenade ) - { - self.lastGrenadeSuicideTime = gettime(); - } - - //Check for player death related battlechatter - thread maps\mp\gametypes\_battlechatter_mp::onPlayerSuicideOrTeamKill( self, "suicide" ); //Play suicide battlechatter - } - - if( isDefined( self.friendlydamage ) ) - self iPrintLn(&"MP_FRIENDLY_FIRE_WILL_NOT"); - } - else - { - prof_begin( "PlayerKilled attacker" ); - - lpattacknum = attacker getEntityNumber(); - - doKillcam = true; - - if ( level.teamBased && self.pers["team"] == attacker.pers["team"] && sMeansOfDeath == "MOD_GRENADE" && level.friendlyfire == 0 ) - { - } - else if ( level.teamBased && self.pers["team"] == attacker.pers["team"] ) // killed by a friendly - { - attacker thread [[level.onXPEvent]]( "teamkill" ); - - teamkill_penalty = 1; - if ( sWeapon == "artillery_mp" ) - { - teamkill_penalty = maps\mp\gametypes\_tweakables::getTweakableValue( "team", "artilleryTeamKillPenalty" ); - } - - attacker incPersStat( "teamkills_nostats", teamkill_penalty, false ); - attacker incPersStat( "teamkills", 1 ); //save team kills to player stats - attacker.teamkillsThisRound++; - - if ( maps\mp\gametypes\_tweakables::getTweakableValue( "team", "teamkillpointloss" ) ) - { - scoreSub = maps\mp\gametypes\_rank::getScoreInfoValue( "kill" ); - _setPlayerScore( attacker, _getPlayerScore( attacker ) - scoreSub ); - } - - if ( getTimePassed() < 5000 ) - teamKillDelay = 1; - else if ( attacker.pers["teamkills_nostats"] > 1 && getTimePassed() < (8000 + (attacker.pers["teamkills_nostats"] * 1000)) ) - teamKillDelay = 1; - else - teamKillDelay = attacker TeamKillDelay(); - - if ( teamKillDelay > 0 ) - { - attacker.teamKillPunish = true; - attacker suicide(); - - if ( attacker ShouldTeamKillKick(teamKillDelay) ) - { - attacker thread TeamKillKick(); - } - - attacker thread reduceTeamKillsOverTime(); - } - - //Play teamkill battlechatter - if( isPlayer( attacker ) ) - thread maps\mp\gametypes\_battlechatter_mp::onPlayerSuicideOrTeamKill( attacker, "teamkill" ); - } - else - { - prof_begin( "pks1" ); - - attacker thread giveKillXP( sMeansOfDeath ); - - attacker incPersStat( "kills", 1 ); - attacker.kills = attacker getPersStat( "kills" ); - attacker updatePersRatio( "kdratio", "kills", "deaths" ); - - if ( isAlive( attacker ) ) - { - - if ( !isDefined( eInflictor ) || !isDefined( eInflictor.requiredDeathCount ) || attacker.deathCount == eInflictor.requiredDeathCount ) - { - attacker.cur_kill_streak++; - } - - if( isPlayer( attacker ) ) - self thread maps\mp\gametypes\_battlechatter_mp::onPlayerKillstreak( attacker ); - } - - if ( isDefined( level.hardpointItems ) && isAlive( attacker ) ) - attacker thread maps\mp\gametypes\_hardpoints::giveHardpointItemForStreak(); - - attacker.cur_death_streak = 0; - - if ( attacker.cur_kill_streak > attacker.kill_streak ) - { - attacker maps\mp\gametypes\_persistence::statSet( "kill_streak", attacker.cur_kill_streak ); - attacker.kill_streak = attacker.cur_kill_streak; - attacker.gametype_kill_streak = attacker.cur_kill_streak; - } - else if ( attacker.cur_kill_streak > attacker.gametype_kill_streak ) - { - attacker maps\mp\gametypes\_persistence::statSetWithGametype( "kill_streak", attacker.cur_kill_streak ); - attacker.gametype_kill_streak = attacker.cur_kill_streak; - } - - givePlayerScore( "kill", attacker, self ); - - attacker thread trackAttackerKill( self.name, self.pers["rank"], self.pers["rankxp"], self.pers["prestige"] ); - - - attackerName = attacker.name; - self thread trackAttackeeDeath( attackerName, attacker.pers["rank"], attacker.pers["rankxp"], attacker.pers["prestige"] ); - - attacker thread incKillstreakTracker( sWeapon ); - - // to prevent spectator gain score for team-spectator after throwing a granade and killing someone before he switched - if ( level.teamBased && attacker.pers["team"] != "spectator") - { - // dog score for team - if( isai(Attacker) ) - giveTeamScore( "kill", attacker.aiteam, attacker, self ); - else - giveTeamScore( "kill", attacker.pers["team"], attacker, self ); - } - - scoreSub = maps\mp\gametypes\_tweakables::getTweakableValue( "game", "deathpointloss" ); - if ( scoreSub != 0 ) - { - _setPlayerScore( self, _getPlayerScore( self ) - scoreSub ); - } - - if( attacker.cur_kill_streak <= 5 && isPlayer( attacker ) ) - { - if( isDefined(level.bcKillInformProbability) && randomIntRange( 0, 100 ) >= level.bcKillInformProbability ) - level thread maps\mp\gametypes\_battlechatter_mp::sayLocalSoundDelayed( attacker, "kill", "infantry", 0.75 ); - } - - prof_end( "pks1" ); - - if ( level.teamBased ) - { - prof_begin( "PlayerKilled assists" ); - - if ( isdefined( self.attackers ) ) - { - for ( j = 0; j < self.attackers.size; j++ ) - { - player = self.attackers[j]; - - if ( !isDefined( player ) ) - continue; - - if ( player == attacker ) - continue; - - damage_done = self.attackerDamage[player.clientId]; - player thread processAssist( self, damage_done); - } - self.attackers = []; - } - - prof_end( "PlayerKilled assists" ); - } - } - - prof_end( "PlayerKilled attacker" ); - } - } - else - { - doKillcam = false; - killedByEnemy = false; - - lpattacknum = -1; - lpattackguid = ""; - lpattackname = ""; - lpattackerteam = "world"; - - // even if the attacker isn't a player, it might be on a team - if ( isDefined( attacker ) && isDefined( attacker.team ) && (attacker.team == "axis" || attacker.team == "allies") ) - { - if ( attacker.team != self.pers["team"] ) - { - killedByEnemy = true; - if ( level.teamBased ) - giveTeamScore( "kill", attacker.team, attacker, self ); - } - } - } - prof_end( "PlayerKilled constants" ); - - prof_begin( "PlayerKilled post constants" ); - - self.lastAttacker = attacker; - self.lastDeathPos = self.origin; - - if ( isDefined( attacker ) && isPlayer( attacker ) && attacker != self && (!level.teambased || attacker.pers["team"] != self.pers["team"]) ) - self thread maps\mp\gametypes\_missions::playerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc ); - else - self notify("playerKilledChallengesProcessed"); - - logPrint( "K;" + lpselfguid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + lpattackguid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n" ); - attackerString = "none"; - if ( isPlayer( attacker ) ) // attacker can be the worldspawn if it's not a player - attackerString = attacker getXuid() + "(" + lpattackname + ")"; - self logstring( "d " + sMeansOfDeath + "(" + sWeapon + ") a:" + attackerString + " d:" + iDamage + " l:" + sHitLoc + " @ " + int( self.origin[0] ) + " " + int( self.origin[1] ) + " " + int( self.origin[2] ) ); - - level thread updateTeamStatus(); - - directKill = true; - killcamentity = undefined; - killcamentityindex = -1; - killcamentitystarttime = 0; - doKillCamEntity = false; - forceKillcam = getDvarInt( "scr_forcekillcam" ); - - if ( isdefined( eInflictor ) && ( forceKillcam || eInflictor != attacker) ) - { - if ( isSubStr( sWeapon, "turret_mp" ) || isSubStr( sWeapon, "cobra" ) || sWeapon == "dog_bite_mp" || sWeapon == "artillery_mp" || sWeapon == "mine_bouncing_betty_mp" ) - doKillCamEntity = true; - if ( sWeapon == "frag_grenade_mp" || sWeapon == "c4_mp" || sWeapon == "satchel_charge_mp" || sWeapon == "bazooka_mp" || sWeapon == "panzershrek_mp" || isSubStr( sWeapon, "gl_" ) || sWeapon == "frag_grenade_short_mp" || sWeapon == "molotov_mp" || sWeapon == "sticky_grenade_mp" ) - doKillCamEntity = true; - if ( (sWeapon == "c4_mp" || sWeapon == "mine_bouncing_betty_mp") && isDefined( eInflictor.owner ) && eInflictor.owner != attacker ) - { - doKillCamEntity = false; - directKill = false; - } - } - - // if they got crushed by a tank, force the killcam to view the tank - if ( attacker.classname == "script_vehicle" && sMeansOfDeath == "MOD_CRUSH" ) - { - doKillCamEntity = true; - killcamentity = attacker; - } - else if ( doKillCamEntity ) - { - killcamentity = eInflictor; - } - - if ( doKillCamEntity ) - { - killcamentityindex = killcamentity getEntityNumber(); // must do this before any waiting lest the entity be deleted - killcamentitystarttime = killcamentity.birthtime; - } - - if ( !isdefined( killcamentity ) && directKill && (sWeapon == "artillery_mp" || sWeapon == "mine_bouncing_betty_mp" || sWeapon == "frag_grenade_short_mp" || sWeapon == "molotov_mp" || sWeapon == "none" || isSubStr( sWeapon, "cobra" )) && sMeansOfDeath != "MOD_BURNED" ) - doKillcam = false; - - self maps\mp\gametypes\_weapons::detachCarryObjectModel(); - - - died_in_vehicle= false; - if (IsDefined(self.diedOnVehicle)) - { - died_in_vehicle = self.diedOnVehicle; // only works when vehicle blows up - } - prof_end( "PlayerKilled post constants" ); - - prof_begin( "PlayerKilled body and gibbing" ); - if ( !died_in_vehicle ) - { - vAttackerOrigin = undefined; - if ( isdefined( attacker ) ) - vAttackerOrigin = attacker.origin; - - ragdoll_now = false; - if( IsDefined(self.usingvehicle) && self.usingvehicle && IsDefined(self.vehicleposition) && self.vehicleposition == 1 ) - ragdoll_now = true; - else - ragdoll_now = self maps\mp\_gib::gib_player(iDamage, sMeansOfDeath, sWeapon, sHitLoc, vDir, vAttackerOrigin); - - body = self clonePlayer( deathAnimDuration ); - self createDeadBody( iDamage, sMeansOfDeath, sWeapon, sHitLoc, vDir, vAttackerOrigin, deathAnimDuration, eInflictor, ragdoll_now, body ); - } - prof_end( "PlayerKilled body and gibbing" ); - - prof_begin( "PlayerKilled post post constants" ); - self.switching_teams = undefined; - self.joining_team = undefined; - self.leaving_team = undefined; - - self thread [[level.onPlayerKilled]](eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration); - - for ( iCB = 0; iCB < level.onPlayerKilledExtraUnthreadedCBs.size; iCB++ ) - { - self [[ level.onPlayerKilledExtraUnthreadedCBs[ iCB ] ]]( - eInflictor, - attacker, - iDamage, - sMeansOfDeath, - sWeapon, - vDir, - sHitLoc, - psOffsetTime, - deathAnimDuration ); - } - - self.deathTime = getTime(); - self.wantSafeSpawn = false; - perks = getPerks( attacker ); - - // let the player watch themselves die - wait ( 0.25 ); - - //check if killed by a sniper - weaponClass = maps\mp\gametypes\_missions::getWeaponClass( sWeapon ); - if ( weaponClass == "weapon_sniper" ) - { - self thread maps\mp\gametypes\_battlechatter_mp::KilledBySniper( attacker ); - } - - self.cancelKillcam = false; - self thread cancelKillCamOnUse(); - waitForTimeOrNotifies( 1.75 ); - self notify ( "death_delay_finished" ); - - - - if ( game["state"] != "playing" ) - return; - - postDeathDelay = (getTime() - self.deathTime) / 1000; - - respawnTimerStartTime = gettime(); - - if ( getDvarInt( "scr_forcekillcam" ) != 0 ) - { - doKillcam = true; - - if ( lpattacknum < 0 ) - lpattacknum = self getEntityNumber(); - } - - if ( !self.cancelKillcam && doKillcam && level.killcam ) - { - livesLeft = !(level.numLives && !self.pers["lives"]); - timeUntilSpawn = TimeUntilSpawn( true ); - willRespawnImmediately = livesLeft && (timeUntilSpawn <= 0); - - self maps\mp\gametypes\_killcam::killcam( lpattacknum, killcamentity, killcamentityindex, killcamentitystarttime, sWeapon, postDeathDelay + deathTimeOffset, psOffsetTime, willRespawnImmediately, timeUntilRoundEnd(), perks, attacker ); - } - - prof_end( "PlayerKilled post post constants" ); - - if ( game["state"] != "playing" ) - { - self.sessionstate = "dead"; - self.spectatorclient = -1; - self.killcamentity = -1; - self.archivetime = 0; - self.psoffsettime = 0; - return; - } - - // class may be undefined if we have changed teams - if ( isValidClass( self.class ) ) - { - timePassed = (gettime() - respawnTimerStartTime) / 1000; - self thread [[level.spawnClient]]( timePassed ); - } -} - -incKillstreakTracker( sWeapon ) -{ - self endon("disconnect"); - - waittillframeend; - - if( sWeapon == "artillery_mp" ) - self.pers["artillery_kills"]++; - - if( sWeapon == "dog_bite_mp" ) - self.pers["dog_kills"]++; -} - -trackLeaderBoardDeathStats( sWeapon, sMeansOfDeath ) -{ - self thread threadedSetStatLBByName( sWeapon, 1, "deaths by", 2 ); -} - -trackAttackerLeaderBoardDeathStats( sWeapon, sMeansOfDeath ) -{ - if ( isdefined( self ) && isplayer( self ) ) - { - if ( sMeansOfDeath != "MOD_FALLING" ) - { - self thread threadedSetStatLBByName( sWeapon, 1, "kills"); - } - - if ( sMeansOfDeath == "MOD_HEAD_SHOT" ) - { - self thread threadedSetStatLBByName( sWeapon, 1, "headshots"); - } - } -} - -trackAttackerKill( name, rank, xp, prestige ) -{ - self endon("disconnect"); - attacker = self; - - waittillframeend; - - if ( !isDefined( attacker.pers["killed_players"][name] ) ) - attacker.pers["killed_players"][name] = 0; - - if ( !isDefined( attacker.killedPlayersCurrent[name] ) ) - attacker.killedPlayersCurrent[name] = 0; - - if ( !isDefined( attacker.pers["nemesis_tracking"][name] ) ) - attacker.pers["nemesis_tracking"][name] = 0; - - attacker.pers["killed_players"][name]++; - attacker.killedPlayersCurrent[name]++; - attacker.pers["nemesis_tracking"][name] += 1.0; - - if( attacker.pers["nemesis_name"] == "" || attacker.pers["nemesis_tracking"][name] > attacker.pers["nemesis_tracking"][attacker.pers["nemesis_name"]] ) - { - attacker.pers["nemesis_name"] = name; - attacker.pers["nemesis_rank"] = rank; - attacker.pers["nemesis_rankIcon"] = prestige; - attacker.pers["nemesis_xp"] = xp; - } - else - { - attacker.pers["nemesis_rank"] = rank; - attacker.pers["nemesis_xp"] = xp; - } -} - -trackAttackeeDeath( attackerName, rank, xp, prestige ) -{ - self endon("disconnect"); - - waittillframeend; - - if ( !isDefined( self.pers["killed_by"][attackerName] ) ) - self.pers["killed_by"][attackerName] = 0; - - self.pers["killed_by"][attackerName]++; - - if ( !isDefined( self.pers["nemesis_tracking"][attackerName] ) ) - self.pers["nemesis_tracking"][attackerName] = 0; - - self.pers["nemesis_tracking"][attackerName] += 1.5; - - if( self.pers["nemesis_name"] == "" || self.pers["nemesis_tracking"][attackerName] > self.pers["nemesis_tracking"][self.pers["nemesis_name"]] ) - { - self.pers["nemesis_name"] = attackerName; - self.pers["nemesis_rank"] = rank; - self.pers["nemesis_rankIcon"] = prestige; - self.pers["nemesis_xp"] = xp; - } - else - { - self.pers["nemesis_rank"] = rank; - self.pers["nemesis_xp"] = xp; - } - - //Nemesis Killcam - ( hopefully even with the wait it gets there with enough time not to cause a flicker) - if( self.pers["nemesis_name"] == attackerName && self.pers["nemesis_tracking"][attackerName] >= 2 ) - self setClientDvar( "killcam_title", "@MP_NEMESIS_KILLCAM" ); - -} - - -giveKillXP( sMeansOfDeath ) -{ - self endon("disconnect"); - - waittillframeend; - - attacker = self; - if ( sMeansOfDeath == "MOD_HEAD_SHOT" ) - { - attacker incPersStat( "headshots", 1 ); - attacker.headshots = attacker getPersStat( "headshots" ); - - if ( isDefined( attacker.lastStand ) ) - value = maps\mp\gametypes\_rank::getScoreInfoValue( "headshot" ) * 2; - else - value = undefined; - - attacker thread maps\mp\gametypes\_rank::giveRankXP( "headshot", value ); - attacker playLocalSound( "bullet_impact_headshot_2" ); - } - else - { - if ( isDefined( attacker.lastStand ) ) - value = maps\mp\gametypes\_rank::getScoreInfoValue( "kill" ) * 2; - else - value = undefined; - - attacker thread maps\mp\gametypes\_rank::giveRankXP( "kill", value ); - } -} - - -createDeadBody( iDamage, sMeansOfDeath, sWeapon, sHitLoc, vDir, vAttackerOrigin, deathAnimDuration, eInflictor, ragdoll_jib, body ) -{ - if ( ragdoll_jib || self isOnLadder() || self isMantling() || sMeansOfDeath == "MOD_CRUSH" ) - body startRagDoll(); - - thread delayStartRagdoll( body, sHitLoc, vDir, sWeapon, eInflictor, sMeansOfDeath ); - - if( sMeansOfDeath == "MOD_BURNED" || isdefined( self.burning ) ) - { - body maps\mp\_burnplayer::burnedToDeath(); - } - if ( sMeansOfDeath == "MOD_CRUSH" ) - { - body vehicleCrush(); - } - - self.body = body; - if ( !isDefined( self.switching_teams ) ) - thread maps\mp\gametypes\_deathicons::addDeathicon( body, self, self.pers["team"], 5.0 ); -} - - -clearLastTankAttacker() -{ - self endon( "disconnect" ); - - self notify( "clearLastTankAttacker" ); - self endon( "clearLastTankAttacker" ); - count = 1; - - wait( 3 ); // time for the health overlay to disapate - - while ( self.health < 99 && count < 10 ) - { - wait ( 1 ); - count++; - } - - self.lastTankThatAttacked = undefined; -} - - -cancelKillCamOnUse() -{ - self thread cancelKillCamOnUse_specificButton( ::cancelKillCamUseButton, ::cancelKillCamCallback ); - //self thread cancelKillCamOnUse_specificButton( ::cancelKillCamSafeSpawnButton, ::cancelKillCamSafeSpawnCallback ); -} - -cancelKillCamUseButton() -{ - return self useButtonPressed(); -} -cancelKillCamSafeSpawnButton() -{ - return self fragButtonPressed(); -} -cancelKillCamCallback() -{ - self.cancelKillcam = true; -} -cancelKillCamSafeSpawnCallback() -{ - self.cancelKillcam = true; - self.wantSafeSpawn = true; -} - -cancelKillCamOnUse_specificButton( pressingButtonFunc, finishedFunc ) -{ - self endon ( "death_delay_finished" ); - self endon ( "disconnect" ); - level endon ( "game_ended" ); - - for ( ;; ) - { - if ( !self [[pressingButtonFunc]]() ) - { - wait ( 0.05 ); - continue; - } - - buttonTime = 0; - while( self [[pressingButtonFunc]]() ) - { - buttonTime += 0.05; - wait ( 0.05 ); - } - - if ( buttonTime >= 0.5 ) - continue; - - buttonTime = 0; - - while ( !self [[pressingButtonFunc]]() && buttonTime < 0.5 ) - { - buttonTime += 0.05; - wait ( 0.05 ); - } - - if ( buttonTime >= 0.5 ) - continue; - - self [[finishedFunc]](); - return; - } -} - - -waitForTimeOrNotifies( desiredDelay ) -{ - startedWaiting = getTime(); - -// while( self.doingNotify ) -// wait ( 0.05 ); - - waitedTime = (getTime() - startedWaiting)/1000; - - if ( waitedTime < desiredDelay ) - { - wait desiredDelay - waitedTime; - return desiredDelay; - } - else - { - return waitedTime; - } -} - -reduceTeamKillsOverTime() -{ - timePerOneTeamkillReduction = 20.0; - reductionPerSecond = 1.0 / timePerOneTeamkillReduction; - - while(1) - { - if ( isAlive( self ) ) - { - self.pers["teamkills_nostats"] -= reductionPerSecond; - if ( self.pers["teamkills_nostats"] < level.minimumAllowedTeamKills ) - { - self.pers["teamkills_nostats"] = level.minimumAllowedTeamKills; - break; - } - } - wait 1; - } -} - -getPerks( player ) -{ - perks[0] = "specialty_null"; - perks[1] = "specialty_null"; - perks[2] = "specialty_null"; - perks[3] = "specialty_null"; - - if ( isPlayer( player ) && !level.oldschool ) - { - // if public game, if is not bot, if class selection is custom, if is currently using a custom class instead of pending class change - if ( level.onlineGame && !isdefined( player.pers["isBot"] ) && ( isSubstr( player.curClass, "CLASS_CUSTOM" ) || isSubstr( player.curClass, "CLASS_PRESTIGE" ) ) && isdefined(player.custom_class) ) - { - //assertex( isdefined(player.custom_class), "Player: " + player.name + "'s Custom Class: " + player.pers["class"] + " is corrupted." ); - - class_num = player.class_num; - if ( isDefined( player.custom_class[class_num]["specialty1"] ) ) - perks[0] = player.custom_class[class_num]["specialty1"]; - if ( isDefined( player.custom_class[class_num]["specialty2"] ) ) - perks[1] = player.custom_class[class_num]["specialty2"]; - if ( isDefined( player.custom_class[class_num]["specialty3"] ) ) - perks[2] = player.custom_class[class_num]["specialty3"]; - if ( isDefined( player.custom_class[class_num]["specialty4"] ) ) - perks[3] = player.custom_class[class_num]["specialty4"]; - } - else - { - if ( isDefined( level.default_perk[player.curClass][0] ) ) - perks[0] = level.default_perk[player.curClass][0]; - if ( isDefined( level.default_perk[player.curClass][1] ) ) - perks[1] = level.default_perk[player.curClass][1]; - if ( isDefined( level.default_perk[player.curClass][2] ) ) - perks[2] = level.default_perk[player.curClass][2]; - if ( isDefined( level.default_perk[player.curClass][3] ) ) - perks[3] = level.default_perk[player.curClass][3]; - - } - } - - return perks; -} - -processAssist( killedplayer, damagedone ) -{ - self endon("disconnect"); - killedplayer endon("disconnect"); - - wait .05; // don't ever run on the same frame as the playerkilled callback. - WaitTillSlowProcessAllowed(); - - if ( self.pers["team"] != "axis" && self.pers["team"] != "allies" ) - return; - - if ( self.pers["team"] == killedplayer.pers["team"] ) - return; - - assist_level = "assist"; - - assist_level_value = int( floor( damagedone / 25 ) ); - - if ( assist_level_value > 0 ) - { - if ( assist_level_value > 3 ) - { - assist_level_value = 3; - } - assist_level = assist_level + "_" + ( assist_level_value * 25 ); - } - - self thread [[level.onXPEvent]]( assist_level ); - self incPersStat( "assists", 1 ); - self.assists = self getPersStat( "assists" ); - - givePlayerScore( assist_level, self, killedplayer ); - - self thread maps\mp\gametypes\_missions::playerAssist(); -} - -Callback_PlayerLastStand( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration ) -{ - //CODER MOD - // DRoche 06 30 08 - // Moved last stand to its own script file - // maps\mp\_laststand.gsc - maps\mp\_laststand::playerlaststand(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration ); -} - - -setSpawnVariables() -{ - resetTimeout(); - - // Stop shellshock and rumble - self StopShellshock(); - self StopRumble( "damage_heavy" ); -} - -notifyConnecting() -{ - waittillframeend; - - if( isDefined( self ) ) - level notify( "connecting", self ); -} - - -setObjectiveText( team, text ) -{ - game["strings"]["objective_"+team] = text; - precacheString( text ); -} - -setObjectiveScoreText( team, text ) -{ - game["strings"]["objective_score_"+team] = text; - precacheString( text ); -} - -setObjectiveHintText( team, text ) -{ - game["strings"]["objective_hint_"+team] = text; - precacheString( text ); -} - -getObjectiveText( team ) -{ - return game["strings"]["objective_"+team]; -} - -getObjectiveScoreText( team ) -{ - return game["strings"]["objective_score_"+team]; -} - -getObjectiveHintText( team ) -{ - return game["strings"]["objective_hint_"+team]; -} - -getHitLocHeight( sHitLoc ) -{ - switch( sHitLoc ) - { - case "helmet": - case "head": - case "neck": - return 60; - case "torso_upper": - case "right_arm_upper": - case "left_arm_upper": - case "right_arm_lower": - case "left_arm_lower": - case "right_hand": - case "left_hand": - case "gun": - return 48; - case "torso_lower": - return 40; - case "right_leg_upper": - case "left_leg_upper": - return 32; - case "right_leg_lower": - case "left_leg_lower": - return 10; - case "right_foot": - case "left_foot": - return 5; - } - return 48; -} - -debugLine( start, end ) -{ - for ( i = 0; i < 50; i++ ) - { - line( start, end ); - wait .05; - } -} - -delayStartRagdoll( ent, sHitLoc, vDir, sWeapon, eInflictor, sMeansOfDeath ) -{ - if ( isDefined( ent ) ) - { - deathAnim = ent getcorpseanim(); - if ( animhasnotetrack( deathAnim, "ignore_ragdoll" ) ) - return; - } - - if ( level.oldschool ) - { - if ( !isDefined( vDir ) ) - vDir = (0,0,0); - - explosionPos = ent.origin + ( 0, 0, getHitLocHeight( sHitLoc ) ); - explosionPos -= vDir * 20; - //thread debugLine( ent.origin + (0,0,(explosionPos[2] - ent.origin[2])), explosionPos ); - explosionRadius = 40; - explosionForce = .75; - if ( sMeansOfDeath == "MOD_IMPACT" || sMeansOfDeath == "MOD_EXPLOSIVE" || isSubStr(sMeansOfDeath, "MOD_GRENADE") || isSubStr(sMeansOfDeath, "MOD_PROJECTILE") || sHitLoc == "head" || sHitLoc == "helmet" ) - { - explosionForce = 2.5; - } - - ent startragdoll( 1 ); - - wait .05; - - if ( !isDefined( ent ) ) - return; - - // apply extra physics force to make the ragdoll go crazy - physicsExplosionSphere( explosionPos, explosionRadius, explosionRadius/2, explosionForce ); - return; - } - - wait( 0.2 ); - - if ( !isDefined( ent ) ) - return; - - if ( ent isRagDoll() ) - return; - - deathAnim = ent getcorpseanim(); - - startFrac = 0.35; - - if ( animhasnotetrack( deathAnim, "start_ragdoll" ) ) - { - times = getnotetracktimes( deathAnim, "start_ragdoll" ); - if ( isDefined( times ) ) - startFrac = times[0]; - } - - waitTime = startFrac * getanimlength( deathAnim ); - wait( waitTime ); - - if ( isDefined( ent ) ) - { - println( "Ragdolling after " + waitTime + " seconds" ); - ent startragdoll( 1 ); - } -} - - -isExcluded( entity, entityList ) -{ - for ( index = 0; index < entityList.size; index++ ) - { - if ( entity == entityList[index] ) - return true; - } - return false; -} - -leaderDialog( dialog, team, group, excludeList, squadDialog, squadID ) -{ - assert( isdefined( level.players ) ); - - if ( level.splitscreen ) - return; - - - if ( !isDefined( team ) ) - { - leaderDialogBothTeams( dialog, "allies", dialog, "axis", group, excludeList ); - return; - } - - if ( level.splitscreen ) - { - if ( level.players.size ) - level.players[0] leaderDialogOnPlayer( dialog, group ); - return; - } - - - if( isDefined( squadDialog ) ) - { - for ( i = 0; i < level.players.size; i++ ) - { - - player = level.players[i]; - playerSquadID = getplayersquadid( player ); - if( isDefined( squadID ) && isDefined( playerSquadID ) && (isDefined( player.pers["team"] ) && (player.pers["team"] == team )) && playerSquadID == squadID && level.squads[team][squadID].size > 1 ) - { - player leaderDialogOnPlayer( squadDialog ); - } - else if( !isDefined( squadID ) && isDefined( getplayersquadid( player ) ) && (isDefined( player.pers["team"] ) && (player.pers["team"] == team )) ) - player leaderDialogOnPlayer( squadDialog ); - else if( !isDefined( dialog ) ) - continue; - else if ( ( isDefined( excludeList ) ) && (isDefined( player.pers["team"] ) && (player.pers["team"] == team )) && !isExcluded( player, excludeList ) ) - player leaderDialogOnPlayer( dialog, group ); - else if(isDefined( player.pers["team"] ) && (player.pers["team"] == team ) ) - player leaderDialogOnPlayer( dialog, group ); - } - } - else if ( isDefined( excludeList ) ) - { - for ( i = 0; i < level.players.size; i++ ) - { - player = level.players[i]; - if ( (isDefined( player.pers["team"] ) && (player.pers["team"] == team )) && !isExcluded( player, excludeList ) ) - player leaderDialogOnPlayer( dialog, group ); - } - } - else - { - for ( i = 0; i < level.players.size; i++ ) - { - player = level.players[i]; - if ( isDefined( player.pers["team"] ) && (player.pers["team"] == team ) ) - player leaderDialogOnPlayer( dialog, group ); - } - } -} - -leaderDialogBothTeams( dialog1, team1, dialog2, team2, group, excludeList ) -{ - assert( isdefined( level.players ) ); - - if ( level.splitscreen ) - return; - - if ( level.splitscreen ) - { - if ( level.players.size ) - level.players[0] leaderDialogOnPlayer( dialog1, group ); - return; - } - - if ( isDefined( excludeList ) ) - { - for ( i = 0; i < level.players.size; i++ ) - { - player = level.players[i]; - team = player.pers["team"]; - - if ( !isDefined( team ) ) - continue; - - if ( isExcluded( player, excludeList ) ) - continue; - - if ( team == team1 ) - player leaderDialogOnPlayer( dialog1, group ); - else if ( team == team2 ) - player leaderDialogOnPlayer( dialog2, group ); - } - } - else - { - for ( i = 0; i < level.players.size; i++ ) - { - player = level.players[i]; - team = player.pers["team"]; - - if ( !isDefined( team ) ) - continue; - - if ( team == team1 ) - player leaderDialogOnPlayer( dialog1, group ); - else if ( team == team2 ) - player leaderDialogOnPlayer( dialog2, group ); - } - } -} - - -leaderDialogOnPlayer( dialog, group ) -{ - team = self.pers["team"]; - - if ( level.splitscreen ) - return; - - if ( !isDefined( team ) ) - return; - - if ( team != "allies" && team != "axis" ) - return; - - if ( isDefined( group ) ) - { - // ignore the message if one from the same group is already playing - if ( self.leaderDialogGroup == group ) - return; - - hadGroupDialog = isDefined( self.leaderDialogGroups[group] ); - - self.leaderDialogGroups[group] = dialog; - dialog = group; - - // exit because the "group" dialog call is already in the queue - if ( hadGroupDialog ) - return; - } - - if ( !self.leaderDialogActive ) - self thread playLeaderDialogOnPlayer( dialog, team ); - else - self.leaderDialogQueue[self.leaderDialogQueue.size] = dialog; -} - - -playLeaderDialogOnPlayer( dialog, team ) -{ - self endon ( "disconnect" ); - - self.leaderDialogActive = true; - if ( isDefined( self.leaderDialogGroups[dialog] ) ) - { - group = dialog; - dialog = self.leaderDialogGroups[group]; - self.leaderDialogGroups[group] = undefined; - self.leaderDialogGroup = group; - } - - if( level.allowAnnouncer ) - self playLocalSound( game["voice"][team]+game["dialog"][dialog] ); - - wait ( 3.0 ); - self.leaderDialogActive = false; - self.leaderDialogGroup = ""; - - if ( self.leaderDialogQueue.size > 0 ) - { - nextDialog = self.leaderDialogQueue[0]; - - for ( i = 1; i < self.leaderDialogQueue.size; i++ ) - self.leaderDialogQueue[i-1] = self.leaderDialogQueue[i]; - self.leaderDialogQueue[i-1] = undefined; - - self thread playLeaderDialogOnPlayer( nextDialog, team ); - } -} - - -getMostKilledBy() -{ - mostKilledBy = ""; - killCount = 0; - - killedByNames = getArrayKeys( self.pers["killed_by"] ); - - for ( index = 0; index < killedByNames.size; index++ ) - { - killedByName = killedByNames[index]; - if ( self.pers["killed_by"][killedByName] <= killCount ) - continue; - - killCount = self.pers["killed_by"][killedByName]; - mostKilleBy = killedByName; - } - - return mostKilledBy; -} - - -getMostKilled() -{ - mostKilled = ""; - killCount = 0; - - killedNames = getArrayKeys( self.pers["killed_players"] ); - - for ( index = 0; index < killedNames.size; index++ ) - { - killedName = killedNames[index]; - if ( self.pers["killed_players"][killedName] <= killCount ) - continue; - - killCount = self.pers["killed_players"][killedName]; - mostKilled = killedName; - } - - return mostKilled; -} - - -vehicleCrush() -{ - self endon("disconnect"); - - if(IsDefined( level._effect ) && IsDefined( level._effect["tanksquish"] ) ) - { - PlayFX( level._effect["tanksquish"], self.origin + (0, 0, 30)); - } - - self playsound( "human_crunch" ); -} - -GetVehicleProjectileScalar( sWeapon ) -{ - if ( sWeapon == "satchel_charge_mp" ) - { - scale = 2.75; - } - else if ( sWeapon == "sticky_grenade_mp" ) - { - scale = 2.25; - } - else if ( sWeapon == "mine_bouncing_betty_mp" ) - { - scale = 1; - } - else if ( issubstr(sWeapon,"bazooka") ) - { - scale = 2.5; - } - else if ( sWeapon == "artillery_mp" ) - { - scale = 2.75; - } - // Grenade Launchers - else if ( issubstr(sWeapon,"gl_") ) - { - scale = 1.5; - } - // tank main guns - else if ( issubstr(sWeapon,"turret_mp") ) - { - scale = 2; - } - // all grenades (except sticky above) - else if ( issubstr(sWeapon,"grenade") ) - { - scale = .5; - } - else - { - scale = 1; - } - - return scale; -} - -GetVehicleProjectileSplashScalar( sWeapon ) -{ - if ( sWeapon == "satchel_charge_mp" ) - { - scale = 0.5; - } - else if ( sWeapon == "sticky_grenade_mp" ) - { - scale = 0.5; - } - else if ( sWeapon == "mine_bouncing_betty_mp" ) - { - scale = 0.1; - } - else if ( issubstr(sWeapon,"bazooka") ) - { - scale = 0.1; - } - else if ( sWeapon == "artillery_mp" ) - { - scale = 0.6; - } - // Grenade Launchers - else if ( issubstr(sWeapon,"gl_") ) - { - scale = 0.1; - } - // tank main guns - else if ( issubstr(sWeapon,"turrent_mp") ) - { - scale = 0.1; - } - // all grenades (except sticky above) - else if ( issubstr(sWeapon,"grenade") ) - { - scale = 0.1; - } - else - { - scale = 0.1; - } - - return scale; -} - -// damage going through this function will have already passed through the -// GetVehicleProjectileSplashScalar so keep that in mind when adjusting values -GetVehicleUnderneathSplashScalar( sWeapon ) -{ - if ( sWeapon == "satchel_charge_mp" ) - { - // canceling all splash scaling done by the other function - scale = 10.0; - - // making it really deadly - scale *= 3.0; - } - else - { - scale = 1.0; - } - - return scale; -} - -GetVehicleBulletDamage( sWeapon ) -{ - if( issubstr( sWeapon, "ptrs41_" ) ) - { - iDamage = 25; - } - else if ( isSubStr( sWeapon, "gunner" ) ) - { - iDamage = 5; - } - else if( issubstr(sWeapon,"mg42_bipod") || issubstr(sWeapon,"30cal_bipod") ) // heavy weapons - { - iDamage = 5; - } - else - { - iDamage = 1; - } - return iDamage; -} - -threadedSetStatLBByName( name, value, columnname, suffix ) -{ - self endon("disconnect"); - waittillframeend; - - if ( !isdefined( suffix ) && !isdefined( columnname ) ) - { - self setStatLBByName( name, value ); - } - else if ( !isdefined(suffix ) ) - { - self setStatLBByName( name, value, columnname ); - } - else - { - self setStatLBByName( name, value, columnname, suffix ); - } -} \ No newline at end of file +//Outdated files. Do not use. \ No newline at end of file diff --git a/mods/mp_usermaps/maps/mp/gametypes/_spawnlogic.gsc b/mods/mp_usermaps/maps/mp/gametypes/_spawnlogic.gsc index f340c7dc3..2428a1aca 100644 --- a/mods/mp_usermaps/maps/mp/gametypes/_spawnlogic.gsc +++ b/mods/mp_usermaps/maps/mp/gametypes/_spawnlogic.gsc @@ -1,2291 +1 @@ -#include common_scripts\utility; -#include maps\mp\_utility; - -onPlayerConnect() -{ - for(;;) - { - level waittill("connected", player); - } -} - -findBoxCenter( mins, maxs ) -{ - center = ( 0, 0, 0 ); - center = maxs - mins; - center = ( center[0]/2, center[1]/2, center[2]/2 ) + mins; - return center; -} - -expandMins( mins, point ) -{ - if ( mins[0] > point[0] ) - mins = ( point[0], mins[1], mins[2] ); - if ( mins[1] > point[1] ) - mins = ( mins[0], point[1], mins[2] ); - if ( mins[2] > point[2] ) - mins = ( mins[0], mins[1], point[2] ); - return mins; -} - -expandMaxs( maxs, point ) -{ - if ( maxs[0] < point[0] ) - maxs = ( point[0], maxs[1], maxs[2] ); - if ( maxs[1] < point[1] ) - maxs = ( maxs[0], point[1], maxs[2] ); - if ( maxs[2] < point[2] ) - maxs = ( maxs[0], maxs[1], point[2] ); - return maxs; -} - - -addSpawnPoints( team, spawnPointName ) -{ - addSpawnPointClassName( spawnPointName ); - - oldSpawnPoints = []; - if ( level.teamSpawnPoints[team].size ) - oldSpawnPoints = level.teamSpawnPoints[team]; - - level.teamSpawnPoints[team] = getSpawnpointArray( spawnPointName ); - - if ( !level.teamSpawnPoints[team].size ) - { - if( GetDvarInt( "developer" ) > 0 ) - { - AssertMsg( "No " + spawnPointName + " spawnpoints found in level!" ); - } - - println( "^1No " + spawnPointName + " spawnpoints found in level!" ); - maps\mp\gametypes\_callbacksetup::AbortLevel(); - wait 1; // so we don't try to abort more than once before the frame ends - return; - } - - if ( !isDefined( level.spawnpoints ) ) - level.spawnpoints = []; - - for ( index = 0; index < level.teamSpawnPoints[team].size; index++ ) - { - spawnpoint = level.teamSpawnPoints[team][index]; - - if ( !isdefined( spawnpoint.inited ) ) - { - spawnpoint spawnPointInit(); - level.spawnpoints[ level.spawnpoints.size ] = spawnpoint; - } - } - - for ( index = 0; index < oldSpawnPoints.size; index++ ) - { - origin = oldSpawnPoints[index].origin; - - // are these 2 lines necessary? we already did it in spawnPointInit - level.spawnMins = expandMins( level.spawnMins, origin ); - level.spawnMaxs = expandMaxs( level.spawnMaxs, origin ); - - level.teamSpawnPoints[team][ level.teamSpawnPoints[team].size ] = oldSpawnPoints[index]; - } -} - -placeSpawnPoints( spawnPointName ) -{ - addSpawnPointClassName( spawnPointName ); - - spawnPoints = getSpawnpointArray( spawnPointName ); - - /# - if ( !isDefined( level.extraspawnpointsused ) ) - level.extraspawnpointsused = []; - #/ - - if ( !spawnPoints.size ) - { - if( GetDvarInt( "developer" ) > 0 ) - { - AssertMsg( "No " + spawnPointName + " spawnpoints found in level!" ); - } - - println( "^1No " + spawnPointName + " spawnpoints found in level!" ); - maps\mp\gametypes\_callbacksetup::AbortLevel(); - wait 1; // so we don't try to abort more than once before the frame ends - return; - } - - for( index = 0; index < spawnPoints.size; index++ ) - { - spawnPoints[index] spawnPointInit(); - // don't add this spawnpoint to level.spawnpoints, - // because it's an unimportant one that we don't want to do sight traces to - - /# - spawnPoints[index].fakeclassname = spawnPointName; - level.extraspawnpointsused[ level.extraspawnpointsused.size ] = spawnPoints[index]; - #/ - } -} - -addSpawnPointClassName( spawnPointClassName ) -{ - if ( !IsDefined( level.spawn_point_class_names ) ) - { - level.spawn_point_class_names = []; - } - - level.spawn_point_class_names[ level.spawn_point_class_names.size ] = spawnPointClassName; -} - -getSpawnpointArray( classname ) -{ - spawnPoints = getEntArray( classname, "classname" ); - - if ( !isdefined( level.extraspawnpoints ) || !isdefined( level.extraspawnpoints[classname] ) ) - return spawnPoints; - - for ( i = 0; i < level.extraspawnpoints[classname].size; i++ ) - { - spawnPoints[ spawnPoints.size ] = level.extraspawnpoints[classname][i]; - } - - return spawnPoints; -} - -spawnPointInit() -{ - spawnpoint = self; - origin = spawnpoint.origin; - - // we need to properly prime the mins and maxs otherwise a level that is entirely - // on one side of the zero line for any axis will have an invalid map center - if ( !level.spawnMinsMaxsPrimed ) - { - level.spawnMins = origin; - level.spawnMaxs = origin; - level.spawnMinsMaxsPrimed = true; - } - else - { - level.spawnMins = expandMins( level.spawnMins, origin ); - level.spawnMaxs = expandMaxs( level.spawnMaxs, origin ); - } - - spawnpoint placeSpawnpoint(); - spawnpoint.forward = anglesToForward( spawnpoint.angles ); - spawnpoint.sightTracePoint = spawnpoint.origin + (0,0,50); - - /*skyHeight = 500; - spawnpoint.outside = true; - if ( !bullettracepassed( spawnpoint.sightTracePoint, spawnpoint.sightTracePoint + (0,0,skyHeight), false, undefined) ) - { - startpoint = spawnpoint.sightTracePoint + spawnpoint.forward * 100; - if ( !bullettracepassed( startpoint, startpoint + (0,0,skyHeight), false, undefined) ) - spawnpoint.outside = false; - }*/ - - spawnpoint.inited = true; -} - -getTeamSpawnPoints( team ) -{ - return level.teamSpawnPoints[team]; -} - -// selects a spawnpoint, preferring ones with heigher weights (or toward the beginning of the array if no weights). -// also does final things like setting self.lastspawnpoint to the one chosen. -// this takes care of avoiding telefragging, so it doesn't have to be considered by any other function. -getSpawnpoint_Final( spawnpoints, useweights ) -{ - //prof_begin( " spawn_final" ); - - bestspawnpoint = undefined; - - if ( !isdefined( spawnpoints ) || spawnpoints.size == 0 ) - return undefined; - - if ( !isdefined( useweights ) ) - useweights = true; - - if ( useweights ) - { - // choose spawnpoint with best weight - // (if a tie, choose randomly from the best) - bestspawnpoint = getBestWeightedSpawnpoint( spawnpoints ); - thread spawnWeightDebug( spawnpoints ); - } - else - { - // (only place we actually get here from is getSpawnpoint_Random() ) - // no weights. prefer spawnpoints toward beginning of array - for ( i = 0; i < spawnpoints.size; i++ ) - { - if( isdefined( self.lastspawnpoint ) && self.lastspawnpoint == spawnpoints[i] ) - continue; - - if ( positionWouldTelefrag( spawnpoints[i].origin ) ) - continue; - - bestspawnpoint = spawnpoints[i]; - break; - } - if ( !isdefined( bestspawnpoint ) ) - { - // Couldn't find a useable spawnpoint. All spawnpoints either telefragged or were our last spawnpoint - // Our only hope is our last spawnpoint - unless it too will telefrag... - if ( isdefined( self.lastspawnpoint ) && !positionWouldTelefrag( self.lastspawnpoint.origin ) ) - { - // (make sure our last spawnpoint is in the valid array of spawnpoints to use) - for ( i = 0; i < spawnpoints.size; i++ ) - { - if ( spawnpoints[i] == self.lastspawnpoint ) - { - bestspawnpoint = spawnpoints[i]; - break; - } - } - } - } - } - - if ( !isdefined( bestspawnpoint ) ) - { - // couldn't find a useable spawnpoint! all will telefrag. - if ( useweights ) - { - // at this point, forget about weights. just take a random one. - bestspawnpoint = spawnpoints[randomint(spawnpoints.size)]; - } - else - { - bestspawnpoint = spawnpoints[0]; - } - } - - self finalizeSpawnpointChoice( bestspawnpoint ); - - /# - self storeSpawnData( spawnpoints, useweights, bestspawnpoint ); - #/ - - //prof_end( " spawn_final" ); - - return bestspawnpoint; -} - -finalizeSpawnpointChoice( spawnpoint ) -{ - time = getTime(); - - self.lastspawnpoint = spawnpoint; - self.lastspawntime = time; - spawnpoint.lastspawnedplayer = self; - spawnpoint.lastspawntime = time; -} - -getBestWeightedSpawnpoint( spawnpoints ) -{ - maxSightTracedSpawnpoints = 3; - for ( try = 0; try <= maxSightTracedSpawnpoints; try++ ) - { - bestspawnpoints = []; - bestweight = undefined; - bestspawnpoint = undefined; - for ( i = 0; i < spawnpoints.size; i++ ) - { - if ( !isdefined( bestweight ) || spawnpoints[i].weight > bestweight ) - { - if ( positionWouldTelefrag( spawnpoints[i].origin ) ) - continue; - - bestspawnpoints = []; - bestspawnpoints[0] = spawnpoints[i]; - bestweight = spawnpoints[i].weight; - } - else if ( spawnpoints[i].weight == bestweight ) - { - if ( positionWouldTelefrag( spawnpoints[i].origin ) ) - continue; - - bestspawnpoints[bestspawnpoints.size] = spawnpoints[i]; - } - } - if ( bestspawnpoints.size == 0 ) - return undefined; - - // pick randomly from the available spawnpoints with the best weight - bestspawnpoint = bestspawnpoints[randomint( bestspawnpoints.size )]; - - if ( try == maxSightTracedSpawnpoints ) - return bestspawnpoint; - - if ( isdefined( bestspawnpoint.lastSightTraceTime ) && bestspawnpoint.lastSightTraceTime == gettime() ) - return bestspawnpoint; - - if ( !lastMinuteSightTraces( bestspawnpoint ) ) - return bestspawnpoint; - - penalty = getLosPenalty(); - /# - if ( level.storeSpawnData || level.debugSpawning ) - bestspawnpoint.spawnData[bestspawnpoint.spawnData.size] = "Last minute sight trace: -" + penalty; - #/ - bestspawnpoint.weight -= penalty; - - bestspawnpoint.lastSightTraceTime = gettime(); - } -} - -/# -checkBad( spawnpoint ) -{ - for ( i = 0; i < level.players.size; i++ ) - { - player = level.players[i]; - - if ( !isAlive( player ) || player.sessionstate != "playing" ) - continue; - if ( level.teambased && player.pers["team"] == self.pers["team"] ) - continue; - - losExists = bullettracepassed(player.origin + (0,0,50), spawnpoint.sightTracePoint, false, undefined); - if ( losExists ) - thread badSpawnLine( spawnpoint.sightTracePoint, player.origin + (0,0,50), self.name, player.name ); - } -} - -badSpawnLine( start, end, name1, name2 ) -{ - dist = distance(start,end); - for ( i = 0; i < 20 * 10; i++ ) - { - line( start, end, (1,0,0) ); - print3d( start, "Bad spawn! " + name1 + ", dist = " + dist ); - print3d( end, name2 ); - - wait .05; - } -} -#/ - -/# -storeSpawnData(spawnpoints, useweights, bestspawnpoint) -{ - if (!isdefined(level.storeSpawnData) || !level.storeSpawnData) - return; - - level.storeSpawnData = getdvarint("scr_recordspawndata"); - if (!level.storeSpawnData) - return; - - if (!isdefined(level.spawnID)) { - level.spawnGameID = randomint(100); - level.spawnID = 0; - } - - if (bestspawnpoint.classname == "mp_global_intermission") - return; - - level.spawnID++; - - /* - Format: - spawnid, numspawnpoints, name - [for each spawnpoint - origin, was used, weight, num data, [for each data: data], num sight checks, [for each sight check: penalty, origin] - ] - num allies, num enemies, ally origins, enemy origins, - num other data, [for each other data: other data origin, other data text] - */ - - file = openfile("spawndata.txt", "append"); - fPrintFields(file, level.spawnGameID + "." + level.spawnID + "," + spawnpoints.size + "," + self.name); - - for (i = 0; i < spawnpoints.size; i++) - { - str = vectostr(spawnpoints[i].origin) + ","; - if (spawnpoints[i] == bestspawnpoint) - str = str + "1,"; - else - str = str + "0,"; - - if (!useweights) - str += "0,"; - else - str += spawnpoints[i].weight + ","; - - if (!isdefined(spawnpoints[i].spawnData)) - spawnpoints[i].spawnData = []; - if (!isdefined(spawnpoints[i].sightChecks)) - spawnpoints[i].sightChecks = []; - str += spawnpoints[i].spawnData.size + ","; - for (j = 0; j < spawnpoints[i].spawnData.size; j++) - { - str += spawnpoints[i].spawnData[j] + ","; - } - str += spawnpoints[i].sightChecks.size + ","; - for (j = 0; j < spawnpoints[i].sightChecks.size; j++) - { - str += spawnpoints[i].sightChecks[j].penalty + "," + vectostr(spawnpoints[i].origin) + ","; - } - - fPrintFields(file, str); - } - - obj = spawnstruct(); - getAllAlliedAndEnemyPlayers(obj); - numallies = 0; - numenemies = 0; - str = ""; - for (i = 0; i < obj.allies.size; i++) - { - if ( obj.allies[i] == self ) - continue; - numallies++; - str += vectostr(obj.allies[i].origin) + ","; - } - for (i = 0; i < obj.enemies.size; i++) - { - numenemies++; - str += vectostr(obj.enemies[i].origin) + ","; - } - str = numallies + "," + numenemies + "," + str; - fPrintFields(file, str); - - otherdata = []; - if (isdefined(level.bombguy)) { - index = otherdata.size; - otherdata[index] = spawnstruct(); - otherdata[index].origin = level.bombguy.origin + (0,0,20); - otherdata[index].text = "Bomb holder"; - } - else if (isdefined(level.bombpos)) { - index = otherdata.size; - otherdata[index] = spawnstruct(); - otherdata[index].origin = level.bombpos; - otherdata[index].text = "Bomb"; - } - if (isdefined(level.flags)) { - for (i = 0; i < level.flags.size; i++) - { - index = otherdata.size; - otherdata[index] = spawnstruct(); - otherdata[index].origin = level.flags[i].origin; - otherdata[index].text = level.flags[i].useObj maps\mp\gametypes\_gameobjects::getOwnerTeam() + " flag"; - } - } - str = otherdata.size + ","; - for (i = 0; i < otherdata.size; i++) - { - str += vectostr(otherdata[i].origin) + "," + otherdata[i].text + ","; - } - fPrintFields(file, str); - - closefile(file); - - thisspawnid = level.spawnGameID + "." + level.spawnID; - if (isdefined(self.thisspawnid)) { -// self iprintln(&"MP_PREVIOUS_SPAWN_ID", self.thisspawnid); - } -// self iprintln(&"MP_THIS_SPAWN_ID", thisspawnid); - self.thisspawnid = thisspawnid; -} - -readSpawnData( desiredID, relativepos ) -{ - file = openfile("spawndata.txt", "read"); - if (file < 0) - return; - - oldspawndata = level.curspawndata; - level.curspawndata = undefined; - - prev = undefined; - prevThisPlayer = undefined; - lookingForNextThisPlayer = false; - lookingForNext = false; - - if ( isdefined( relativepos ) && !isdefined( oldspawndata ) ) - return; - - while(1) - { - if (freadln(file) <= 0) - break; - data = spawnstruct(); - - data.id = fgetarg(file, 0); - numspawns = int(fgetarg(file, 1)); - if (numspawns > 256) - break; - data.playername = fgetarg(file, 2); - - data.spawnpoints = []; - data.friends = []; - data.enemies = []; - data.otherdata = []; - - for (i = 0; i < numspawns; i++) - { - if (freadln(file) <= 0) - break; - - spawnpoint = spawnstruct(); - - spawnpoint.origin = strtovec(fgetarg(file, 0)); - spawnpoint.winner = int(fgetarg(file, 1)); - spawnpoint.weight = int(fgetarg(file, 2)); - spawnpoint.data = []; - spawnpoint.sightchecks = []; - - if (i == 0) { - data.minweight = spawnpoint.weight; - data.maxweight = spawnpoint.weight; - } - else { - if (spawnpoint.weight < data.minweight) - data.minweight = spawnpoint.weight; - if (spawnpoint.weight > data.maxweight) - data.maxweight = spawnpoint.weight; - } - - argnum = 4; - - numdata = int(fgetarg(file, 3)); - if (numdata > 256) - break; - for (j = 0; j < numdata; j++) - { - spawnpoint.data[spawnpoint.data.size] = fgetarg(file, argnum); - argnum++; - } - numsightchecks = int(fgetarg(file, argnum)); - argnum++; - if (numsightchecks > 256) - break; - for (j = 0; j < numsightchecks; j++) - { - index = spawnpoint.sightchecks.size; - spawnpoint.sightchecks[index] = spawnstruct(); - spawnpoint.sightchecks[index].penalty = int(fgetarg(file, argnum)); - argnum++; - spawnpoint.sightchecks[index].origin = strtovec(fgetarg(file, argnum)); - argnum++; - } - - data.spawnpoints[data.spawnpoints.size] = spawnpoint; - } - - if (!isdefined(data.minweight)) { - data.minweight = -1; - data.maxweight = 0; - } - if (data.minweight == data.maxweight) - data.minweight = data.minweight - 1; - - if (freadln(file) <= 0) - break; - numfriends = int(fgetarg(file, 0)); - numenemies = int(fgetarg(file, 1)); - if (numfriends > 32 || numenemies > 32) - break; - argnum = 2; - for (i = 0; i < numfriends; i++) - { - data.friends[data.friends.size] = strtovec(fgetarg(file, argnum)); - argnum++; - } - for (i = 0; i < numenemies; i++) - { - data.enemies[data.enemies.size] = strtovec(fgetarg(file, argnum)); - argnum++; - } - - if (freadln(file) <= 0) - break; - numotherdata = int(fgetarg(file, 0)); - argnum = 1; - for (i = 0; i < numotherdata; i++) - { - otherdata = spawnstruct(); - otherdata.origin = strtovec(fgetarg(file, argnum)); - argnum++; - otherdata.text = fgetarg(file, argnum); - argnum++; - - data.otherdata[data.otherdata.size] = otherdata; - } - - if ( isdefined( relativepos ) ) - { - if ( relativepos == "prevthisplayer" ) - { - if ( data.id == oldspawndata.id ) - { - level.curspawndata = prevThisPlayer; - break; - } - } - else if ( relativepos == "prev" ) - { - if ( data.id == oldspawndata.id ) - { - level.curspawndata = prev; - break; - } - } - else if ( relativepos == "nextthisplayer" ) - { - if ( lookingForNextThisPlayer ) - { - level.curspawndata = data; - break; - } - else if ( data.id == oldspawndata.id ) - { - lookingForNextThisPlayer = true; - } - } - else if ( relativepos == "next" ) - { - if ( lookingForNext ) - { - level.curspawndata = data; - break; - } - else if ( data.id == oldspawndata.id ) - { - lookingForNext = true; - } - } - } - else - { - if ( data.id == desiredID ) - { - level.curspawndata = data; - break; - } - } - - prev = data; - if ( isdefined( oldspawndata ) && data.playername == oldspawndata.playername ) - prevThisPlayer = data; - } - closefile(file); -} -drawSpawnData() -{ - level notify("drawing_spawn_data"); - level endon("drawing_spawn_data"); - - textoffset = (0,0,-12); - while(1) - { - if (!isdefined(level.curspawndata)) { - wait .5; - continue; - } - - for (i = 0; i < level.curspawndata.friends.size; i++) - { - print3d(level.curspawndata.friends[i], "=)", (.5,1,.5), 1, 5); - } - for (i = 0; i < level.curspawndata.enemies.size; i++) - { - print3d(level.curspawndata.enemies[i], "=(", (1,.5,.5), 1, 5); - } - - for (i = 0; i < level.curspawndata.otherdata.size; i++) - { - print3d(level.curspawndata.otherdata[i].origin, level.curspawndata.otherdata[i].text, (.5,.75,1), 1, 2); - } - - for (i = 0; i < level.curspawndata.spawnpoints.size; i++) - { - sp = level.curspawndata.spawnpoints[i]; - orig = sp.sightTracePoint; - if (sp.winner) { - print3d(orig, level.curspawndata.playername + " spawned here", (.5,.5,1), 1, 2); - orig += textoffset; - } - amnt = (sp.weight - level.curspawndata.minweight) / (level.curspawndata.maxweight - level.curspawndata.minweight); - print3d(orig, "Weight: " + sp.weight, (1-amnt,amnt,.5)); - orig += textoffset; - for (j = 0; j < sp.data.size; j++) - { - print3d(orig, sp.data[j], (1,1,1)); - orig += textoffset; - } - for (j = 0; j < sp.sightchecks.size; j++) - { - //line(sp.origin, sp.sightchecks[j].origin, (1,0,0)); - print3d(orig, "Sightchecks: -" + sp.sightchecks[j].penalty, (1,.5,.5)); - orig += textoffset; - } - } - - wait .05; - } -} - -vectostr(vec) -{ - return int(vec[0]) + "/" + int(vec[1]) + "/" + int(vec[2]); -} -strtovec(str) -{ - parts = strtok(str, "/"); - if (parts.size != 3) - return (0,0,0); - return (int(parts[0]), int(parts[1]), int(parts[2])); -} -#/ - -getSpawnpoint_Random(spawnpoints) -{ -// level endon("game_ended"); - - // There are no valid spawnpoints in the map - if(!isdefined(spawnpoints)) - return undefined; - - // randomize order - for(i = 0; i < spawnpoints.size; i++) - { - j = randomInt(spawnpoints.size); - spawnpoint = spawnpoints[i]; - spawnpoints[i] = spawnpoints[j]; - spawnpoints[j] = spawnpoint; - } - - return getSpawnpoint_Final(spawnpoints, false); -} - -getAllOtherPlayers() -{ - aliveplayers = []; - - // Make a list of fully connected, non-spectating, alive players - for(i = 0; i < level.players.size; i++) - { - if ( !isdefined( level.players[i] ) ) - continue; - player = level.players[i]; - - if ( player.sessionstate != "playing" || player == self ) - continue; - - aliveplayers[aliveplayers.size] = player; - } - return aliveplayers; -} - - -getAllAlliedAndEnemyPlayers( obj ) -{ - if ( level.teambased ) - { - if ( self.pers["team"] == "allies" ) - { - obj.allies = level.alivePlayers["allies"]; - obj.enemies = level.alivePlayers["axis"]; - } - else - { - assert( self.pers["team"] == "axis" ); - obj.allies = level.alivePlayers["axis"]; - obj.enemies = level.alivePlayers["allies"]; - } - } - else - { - obj.allies = []; - obj.enemies = level.activePlayers; - } -} - -// weight array manipulation code -initWeights(spawnpoints) -{ - for (i = 0; i < spawnpoints.size; i++) - spawnpoints[i].weight = 0; - - /# - if ( level.storeSpawnData || level.debugSpawning ) - { - for (i = 0; i < spawnpoints.size; i++) { - spawnpoints[i].spawnData = []; - spawnpoints[i].sightChecks = []; - } - } - #/ -} - -// ================================================ - - -getSpawnpoint_NearTeam( spawnpoints, favoredspawnpoints ) -{ -// level endon("game_ended"); - - /*if ( self.wantSafeSpawn ) - { - return getSpawnpoint_SafeSpawn( spawnpoints ); - }*/ - - // There are no valid spawnpoints in the map - if(!isdefined(spawnpoints)) - return undefined; - - /# - if ( getdvar("scr_spawn_randomly") == "" ) - setdvar("scr_spawn_randomly", "0"); - if ( getdvar("scr_spawn_randomly") == "1" ) - return getSpawnpoint_Random( spawnpoints ); - #/ - - //prof_begin("basic_spawnlogic"); - - if ( getdvarint("scr_spawnsimple") > 0 ) - return getSpawnpoint_Random( spawnpoints ); - - Spawnlogic_Begin(); - - k_favored_spawn_point_bonus= 25000; - - initWeights(spawnpoints); - - //prof_begin(" getteams"); - obj = spawnstruct(); - getAllAlliedAndEnemyPlayers(obj); - //prof_end(" getteams"); - - numplayers = obj.allies.size + obj.enemies.size; - - alliedDistanceWeight = 2; - - //prof_begin(" sumdists"); - myTeam = self.pers["team"]; - enemyTeam = getOtherTeam( myTeam ); - mySquadId = getplayersquad( self ); - for (i = 0; i < spawnpoints.size; i++) - { - spawnpoint = spawnpoints[i]; - - if (!IsDefined(spawnpoint.numPlayersAtLastUpdate)) - { - spawnpoint.numPlayersAtLastUpdate= 0; - } - - if ( spawnpoint.numPlayersAtLastUpdate > 0 ) - { - allyDistSum = spawnpoint.distSum[ myTeam ]; - enemyDistSum = spawnpoint.distSum[ enemyTeam ]; - - // high enemy distance is good, high ally distance is bad - spawnpoint.weight = (enemyDistSum - alliedDistanceWeight*allyDistSum) / spawnpoint.numPlayersAtLastUpdate; - - if ( mySquadId > 0 ) - { - for (j = 0; j < spawnpoint.nearbyPlayers[myTeam].size; j++) - { - player = spawnpoint.nearbyPlayers[myTeam][j]; - if ( mySquadId == getplayersquad( player ) ) - { - if ( issquadleader( player ) ) - { - spawnpoint.weight += k_favored_spawn_point_bonus; - } - else - { - spawnpoint.weight += (k_favored_spawn_point_bonus/2); - } - } - } - } - - /# - if ( level.storeSpawnData || level.debugSpawning ) - spawnpoint.spawnData[spawnpoint.spawnData.size] = "Base weight: " + int(spawnpoint.weight) + " = (" + int(enemyDistSum) + " - " + alliedDistanceWeight + "*" + int(allyDistSum) + ") / " + spawnpoint.numPlayersAtLastUpdate; - #/ - } - else - { - spawnpoint.weight = 0; - - /# - if ( level.storeSpawnData || level.debugSpawning ) - spawnpoint.spawnData[spawnpoint.spawnData.size] = "Base weight: 0"; - #/ - } - } - //prof_end(" sumdists"); - - if (IsDefined(favoredspawnpoints)) - { - for (i= 0; i < favoredspawnpoints.size; i++) - { - if (IsDefined(favoredspawnpoints[i].weight)) - { - favoredspawnpoints[i].weight+= k_favored_spawn_point_bonus; - } - else - { - favoredspawnpoints[i].weight= k_favored_spawn_point_bonus; - } - } - } - - //prof_end("basic_spawnlogic"); - - //prof_begin("complex_spawnlogic"); - - avoidSameSpawn(spawnpoints); - avoidSpawnReuse(spawnpoints, true); - // not avoiding spawning near recent deaths for team-based modes. kills the fast pace. - //avoidDangerousSpawns(spawnpoints, true); - avoidWeaponDamage(spawnpoints); - avoidVisibleEnemies(spawnpoints, true); - - //prof_end("complex_spawnlogic"); - - result = getSpawnpoint_Final(spawnpoints); - - /# - if ( getdvar("scr_spawn_showbad") == "" ) - setdvar("scr_spawn_showbad", "0"); - if ( getdvar("scr_spawn_showbad") == "1" ) - checkBad( result ); - #/ - - return result; -} - -/* -getSpawnpoint_SafeSpawn( spawnpoints ) -{ - // There are no valid spawnpoints in the map - if ( !isdefined( spawnpoints ) ) - return undefined; - assert( spawnpoints.size > 0 ); - - Spawnlogic_Begin(); - - safestSpawnpoint = undefined; - safestDangerDist = undefined; - - enemyTeam = getOtherTeam( self.pers["team"] ); - if ( !level.teambased ) - enemyTeam = "all"; - - mingrenadedistsquared = 500 * 500; - - for ( i = 0; i < spawnpoints.size; i++ ) - { - spawnpoint = spawnpoints[i]; - - dangerDist = spawnpoint.minDist[ enemyTeam ]; - - for (j = 0; j < level.grenades.size; j++) - { - if ( !isdefined( level.grenades[j] ) ) - continue; - - if ( distancesquared( spawnpoint.origin, level.grenades[j].origin ) < mingrenadedistsquared ) - { - grenadeDist = distance( spawnpoint.origin, level.grenades[j].origin ); - if ( grenadeDist < dangerDist ) - dangerDist = grenadeDist; - } - } - - if ( positionWouldTelefrag( spawnpoint.origin ) ) - dangerDist -= 200; // discourage telefragging but don't worry too much - - if ( isDefined( level.artilleryDangerCenters ) ) - { - airstrikeDanger = maps\mp\gametypes\_hardpoints::getArtilleryDanger( spawnpoint.origin ); - if ( airstrikeDanger > 0 ) - dangerDist = 0; - } - - if ( level.teambased ) - { - if ( spawnpoint.sights[enemyTeam] > 0 ) - dangerDist = 0; - } - else - { - if ( spawnpoint.sights > 0 ) - dangerDist = 0; - } - - if ( !isdefined( safestSpawnpoint ) || dangerDist > safestDangerDist ) - { - safestSpawnpoint = spawnpoints[i]; - safestDangerDist = dangerDist; - } - } - - assert( isdefined( safestSpawnpoint ) ); - if ( !isdefined( safestSpawnpoint ) ) - safestSpawnpoint = spawnpoints[ randomint( spawnpoints.size ) ]; - - self finalizeSpawnpointChoice( safestSpawnpoint ); - - /# - println( "Safe spawn dist: " + safestDangerDist ); - #/ - - return safestSpawnpoint; -} -*/ - -///////////////////////////////////////////////////////////////////////// - -getSpawnpoint_DM(spawnpoints) -{ -// level endon("game_ended"); - - /*if ( self.wantSafeSpawn ) - { - return getSpawnpoint_SafeSpawn( spawnpoints ); - }*/ - - // There are no valid spawnpoints in the map - if(!isdefined(spawnpoints)) - return undefined; - - Spawnlogic_Begin(); - - initWeights(spawnpoints); - - aliveplayers = getAllOtherPlayers(); - - // new logic: we want most players near idealDist units away. - // players closer than badDist units will be considered negatively - idealDist = 1600; - badDist = 1200; - - if (aliveplayers.size > 0) - { - for (i = 0; i < spawnpoints.size; i++) - { - totalDistFromIdeal = 0; - nearbyBadAmount = 0; - for (j = 0; j < aliveplayers.size; j++) - { - dist = distance(spawnpoints[i].origin, aliveplayers[j].origin); - - if (dist < badDist) - nearbyBadAmount += (badDist - dist) / badDist; - - distfromideal = abs(dist - idealDist); - totalDistFromIdeal += distfromideal; - } - avgDistFromIdeal = totalDistFromIdeal / aliveplayers.size; - - wellDistancedAmount = (idealDist - avgDistFromIdeal) / idealDist; - // if (wellDistancedAmount < 0) wellDistancedAmount = 0; - - // wellDistancedAmount is between -inf and 1, 1 being best (likely around 0 to 1) - // nearbyBadAmount is between 0 and inf, - // and it is very important that we get a bad weight if we have a high nearbyBadAmount. - - spawnpoints[i].weight = wellDistancedAmount - nearbyBadAmount * 2 + randomfloat(.2); - } - } - - avoidSameSpawn(spawnpoints); - avoidSpawnReuse(spawnpoints, false); - //avoidDangerousSpawns(spawnpoints, false); - avoidWeaponDamage(spawnpoints); - avoidVisibleEnemies(spawnpoints, false); - - return getSpawnpoint_Final(spawnpoints); -} - -// ============================================= - -// called at the start of every spawn -Spawnlogic_Begin() -{ - //updateDeathInfo(); - - /# - level.storeSpawnData = getdvarint("scr_recordspawndata"); - level.debugSpawning = (getdvarint("scr_spawnpointdebug") > 0); - #/ -} - -// called once at start of game -init() -{ - /# - if (getdvar("scr_recordspawndata") == "") - setdvar("scr_recordspawndata", 0); - level.storeSpawnData = getdvarint("scr_recordspawndata"); - - if (getdvar("scr_killbots") == "") - setdvar("scr_killbots", 0); - if (getdvar("scr_killbottimer") == "") - setdvar("scr_killbottimer", 0.25); - thread loopbotspawns(); - #/ - - // start keeping track of deaths - level.spawnlogic_deaths = []; - // DEBUG - level.spawnlogic_spawnkills = []; - level.players = []; - level.grenades = []; - level.pipebombs = []; - - level thread onPlayerConnect(); - level thread trackGrenades(); - - level.spawnMins = (0,0,0); - level.spawnMaxs = (0,0,0); - level.spawnMinsMaxsPrimed = false; - if ( isdefined( level.safespawns ) ) - { - for( i = 0; i < level.safespawns.size; i++ ) - { - level.safespawns[i] spawnPointInit(); - } - } - - if ( getdvar("scr_spawn_enemyavoiddist") == "" ) - setdvar("scr_spawn_enemyavoiddist", "800"); - if ( getdvar("scr_spawn_enemyavoidweight") == "" ) - setdvar("scr_spawn_enemyavoidweight", "0"); - - // DEBUG - /# - if (getdvar("scr_spawnsimple") == "") - setdvar("scr_spawnsimple", "0"); - if (getdvar("scr_spawnpointdebug") == "") - setdvar("scr_spawnpointdebug", "0"); - if (getdvarint("scr_spawnpointdebug") > 0) - { - thread showDeathsDebug(); - thread updateDeathInfoDebug(); - thread profileDebug(); - } - if (level.storeSpawnData) { - thread allowSpawnDataReading(); - } - if (getdvar("scr_spawnprofile") == "") - setdvar("scr_spawnprofile", "0"); - thread watchSpawnProfile(); - thread spawnGraphCheck(); - #/ -} -/# - -watchSpawnProfile() -{ - while(1) - { - while(1) - { - if (getdvarint("scr_spawnprofile") > 0) - break; - wait .05; - } - - thread spawnProfile(); - - while(1) - { - if (getdvarint("scr_spawnprofile") <= 0) - break; - wait .05; - } - - level notify("stop_spawn_profile"); - } -} - -spawnProfile() -{ - level endon("stop_spawn_profile"); - while(1) - { - if ( level.players.size > 0 && level.spawnpoints.size > 0 ) - { - playerNum = randomint(level.players.size); - player = level.players[playerNum]; - attempt = 1; - while ( !isdefined( player ) && attempt < level.players.size ) - { - playerNum = ( playerNum + 1 ) % level.players.size; - attempt++; - player = level.players[playerNum]; - } - - player getSpawnpoint_NearTeam(level.spawnpoints); - } - wait .05; - } -} - -spawnGraphCheck() -{ - while(1) - { - if ( getdvarint("scr_spawngraph") < 1 ) - { - wait 3; - continue; - } - thread spawnGraph(); - return; - } -} - -spawnGraph() -{ - w = 20; - h = 20; - weightscale = .1; - fakespawnpoints = []; - - corners = getentarray("minimap_corner", "targetname"); - if ( corners.size != 2 ) - { - println("^1 can't spawn graph: no minimap corners"); - return; - } - min = corners[0].origin; - max = corners[0].origin; - if ( corners[1].origin[0] > max[0] ) - max = (corners[1].origin[0], max[1], max[2]); - else - min = (corners[1].origin[0], min[1], min[2]); - if ( corners[1].origin[1] > max[1] ) - max = (max[0], corners[1].origin[1], max[2]); - else - min = (min[0], corners[1].origin[1], min[2]); - - i = 0; - for ( y = 0; y < h; y++ ) - { - yamnt = y / (h - 1); - for ( x = 0; x < w; x++ ) - { - xamnt = x / (w - 1); - fakespawnpoints[i] = spawnstruct(); - fakespawnpoints[i].origin = (min[0] * xamnt + max[0] * (1-xamnt), min[1] * yamnt + max[1] * (1-yamnt), min[2]); - fakespawnpoints[i].angles = (0,0,0); - - fakespawnpoints[i].forward = anglesToForward( fakespawnpoints[i].angles ); - fakespawnpoints[i].sightTracePoint = fakespawnpoints[i].origin; - - i++; - } - } - - didweights = false; - - while(1) - { - spawni = 0; - numiters = 5; - for ( i = 0; i < numiters; i++ ) - { - if ( !level.players.size || !isdefined( level.players[0].team ) || level.players[0].team == "spectator" || !isdefined( level.players[0].class ) ) - break; - - endspawni = spawni + fakespawnpoints.size / numiters; - if ( i == numiters - 1 ) - endspawni = fakespawnpoints.size; - - for ( ; spawni < endspawni; spawni++ ) - { - spawnPointUpdate( fakespawnpoints[spawni] ); - } - - if ( didweights ) - level.players[0] drawSpawnGraph( fakespawnpoints, w, h, weightscale ); - - wait .05; - } - - if ( !level.players.size || !isdefined( level.players[0].team ) || level.players[0].team == "spectator" || !isdefined( level.players[0].class ) ) - { - wait 1; - continue; - } - - level.players[0] getSpawnpoint_NearTeam( fakespawnpoints ); - - for ( i = 0; i < fakespawnpoints.size; i++ ) - setupSpawnGraphPoint( fakespawnpoints[i], weightscale ); - - didweights = true; - - level.players[0] drawSpawnGraph( fakespawnpoints, w, h, weightscale ); - - wait .05; - } -} - -drawSpawnGraph( fakespawnpoints, w, h, weightscale ) -{ - i = 0; - for ( y = 0; y < h; y++ ) - { - yamnt = y / (h - 1); - for ( x = 0; x < w; x++ ) - { - xamnt = x / (w - 1); - - if ( y > 0 ) - { - spawnGraphLine( fakespawnpoints[i], fakespawnpoints[i-w], weightscale ); - } - if ( x > 0 ) - { - spawnGraphLine( fakespawnpoints[i], fakespawnpoints[i-1], weightscale ); - } - i++; - } - } -} - -setupSpawnGraphPoint( s1, weightscale ) -{ - s1.visible = true; - if ( s1.weight < -1000/weightscale ) - { - s1.visible = false; - } -} - -spawnGraphLine( s1, s2, weightscale ) -{ - if ( !s1.visible || !s2.visible ) - return; - - p1 = s1.origin + (0,0,s1.weight*weightscale + 100); - p2 = s2.origin + (0,0,s2.weight*weightscale + 100); - - line( p1, p2, (1,1,1) ); -} - -// DEBUG -loopbotspawns() -{ - while(1) - { - if ( getdvarint("scr_killbots") < 1 ) - { - wait 3; - continue; - } - if ( !isdefined( level.players ) ) - { - wait .05; - continue; - } - - bots = []; - for (i = 0; i < level.players.size; i++) - { - if ( !isdefined( level.players[i] ) ) - continue; - - if ( level.players[i].sessionstate == "playing" && issubstr(level.players[i].name, "bot") ) - { - bots[bots.size] = level.players[i]; - } - } - if ( bots.size > 0 ) - { - if ( getdvarint( "scr_killbots" ) == 1 ) - { - killer = bots[randomint(bots.size)]; - victim = bots[randomint(bots.size)]; - - victim thread [[level.callbackPlayerDamage]] ( - killer, // eInflictor The entity that causes the damage.(e.g. a turret) - killer, // eAttacker The entity that is attacking. - 1000, // iDamage Integer specifying the amount of damage done - 0, // iDFlags Integer specifying flags that are to be applied to the damage - "MOD_RIFLE_BULLET", // sMeansOfDeath Integer specifying the method of death - "none", // sWeapon The weapon number of the weapon used to inflict the damage - (0,0,0), // vPoint The point the damage is from? - (0,0,0), // vDir The direction of the damage - "none", // sHitLoc The location of the hit - 0 // psOffsetTime The time offset for the damage - ); - } - else - { - numKills = getdvarint( "scr_killbots" ); - lastVictim = undefined; - for ( index = 0; index < numKills; index++ ) - { - killer = bots[randomint(bots.size)]; - victim = bots[randomint(bots.size)]; - - while ( isDefined( lastVictim ) && victim == lastVictim ) - victim = bots[randomint(bots.size)]; - - victim thread [[level.callbackPlayerDamage]] ( - killer, // eInflictor The entity that causes the damage.(e.g. a turret) - killer, // eAttacker The entity that is attacking. - 1000, // iDamage Integer specifying the amount of damage done - 0, // iDFlags Integer specifying flags that are to be applied to the damage - "MOD_RIFLE_BULLET", // sMeansOfDeath Integer specifying the method of death - "none", // sWeapon The weapon number of the weapon used to inflict the damage - (0,0,0), // vPoint The point the damage is from? - (0,0,0), // vDir The direction of the damage - "none", // sHitLoc The location of the hit - 0 // psOffsetTime The time offset for the damage - ); - - lastVictim = victim; - } - } - } - - if ( getdvar("scr_killbottimer") != "" ) - wait getdvarfloat("scr_killbottimer"); - else - wait .05; - } -} - -// DEBUG -allowSpawnDataReading() -{ - setdvar("scr_showspawnid", ""); - prevval = getdvar("scr_showspawnid"); - - prevrelval = getdvar("scr_spawnidcycle"); - - readthistime = false; - - while(1) - { - val = getdvar("scr_showspawnid"); - relval = undefined; - if (!isdefined(val) || val == prevval) - { - relval = getdvar("scr_spawnidcycle"); - if ( isdefined( relval ) && relval != "" ) - { - setdvar("scr_spawnidcycle", ""); - } - else - { - wait(.5); - continue; - } - } - prevval = val; - - readthistime = false; - - readSpawnData( val, relval ); - - if ( !isdefined( level.curspawndata ) ) - { - println( "No spawn data to draw." ); - } - else - { - println( "Drawing spawn ID " + level.curspawndata.id ); - } - - thread drawSpawnData(); - } -} -#/ -// DEBUG -showDeathsDebug() -{ - while(1) - { - if (getdvar("scr_spawnpointdebug") == "0") { - wait(3); - continue; - } - - time = getTime(); - - for (i = 0; i < level.spawnlogic_deaths.size; i++) - { - if (isdefined(level.spawnlogic_deaths[i].los)) - line(level.spawnlogic_deaths[i].org, level.spawnlogic_deaths[i].killOrg, (1,0,0)); // line-of-sights are shown in red - else - line(level.spawnlogic_deaths[i].org, level.spawnlogic_deaths[i].killOrg, (1,1,1)); - killer = level.spawnlogic_deaths[i].killer; - if (isdefined(killer) && isalive(killer)) - line(level.spawnlogic_deaths[i].killOrg, killer.origin, (.4,.4,.8)); - } - - for (p = 0; p < level.players.size; p++) - { - if ( !isdefined( level.players[p] ) ) - continue; - if (isdefined(level.players[p].spawnlogic_killdist)) - print3d(level.players[p].origin + (0,0,64), level.players[p].spawnlogic_killdist, (1,1,1)); - } - - oldspawnkills = level.spawnlogic_spawnkills; - level.spawnlogic_spawnkills = []; - for (i = 0; i < oldspawnkills.size; i++) - { - spawnkill = oldspawnkills[i]; - - /*spawnkill.dierwasspawner = true; - spawnkill.dierorigin = dier.origin; - spawnkill.killerorigin = killer.origin; - spawnkill.spawnpointorigin = dier.lastspawnpoint.origin; - spawnkill.time = time;*/ - - if (spawnkill.dierwasspawner) { - line(spawnkill.spawnpointorigin, spawnkill.dierorigin, (.4,.5,.4)); - line(spawnkill.dierorigin, spawnkill.killerorigin, (0,1,1)); - print3d(spawnkill.dierorigin + (0,0,32), "SPAWNKILLED!", (0,1,1)); - } - else { - line(spawnkill.spawnpointorigin, spawnkill.killerorigin, (.4,.5,.4)); - line(spawnkill.killerorigin, spawnkill.dierorigin, (0,1,1)); - print3d(spawnkill.dierorigin + (0,0,32), "SPAWNDIED!", (0,1,1)); - } - - if (time - spawnkill.time < 60*1000) - level.spawnlogic_spawnkills[level.spawnlogic_spawnkills.size] = oldspawnkills[i]; - } - wait(.05); - } -} -// DEBUG -updateDeathInfoDebug() -{ - while(1) - { - if (getdvar("scr_spawnpointdebug") == "0") { - wait(3); - continue; - } - updateDeathInfo(); - wait(3); - } -} -// DEBUG -spawnWeightDebug(spawnpoints) -{ - level notify("stop_spawn_weight_debug"); - level endon("stop_spawn_weight_debug"); - while(1) - { - if (getdvar("scr_spawnpointdebug") == "0") { - wait(3); - continue; - } - textoffset = (0,0,-12); - for (i = 0; i < spawnpoints.size; i++) - { - amnt = 1 * (1 - spawnpoints[i].weight / (-100000)); - if (amnt < 0) amnt = 0; - if (amnt > 1) amnt = 1; - - orig = spawnpoints[i].origin + (0,0,80); - - print3d(orig, int(spawnpoints[i].weight), (1,amnt,.5)); - orig += textoffset; - - if (isdefined(spawnpoints[i].spawnData)) - { - for (j = 0; j < spawnpoints[i].spawnData.size; j++) - { - print3d(orig, spawnpoints[i].spawnData[j], (.5,.5,.5)); - orig += textoffset; - } - } - if (isdefined(spawnpoints[i].sightChecks)) - { - for (j = 0; j < spawnpoints[i].sightChecks.size; j++) - { - if ( spawnpoints[i].sightChecks[j].penalty == 0 ) - continue; - print3d(orig, "Sight to enemy: -" + spawnpoints[i].sightChecks[j].penalty, (.5,.5,.5)); - orig += textoffset; - } - } - } - wait(.05); - } -} -// DEBUG -profileDebug() -{ - while(1) - { - if (getdvar("scr_spawnpointprofile") != "1") { - wait(3); - continue; - } - - for (i = 0; i < level.spawnpoints.size; i++) - level.spawnpoints[i].weight = randomint(10000); - if (level.players.size > 0) - level.players[randomint(level.players.size)] getSpawnpoint_NearTeam(level.spawnpoints); - - wait(.05); - } -} -// DEBUG -debugNearbyPlayers(players, origin) -{ - if (getdvar("scr_spawnpointdebug") == "0") { - return; - } - starttime = gettime(); - while(1) - { - for (i = 0; i < players.size; i++) - line(players[i].origin, origin, (.5,1,.5)); - if (gettime() - starttime > 5000) - return; - wait .05; - } -} - -deathOccured(dier, killer) -{ - /*if (!isdefined(killer) || !isdefined(dier) || !isplayer(killer) || !isplayer(dier) || killer == dier) - return; - - time = getTime(); - - // DEBUG - // check if there was a spawn kill - if (time - dier.lastspawntime < 5*1000 && distance(dier.origin, dier.lastspawnpoint.origin) < 300) - { - spawnkill = spawnstruct(); - spawnkill.dierwasspawner = true; - spawnkill.dierorigin = dier.origin; - spawnkill.killerorigin = killer.origin; - spawnkill.spawnpointorigin = dier.lastspawnpoint.origin; - spawnkill.time = time; - level.spawnlogic_spawnkills[level.spawnlogic_spawnkills.size] = spawnkill; - } - else if (time - killer.lastspawntime < 5*1000 && distance(killer.origin, killer.lastspawnpoint.origin) < 300) - { - spawnkill = spawnstruct(); - spawnkill.dierwasspawner = false; - spawnkill.dierorigin = dier.origin; - spawnkill.killerorigin = killer.origin; - spawnkill.spawnpointorigin = killer.lastspawnpoint.origin; - spawnkill.time = time; - level.spawnlogic_spawnkills[level.spawnlogic_spawnkills.size] = spawnkill; - } - - // record kill information - deathInfo = spawnstruct(); - - deathInfo.time = time; - deathInfo.org = dier.origin; - deathInfo.killOrg = killer.origin; - deathInfo.killer = killer; - - checkForSimilarDeaths(deathInfo); - level.spawnlogic_deaths[level.spawnlogic_deaths.size] = deathInfo; - - // keep track of the most dangerous players in terms of how far they have killed people recently - dist = distance(dier.origin, killer.origin); - if (!isdefined(killer.spawnlogic_killdist) || time - killer.spawnlogic_killtime > 1000*30 || dist > killer.spawnlogic_killdist) - { - killer.spawnlogic_killdist = dist; - killer.spawnlogic_killtime = time; - }*/ -} -checkForSimilarDeaths(deathInfo) -{ - // check if this is really similar to any old deaths, and if so, mark them for removal later - for (i = 0; i < level.spawnlogic_deaths.size; i++) - { - if (level.spawnlogic_deaths[i].killer == deathInfo.killer) - { - dist = distance(level.spawnlogic_deaths[i].org, deathInfo.org); - if (dist > 200) continue; - dist = distance(level.spawnlogic_deaths[i].killOrg, deathInfo.killOrg); - if (dist > 200) continue; - - level.spawnlogic_deaths[i].remove = true; - } - } -} - -updateDeathInfo() -{ - //prof_begin(" updateDeathInfo"); - - time = getTime(); - for (i = 0; i < level.spawnlogic_deaths.size; i++) - { - // if the killer has walked away or enough time has passed, get rid of this death information - deathInfo = level.spawnlogic_deaths[i]; - - if (time - deathInfo.time > 1000*90 || // if 90 seconds have passed - !isdefined(deathInfo.killer) || - !isalive(deathInfo.killer) || - (deathInfo.killer.pers["team"] != "axis" && deathInfo.killer.pers["team"] != "allies") || - distance(deathInfo.killer.origin, deathInfo.killOrg) > 400) { - level.spawnlogic_deaths[i].remove = true; - } - } - - // remove all deaths with remove set - oldarray = level.spawnlogic_deaths; - level.spawnlogic_deaths = []; - - // never keep more than the 1024 most recent entries in the array - start = 0; - if (oldarray.size - 1024 > 0) start = oldarray.size - 1024; - - for (i = start; i < oldarray.size; i++) - { - if (!isdefined(oldarray[i].remove)) - level.spawnlogic_deaths[level.spawnlogic_deaths.size] = oldarray[i]; - } - - //prof_end(" updateDeathInfo"); -} - -/* -// uses death information to reduce the weights of spawns that might cause spawn kills -avoidDangerousSpawns(spawnpoints, teambased) // (assign weights to the return value of this) -{ - // DEBUG - if (getdvar("scr_spawnpointnewlogic") == "0") { - return; - } - - // DEBUG - //prof_begin("spawn death checks"); - - deathpenalty = 100000; - if (getdvar("scr_spawnpointdeathpenalty") != "" && getdvar("scr_spawnpointdeathpenalty") != "0") - deathpenalty = getdvarfloat("scr_spawnpointdeathpenalty"); - - maxDist = 200; - if (getdvar("scr_spawnpointmaxdist") != "" && getdvar("scr_spawnpointmaxdist") != "0") - maxdist = getdvarfloat("scr_spawnpointmaxdist"); - - maxDistSquared = maxDist*maxDist; - for (i = 0; i < spawnpoints.size; i++) - { - for (d = 0; d < level.spawnlogic_deaths.size; d++) - { - // (we've got a lotta checks to do, want to rule them out quickly) - distSqrd = distanceSquared(spawnpoints[i].origin, level.spawnlogic_deaths[d].org); - if (distSqrd > maxDistSquared) - continue; - - // make sure the killer in question is on the opposing team - player = level.spawnlogic_deaths[d].killer; - if (!isalive(player)) continue; - if (player == self) continue; - if (teambased && player.pers["team"] == self.pers["team"]) continue; - - // (no sqrt, must recalculate distance) - dist = distance(spawnpoints[i].origin, level.spawnlogic_deaths[d].org); - spawnpoints[i].weight -= (1 - dist/maxDist) * deathpenalty; // possible spawn kills are *really* bad - } - } - - // DEBUG - //prof_end("spawn death checks"); -} -*/ - - -trackGrenades() -{ - while ( 1 ) - { - level.grenades = getentarray("grenade", "classname"); - wait .05; - } -} - - -// used by spawning; needs to be fast. -isPointVulnerable(playerorigin) -{ - pos = self.origin + level.bettymodelcenteroffset; - playerpos = playerorigin + (0,0,32); - distsqrd = distancesquared(pos, playerpos); - - forward = anglestoforward(self.angles); - - if (distsqrd < level.bettyDetectionRadius*level.bettyDetectionRadius) - { - playerdir = vectornormalize(playerpos - pos); - angle = acos(vectordot(playerdir, forward)); - if (angle < level.bettyDetectionConeAngle) { - return true; - } - } - return false; -} - - -avoidWeaponDamage(spawnpoints) -{ - if (getdvar("scr_spawnpointnewlogic") == "0") - { - return; - } - - //prof_begin(" spawn_grenade"); - - weaponDamagePenalty = 100000; - if (getdvar("scr_spawnpointweaponpenalty") != "" && getdvar("scr_spawnpointweaponpenalty") != "0") - weaponDamagePenalty = getdvarfloat("scr_spawnpointweaponpenalty"); - - mingrenadedistsquared = 250*250; // (actual grenade radius is 220, 250 includes a safety area of 30 units) - - for (i = 0; i < spawnpoints.size; i++) - { - for (j = 0; j < level.grenades.size; j++) - { - if ( !isdefined( level.grenades[j] ) ) - continue; - - // could also do a sight check to see if it's really dangerous. - if (distancesquared(spawnpoints[i].origin, level.grenades[j].origin) < mingrenadedistsquared) - { - spawnpoints[i].weight -= weaponDamagePenalty; - /# - if ( level.storeSpawnData || level.debugSpawning ) - spawnpoints[i].spawnData[spawnpoints[i].spawnData.size] = "Was near grenade: -" + int(weaponDamagePenalty); - #/ - } - } - - if ( !isDefined( level.artilleryDangerCenters ) ) - continue; - - airstrikeDanger = maps\mp\gametypes\_hardpoints::getArtilleryDanger( spawnpoints[i].origin ); // 0 = none, 1 = full, might be > 1 for more than 1 airstrike - - if ( airstrikeDanger > 0 ) - { - worsen = airstrikeDanger * weaponDamagePenalty; - spawnpoints[i].weight -= worsen; - /# - if ( level.storeSpawnData || level.debugSpawning ) - spawnpoints[i].spawnData[spawnpoints[i].spawnData.size] = "Was near artillery (" + int(airstrikeDanger*100) + "% danger): -" + int(worsen); - #/ - } - } - - //prof_end(" spawn_grenade"); -} - -spawnPerFrameUpdate() -{ - spawnpointindex = 0; - - // each frame, do sight checks against a spawnpoint - - while(1) - { - wait .05; - - //prof_begin("spawn_sight_checks"); - - //time = gettime(); - - if ( !isDefined( level.spawnPoints ) ) - return; - - spawnpointindex = (spawnpointindex + 1) % level.spawnPoints.size; - spawnpoint = level.spawnPoints[spawnpointindex]; - - spawnPointUpdate( spawnpoint ); - - //prof_end("spawn_sight_checks"); - } -} - -spawnPointUpdate( spawnpoint ) -{ - if ( level.teambased ) - { - spawnpoint.sights["axis"] = 0; - spawnpoint.sights["allies"] = 0; - - spawnpoint.nearbyPlayers["axis"] = []; - spawnpoint.nearbyPlayers["allies"] = []; - } - else - { - spawnpoint.sights = 0; - - spawnpoint.nearbyPlayers["all"] = []; - } - - spawnpointdir = spawnpoint.forward; - - debug = false; - /# - debug = (getdvarint("scr_spawnpointdebug") > 0); - #/ - - spawnpoint.distSum["all"] = 0; - spawnpoint.distSum["allies"] = 0; - spawnpoint.distSum["axis"] = 0; - - spawnpoint.minDist["all"] = 9999999; - spawnpoint.minDist["allies"] = 9999999; - spawnpoint.minDist["axis"] = 9999999; - - spawnpoint.numPlayersAtLastUpdate = 0; - - for (i = 0; i < level.players.size; i++) - { - player = level.players[i]; - - if ( player.sessionstate != "playing" ) - continue; - - diff = player.origin - spawnpoint.origin; - diff = (diff[0], diff[1], 0); - dist = length( diff ); // needs to be actual distance for distSum value - - team = "all"; - if ( level.teambased ) - team = player.pers["team"]; - - if ( dist < 1024 ) - { - spawnpoint.nearbyPlayers[team][spawnpoint.nearbyPlayers[team].size] = player; - } - - if ( dist < spawnpoint.minDist[team] ) - spawnpoint.minDist[team] = dist; - - spawnpoint.distSum[ team ] += dist; - spawnpoint.numPlayersAtLastUpdate++; - - pdir = anglestoforward(player.angles); - if (vectordot(spawnpointdir, diff) < 0 && vectordot(pdir, diff) > 0) - continue; // player and spawnpoint are looking in opposite directions - - // do sight check - losExists = bullettracepassed(player.origin + (0,0,50), spawnpoint.sightTracePoint, false, undefined); - - spawnpoint.lastSightTraceTime = gettime(); - - if (losExists) - { - if ( level.teamBased ) - spawnpoint.sights[player.pers["team"]]++; - else - spawnpoint.sights++; - - // DEBUG - //println("Sight check succeeded!"); - - /* - death info stuff is disabled right now - // pretend this player killed a person at this spawnpoint, so we don't try to use it again any time soon. - deathInfo = spawnstruct(); - - deathInfo.time = time; - deathInfo.org = spawnpoint.origin; - deathInfo.killOrg = player.origin; - deathInfo.killer = player; - deathInfo.los = true; - - checkForSimilarDeaths(deathInfo); - level.spawnlogic_deaths[level.spawnlogic_deaths.size] = deathInfo; - */ - - /# - if ( debug ) - line(player.origin + (0,0,50), spawnpoint.sightTracePoint, (.5,1,.5)); - #/ - } - //else - // line(player.origin + (0,0,50), spawnpoint.sightTracePoint, (1,.5,.5)); - } -} - -getLosPenalty() -{ - if (getdvar("scr_spawnpointlospenalty") != "" && getdvar("scr_spawnpointlospenalty") != "0") - return getdvarfloat("scr_spawnpointlospenalty"); - return 100000; -} - -lastMinuteSightTraces( spawnpoint ) -{ - //prof_begin(" spawn_lastminutesc"); - - team = "all"; - if ( level.teambased ) - team = getOtherTeam( self.pers["team"] ); - - if ( !isdefined( spawnpoint.nearbyPlayers ) ) - return false; - - closest = undefined; - closestDistsq = undefined; - secondClosest = undefined; - secondClosestDistsq = undefined; - for ( i = 0; i < spawnpoint.nearbyPlayers[team].size; i++ ) - { - player = spawnpoint.nearbyPlayers[team][i]; - - if ( !isdefined( player ) ) - continue; - if ( player.sessionstate != "playing" ) - continue; - if ( player == self ) - continue; - - distsq = distanceSquared( spawnpoint.origin, player.origin ); - if ( !isdefined( closest ) || distsq < closestDistsq ) - { - secondClosest = closest; - secondClosestDistsq = closestDistsq; - - closest = player; - closestDistSq = distsq; - } - else if ( !isdefined( secondClosest ) || distsq < secondClosestDistSq ) - { - secondClosest = player; - secondClosestDistSq = distsq; - } - } - - if ( isdefined( closest ) ) - { - if ( bullettracepassed( closest.origin + (0,0,50), spawnpoint.sightTracePoint, false, undefined) ) - return true; - } - if ( isdefined( secondClosest ) ) - { - if ( bullettracepassed( secondClosest.origin + (0,0,50), spawnpoint.sightTracePoint, false, undefined) ) - return true; - } - - return false; -} - -avoidVisibleEnemies(spawnpoints, teambased) -{ - if (getdvar("scr_spawnpointnewlogic") == "0") - { - return; - } - - // DEBUG - //prof_begin(" spawn_sc"); - - lospenalty = getLosPenalty(); - - otherteam = "axis"; - if ( self.pers["team"] == "axis" ) - otherteam = "allies"; - - minDistTeam = otherteam; - - if ( teambased ) - { - for ( i = 0; i < spawnpoints.size; i++ ) - { - if ( !isdefined(spawnpoints[i].sights) ) - continue; - - penalty = lospenalty * spawnpoints[i].sights[otherteam]; - spawnpoints[i].weight -= penalty; - - /# - if ( level.storeSpawnData || level.debugSpawning ) { - index = spawnpoints[i].sightChecks.size; - spawnpoints[i].sightChecks[index] = spawnstruct(); - spawnpoints[i].sightChecks[index].penalty = penalty; - } - #/ - } - } - else - { - for ( i = 0; i < spawnpoints.size; i++ ) - { - if ( !isdefined(spawnpoints[i].sights) ) - continue; - - penalty = lospenalty * spawnpoints[i].sights; - spawnpoints[i].weight -= penalty; - - /# - if ( level.storeSpawnData || level.debugSpawning ) { - index = spawnpoints[i].sightChecks.size; - spawnpoints[i].sightChecks[index] = spawnstruct(); - spawnpoints[i].sightChecks[index].penalty = penalty; - } - #/ - } - - minDistTeam = "all"; - } - - avoidWeight = getdvarfloat("scr_spawn_enemyavoidweight"); - if ( avoidWeight != 0 ) - { - nearbyEnemyOuterRange = getdvarfloat("scr_spawn_enemyavoiddist"); - nearbyEnemyOuterRangeSq = nearbyEnemyOuterRange * nearbyEnemyOuterRange; - nearbyEnemyPenalty = 1500 * avoidWeight; // typical base weights tend to peak around 1500 or so. this is large enough to upset that while only locally dominating it. - nearbyEnemyMinorPenalty = 800 * avoidWeight; // additional negative weight for distances up to 2 * nearbyEnemyOuterRange - - lastAttackerOrigin = (-99999,-99999,-99999); - lastDeathPos = (-99999,-99999,-99999); - if ( isAlive( self.lastAttacker ) ) - lastAttackerOrigin = self.lastAttacker.origin; - if ( isDefined( self.lastDeathPos ) ) - lastDeathPos = self.lastDeathPos; - - for ( i = 0; i < spawnpoints.size; i++ ) - { - // penalty for nearby enemies - mindist = spawnpoints[i].minDist[minDistTeam]; - if ( mindist < nearbyEnemyOuterRange*2 ) - { - penalty = nearbyEnemyMinorPenalty * (1 - mindist / (nearbyEnemyOuterRange*2)); - if ( mindist < nearbyEnemyOuterRange ) - penalty += nearbyEnemyPenalty * (1 - mindist / nearbyEnemyOuterRange); - if ( penalty > 0 ) - { - spawnpoints[i].weight -= penalty; - /# - if ( level.storeSpawnData || level.debugSpawning ) - spawnpoints[i].spawnData[spawnpoints[i].spawnData.size] = "Nearest enemy at " + int(spawnpoints[i].minDist[minDistTeam]) + " units: -" + int(penalty); - #/ - } - } - - /* - // additional penalty for being near the guy who just killed me - distSq = distanceSquared( lastAttackerOrigin, spawnpoints[i].origin ); - if ( distSq < nearbyEnemyOuterRangeSq ) - { - penalty = nearbyEnemyPenalty * (1 - sqrt( distSq ) / nearbyEnemyOuterRange); - assert( penalty > 0 ); - spawnpoints[i].weight -= penalty; - /# - if ( level.storeSpawnData || level.debugSpawning ) - spawnpoints[i].spawnData[spawnpoints[i].spawnData.size] = "Nearby killer at " + int(sqrt( distSq )) + " units: -" + int(penalty); - #/ - } - */ - - /* - // penalty for being near where i just died - distSq = distanceSquared( lastDeathPos, spawnpoints[i].origin ); - if ( distSq < nearbyEnemyOuterRangeSq ) - { - penalty = nearbyEnemyPenalty * (1 - sqrt( distSq ) / nearbyEnemyOuterRange); - assert( penalty > 0 ); - spawnpoints[i].weight -= penalty; - /# - if ( level.storeSpawnData || level.debugSpawning ) - spawnpoints[i].spawnData[spawnpoints[i].spawnData.size] = "Died nearby at " + int(sqrt( distSq )) + " units: -" + int(penalty); - #/ - } - */ - } - } - - // DEBUG - //prof_end(" spawn_sc"); -} - -avoidSpawnReuse(spawnpoints, teambased) -{ - // DEBUG - if (getdvar("scr_spawnpointnewlogic") == "0") { - return; - } - - //prof_begin(" spawn_reuse"); - - time = getTime(); - - maxtime = 10*1000; - maxdistSq = 1024 * 1024; - - for (i = 0; i < spawnpoints.size; i++) - { - spawnpoint = spawnpoints[i]; - - if (!isdefined(spawnpoint.lastspawnedplayer) || !isdefined(spawnpoint.lastspawntime) || - !isalive(spawnpoint.lastspawnedplayer)) - continue; - - if (spawnpoint.lastspawnedplayer == self) - continue; - if (teambased && spawnpoint.lastspawnedplayer.pers["team"] == self.pers["team"]) - continue; - - timepassed = time - spawnpoint.lastspawntime; - if (timepassed < maxtime) - { - distSq = distanceSquared(spawnpoint.lastspawnedplayer.origin, spawnpoint.origin); - if (distSq < maxdistSq) - { - worsen = 5000 * (1 - distSq/maxdistSq) * (1 - timepassed/maxtime); - spawnpoint.weight -= worsen; - /# - if ( level.storeSpawnData || level.debugSpawning ) - spawnpoint.spawnData[spawnpoint.spawnData.size] = "Was recently used: -" + worsen; - #/ - } - else - spawnpoint.lastspawnedplayer = undefined; // don't worry any more about this spawnpoint - } - else - spawnpoint.lastspawnedplayer = undefined; // don't worry any more about this spawnpoint - } - - //prof_end(" spawn_reuse"); -} - -avoidSameSpawn(spawnpoints) -{ - // DEBUG - if (getdvar("scr_spawnpointnewlogic") == "0") { - return; - } - - //prof_begin(" spawn_samespwn"); - - if (!isdefined(self.lastspawnpoint)) - return; - - for (i = 0; i < spawnpoints.size; i++) - { - if (spawnpoints[i] == self.lastspawnpoint) - { - spawnpoints[i].weight -= 50000; // (half as bad as a likely spawn kill) - /# - if ( level.storeSpawnData || level.debugSpawning ) - spawnpoints[i].spawnData[spawnpoints[i].spawnData.size] = "Was last spawnpoint: -50000"; - #/ - break; - } - } - - //prof_end(" spawn_samespwn"); -} +//Outdated files. Do not use. \ No newline at end of file diff --git a/mods/mp_usermaps/mp_usermaps.iwd b/mods/mp_usermaps/mp_usermaps.iwd index bc3f19829..b20c43545 100644 Binary files a/mods/mp_usermaps/mp_usermaps.iwd and b/mods/mp_usermaps/mp_usermaps.iwd differ diff --git a/mp_tool.exe b/mp_tool.exe index f9b20b65c..fda1a4944 100644 Binary files a/mp_tool.exe and b/mp_tool.exe differ diff --git a/raw/animtrees/dog.atr b/raw/animtrees/dog.atr index ad4292696..260dfe052 100644 --- a/raw/animtrees/dog.atr +++ b/raw/animtrees/dog.atr @@ -91,3 +91,6 @@ sniper_escape_dog_fence // Pel1b send dog to cave ch_peleliu1b_dog_Loop ch_peleliu1b_dog_out + +//zombiemode +ai_zombie_dog_attack_v1 diff --git a/raw/animtrees/generic_human.atr b/raw/animtrees/generic_human.atr index 8cc81ba83..c105f4405 100644 --- a/raw/animtrees/generic_human.atr +++ b/raw/animtrees/generic_human.atr @@ -368,16 +368,36 @@ body ai_zombie_walk_v2 ai_zombie_walk_v3 ai_zombie_walk_v4 + ai_zombie_walk_v6 + ai_zombie_walk_v7 + ai_zombie_walk_v8 + ai_zombie_walk_v9 + ai_zombie_walk_fast_v1 ai_zombie_walk_fast_v2 ai_zombie_walk_fast_v3 + ai_zombie_run_v1 + ai_zombie_run_v2 + ai_zombie_run_v3 + ai_zombie_run_v4 ai_zombie_sprint_v1 ai_zombie_sprint_v2 + ai_zombie_sprint_v3 + ai_zombie_sprint_v4 + ai_zombie_sprint_v5 ai_zombie_crawl ai_zombie_crawl_v1 - ai_zombie_crawl_sprint + ai_zombie_crawl_v2 + ai_zombie_crawl_v3 + ai_zombie_crawl_v4 + ai_zombie_crawl_v5 + ai_zombie_crawl_v6 + ai_zombie_crawl_sprint + ai_zombie_crawl_sprint_1 + ai_zombie_crawl_sprint_2 + run_n_gun { run_n_gun_F @@ -1134,8 +1154,33 @@ body // Zombie Traverses ai_zombie_traverse_v1 ai_zombie_traverse_v2 + ai_zombie_traverse_v3 + ai_zombie_traverse_v4 + ai_zombie_traverse_v5 + ai_zombie_traverse_v6 + ai_zombie_traverse_v7 ai_zombie_traverse_crawl_v1 + // For zombies crawling out of the ground + + ai_zombie_traverse_ground_v1_crawl + ai_zombie_traverse_ground_v1_crawlfast + ai_zombie_traverse_ground_v1_deathinside + ai_zombie_traverse_ground_v1_deathinside_alt + ai_zombie_traverse_ground_v1_deathoutside + ai_zombie_traverse_ground_v1_deathoutside_alt + ai_zombie_traverse_ground_v1_idle // I don't think we need this + ai_zombie_traverse_ground_v1_run + ai_zombie_traverse_ground_v1_walk + ai_zombie_traverse_ground_v2_death_high + ai_zombie_traverse_ground_v2_death_high_alt + ai_zombie_traverse_ground_v2_death_low + ai_zombie_traverse_ground_v2_death_low_alt + ai_zombie_traverse_ground_v2_walk + ai_zombie_traverse_ground_v2_walk_altA + ai_zombie_traverse_ground_v2_walk_altB + ai_zombie_traverse_ground_climbout_fast + melee { ai_bonzai_buddy_success_front @@ -1159,8 +1204,21 @@ body ai_zombie_attack_forward_v2 ai_zombie_attack_v1 ai_zombie_attack_v2 + ai_zombie_attack_v3 + ai_zombie_attack_v4 + ai_zombie_attack_v6 + ai_zombie_walk_attack_v1 + ai_zombie_walk_attack_v2 + ai_zombie_walk_attack_v3 + ai_zombie_walk_attack_v4 + ai_zombie_run_attack_v1 + ai_zombie_run_attack_v2 + ai_zombie_run_attack_v3 ai_zombie_attack_crawl - ai_zombie_attack_crawl_lunge + ai_zombie_attack_crawl_lunge + ai_zombie_crawl_attack_A + ai_zombie_window_attack_arm_R_out + ai_zombie_window_attack_arm_L_out } melee_dog @@ -2560,6 +2618,16 @@ body ai_zombie_shot_arm_right ai_zombie_shot_leg_left_2_crawl ai_zombie_shot_leg_right_2_crawl + ai_zombie_taunts_1 + ai_zombie_taunts_2 + ai_zombie_taunts_3 + ai_zombie_taunts_4 + ai_zombie_taunts_5 + ai_zombie_taunts_6 + ai_zombie_taunts_7 + ai_zombie_taunts_8 + ai_zombie_taunts_9 + } pel1 diff --git a/raw/animtrees/multiplayer.atr b/raw/animtrees/multiplayer.atr index 3d75a50b8..af4328bb6 100644 --- a/raw/animtrees/multiplayer.atr +++ b/raw/animtrees/multiplayer.atr @@ -255,6 +255,7 @@ main p_handheldradio_idle p_handheldradio_crouch_idle p_handheldradio_prone_idle + p_zombie_perkacola_drink // // Movement anims diff --git a/raw/animtrees/mychanges.atr b/raw/animtrees/mychanges.atr index c342f804e..6a3584222 100644 --- a/raw/animtrees/mychanges.atr +++ b/raw/animtrees/mychanges.atr @@ -1,326 +1,168 @@ all : forceload { -ch_sniper_Resnov_bar -ch_sniper_Resnov_bar_wait -ch_sniper_Resnov_bar_wave -ch_sniper_Resnov_beam -ch_sniper_Resnov_clearing -ch_sniper_Resnov_door_wait -ch_sniper_Resnov_explosion -ch_sniper_Resnov_followme -ch_sniper_Resnov_horch_hide -ch_sniper_Resnov_land_getup -ch_sniper_Resnov_land_loop -ch_sniper_Resnov_landing -ch_sniper_Resnov_run -ch_sniper_Resnov_window -ai_bonzai_sprint_a -ai_bonzai_sprint_b -ai_bonzai_sprint_c -ai_bonzai_sprint_d -ai_bayonet_attach_to_gun -ai_bayonet_thrust -ai_bayonet_thrust_death -corner_standR_trans_IN_4 -corner_standR_trans_OUT_1 -corner_standR_trans_OUT_2 -corner_standR_trans_OUT_3 -corner_standR_trans_OUT_4 -corner_standR_trans_OUT_6 -corner_standR_trans_OUT_8 -corner_standR_trans_OUT_9 -combatrun_forward_3 -ch_makinraid_feigning_death_jap01_dead -ch_makinraid_feigning_death_jap02_dead -ch_makinraid_feigning_death_jap03_dead -ch_makinraid_feigning_death_jap04_dead -balcony_tumble_railing36_forward -balcony_tumble_railing44_forward -balcony_stumble_forward -ch_makinraid_creepy_run_guy1 -ch_makinraid_creepy_run_guy2 -ch_makinraid_creepy_run_guy3 -ch_makinraid_creepy_run_guy4 -ch_makinraid_creepywalk_idle_center -ch_makinraid_creepywalk_idle_left -ch_makinraid_creepywalk_idle_right -ch_makinraid_creepywalk_start_center -ch_makinraid_creepywalk_start_left -ch_makinraid_creepywalk_start_right -ch_makinraid_creepywalk_stop_center -ch_makinraid_creepywalk_stop_left -ch_makinraid_creepywalk_stop_right -ai_sneaking_a_stop_right -ai_sneaking_a_idle_right -ai_sneaking_a_start_right -ai_sneaking_a_stop_center -ai_sneaking_a_idle_center -ai_sneaking_a_start_center -ai_sneaking_a_stop_left -ai_sneaking_a_idle_left -ai_sneaking_a_start_left -ai_run_deep_water_a -ai_run_deep_water_b -ai_run_shallow_water_a -ai_run_shallow_water_b -ai_run_shallow_water_c -ai_run_shallow_water_d -ai_run_trip_and_stand -ai_run_surprised_stumble -ai_walk_deep_water_a -ai_walk_deep_water_b -ai_walk_shallow_water_a -ai_walk_shallow_water_b -mp_mantle_over_high -mp_mantle_over_low -mp_mantle_over_mid -mp_mantle_up_21 -mp_mantle_up_27 -mp_mantle_up_33 -mp_mantle_up_39 -mp_mantle_up_45 -mp_mantle_up_51 -mp_mantle_up_57 -p_crouchsprint_2h_b -p_crouchsprint_pistol_b -p_sprint_2h_a -p_sprint_pistol_a -p_swim_forward -p_swim_left -p_swim_right -p_swim_tread -pb_chicken_dance_crouch -pb_climbdown -pb_climbup -pb_combatrun_back_loop -pb_combatrun_back_loop_grenade -pb_combatrun_back_loop_pistol -pb_combatrun_back_rpg -pb_combatrun_forward_loop -pb_combatrun_forward_loop_stickgrenade -pb_combatrun_forward_rpg -pb_combatrun_left_loop -pb_combatrun_left_loop_grenade -pb_combatrun_left_loop_pistol -pb_combatrun_left_rpg -pb_combatrun_right_loop -pb_combatrun_right_loop_grenade -pb_combatrun_right_loop_pistol -pb_combatrun_right_rpg -pb_combatwalk_back_loop_pistol -pb_combatwalk_forward_loop_pistol -pb_combatwalk_left_loop_pistol -pb_combatwalk_right_loop_pistol -pb_crouch_ads -pb_crouch_ads_pistol -pb_crouch_ads_rpg -pb_crouch_alert -pb_crouch_alert_pistol -pb_crouch_alert_rpg -pb_crouch_bombplant -pb_crouch_death_clutchchest -pb_crouch_death_falltohands -pb_crouch_death_fetal -pb_crouch_death_flip -pb_crouch_death_headshot_front -pb_crouch_grenade_pullpin -pb_crouch_grenade_throw -pb_crouch_hold_idle -pb_crouch_hold_run -pb_crouch_hold_run_back -pb_crouch_hold_run_left -pb_crouch_hold_run_right -pb_crouch_pain_holdstomach -pb_crouch_run_back -pb_crouch_run_back_grenade -pb_crouch_run_back_pistol -pb_crouch_run_back_rpg -pb_crouch_run_forward -pb_crouch_run_forward_grenade -pb_crouch_run_forward_pistol -pb_crouch_run_forward_rpg -pb_crouch_run_left -pb_crouch_run_left_grenade -pb_crouch_run_left_pistol -pb_crouch_run_left_rpg -pb_crouch_run_right -pb_crouch_run_right_grenade -pb_crouch_run_right_pistol -pb_crouch_run_right_rpg -pb_crouch_shoot_run_back -pb_crouch_shoot_run_forward -pb_crouch_shoot_run_left -pb_crouch_shoot_run_right -pb_crouch_walk_back_pistol -pb_crouch_walk_back_rpg -pb_crouch_walk_forward_pistol -pb_crouch_walk_forward_rpg -pb_crouch_walk_forward_unarmed -pb_crouch_walk_left_pistol -pb_crouch_walk_left_rpg -pb_crouch_walk_right_pistol -pb_crouch_walk_right_rpg -pb_crouch2prone -pb_crouchrun_death_crumple -pb_crouchrun_death_drop -pb_death_run_back -pb_death_run_forward_crumple -pb_death_run_left -pb_death_run_onfront -pb_death_run_right -pb_death_run_stumble -pb_hold_idle -pb_hold_run -pb_hold_run_back -pb_hold_run_left -pb_hold_run_right -pb_laststand_death -pb_laststand_idle -pb_pistol_run_fast -pb_prone_aim -pb_prone_aim_grenade -pb_prone_aim_pistol -pb_prone_aim_rpg -pb_prone_bombplant -pb_prone_crawl -pb_prone_crawl_back -pb_prone_crawl_back_hold -pb_prone_crawl_hold -pb_prone_crawl_left -pb_prone_crawl_left_hold -pb_prone_crawl_right -pb_prone_crawl_right_hold -pb_prone_death_quickdeath -pb_prone_grenade_crawl -pb_prone_grenade_crawl_back -pb_prone_grenade_crawl_left -pb_prone_grenade_crawl_right -pb_prone_hold -pb_prone_paina_holdchest -pb_prone_painb_holdhead -pb_prone2crouch -pb_prone2crouchrun -pb_runjump_land -pb_runjump_takeoff -pb_sprint -pb_sprint_hold -pb_sprint_rpg -pb_stand__shoot_ads_pistol -pb_stand_ads -pb_stand_ads_pistol -pb_stand_ads_rpg -pb_stand_alert -pb_stand_alert_pistol -pb_stand_alert_rpg -pb_stand_bombplant -pb_stand_death_frontspin -pb_stand_death_head_collapse -pb_stand_death_headchest_topple -pb_stand_death_legs -pb_stand_death_lowerback -pb_stand_death_neckdeath -pb_stand_death_neckdeath_thrash -pb_stand_death_nervedeath -pb_stand_grenade_pullpin -pb_stand_grenade_throw -pb_stand_shellshock -pb_stand_shoot_walk_back -pb_stand_shoot_walk_forward -pb_stand_shoot_walk_forward_unarmed -pb_stand_shoot_walk_left -pb_stand_shoot_walk_right -pb_standjump_land -pb_standjump_land_pistol -pb_standjump_takeoff -pb_stumble_back -pb_stumble_forward -pb_stumble_grenade_back -pb_stumble_grenade_forward -pb_stumble_grenade_left -pb_stumble_grenade_right -pb_stumble_left -pb_stumble_pistol_back -pb_stumble_pistol_forward -pb_stumble_pistol_left -pb_stumble_pistol_right -pb_stumble_pistol_walk_back -pb_stumble_pistol_walk_forward -pb_stumble_pistol_walk_left -pb_stumble_pistol_walk_right -pb_stumble_right -pb_stumble_walk_back -pb_stumble_walk_forward -pb_stumble_walk_left -pb_stumble_walk_right -pb_walk_back_rpg_ads -pb_walk_forward_rpg_ads -pb_walk_left_rpg_ads -pb_walk_right_rpg_ads -pl_crouchturn_90left -pl_crouchturn_90right -pt_crouch_grenade_throw -pt_crouch_pullout_pose -pt_crouch_shoot -pt_crouch_shoot_ads -pt_crouch_shoot_ads_pistol -pt_crouch_shoot_auto -pt_crouch_shoot_auto_ads -pt_crouch_shoot_pistol -pt_flinch_back -pt_flinch_forward -pt_flinch_grenade_back -pt_flinch_grenade_forward -pt_flinch_grenade_left -pt_flinch_grenade_right -pt_flinch_left -pt_flinch_pistol_back -pt_flinch_pistol_forward -pt_flinch_pistol_left -pt_flinch_pistol_right -pt_flinch_right -pt_hold_prone_throw -pt_hold_throw -pt_laststand_fire -pt_laststand_reload -pt_melee_crouch_left2left -pt_melee_crouch_left2right -pt_melee_crouch_right2left -pt_melee_left2left_1 -pt_melee_left2right -pt_melee_pistol_1 -pt_melee_pistol_2 -pt_melee_prone -pt_melee_prone_pistol -pt_melee_right2left -pt_melee_right2right_1 -pt_melee_right2right_2 -pt_prone_grenade_throw -pt_prone_pullout_pose -pt_prone_shoot_auto -pt_prone_shoot_pistol -pt_prone_shoot_rpg -pt_reload_crouch_pistol -pt_reload_crouch_rifle -pt_reload_crouchwalk -pt_reload_crouchwalk_pistol -pt_reload_prone_auto -pt_reload_prone_pistol -pt_reload_prone_rpg -pt_reload_stand_auto -pt_reload_stand_auto_mp40 -pt_reload_stand_pistol -pt_reload_stand_rifle -pt_reload_stand_rpg -pt_rifle_fire -pt_rifle_fire_ads -pt_stand_grenade_throw -pt_stand_pullout_pose -pt_stand_shoot -pt_stand_shoot_ads -pt_stand_shoot_auto -pt_stand_shoot_auto_ads -pt_stand_shoot_pistol -pt_stand_shoot_rpg -pt_stand_shoot_shotgun -} \ No newline at end of file +ai_zombie_attack_7 +ai_zombie_attack_8 +ai_zombie_attack_9 +ai_zombie_attack_10 +ai_zombie_attack_11 +ai_zombie_attack_12 +ai_zombie_attack_13 +ai_zombie_attack_14 +ai_zombie_attack_16 +ai_zombie_attack_17 +ai_zombie_attack_18 +ai_zombie_attack_crawl +ai_zombie_attack_crawl_lunge +ai_zombie_attack_forward_v1 +ai_zombie_attack_forward_v2 +ai_zombie_attack_v1 +ai_zombie_attack_v2 +ai_zombie_attack_v3 +ai_zombie_attack_v4 +ai_zombie_attack_v5 +ai_zombie_attack_v6 +ai_zombie_attack_w_object_1 +ai_zombie_attack_w_object_2 +ai_zombie_attack_w_object_3 +ai_zombie_attack_w_object_4 +ai_zombie_attack_w_object_5 +ai_zombie_attack_w_object_6 +ai_zombie_attack_w_object_7 +ai_zombie_attack_w_object_8 +ai_zombie_attack_w_object_9 +ai_zombie_attack_w_object_10 +ai_zombie_crawl +ai_zombie_crawl_death_v1 +ai_zombie_crawl_death_v2 +ai_zombie_crawl_sprint +ai_zombie_crawl_sprint_1 +ai_zombie_crawl_sprint_2 +ai_zombie_crawl_v1 +ai_zombie_crawl_v2 +ai_zombie_crawl_v3 +ai_zombie_crawl_v4 +ai_zombie_crawl_v5 +ai_zombie_crawl_v6 +ai_zombie_death_v1 +ai_zombie_death_v2 +ai_zombie_door_pound_v1 +ai_zombie_door_pound_v2 +ai_zombie_door_tear_high +ai_zombie_door_tear_left +ai_zombie_door_tear_low +ai_zombie_door_tear_right +ai_zombie_door_tear_v1 +ai_zombie_door_tear_v2 +ai_zombie_idle_base +ai_zombie_idle_crawl +ai_zombie_idle_v1 +ai_zombie_run_attack_v1 +ai_zombie_run_attack_v2 +ai_zombie_run_attack_v3 +ai_zombie_run_attack_v4 +ai_zombie_run_v1 +ai_zombie_run_v2 +ai_zombie_run_v3 +ai_zombie_run_v4 +ai_zombie_shot_arm_left +ai_zombie_shot_arm_right +ai_zombie_shot_leg_left_2_crawl +ai_zombie_shot_leg_right_2_crawl +ai_zombie_sprint_v1 +ai_zombie_sprint_v2 +ai_zombie_sprint_v3 +ai_zombie_sprint_v4 +ai_zombie_sprint_v5 +ai_zombie_sprint_w_object_4 +ai_zombie_sprint_w_object_5 +ai_zombie_sprint_w_object_10 +ai_zombie_taunts_1 +ai_zombie_taunts_2 +ai_zombie_taunts_3 +ai_zombie_taunts_4 +ai_zombie_taunts_5 +ai_zombie_taunts_6 +ai_zombie_taunts_7 +ai_zombie_taunts_8 +ai_zombie_taunts_9 +ai_zombie_traverse_ground_climbout_fast +ai_zombie_traverse_ground_v1 +ai_zombie_traverse_ground_v1_climbto_crawl +ai_zombie_traverse_ground_v1_climbto_deathinside +ai_zombie_traverse_ground_v1_climbto_deathoutside +ai_zombie_traverse_ground_v1_climbto_walk +ai_zombie_traverse_ground_v1_crawl +ai_zombie_traverse_ground_v1_crawlfast +ai_zombie_traverse_ground_v1_deathinside +ai_zombie_traverse_ground_v1_deathinside_alt +ai_zombie_traverse_ground_v1_deathoutside +ai_zombie_traverse_ground_v1_deathoutside_alt +ai_zombie_traverse_ground_v1_idle +ai_zombie_traverse_ground_v1_punchout_crawl +ai_zombie_traverse_ground_v1_punchout_deathinside +ai_zombie_traverse_ground_v1_punchout_deathoutside +ai_zombie_traverse_ground_v1_punchout_walk +ai_zombie_traverse_ground_v1_run +ai_zombie_traverse_ground_v1_walk +ai_zombie_traverse_ground_v2_death_high +ai_zombie_traverse_ground_v2_death_high_alt +ai_zombie_traverse_ground_v2_death_low +ai_zombie_traverse_ground_v2_death_low_alt +ai_zombie_traverse_ground_v2_walk +ai_zombie_traverse_ground_v2_walk_altA +ai_zombie_traverse_ground_v2_walk_altB + + +ai_zombie_traverse_no_legs +ai_zombie_traverse_v1 +ai_zombie_traverse_v2 +ai_zombie_traverse_v3 +ai_zombie_traverse_v4 +ai_zombie_traverse_v5 +ai_zombie_traverse_v6 +ai_zombie_traverse_v7 +ai_zombie_walk_attack_v1 +ai_zombie_walk_attack_v2 +ai_zombie_walk_attack_v3 +ai_zombie_walk_attack_v4 +ai_zombie_walk_fast_v1 +ai_zombie_walk_fast_v2 +ai_zombie_walk_fast_v3 +ai_zombie_walk_on_hands +ai_zombie_walk_on_hands_a +ai_zombie_walk_on_hands_fall +ai_zombie_walk_on_hands_rise +ai_zombie_walk_on_hands_shot_a +ai_zombie_walk_on_hands_shot_b +ai_zombie_walk_v1 +ai_zombie_walk_v2 +ai_zombie_walk_v3 +ai_zombie_walk_v4 +ai_zombie_walk_v6 +ai_zombie_walk_v7 +ai_zombie_walk_v8 +ai_zombie_walk_v9 +ai_zombie_wall_run_A +ai_zombie_window_attack_arm_L +ai_zombie_window_attack_arm_L_down +ai_zombie_window_attack_arm_L_out +ai_zombie_window_attack_arm_r +ai_zombie_window_attack_arm_r_down +ai_zombie_window_attack_arm_r_out +ai_zombie_window_attack_body_L +ai_zombie_window_attack_body_L_down +ai_zombie_window_attack_body_L_out +ai_zombie_window_attack_body_out1 +ai_zombie_window_attack_body_out2 +ai_zombie_window_attack_body_out3 +ai_zombie_window_attack_body_out4 +ai_zombie_window_attack_body_r +ai_zombie_window_attack_body_r_down +ai_zombie_window_attack_body_r_out +ai_zombie_stairs_run_down_a +ai_zombie_stairs_run_down_b +ai_zombie_stairs_run_up_a +ai_zombie_stairs_run_up_b +p_zombie_perkacola_drink +} diff --git a/raw/collmaps/foliage_cod5_tree_mgrve_2_dlc.map b/raw/collmaps/foliage_cod5_tree_mgrve_2_dlc.map new file mode 100644 index 000000000..f07c96adb --- /dev/null +++ b/raw/collmaps/foliage_cod5_tree_mgrve_2_dlc.map @@ -0,0 +1,115 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( 40 32 -256 ) ( -32 32 -256 ) ( -32 -40 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 32 -40 1088 ) ( 32 32 1088 ) ( 104 32 1088 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -32 -40 640 ) ( 40 -40 640 ) ( 40 -40 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 32 -40 640 ) ( 32 32 640 ) ( 32 32 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 40 32 640 ) ( -32 32 640 ) ( -32 32 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -24 32 640 ) ( -24 -40 640 ) ( -24 -40 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 1 +{ + ( 40 -40 -256 ) ( -32 -40 -256 ) ( -32 -112 -256 ) clip 64 64 0 72 0 0 lightmap_gray 16384 16384 0 72 0 0 + ( 40 -152 -112 ) ( 8 -152 -112 ) ( 8 -40 0 ) clip 64 64 0 72 0 0 lightmap_gray 16384 16384 0 72 0 0 + ( 8 -152 -112 ) ( 40 -152 -112 ) ( 40 -152 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 40 -112 640 ) ( 40 -40 640 ) ( 40 -40 -256 ) clip 64 64 -72 0 0 0 lightmap_gray 16384 16384 -72 0 0 0 + ( 40 -40 640 ) ( -32 -40 640 ) ( -32 -40 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 8 -40 640 ) ( 8 -112 640 ) ( 8 -112 -256 ) clip 64 64 -72 0 0 0 lightmap_gray 16384 16384 -72 0 0 0 +} +// brush 2 +{ + ( -120 24 -256 ) ( -120 -8 -256 ) ( -32 -8 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 -32 64 -90 0 + ( -32 24 0 ) ( -32 -40 0 ) ( -120 -40 -96 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 -32 64 -90 0 + ( -120 24 -96 ) ( -120 -40 -96 ) ( -120 -40 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 -16384 -32 0 180 0 + ( -120 -40 -96 ) ( -32 -40 16 ) ( -32 -40 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 -64 0 0 0 + ( -24 -40 0 ) ( -24 24 0 ) ( -24 24 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 -16384 -32 0 180 0 + ( -32 24 16 ) ( -120 24 -96 ) ( -120 24 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 -64 0 0 0 +} +// brush 3 +{ + ( -144 -112 -256 ) ( -144 -144 -256 ) ( -32 -40 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 64 -90 0 + ( -144 -144 -144 ) ( -144 -112 -144 ) ( -32 -8 -32 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 64 -90 0 + ( -48 -104 -144 ) ( -48 -104 -256 ) ( -144 -112 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 -16384 0 0 180 0 + ( -48 -104 -256 ) ( -48 -104 -144 ) ( 16 -40 16 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 -64 0 0 0 + ( -144 -112 -144 ) ( -144 -112 -256 ) ( -32 -8 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 -64 0 0 0 + ( -64 -40 16 ) ( -32 -40 16 ) ( -64 -40 48 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 4 +{ + ( -88 120 -256 ) ( -120 120 -256 ) ( -72 24 -256 ) clip 64 64 -24 0 0 0 lightmap_gray 16384 16384 -24 0 0 0 + ( -120 24 -96 ) ( -120 120 -152 ) ( -32 144 -72 ) clip 64 64 -24 0 0 0 lightmap_gray 16384 16384 -24 0 0 0 + ( -120 24 -256 ) ( -120 24 -32 ) ( -32 24 -32 ) clip 64 64 -24 0 0 0 lightmap_gray 16384 16384 -24 0 0 0 + ( -32 24 0 ) ( -32 144 -72 ) ( -32 144 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -32 144 -104 ) ( -120 120 -128 ) ( -120 120 -256 ) clip 64 64 -24 0 0 0 lightmap_gray 16384 16384 -24 0 0 0 + ( -120 120 -152 ) ( -120 24 -96 ) ( -120 24 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 5 +{ + ( 136 -296 -256 ) ( 136 296 -256 ) ( 40 296 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 -8 -90 0 + ( 40 296 -8 ) ( 136 296 -8 ) ( 136 -296 -8 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 -8 -90 0 + ( 40 296 0 ) ( 40 -296 0 ) ( 40 -296 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 -16384 0 0 180 0 + ( 176 -296 0 ) ( 176 296 0 ) ( 176 296 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 -16384 0 0 180 0 + ( 128 96 0 ) ( 32 96 0 ) ( 32 96 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 8 0 0 0 + ( 88 -303 -32 ) ( 160 -303 -128 ) ( 160 -335 -128 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 -16384 0 0 180 0 + ( 104 64 0 ) ( 48 64 0 ) ( 48 64 32 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 6 +{ + ( 72 64 -256 ) ( 40 64 -256 ) ( 40 0 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 72 64 -24 ) ( 72 0 -24 ) ( 32 0 0 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 40 0 0 ) ( 72 0 0 ) ( 72 0 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 72 0 -24 ) ( 72 64 -24 ) ( 72 64 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 72 64 0 ) ( 40 64 0 ) ( 40 64 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 32 64 0 ) ( 32 0 0 ) ( 32 0 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 7 +{ + ( 136 -296 -256 ) ( 136 296 -256 ) ( 40 296 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 -8 -90 0 + ( 40 296 -8 ) ( 136 296 -8 ) ( 136 -296 -8 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 -8 -90 0 + ( 40 296 0 ) ( 40 -296 0 ) ( 40 -296 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 -16384 0 0 180 0 + ( 32 -40 0 ) ( 128 -40 0 ) ( 128 -40 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 8 0 0 0 + ( 176 -296 0 ) ( 176 296 0 ) ( 176 296 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 -16384 0 0 180 0 + ( 88 -303 -32 ) ( 160 -303 -128 ) ( 160 -335 -128 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 -16384 0 0 180 0 + ( 48 0 0 ) ( 104 0 0 ) ( 48 0 32 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 8 +{ + ( 88 -72 -256 ) ( 40 -72 -256 ) ( 40 -88 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 88 -72 -120 ) ( 88 -88 -120 ) ( 40 -88 -80 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 40 -88 0 ) ( 88 -88 0 ) ( 88 -88 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 88 -88 -120 ) ( 88 -72 -120 ) ( 88 -72 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 88 -72 0 ) ( 40 -72 0 ) ( 40 -72 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 + ( 40 -72 0 ) ( 40 -88 0 ) ( 40 -88 -256 ) clip 64 64 0 -8 -90 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 9 +{ + ( 296 128 -256 ) ( -296 128 -256 ) ( -296 32 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -32 72 -16 ) ( 40 72 -16 ) ( 40 32 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -296 32 0 ) ( 296 32 0 ) ( 296 32 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 40 32 0 ) ( 40 128 0 ) ( 40 128 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 296 168 0 ) ( -296 168 0 ) ( -296 168 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -32 120 0 ) ( -32 24 0 ) ( -32 24 -256 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 40 72 -16 ) ( -32 72 -16 ) ( -32 168 -136 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 10 +{ + ( 32 8 128 ) ( 32 -24 128 ) ( 112 -24 192 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 32 -8 336 ) ( 32 -32 336 ) ( 32 -32 184 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 -32 232 ) ( 112 -32 184 ) ( 32 -32 88 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 32 -32 336 ) ( 32 -8 336 ) ( 112 -8 192 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 112 -8 240 ) ( 32 -8 144 ) ( 32 -8 96 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 32 -24 128 ) ( 32 8 128 ) ( 32 8 184 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 1 +{ +"origin" "0.0 0.0 0.0" +"model" "foliage_cod5_tree_mgrve_2_dlc" +"classname" "misc_model" +} diff --git a/raw/collmaps/foliage_cod5_tree_willow_01.map b/raw/collmaps/foliage_cod5_tree_willow_01.map new file mode 100644 index 000000000..bdc77978c --- /dev/null +++ b/raw/collmaps/foliage_cod5_tree_willow_01.map @@ -0,0 +1,22 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( -20 -20 0 ) ( 36 -20 0 ) ( 36 34 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 64 -68 928 ) ( 64 4 928 ) ( 128 4 928 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 34 -18 0 ) ( -22 -18 0 ) ( 34 -40 550 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 88.25 -40 550 ) ( 88.25 4 550 ) ( 32.25 32 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -22 34 0 ) ( 34 34 0 ) ( 90 2 550 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 35.5 4 550 ) ( 35.5 -40 550 ) ( -20.5 -12 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 1 +{ +"origin" "0.0 0.0 0.0" +"model" "foliage_cod5_tree_willow_01" +"classname" "misc_model" +} diff --git a/raw/collmaps/foliage_cod5_tree_willow_01a.map b/raw/collmaps/foliage_cod5_tree_willow_01a.map new file mode 100644 index 000000000..8f66dab75 --- /dev/null +++ b/raw/collmaps/foliage_cod5_tree_willow_01a.map @@ -0,0 +1,22 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( -20 -20 0 ) ( 36 -20 0 ) ( 36 34 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 64 -68 928 ) ( 64 4 928 ) ( 128 4 928 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 34 -18 0 ) ( -22 -18 0 ) ( 34 -40 550 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 88.25 -40 550 ) ( 88.25 4 550 ) ( 32.25 32 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -22 34 0 ) ( 34 34 0 ) ( 90 2 550 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 35.5 4 550 ) ( 35.5 -40 550 ) ( -20.5 -12 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 1 +{ +"origin" "0.0 0.0 0.0" +"model" "foliage_cod5_tree_willow_01a" +"classname" "misc_model" +} diff --git a/raw/collmaps/foliage_cod5_tree_willow_02.map b/raw/collmaps/foliage_cod5_tree_willow_02.map new file mode 100644 index 000000000..b2beacdb1 --- /dev/null +++ b/raw/collmaps/foliage_cod5_tree_willow_02.map @@ -0,0 +1,22 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( -20 -20 0 ) ( 36 -20 0 ) ( 36 34 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 64 -68 928 ) ( 64 4 928 ) ( 128 4 928 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 34 -18 0 ) ( -22 -18 0 ) ( 34 -40 550 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 88.25 -40 550 ) ( 88.25 4 550 ) ( 32.25 32 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -22 34 0 ) ( 34 34 0 ) ( 90 2 550 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 35.5 4 550 ) ( 35.5 -40 550 ) ( -20.5 -12 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 1 +{ +"origin" "0.0 0.0 0.0" +"model" "foliage_cod5_tree_willow_02" +"classname" "misc_model" +} diff --git a/raw/collmaps/prefab_berlin_asylum_dbldoor_dr.map b/raw/collmaps/prefab_berlin_asylum_dbldoor_dr.map new file mode 100644 index 000000000..04af2c8df --- /dev/null +++ b/raw/collmaps/prefab_berlin_asylum_dbldoor_dr.map @@ -0,0 +1,31 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( 0 0 0 ) ( -2 0 0 ) ( -2 -4 0 ) clip_ai 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -2 -4 98 ) ( -2 0 98 ) ( 0 0 98 ) clip_ai 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -3 -52 98 ) ( -1 -52 98 ) ( -1 -52 0 ) clip_ai 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 -4 98 ) ( 0 0 98 ) ( 0 0 0 ) clip_ai 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 0 0 98 ) ( -2 0 98 ) ( -2 0 0 ) clip_ai 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -1.75 -43 98 ) ( -1.75 -47 98 ) ( -1.75 -47 0 ) clip_ai 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 1 +{ + ( 0 0 0 ) ( -2 0 0 ) ( -2 -4 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -2 -4 98 ) ( -2 0 98 ) ( 0 0 98 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -3 -52 98 ) ( -1 -52 98 ) ( -1 -52 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1.25 0 98 ) ( 1.25 0 0 ) ( 3.25 -52 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 1.25 0 0 ) ( 1.25 0 98 ) ( -3 0 98 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -3 0 0 ) ( -3 0 98 ) ( -5 -52 98 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 1 +{ +"origin" "0.0 0.0 0.0" +"model" "prefab_berlin_asylum_dbldoor_dr" +"classname" "misc_model" +} diff --git a/raw/collmaps/prefab_berlin_asylum_dbldoor_fr.map b/raw/collmaps/prefab_berlin_asylum_dbldoor_fr.map new file mode 100644 index 000000000..bad49cb9d --- /dev/null +++ b/raw/collmaps/prefab_berlin_asylum_dbldoor_fr.map @@ -0,0 +1,40 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( 12 -38 0 ) ( -12 -38 0 ) ( -12 -69 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -12 -60 144 ) ( -12 -29 144 ) ( 12 -29 144 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -12 -88 32 ) ( 12 -88 32 ) ( 12 -88 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 12 -69 32 ) ( 12 -38 32 ) ( 12 -38 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 12 -52 32 ) ( -12 -52 32 ) ( -12 -52 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -12 -38 32 ) ( -12 -69 32 ) ( -12 -69 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 1 +{ + ( 12 102 0 ) ( -12 102 0 ) ( -12 71 0 ) clip 64 64 0 -140 0 0 lightmap_gray 16384 16384 0 -140 0 0 + ( -12 80 144 ) ( -12 111 144 ) ( 12 111 144 ) clip 64 64 0 -140 0 0 lightmap_gray 16384 16383.992 0 -140 0 0 + ( -12 52 32 ) ( 12 52 32 ) ( 12 52 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 12 71 32 ) ( 12 102 32 ) ( 12 102 0 ) clip 64 64 140 0 0 0 lightmap_gray 16384 16384 140 0 0 0 + ( 12 88 32 ) ( -12 88 32 ) ( -12 88 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -12 102 32 ) ( -12 71 32 ) ( -12 71 0 ) clip 64 64 140 0 0 0 lightmap_gray 16384 16384 140 0 0 0 +} +// brush 2 +{ + ( 12 -3 98 ) ( -12 -3 98 ) ( -12 -34 98 ) clip 64 64 0 -104 0 0 lightmap_gray 16384 16384 0 -104 0 0 + ( -12 44 144 ) ( -12 75 144 ) ( 12 75 144 ) clip 64 64 0 -104 0 0 lightmap_gray 16384 16383.98 0 -104 0 0 + ( -12 -52 130 ) ( 12 -52 130 ) ( 12 -52 98 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 12 35 32 ) ( 12 66 32 ) ( 12 66 0 ) clip 64 64 104 0 0 0 lightmap_gray 16384 16384 104 0 0 0 + ( 12 52 32 ) ( -12 52 32 ) ( -12 52 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -12 66 32 ) ( -12 35 32 ) ( -12 35 0 ) clip 64 64 104 0 0 0 lightmap_gray 16384 16384 104 0 0 0 +} +} +// entity 1 +{ +"origin" "0.0 0.0 0.0" +"model" "prefab_berlin_asylum_dbldoor_fr" +"classname" "misc_model" +} diff --git a/raw/collmaps/static_berlin_electrical_panelb.map b/raw/collmaps/static_berlin_electrical_panelb.map new file mode 100644 index 000000000..bfd96cf9d --- /dev/null +++ b/raw/collmaps/static_berlin_electrical_panelb.map @@ -0,0 +1,22 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( -8 0 0 ) ( -25 0 0 ) ( -25 -16 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -25 -16 107 ) ( -25 0 107 ) ( -8 0 107 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -23 -18 107 ) ( -6 -18 107 ) ( -6 -18 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 23.25 -23 107 ) ( 23.25 -7 107 ) ( 23.25 -7 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -8 0 107 ) ( -25 0 107 ) ( -25 0 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -24.75 0 107 ) ( -24.75 -16 107 ) ( -24.75 -16 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 1 +{ +"origin" "0.0 0.0 0.0" +"model" "static_berlin_electrical_panelb" +"classname" "misc_model" +} diff --git a/raw/collmaps/static_berlin_engine_control_a.map b/raw/collmaps/static_berlin_engine_control_a.map new file mode 100644 index 000000000..038bd7f28 --- /dev/null +++ b/raw/collmaps/static_berlin_engine_control_a.map @@ -0,0 +1,22 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( -11 14 0 ) ( -18 14 0 ) ( -18 8 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -18 8 49 ) ( -18 14 49 ) ( -11 14 49 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 10 -14 49 ) ( 17 -14 49 ) ( 17 -14 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 16.5 -14 49 ) ( 16.5 -8 49 ) ( 16.5 -8 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -11 14 49 ) ( -18 14 49 ) ( -18 14 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -17.5 14 49 ) ( -17.5 8 49 ) ( -17.5 8 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 1 +{ +"origin" "0.0 0.0 0.0" +"model" "static_berlin_engine_control_a" +"classname" "misc_model" +} diff --git a/raw/collmaps/static_seelow_blackbarrel_d.map b/raw/collmaps/static_seelow_blackbarrel_d.map index 0b17a8ec1..9d2dd148e 100644 --- a/raw/collmaps/static_seelow_blackbarrel_d.map +++ b/raw/collmaps/static_seelow_blackbarrel_d.map @@ -6,16 +6,16 @@ iwmap 4 "classname" "worldspawn" // brush 0 { - ( 6 -14 0 ) ( 14 -6 0 ) ( 14 7 0 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 - ( -7 -14 44 ) ( -14 -7 44 ) ( -14 7 44 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 - ( 6 -14 0 ) ( -7 -14 0 ) ( -7 -14 46 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 - ( 14 -6 0 ) ( 14 -6 46 ) ( 14 7 46 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 - ( 7 14 0 ) ( 7 14 46 ) ( -7 14 46 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 - ( -14 7 0 ) ( -14 7 46 ) ( -14 -7 46 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 - ( 7 14 0 ) ( 14 7 0 ) ( 14 7 46 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 - ( -7 14 0 ) ( -7 14 46 ) ( -14 7 46 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 - ( -14 -7 46 ) ( -7 -14 46 ) ( -7 -14 0 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 - ( 14 -6 0 ) ( 6 -14 0 ) ( 6 -14 46 ) clip_player 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 + ( 6 -14 0 ) ( 14 -6 0 ) ( 14 7 0 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -7 -14 44 ) ( -14 -7 44 ) ( -14 7 44 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 6 -14 0 ) ( -7 -14 0 ) ( -7 -14 46 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 + ( 14 -6 0 ) ( 14 -6 46 ) ( 14 7 46 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 + ( 7 14 0 ) ( 7 14 46 ) ( -7 14 46 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 + ( -14 7 0 ) ( -14 7 46 ) ( -14 -7 46 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 + ( 7 14 0 ) ( 14 7 0 ) ( 14 7 46 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 + ( -7 14 0 ) ( -7 14 46 ) ( -14 7 46 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 + ( -14 -7 46 ) ( -7 -14 46 ) ( -7 -14 0 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 + ( 14 -6 0 ) ( 6 -14 0 ) ( 6 -14 46 ) clip_nosight_metal 64 64 0 0 0 0 lightmap_gray 16384 16384 0 -7 0 0 } } // entity 1 diff --git a/raw/collmaps/zombie_bed_pan_chair.map b/raw/collmaps/zombie_bed_pan_chair.map new file mode 100644 index 000000000..e51b9eece --- /dev/null +++ b/raw/collmaps/zombie_bed_pan_chair.map @@ -0,0 +1,31 @@ +iwmap 4 +"000_Global" flags active +"The Map" flags +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ + ( 13 21 0 ) ( -13 21 0 ) ( -13 11 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -13 11 42 ) ( -13 21 42 ) ( 13 21 42 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -13 11 42 ) ( 13 11 42 ) ( 13 11 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 13 11 42 ) ( 13 21 42 ) ( 13 21 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 12 14 42 ) ( -14 14 42 ) ( -14 14 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -13 21 42 ) ( -13 11 42 ) ( -13 11 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +// brush 1 +{ + ( 13 11 0 ) ( -13 11 0 ) ( -13 -13 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -13 -13 31 ) ( -13 11 31 ) ( 13 11 31 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -13 -13 31 ) ( 13 -13 31 ) ( 13 -13 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 13 -13 31 ) ( 13 11 31 ) ( 13 11 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( 13 11 31 ) ( -13 11 31 ) ( -13 11 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 + ( -13 11 31 ) ( -13 -13 31 ) ( -13 -13 0 ) clip 64 64 0 0 0 0 lightmap_gray 16384 16384 0 0 0 0 +} +} +// entity 1 +{ +"origin" "0.0 0.0 0.0" +"model" "zombie_bed_pan_chair" +"classname" "misc_model" +} diff --git a/raw/english/localizedstrings/menu.str b/raw/english/localizedstrings/menu.str index 69e63286c..cf7389cec 100644 --- a/raw/english/localizedstrings/menu.str +++ b/raw/english/localizedstrings/menu.str @@ -10,7 +10,7 @@ // as being untranslated.) // VERSION "1" -CONFIG "F:\cod5\cod\cod5\bin\StringEd.cfg" +CONFIG "E:\cod5\cod\cod5\bin\StringEd.cfg" FILENOTES "Strings displayed in the menus go in this file." REFERENCE KEY_CODE_WARNING @@ -3935,7 +3935,7 @@ REFERENCE EPD_TITLE LANG_ENGLISH "WELCOME!" REFERENCE EPD_TEXT -LANG_ENGLISH "This exclusive Call of Duty: World at War beta demo showcases the campaign mission 'Eviction', which is available for online cooperative play. Enjoy the demo, and we'll see you online!\n\n- Treyarch Development Team" +LANG_ENGLISH "This Call of Duty: World at War demo showcases the campaign mission "Hard Landing", which is available for single player and online cooperative play. Enjoy the demo, and we'll see you online!\n\n- Treyarch Development Team" REFERENCE SERVICE_REPORT_FRIENDS_CAP LANG_ENGLISH "Service Report :: Friends" @@ -4376,7 +4376,25 @@ REFERENCE NEED_ONLINE_PLAYER_PROFILE LANG_ENGLISH "You need an online profile to play in Cooperative\nand Multiplayer modes.\n\nDo you want to create online profile now?" REFERENCE DASHBOARD -LANG_ENGLISH "Quit to Dashboard?" +LANG_ENGLISH "Quit to Xbox Dashboard?" + +REFERENCE LEVEL_ZOMBIE_ASYLUM +LANG_ENGLISH "Zombie Verrückt" + +REFERENCE LEVEL_DESC_ZOM_ASYLUM +LANG_ENGLISH "Electroshock therapy. Chemically engineered beverages. Hordes of undead Nazis. Find the power to unite and send them back to their graves!" + +REFERENCE LEVEL_ZOMBIE_FACTORY +LANG_ENGLISH "Zombie Factory" + +REFERENCE LEVEL_DESC_ZOM_FACTORY +LANG_ENGLISH "Zombie Factory Description" + +REFERENCE LEVEL_ZOMBIE_SUMPF +LANG_ENGLISH "Zombie Swamp" + +REFERENCE LEVEL_DESC_ZOM_SUMPF +LANG_ENGLISH "Zombie Swamp Description" ENDMARKER diff --git a/raw/english/localizedstrings/mpui.str b/raw/english/localizedstrings/mpui.str index f1fcffdd3..d3c939103 100644 --- a/raw/english/localizedstrings/mpui.str +++ b/raw/english/localizedstrings/mpui.str @@ -1940,10 +1940,10 @@ REFERENCE DOCKS_CAPS LANG_ENGLISH "DOCKS" REFERENCE SUBWAY_CAPS -LANG_ENGLISH "SUBWAY" +LANG_ENGLISH "STATION" REFERENCE KNEEDEEP_CAPS -LANG_ENGLISH "KNEEDEEP" +LANG_ENGLISH "KNEE DEEP" REFERENCE TDM_CAPS LANG_ENGLISH "TEAM DEATHMATCH" @@ -2215,6 +2215,75 @@ LANG_ENGLISH "Invite Friends To Squad" REFERENCE JOIN_SQUAD_NAME LANG_ENGLISH "Join &&1 Squad?" +REFERENCE STALINGRAD +LANG_ENGLISH "Stalingrad" + +REFERENCE STALINGRAD_CAPS +LANG_ENGLISH "STALINGRAD" + +REFERENCE DESC_MAP_STALINGRAD +LANG_ENGLISH "Stalingrad map description" + +REFERENCE CASSINO +LANG_ENGLISH "Cassino" + +REFERENCE CASSINO_CAPS +LANG_ENGLISH "CASSINO" + +REFERENCE KWAI +LANG_ENGLISH "Kwai" + +REFERENCE KWAI_CAPS +LANG_ENGLISH "KWAI" + +REFERENCE MAKIN_DAY +LANG_ENGLISH "Makin Day" + +REFERENCE MAKIN_DAY_CAPS +LANG_ENGLISH "MAKIN DAY" + +REFERENCE BRANDENBURG +LANG_ENGLISH "Brandenburg" + +REFERENCE BRANDENBURG_CAPS +LANG_ENGLISH "BRANDENBURG" + +REFERENCE ENCAMPMENT +LANG_ENGLISH "Encampment" + +REFERENCE ENCAMPMENT_CAPS +LANG_ENGLISH "ENCAMPMENT" + +REFERENCE CALLSIGN_KNEEDEEP_A +LANG_ENGLISH "Creek" + +REFERENCE CALLSIGN_KNEEDEEP_B +LANG_ENGLISH "Yard" + +REFERENCE CALLSIGN_KNEEDEEP_C +LANG_ENGLISH "Bridge" + +REFERENCE CALLSIGN_KNEEDEEP_D +LANG_ENGLISH "Bunker" + +REFERENCE CALLSIGN_KNEEDEEP_E +LANG_ENGLISH "Rice Patty" + +REFERENCE CALLSIGN_SUBWAY_A +LANG_ENGLISH "Station A" + +REFERENCE CALLSIGN_SUBWAY_B +LANG_ENGLISH "Station B" + +REFERENCE CALLSIGN_SUBWAY_C +LANG_ENGLISH "Station C" + +REFERENCE CALLSIGN_SUBWAY_D +LANG_ENGLISH "Station D" + +REFERENCE CALLSIGN_SUBWAY_E +LANG_ENGLISH "Station E" + ENDMARKER diff --git a/raw/english/localizedstrings/patch.str b/raw/english/localizedstrings/patch.str index bb9cbe55a..3a9059c9b 100644 --- a/raw/english/localizedstrings/patch.str +++ b/raw/english/localizedstrings/patch.str @@ -10,7 +10,7 @@ // as being untranslated.) // VERSION "1" -CONFIG "C:\cod5\cod\cod5\bin\StringEd.cfg" +CONFIG "E:\cod5\cod\cod5\bin\StringEd.cfg" FILENOTES "Strings displayed in the menus go in this file." REFERENCE NOMAD @@ -26,8 +26,109 @@ REFERENCE TEAM_ALTERNATE_COLOR LANG_ENGLISH "Alternative Color Scheme" REFERENCE WRONGNETCODE -LANG_ENGLISH "The game versions are incompatible for online play in this mode" +LANG_ENGLISH "The game versions are incompatible for online play in this mode." +REFERENCE SP_UNLOCK_DESC +LANG_ENGLISH "Access this co-op game mode in the Online playlists and Custom Match game settings." + +REFERENCE PLAYER_DOESNT_HAVE_MAP_PACK +LANG_ENGLISH "&&2 disabled!\n&&1 does not have the map pack." + +REFERENCE MAKIN_BONUS_MAP +LANG_ENGLISH "Makin Bonus Map" + +REFERENCE MAKIN_DAY +LANG_ENGLISH "Makin Day" + +REFERENCE MAKIN_DAY_CAPS +LANG_ENGLISH "MAKIN DAY" + +REFERENCE GET_DLC +LANG_ENGLISH "DOWNLOAD MAPS" + +REFERENCE DLC_MAP_PACK_1 +LANG_ENGLISH "Map Pack One" + +REFERENCE LEVEL_ZOMBIE_ASYLUM +LANG_ENGLISH "Zombie Verrückt" + +REFERENCE LEVEL_DESC_ZOM_ASYLUM +LANG_ENGLISH "Electroshock therapy. Chemically engineered beverages. Hordes of undead Nazis. Find the power to unite and send them back to their graves!" + +REFERENCE KNEEDEEP +LANG_ENGLISH "Knee Deep" + +REFERENCE SUBWAY +LANG_ENGLISH "Station" + +REFERENCE NACHTFEUER +LANG_ENGLISH "Nightfire" + +REFERENCE KNEEDEEP_CAPS +LANG_ENGLISH "KNEE DEEP" + +REFERENCE SUBWAY_CAPS +LANG_ENGLISH "STATION" + +REFERENCE NACHTFEUER_CAPS +LANG_ENGLISH "NIGHTFIRE" + +REFERENCE CALLSIGN_KNEEDEEP_A +LANG_ENGLISH "Creek" + +REFERENCE CALLSIGN_KNEEDEEP_B +LANG_ENGLISH "Yard" + +REFERENCE CALLSIGN_KNEEDEEP_C +LANG_ENGLISH "Bridge" + +REFERENCE CALLSIGN_KNEEDEEP_D +LANG_ENGLISH "Bunker" + +REFERENCE CALLSIGN_KNEEDEEP_E +LANG_ENGLISH "Rice Paddy" + +REFERENCE CALLSIGN_SUBWAY_A +LANG_ENGLISH "East Platform" + +REFERENCE CALLSIGN_SUBWAY_B +LANG_ENGLISH "Service Stands" + +REFERENCE CALLSIGN_SUBWAY_C +LANG_ENGLISH "Rubble Hill" + +REFERENCE CALLSIGN_SUBWAY_D +LANG_ENGLISH "Boiler Room" + +REFERENCE CALLSIGN_SUBWAY_E +LANG_ENGLISH "West Platform" + +REFERENCE DOWNLOADABLE_CONTENT_DAMAGED +LANG_ENGLISH "Downloadable content is damaged." + +REFERENCE 360ONLY_MISSINGMAP +LANG_ENGLISH "You do not have this map or the content is damaged. You can get this map by downloading map packs from Xbox LIVE Marketplace." + +REFERENCE MISSINGMAP +LANG_ENGLISH "You do not have this map. You can get this map by downloading map packs from PlayStation®Store." + +REFERENCE PLAYLIST_REQUIRES_DLC +LANG_ENGLISH "This playlist requires a map pack that you do not have. You can download map packs from the PlayStation®Store." + +REFERENCE UNHANDLEDEXCEPTION +LANG_ENGLISH "There was a problem reading your data. Please ensure all storage devices are connected properly and your game disc is clean." + +REFERENCE LOADMOD_JOIN +LANG_ENGLISH "This server is running the mod ^3&&1^7.\nYou need to load the mod before you can join the demo." + +REFERENCE LOADMOD_DEMO +LANG_ENGLISH "This demo is running the mod ^3&&1^7.\nYou need to load the mod before you can watch the demo." + +REFERENCE SERVER_AUTHFAIL +LANG_ENGLISH "Server authentication failure. Please try again." + +REFERENCE BROUGHT_TO_YOU +LANG_ENGLISH "Brought to you by: ENDMARKER diff --git a/raw/english/localizedstrings/zombie.str b/raw/english/localizedstrings/zombie.str index c7e9bd4eb..28b7a9ecd 100644 --- a/raw/english/localizedstrings/zombie.str +++ b/raw/english/localizedstrings/zombie.str @@ -103,6 +103,9 @@ LANG_ENGLISH "Press & hold &&1 to Open Door [Cost: 1500]" REFERENCE BUTTON_BUY_OPEN_DOOR_1750 LANG_ENGLISH "Press & hold &&1 to Open Door [Cost: 1750]" +REFERENCE BUTTON_BUY_OPEN_DOOR_2500 +LANG_ENGLISH "Press & hold &&1 to Open Door [Cost: 2500]" + REFERENCE BUTTON_BUY_OPEN_DOOR_2000 LANG_ENGLISH "Press & hold &&1 to Open Door [Cost: 2000]" @@ -263,7 +266,7 @@ REFERENCE WEAPON_STG44_1200 LANG_ENGLISH "Press & hold &&1 to buy STG-44 [Cost: 1200]" REFERENCE WEAPON_THOMPSON_1500 -LANG_ENGLISH "Press & hold &&1 to buy Thompson [Cost: 1500]" +LANG_ENGLISH "Press & hold &&1 to buy Thompson [Cost: 1200]" REFERENCE WEAPON_TYPE100_1000 LANG_ENGLISH "Press & hold &&1 to buy Type 100 [Cost: 1000]" @@ -316,6 +319,18 @@ LANG_ENGLISH "Press & hold &&1 to buy DP-28 + Bipod [Cost: 2500]" REFERENCE WEAPON_FG42_BIPOD_2000 LANG_ENGLISH "Press & hold &&1 to buy FG42 + Bipod [Cost: 2000]" +REFERENCE PERK_DOUBLETAP +LANG_ENGLISH "Press & hold &&1 to buy Double Tap Root Beer [Cost: 2000]" + +REFERENCE PERK_FASTRELOAD +LANG_ENGLISH "Press & hold &&1 to buy Speed Cola [Cost: 3000]" + +REFERENCE PERK_QUICKREVIVE +LANG_ENGLISH "Press & hold &&1 to buy Revive [Cost: 1500]" + +REFERENCE PERK_JUGGERNAUT +LANG_ENGLISH "Press & hold &&1 to buy Jugger-Nog [Cost: 2500]" + REFERENCE WEAPON_MG42_BIPOD_3500 LANG_ENGLISH "Press & hold &&1 to buy MG42 + Bipod [Cost: 3500]" @@ -391,6 +406,42 @@ LANG_ENGLISH "Press &&1 for a Random Weapon [Cost: 650]" REFERENCE BUTTON_REWARD_BARRIER LANG_ENGLISH "Press & hold &&1 to Rebuild Barrier" +REFERENCE FLAMES_UNAVAILABLE +LANG_ENGLISH "The power must be activated first" + +REFERENCE BUTTON_SOUTH_FLAMES +LANG_ENGLISH "Press & hold &&1 to activate the flame barrier [Cost: 500]" + +REFERENCE BUTTON_BUY_OPEN_AREA_2500 +LANG_ENGLISH "Press & hold &&1 to Open Area [Cost: 2500]" + +REFERENCE BUTTON_NORTH_FLAMES +LANG_ENGLISH "Press & hold &&1 to activate the electric barrier [Cost: 1000]" + +REFERENCE BETTY_PURCHASE +LANG_ENGLISH "Press & hold &&1 to buy Bouncing Betty [Cost: 1000 - one time only ]" + +REFERENCE BETTY_ALREADY_PURCHASED +LANG_ENGLISH "You have already purchased Bouncing Betties" + +REFERENCE BETTY_HOWTO +LANG_ENGLISH "Press [{+actionslot 4}] then [{+attack}] to place a bouncing betty" + +REFERENCE USE_AUTO_TURRET +LANG_ENGLISH "Press & hold &&1 to activate the Fountain Turret [Cost: 750]" + +REFERENCE ELECTRIC_SWITCH +LANG_ENGLISH "Press & hold &&1 to turn on the electricity" + +REFERENCE INTRO_ASYLUM_LEVEL_BERLIN +LANG_ENGLISH "Berlin, Germany" + +REFERENCE INTRO_ASYLUM_LEVEL_HIMMLER +LANG_ENGLISH "Wittenau Sanatorium " + +REFERENCE INTRO_ASYLUM_LEVEL_SEPTEMBER +LANG_ENGLISH "September, 1945" + ENDMARKER diff --git a/raw/maps/_audio.gsc b/raw/maps/_audio.gsc index 5eb863e61..442b7f11c 100644 --- a/raw/maps/_audio.gsc +++ b/raw/maps/_audio.gsc @@ -70,7 +70,8 @@ Functionality: // This is called from _load.gsc, which grabs all the triggers and sets them up. main() { - array_thread( GetEntArray( "audio_sound_trigger", "targetname" ), ::thread_sound_trigger ); + array_thread( GetEntArray( "audio_sound_trigger", "targetname" ), ::thread_sound_trigger ); + array_thread( GetEntArray( "audio_bump_trigger", "targetname"), :: thread_bump_trigger); //array_thread( GetEntArray( "line_emitter", "targetname" ), ::thread_line_sound ); //array_thread( GetEntArray( "static_sound_looper", "targetname" ), ::thread_static_sound_looper ); //array_thread( GetEntArray( "static_sound_random", "targetname" ), ::thread_static_sound_random ); @@ -343,6 +344,73 @@ static_sound_loop_play(soundpoint) } #/ } +thread_bump_trigger() +{ + + +// iprintlnbold("found_a_bump_trig"); + self thread bump_trigger_listener(); + if(!IsDefined(self.script_activated)) //Sets a flag to turn the trigger on or off + { + self.script_activated = 1; + } + while(1) + { + self waittill("trigger", who); + +// iprintlnbold("Triggered:"); + + //Store sound to play in script_sound/ alias name + if(IsDefined (self.script_sound) && self.script_activated) + { + self playsound (self.script_sound); +//iprintlnbold(self.script_sound); + } + while(IsDefined (who) && (who) IsTouching (self)) + { + wait(0.1); + } + } +} +disable_bump_trigger(triggername) +{ + triggers = GetEntArray( "audio_bump_trigger", "targetname"); + if(IsDefined (triggers)) + { + for(i=0;i 5) + { + continue; + } + if ( players[i] maps\_laststand::player_is_in_laststand() ) + { + continue; + } + else if (players[i] GetAmmoCount( weap ) < 5 && players[i] GetAmmoCount( weap ) > 0) + { + if (level.player_ammo_low == 0) + { + level.player_ammo_low = 1; + players[i] thread do_player_vo("vox_ammo_low", 5); + //put in this wait to keep the game from spamming about being low on ammo. + wait(20); + level.player_ammo_low = 0; + } + + } + else + { + continue; + } + } + wait(.5); + } +} + +/*------------------------------------ +audio plays when more than 1 player connects +------------------------------------*/ +spawn_vo() +{ + //not sure if we need this + wait(1); + + players = getplayers(); + + //just pick a random player for now and play some vo + if(players.size > 1) + { + player = random(players); + index = maps\_zombiemode_weapons::get_player_index(player); + player thread spawn_vo_player(index,players.size); + } + +} + +spawn_vo_player(index,num) +{ + sound = "plr_" + index + "_vox_" + num +"play"; + self playsound(sound, "sound_done"); + self waittill("sound_done"); } testing_spawner_bug() @@ -201,7 +302,7 @@ init_strings() init_sounds() { add_sound( "end_of_round", "round_over" ); - add_sound( "end_of_game", "mx_game_over" ); + add_sound( "end_of_game", "mx_game_over" ); //Had to remove this and add a music state switch so that we can add other musical elements. add_sound( "chalk_one_up", "chalk" ); add_sound( "purchase", "cha_ching" ); add_sound( "no_purchase", "no_cha_ching" ); @@ -211,7 +312,7 @@ init_sounds() add_sound( "playerzombie_usebutton_sound", "attack_vocals" ); add_sound( "playerzombie_attackbutton_sound", "attack_vocals" ); add_sound( "playerzombie_adsbutton_sound", "attack_vocals" ); - + // Head gib add_sound( "zombie_head_gib", "zombie_head_gib" ); @@ -264,6 +365,7 @@ init_levelvars() // Spawning set_zombie_var( "zombie_spawn_delay", 3 ); + set_zombie_var( "zombie_spawn_dog_delay", 8 ); // AI set_zombie_var( "zombie_health_increase", 100 ); @@ -274,6 +376,12 @@ init_levelvars() // Scoring set_zombie_var( "zombie_score_start", 500 ); +/# + if( GetDvarInt( "zombie_cheat" ) >= 1 ) + { + set_zombie_var( "zombie_score_start", 100000 ); + } +#/ set_zombie_var( "zombie_score_kill", 50 ); set_zombie_var( "zombie_score_damage", 5 ); set_zombie_var( "zombie_score_bonus_melee", 80 ); @@ -297,7 +405,7 @@ init_levelvars() init_dvars() { level.zombiemode = true; - + //coder mod: tkeegan - new code dvar setSavedDvar( "zombiemode", "1" ); SetDvar( "ui_gametype", "zom" ); @@ -314,6 +422,41 @@ init_dvars() { SetDvar( "zombie_cheat", "0" ); } + + if(getdvar("magic_chest_movable") == "") + { + SetDvar( "magic_chest_movable", "1" ); + } + + if(getdvar("magic_box_explore_only") == "") + { + SetDvar( "magic_box_explore_only", "1" ); + } +} + +initZombieLeaderboardData() +{ + // Initializing Leaderboard Stat Variables + level.zombieLeaderboardStatVariable["nazi_zombie_prototype"]["highestwave"] = "nz_prototype_highestwave"; + level.zombieLeaderboardStatVariable["nazi_zombie_prototype"]["timeinwave"] = "nz_prototype_timeinwave"; + level.zombieLeaderboardStatVariable["nazi_zombie_prototype"]["totalpoints"] = "nz_prototype_totalpoints"; + + level.zombieLeaderboardStatVariable["nazi_zombie_asylum"]["highestwave"] = "nz_asylum_highestwave"; + level.zombieLeaderboardStatVariable["nazi_zombie_asylum"]["timeinwave"] = "nz_asylum_timeinwave"; + level.zombieLeaderboardStatVariable["nazi_zombie_asylum"]["totalpoints"] = "nz_asylum_totalpoints"; + + // Initializing Leaderboard Number + level.zombieLeaderboardNumber["nazi_zombie_prototype"]["waves"] = 13; + level.zombieLeaderboardNumber["nazi_zombie_prototype"]["points"] = 14; + + level.zombieLeaderboardNumber["nazi_zombie_asylum"]["waves"] = 15; + level.zombieLeaderboardNumber["nazi_zombie_asylum"]["points"] = 16; +} + +init_flags() +{ + flag_init("dog_round"); + flag_init("spawn_point_override"); } init_fx() @@ -324,53 +467,144 @@ init_fx() level._effect["chest_light"] = LoadFx( "env/light/fx_ray_sun_sm_short" ); level._effect["eye_glow"] = LoadFx( "misc/fx_zombie_eye_single" ); - + level._effect["zombie_grain"] = LoadFx( "misc/fx_zombie_grain_cloud" ); - + level._effect["headshot"] = LoadFX( "impacts/flesh_hit_head_fatal_lg_exit" ); level._effect["headshot_nochunks"] = LoadFX( "misc/fx_zombie_bloodsplat" ); level._effect["bloodspurt"] = LoadFX( "misc/fx_zombie_bloodspurt" ); - + // Flamethrower - level._effect["character_fire_pain_sm"] = loadfx( "env/fire/fx_fire_player_sm_1sec" ); - level._effect["character_fire_death_sm"] = loadfx( "env/fire/fx_fire_player_md" ); - level._effect["character_fire_death_torso"] = loadfx( "env/fire/fx_fire_player_torso" ); + level._effect["character_fire_pain_sm"] = loadfx( "env/fire/fx_fire_player_sm_1sec" ); + level._effect["character_fire_death_sm"] = loadfx( "env/fire/fx_fire_player_md" ); + level._effect["character_fire_death_torso"] = loadfx( "env/fire/fx_fire_player_torso" ); } // zombie specific anims init_anims() { // deaths - level.scr_anim["zombie"]["death1"] = %ai_zombie_death_v1; - level.scr_anim["zombie"]["death2"] = %ai_zombie_death_v2; - level.scr_anim["zombie"]["death3"] = %ai_zombie_crawl_death_v1; - level.scr_anim["zombie"]["death4"] = %ai_zombie_crawl_death_v2; + level.scr_anim["zombie"]["death1"] = %ai_zombie_death_v1; + level.scr_anim["zombie"]["death2"] = %ai_zombie_death_v2; + level.scr_anim["zombie"]["death3"] = %ai_zombie_crawl_death_v1; + level.scr_anim["zombie"]["death4"] = %ai_zombie_crawl_death_v2; // run cycles - level.scr_anim["zombie"]["walk1"] = %ai_zombie_walk_v1; - level.scr_anim["zombie"]["walk2"] = %ai_zombie_walk_v2; - level.scr_anim["zombie"]["walk3"] = %ai_zombie_walk_v3; - level.scr_anim["zombie"]["walk4"] = %ai_zombie_walk_v4; - level.scr_anim["zombie"]["run1"] = %ai_zombie_walk_fast_v1; - level.scr_anim["zombie"]["run2"] = %ai_zombie_walk_fast_v2; - level.scr_anim["zombie"]["run3"] = %ai_zombie_walk_fast_v3; - level.scr_anim["zombie"]["sprint1"] = %ai_zombie_sprint_v1; - level.scr_anim["zombie"]["sprint2"] = %ai_zombie_sprint_v2; + level.scr_anim["zombie"]["walk1"] = %ai_zombie_walk_v1; + level.scr_anim["zombie"]["walk2"] = %ai_zombie_walk_v2; + level.scr_anim["zombie"]["walk3"] = %ai_zombie_walk_v3; + level.scr_anim["zombie"]["walk4"] = %ai_zombie_walk_v4; + level.scr_anim["zombie"]["walk5"] = %ai_zombie_walk_v6; + level.scr_anim["zombie"]["walk6"] = %ai_zombie_walk_v7; + level.scr_anim["zombie"]["walk7"] = %ai_zombie_walk_v8; + level.scr_anim["zombie"]["walk8"] = %ai_zombie_walk_v9; + + level.scr_anim["zombie"]["run1"] = %ai_zombie_walk_fast_v1; + level.scr_anim["zombie"]["run2"] = %ai_zombie_walk_fast_v2; + level.scr_anim["zombie"]["run3"] = %ai_zombie_walk_fast_v3; + //level.scr_anim["zombie"]["run4"] = %ai_zombie_run_v1; + level.scr_anim["zombie"]["run4"] = %ai_zombie_run_v2; + level.scr_anim["zombie"]["run5"] = %ai_zombie_run_v4; + //level.scr_anim["zombie"]["run6"] = %ai_zombie_run_v4; + + level.scr_anim["zombie"]["sprint1"] = %ai_zombie_sprint_v1; + level.scr_anim["zombie"]["sprint2"] = %ai_zombie_sprint_v2; + //level.scr_anim["zombie"]["sprint3"] = %ai_zombie_sprint_v3; + level.scr_anim["zombie"]["sprint3"] = %ai_zombie_sprint_v4; + level.scr_anim["zombie"]["sprint4"] = %ai_zombie_sprint_v5; + // run cycles in prone - level.scr_anim["zombie"]["crawl1"] = %ai_zombie_crawl; - level.scr_anim["zombie"]["crawl2"] = %ai_zombie_crawl_v1; - level.scr_anim["zombie"]["crawl3"] = %ai_zombie_crawl_sprint; - - level._zombie_melee = []; + level.scr_anim["zombie"]["crawl1"] = %ai_zombie_crawl; + level.scr_anim["zombie"]["crawl2"] = %ai_zombie_crawl_v1; + level.scr_anim["zombie"]["crawl3"] = %ai_zombie_crawl_v2; + level.scr_anim["zombie"]["crawl4"] = %ai_zombie_crawl_v3; + level.scr_anim["zombie"]["crawl5"] = %ai_zombie_crawl_v4; + level.scr_anim["zombie"]["crawl6"] = %ai_zombie_crawl_v5; + + level.scr_anim["zombie"]["crawl_sprint1"] = %ai_zombie_crawl_sprint; + level.scr_anim["zombie"]["crawl_sprint2"] = %ai_zombie_crawl_sprint_1; + level.scr_anim["zombie"]["crawl_sprint3"] = %ai_zombie_crawl_sprint_2; + + level._zombie_melee = []; + level._zombie_walk_melee = []; + level._zombie_run_melee = []; + level._zombie_melee[0] = %ai_zombie_attack_forward_v1; level._zombie_melee[1] = %ai_zombie_attack_forward_v2; level._zombie_melee[2] = %ai_zombie_attack_v1; - level._zombie_melee[3] = %ai_zombie_attack_v2; + level._zombie_melee[3] = %ai_zombie_attack_v2; + level._zombie_melee[4] = %ai_zombie_attack_v1; + level._zombie_melee[5] = %ai_zombie_attack_v4; + level._zombie_melee[6] = %ai_zombie_attack_v6; + + level._zombie_run_melee[0] = %ai_zombie_run_attack_v1; + level._zombie_run_melee[1] = %ai_zombie_run_attack_v2; + level._zombie_run_melee[2] = %ai_zombie_run_attack_v3; + + level._zombie_walk_melee[0] = %ai_zombie_walk_attack_v1; + level._zombie_walk_melee[1] = %ai_zombie_walk_attack_v2; + level._zombie_walk_melee[2] = %ai_zombie_walk_attack_v3; + level._zombie_walk_melee[3] = %ai_zombie_walk_attack_v4; // melee in crawl + level._zombie_melee_crawl = []; level._zombie_melee_crawl[0] = %ai_zombie_attack_crawl; - level._zombie_melee_crawl[1] = %ai_zombie_attack_crawl_lunge; + level._zombie_melee_crawl[1] = %ai_zombie_attack_crawl_lunge; + //level._zombie_melee_crawl[2] = %ai_zombie_crawl_attack_A; + + /* + ground crawl + */ + + // set up the arrays + level._zombie_rise_anims = []; + + //level._zombie_rise_anims[1]["walk"][0] = %ai_zombie_traverse_ground_v1_crawl; + level._zombie_rise_anims[1]["walk"][0] = %ai_zombie_traverse_ground_v1_walk; + + //level._zombie_rise_anims[1]["run"][0] = %ai_zombie_traverse_ground_v1_crawlfast; + level._zombie_rise_anims[1]["run"][0] = %ai_zombie_traverse_ground_v1_run; + + level._zombie_rise_anims[1]["sprint"][0] = %ai_zombie_traverse_ground_climbout_fast; + + //level._zombie_rise_anims[2]["walk"][0] = %ai_zombie_traverse_ground_v2_walk; //!broken + level._zombie_rise_anims[2]["walk"][0] = %ai_zombie_traverse_ground_v2_walk_altA; + //level._zombie_rise_anims[2]["walk"][2] = %ai_zombie_traverse_ground_v2_walk_altB;//!broken + + // ground crawl death + level._zombie_rise_death_anims = []; + + level._zombie_rise_death_anims[1]["in"][0] = %ai_zombie_traverse_ground_v1_deathinside; + level._zombie_rise_death_anims[1]["in"][1] = %ai_zombie_traverse_ground_v1_deathinside_alt; + + level._zombie_rise_death_anims[1]["out"][0] = %ai_zombie_traverse_ground_v1_deathoutside; + level._zombie_rise_death_anims[1]["out"][1] = %ai_zombie_traverse_ground_v1_deathoutside_alt; + + level._zombie_rise_death_anims[2]["in"][0] = %ai_zombie_traverse_ground_v2_death_low; + level._zombie_rise_death_anims[2]["in"][1] = %ai_zombie_traverse_ground_v2_death_low_alt; + + level._zombie_rise_death_anims[2]["out"][0] = %ai_zombie_traverse_ground_v2_death_high; + level._zombie_rise_death_anims[2]["out"][1] = %ai_zombie_traverse_ground_v2_death_high_alt; + + //taunts + level._zombie_run_taunt = []; + level._zombie_board_taunt = []; + + level._zombie_taunt[0] = %ai_zombie_taunts_1; + level._zombie_taunt[1] = %ai_zombie_taunts_2; + level._zombie_taunt[2] = %ai_zombie_taunts_3; + level._zombie_taunt[3] = %ai_zombie_taunts_4; + level._zombie_taunt[4] = %ai_zombie_taunts_5; + level._zombie_taunt[5] = %ai_zombie_taunts_6; + level._zombie_taunt[6] = %ai_zombie_taunts_7; + level._zombie_taunt[7] = %ai_zombie_taunts_8; + level._zombie_taunt[8] = %ai_zombie_taunts_9; + + level._zombie_board_taunt[0] = %ai_zombie_taunts_4; + level._zombie_board_taunt[1] = %ai_zombie_taunts_7; + level._zombie_board_taunt[2] = %ai_zombie_taunts_9; + } // Initialize any animscript related variables @@ -401,7 +635,7 @@ zombie_intro_screen( string1, string2, string3, string4, string5 ) setmusicstate( "SPLASH_SCREEN" ); wait (0.2); //TUEY Set music state to WAVE_1 - setmusicstate("WAVE_1"); + // setmusicstate("WAVE_1"); } players_playing() @@ -409,9 +643,9 @@ players_playing() // initialize level.players_playing players = get_players(); level.players_playing = players.size; - + wait( 20 ); - + players = get_players(); level.players_playing = players.size; } @@ -424,11 +658,11 @@ watchGrenadeThrow() { self endon( "disconnect" ); self endon( "death" ); - + while(1) { self waittill("grenade_fire", grenade); - + if(isdefined(grenade)) { if(self maps\_laststand::player_is_in_laststand()) @@ -450,11 +684,11 @@ onPlayerConnect() player thread onPlayerDisconnect(); player thread watchGrenadeThrow(); - + player.score = level.zombie_vars["zombie_score_start"]; player.score_total = player.score; player.old_score = player.score; - + player.is_zombie = false; player.initialized = false; player.zombification_time = 0; @@ -464,18 +698,18 @@ onPlayerConnect() onPlayerConnect_clientDvars() { self SetClientDvars( "cg_deadChatWithDead", "1", - "cg_deadChatWithTeam", "1", - "cg_deadHearTeamLiving", "1", - "cg_deadHearAllLiving", "1", - "cg_everyoneHearsEveryone", "1", - "compass", "0", - "hud_showStance", "0", - "cg_thirdPerson", "0", - "cg_fov", "65", - "cg_thirdPersonAngle", "0", - "ammoCounterHide", "0", - "miniscoreboardhide", "0", - "ui_hud_hardcore", "0" ); + "cg_deadChatWithTeam", "1", + "cg_deadHearTeamLiving", "1", + "cg_deadHearAllLiving", "1", + "cg_everyoneHearsEveryone", "1", + "compass", "0", + "hud_showStance", "0", + "cg_thirdPerson", "0", + "cg_fov", "65", + "cg_thirdPersonAngle", "0", + "ammoCounterHide", "0", + "miniscoreboardhide", "0", + "ui_hud_hardcore", "0" ); self SetDepthOfField( 0, 0, 512, 4000, 4, 0 ); } @@ -495,8 +729,8 @@ onPlayerSpawned() self waittill( "spawned_player" ); self SetClientDvars( "cg_thirdPerson", "0", - "cg_fov", "65", - "cg_thirdPersonAngle", "0" ); + "cg_fov", "65", + "cg_thirdPersonAngle", "0" ); self SetDepthOfField( 0, 0, 512, 4000, 4, 0 ); @@ -507,14 +741,13 @@ onPlayerSpawned() if( self.initialized == false ) { self.initialized = true; -// self maps\_zombiemode_score::create_player_score_hud(); - + // self maps\_zombiemode_score::create_player_score_hud(); + // set the initial score on the hud self maps\_zombiemode_score::set_player_score_hud( true ); self thread player_zombie_breadcrumb(); } } - } } @@ -563,13 +796,13 @@ spawnSpectator() } self.zombification_time = getTime(); //set time when player died - + resetTimeout(); // Stop shellshock and rumble self StopShellshock(); self StopRumble( "damage_heavy" ); - + self.sessionstate = "spectator"; self.spectatorclient = -1; @@ -588,7 +821,7 @@ spawnSpectator() self setSpectatePermissions( true ); self thread spectator_thread(); - + self Spawn( self.origin, self.angles ); self notify( "spawned_spectator" ); } @@ -634,25 +867,25 @@ spectator_toggle_3rd_person() third_person = true; self set_third_person( true ); -// self NotifyOnCommand( "toggle_3rd_person", "weapnext" ); + // self NotifyOnCommand( "toggle_3rd_person", "weapnext" ); -// while( 1 ) -// { -// self waittill( "toggle_3rd_person" ); -// -// if( third_person ) -// { -// third_person = false; -// self set_third_person( false ); -// wait( 0.5 ); -// } -// else -// { -// third_person = true; -// self set_third_person( true ); -// wait( 0.5 ); -// } -// } + // while( 1 ) + // { + // self waittill( "toggle_3rd_person" ); + // + // if( third_person ) + // { + // third_person = false; + // self set_third_person( false ); + // wait( 0.5 ); + // } + // else + // { + // third_person = true; + // self set_third_person( true ); + // wait( 0.5 ); + // } + // } } @@ -661,16 +894,16 @@ set_third_person( value ) if( value ) { self SetClientDvars( "cg_thirdPerson", "1", - "cg_fov", "40", - "cg_thirdPersonAngle", "354" ); + "cg_fov", "40", + "cg_thirdPersonAngle", "354" ); self setDepthOfField( 0, 128, 512, 4000, 6, 1.8 ); } else { self SetClientDvars( "cg_thirdPerson", "0", - "cg_fov", "65", - "cg_thirdPersonAngle", "0" ); + "cg_fov", "65", + "cg_thirdPersonAngle", "0" ); self setDepthOfField( 0, 0, 512, 4000, 4, 0 ); } @@ -712,9 +945,9 @@ spectator_respawn() spawn_off_player = get_closest_valid_player( self.origin ); origin = get_safe_breadcrumb_pos( spawn_off_player ); - + self setSpectatePermissions( false ); - + if( IsDefined( origin ) ) { angles = VectorToAngles( spawn_off_player.origin - origin ); @@ -727,6 +960,48 @@ spectator_respawn() angles = spawnpoints[num].angles; } + //CHRIS_P - additional spawning logic to handle asylum map + //probably should set this as a flag at some point, instead of making it a script check. + if(level.script == "nazi_zombie_asylum") + { + self.has_betties = undefined; + self.is_burning = undefined; + + //only modify the respawning logic if this flag is NOT set + if(!flag("both_doors_opened")) + { + + //if someone is alive from your 'team' then spawn by them + myteam = get_players_on_team(self); + if(myteam.size > 0) + { + + //add 10 units to the z value to prevent the player from spawning into the ground sometimes on stairs + origin = get_safe_breadcrumb_pos( myteam[0]); + if(isDefined(origin)) + { + angles = VectorToAngles( myteam[0].origin - origin ); + } + else + { + origin = self.respawn_point.origin; + angles = self.respawn_point.angles; + } + } + + //if noone is alive on your team then spawn at the original location + else + { + origin = self.respawn_point.origin; + angles = self.respawn_point.angles; + } + } + } + + //add 10 units to the z value to prevent the player from spawning into the ground sometimes on stairs + origin = origin + (0,0,10); + + self Spawn( origin, angles ); if( IsSplitScreen() ) @@ -751,7 +1026,7 @@ spectator_respawn() setClientSysState("lsm", "0", self); // Notify client last stand ended. self RevivePlayer(); - + self notify( "spawned_player" ); // Penalize the player when we respawn, since he 'died' @@ -760,6 +1035,27 @@ spectator_respawn() return true; } + +get_players_on_team(exclude) +{ + + teammates = []; + + players = get_players(); + for(i=0;i= 4 ) + { + return; + } +#/ + /# level.zombies = []; - #/ +#/ count = 0; - + //CODER MOD: TOMMY K players = get_players(); for( i = 0; i < players.size; i++ ) { players[i].zombification_time = 0; } - + level.round_start_time = getTime(); max = level.zombie_vars["zombie_max_ai"]; @@ -840,8 +1147,22 @@ round_spawning() } max += int( ( ( get_players().size - 1 ) * level.zombie_vars["zombie_ai_per_player"] ) * multiplier ); + if(level.round_number < 3 && level.script == "nazi_zombie_asylum") + { + if(get_players().size > 1) + { + + max = get_players().size * 3 + level.round_number; - if ( level.first_round ) + } + else + { + + max = 6; + + } + } + else if ( level.first_round ) { max = int( max * 0.2 ); } @@ -858,11 +1179,49 @@ round_spawning() max = int( max * 0.8 ); } + // less dogs + if ( flag("dog_round") ) + { + //chris_p - modified to scale with the number of players + players = get_players(); + switch(players.size) + { + case 1: + max = int( max / 5 ); + break; + case 2: + max = int( max / 4 ); + break; + case 3: + max = int( max / 3 ); + break; + case 4: + max = int( max / 2 ); + break; + } + + if (max < 2 ) + { + max = 2; + } + } + level.zombie_total = max; + // DEBUG HACK: + //max = 1; + while( count < max ) { - spawn_point = level.enemy_spawns[RandomInt( level.enemy_spawns.size )]; + if ( !flag("dog_round") ) + { + spawn_point = level.enemy_spawns[RandomInt( level.enemy_spawns.size )]; + } + else + { + spawn_point = level.enemy_dog_spawns[RandomInt( level.enemy_dog_spawns.size )]; + } + while( get_enemy_count() > 31 ) { @@ -877,19 +1236,40 @@ round_spawning() /# level.zombies[level.zombies.size] = ai; - #/ +#/ ai thread round_spawn_failsafe(); count++; } - wait( level.zombie_vars["zombie_spawn_delay"] ); - + if ( !flag("dog_round") ) + { + wait( level.zombie_vars["zombie_spawn_delay"] ); + } + else + { + wait( level.zombie_vars["zombie_spawn_dog_delay"] ); + } // TESTING! Only 1 Zombie for testing -// level waittill( "forever" ); + // level waittill( "forever" ); } } +// TESTING: spawn one zombie at a time +round_spawning_test() +{ + while (true) + { + spawn_point = level.enemy_spawns[RandomInt( level.enemy_spawns.size )]; // grab a random spawner + + ai = spawn_zombie( spawn_point ); + ai waittill("death"); + + wait 5; + } +} +///////////////////////////////////////////////////////// + round_text( text ) { if( level.first_round ) @@ -924,7 +1304,7 @@ round_text( text ) } hud FadeOverTime( 3 ); - //hud.color = ( 0.8, 0, 0 ); + //hud.color = ( 0.8, 0, 0 ); hud.color = ( 0.423, 0.004, 0 ); wait( 3 ); @@ -952,19 +1332,20 @@ round_start() players[i] giveweapon( "stielhandgranate" ); players[i] setweaponammoclip( "stielhandgranate", 0); } - + /# //level thread bunker_ui(); - #/ +#/ - level.chalk_hud1 = create_chalk_hud(); + level.chalk_hud1 = create_chalk_hud(); level.chalk_hud2 = create_chalk_hud( 64 ); - -// level waittill( "introscreen_done" ); + + // level waittill( "introscreen_done" ); level thread round_think(); } + create_chalk_hud( x ) { if( !IsDefined( x ) ) @@ -980,17 +1361,40 @@ create_chalk_hud( x ) hud.color = ( 0.423, 0.004, 0 ); hud.x = x; hud.alpha = 0; - + hud SetShader( "hud_chalk_1", 64, 64 ); return hud; } +play_intro_VO() +{ + variation_count =5; + wait(3); + players = getplayers(); + index = maps\_zombiemode_weapons::get_player_index(players[0]); + wait (4); + //Plays a random start line on one of the characters + i = randomintrange(0,players.size); + players[i] playsound ("plr_" + i + "_vox_start" + "_" + randomintrange(0, variation_count)); + +} +wait_until_first_player() +{ + players = get_players(); + if( !IsDefined( players[0] ) ) + { + level waittill( "first_player_ready" ); + } +} chalk_one_up() { if( level.first_round ) { intro = true; + //Play the intro sound at the beginning of the round + level thread play_intro_VO(); + } else { @@ -1017,7 +1421,7 @@ chalk_one_up() wait( 1 ); round FadeOverTime( 3 ); -// round.color = ( 0.8, 0, 0 ); + // round.color = ( 0.8, 0, 0 ); round.color = ( 0.423, 0.004, 0 ); } @@ -1051,7 +1455,12 @@ chalk_one_up() wait( 0.5 ); - play_sound_at_pos( "chalk_one_up", ( 0, 0, 0 ) ); + // play_sound_at_pos( "chalk_one_up", ( 0, 0, 0 ) ); + + if(IsDefined(level.eggs) && level.eggs !=1) + { + setmusicstate("round_begin"); + } if( level.round_number == 11 && IsDefined( level.chalk_hud2 ) ) { @@ -1081,7 +1490,7 @@ chalk_one_up() level notify( "intro_hud_done" ); hud MoveOverTime( 1.75 ); hud.horzAlign = "left"; -// hud.x = 0; + // hud.x = 0; hud.y = 0; wait( 2 ); @@ -1099,10 +1508,26 @@ chalk_one_up() { hud SetShader( "hud_chalk_" + level.round_number, 64, 64 ); } - -// ReportMTU(level.round_number); // In network debug instrumented builds, causes network spike report to generate. -} + //TUEY TODO STUFF + if ( flag("dog_round") ) + { + players = getplayers(); + array_thread(players,::play_dog_round); + } + /* + else + { + setmusicstate("WAVE_1"); + } + */ + // ReportMTU(level.round_number); // In network debug instrumented builds, causes network spike report to generate. +} +play_dog_round() +{ + self playlocalsound("dog_round_start"); + setmusicstate("mx_dog_round"); +} chalk_round_hint() { huds = []; @@ -1119,9 +1544,14 @@ chalk_round_hint() huds[i] FadeOverTime( time * 0.25 ); huds[i].color = ( 1, 1, 1 ); } + if(IsDefined(level.eggs) && level.eggs !=1) + { + setmusicstate("round_end"); + wait( time * 0.25 ); + } + // play_sound_at_pos( "end_of_round", ( 0, 0, 0 ) ); + - wait( time * 0.25 ); - play_sound_at_pos( "end_of_round", ( 0, 0, 0 ) ); // Pulse fade_time = 0.5; @@ -1163,7 +1593,7 @@ chalk_round_hint() } huds[i] FadeOverTime( time * 0.25 ); -// huds[i].color = ( 0.8, 0, 0 ); + // huds[i].color = ( 0.8, 0, 0 ); huds[i].color = ( 0.423, 0.004, 0 ); huds[i].alpha = 1; } @@ -1173,7 +1603,7 @@ round_think() { //TUEY - MOVE THIS LATER //TUEY Set music state to round 1 - setmusicstate( "WAVE_1" ); + //setmusicstate( "WAVE_1" ); for( ;; ) { @@ -1184,14 +1614,14 @@ round_think() maxreward = 500; level.zombie_vars["rebuild_barrier_cap_per_round"] = maxreward; ////////////////////////////////////////// - + level.round_timer = level.zombie_vars["zombie_round_time"]; ai_calculate_health(); add_later_round_spawners(); chalk_one_up(); -// round_text( &"ZOMBIE_ROUND_BEGIN" ); + // round_text( &"ZOMBIE_ROUND_BEGIN" ); maps\_zombiemode_powerups::powerup_round_start(); @@ -1199,41 +1629,99 @@ round_think() array_thread( players, maps\_zombiemode_blockers::rebuild_barrier_reward_reset ); level thread award_grenades_for_survivors(); - level thread round_spawning(); - round_wait(); - level.first_round = false; + round_spawn_func = ::round_spawning; - level thread spectators_respawn(); + /# + if (GetDVarInt("zombie_rise_test")) + { + round_spawn_func = ::round_spawning_test; // FOR TESTING, one zombie at a time, no round advancement + } +#/ -// round_text( &"ZOMBIE_ROUND_END" ); - level thread chalk_round_hint(); + level thread [[round_spawn_func]](); - wait( level.zombie_vars["zombie_between_round_time"] ); + round_wait(); + level.first_round = false; - // here's the difficulty increase over time area - timer = level.zombie_vars["zombie_spawn_delay"]; - - if( timer < 0.08 ) - { - timer = 0.08; - } + level thread spectators_respawn(); - level.zombie_vars["zombie_spawn_delay"] = timer * 0.95; + // round_text( &"ZOMBIE_ROUND_END" ); + level thread chalk_round_hint(); - // Increase the zombie move speed - level.zombie_move_speed = level.round_number * 8; - - level.round_number++; + wait( level.zombie_vars["zombie_between_round_time"] ); - level notify( "between_round_over" ); + // here's the difficulty increase over time area + if ( !flag("dog_round") ) + { + timer = level.zombie_vars["zombie_spawn_delay"]; + } + else + { + timer = level.zombie_vars["zombie_spawn_dog_delay"]; + } + + if( timer < 0.08 ) + { + timer = 0.08; + } + + // keep scaling dog and human delays, but dog delay has a second at least so they dont clump as much + level.zombie_vars["zombie_spawn_dog_delay"] = timer * 0.95; + level.zombie_vars["zombie_spawn_delay"] = timer * 0.95; + + // Increase the zombie move speed + level.zombie_move_speed = level.round_number * 8; + + level.round_number++; + + level notify( "between_round_over" ); } } + +//Chris_P - made changes to this, it wasn't working properly +dog_round_tracker() +{ + + //force the dogs every round for testing + if(getdvar("force_dogs")!= "") + { + flag_set("dog_round"); + return; + } + + next_dog_round = 7; + while ( isdefined(level.dogs_enabled) && level.dogs_enabled ) + { + level waittill ("between_round_over"); + + //clear the dog flag after each round just to make sure + flag_clear("dog_round"); + + if ( level.round_number == 4) //first dog round + { + flag_set("dog_round"); + } + else if(level.round_number >= next_dog_round) //the next dog round has a 50% chance of happening every round after the initial 3 round minimum. + { + if(randomint(100) >50) + { + flag_set("dog_round"); + next_dog_round = level.round_number + 3; + } + else + { + flag_clear("dog_round"); + } + } + } +} + award_grenades_for_survivors() { players = get_players(); - + for (i = 0; i < players.size; i++) { if (!players[i].is_zombie) @@ -1313,6 +1801,7 @@ round_spawn_failsafe() //hasnt moved 24 inches in 30 seconds? if ( DistanceSquared( self.origin, prevorigin ) < 576 ) { + // DEBUG HACK self dodamage( self.health + 100, (0,0,0) ); break; } @@ -1327,12 +1816,26 @@ round_spawn_failsafe() // Waits for the time and the ai to die round_wait() { - wait( 1 ); + /# + if (GetDVarInt("zombie_rise_test")) + { + level waittill("forever"); // TESTING: don't advance rounds + } +#/ - while( get_enemy_count() > 0 || level.zombie_total > 0 || level.intermission ) - { - wait( 0.5 ); - } + /# + if ( GetDVarInt( "zombie_cheat" ) == 2 || GetDVarInt( "zombie_cheat" ) >= 4 ) + { + level waittill("forever"); + } + #/ + + wait( 1 ); + + while( get_enemy_count() > 0 || level.zombie_total > 0 || level.intermission ) + { + wait( 0.5 ); + } } zombify_player() @@ -1348,16 +1851,16 @@ zombify_player() self.ignoreme = true; self.is_zombie = true; self.zombification_time = getTime(); - + self.team = "axis"; self notify( "zombified" ); - + if( IsDefined( self.revivetrigger ) ) { self.revivetrigger Delete(); } self.revivetrigger = undefined; - + self setMoveSpeedScale( 0.3 ); self reviveplayer(); @@ -1372,11 +1875,11 @@ zombify_player() maps\_utility::setClientSysState( "zombify", 1, self ); // Zombie grain goooo self thread maps\_zombiemode_spawner::zombie_eye_glow(); - + // set up the ground ref ent self thread injured_walk(); // allow for zombie attacks, but they lose points? - + self thread playerzombie_player_damage(); self thread playerzombie_soundboard(); } @@ -1385,25 +1888,25 @@ playerzombie_player_damage() { self endon( "death" ); self endon( "disconnect" ); - + self thread playerzombie_infinite_health(); // manually keep regular health up self.zombiehealth = level.zombie_health; - + // enable PVP damage on this guy // self EnablePvPDamage(); - + while( 1 ) { self waittill( "damage", amount, attacker, directionVec, point, type ); - + if( !IsDefined( attacker ) || !IsPlayer( attacker ) ) { wait( 0.05 ); continue; } - + self.zombiehealth -= amount; - + if( self.zombiehealth <= 0 ) { // "down" the zombie @@ -1418,33 +1921,33 @@ playerzombie_downed_state() { self endon( "death" ); self endon( "disconnect" ); - + downTime = 15; - + startTime = GetTime(); endTime = startTime +( downTime * 1000 ); - + self thread playerzombie_downed_hud(); - + self.playerzombie_soundboard_disable = true; self thread maps\_zombiemode_spawner::zombie_eye_glow_stop(); self DisableWeapons(); self AllowStand( false ); self AllowCrouch( false ); self AllowProne( true ); - + while( GetTime() < endTime ) { wait( 0.05 ); } - + self.playerzombie_soundboard_disable = false; self thread maps\_zombiemode_spawner::zombie_eye_glow(); self EnableWeapons(); self AllowStand( true ); self AllowCrouch( false ); self AllowProne( false ); - + self notify( "playerzombie_downed_state_done" ); } @@ -1452,7 +1955,7 @@ playerzombie_downed_hud() { self endon( "death" ); self endon( "disconnect" ); - + text = NewClientHudElem( self ); text.alignX = "center"; text.alignY = "middle"; @@ -1464,18 +1967,18 @@ playerzombie_downed_hud() text.alpha = 0; text.color = ( 1.0, 1.0, 1.0 ); text SetText( &"ZOMBIE_PLAYERZOMBIE_DOWNED" ); - + text.y = -113; if( IsSplitScreen() ) { text.y = -137; } - + text FadeOverTime( 0.1 ); text.alpha = 1; - + self waittill( "playerzombie_downed_state_done" ); - + text FadeOverTime( 0.1 ); text.alpha = 0; } @@ -1484,16 +1987,16 @@ playerzombie_infinite_health() { self endon( "death" ); self endon( "disconnect" ); - + bighealth = 100000; - + while( 1 ) { if( self.health < bighealth ) { self.health = bighealth; } - + wait( 0.1 ); } } @@ -1502,27 +2005,27 @@ playerzombie_soundboard() { self endon( "death" ); self endon( "disconnect" ); - + self.playerzombie_soundboard_disable = false; - + self.buttonpressed_use = false; self.buttonpressed_attack = false; self.buttonpressed_ads = false; - + self.useSound_waitTime = 3 * 1000; // milliseconds self.useSound_nextTime = GetTime(); useSound = "playerzombie_usebutton_sound"; - + self.attackSound_waitTime = 3 * 1000; self.attackSound_nextTime = GetTime(); attackSound = "playerzombie_attackbutton_sound"; - + self.adsSound_waitTime = 3 * 1000; self.adsSound_nextTime = GetTime(); adsSound = "playerzombie_adsbutton_sound"; - + self.inputSound_nextTime = GetTime(); // don't want to be able to do all sounds at once - + while( 1 ) { if( self.playerzombie_soundboard_disable ) @@ -1530,7 +2033,7 @@ playerzombie_soundboard() wait( 0.05 ); continue; } - + if( self UseButtonPressed() ) { if( self can_do_input( "use" ) ) @@ -1558,7 +2061,7 @@ playerzombie_soundboard() self.adsSound_nextTime = GetTime() + self.adsSound_waitTime; } } - + wait( 0.05 ); } } @@ -1569,37 +2072,37 @@ can_do_input( inputType ) { return false; } - + canDo = false; - + switch( inputType ) { - case "use": - if( GetTime() >= self.useSound_nextTime && !self.buttonpressed_use ) - { - canDo = true; - } - break; - - case "attack": - if( GetTime() >= self.attackSound_nextTime && !self.buttonpressed_attack ) - { - canDo = true; - } - break; - - case "ads": - if( GetTime() >= self.useSound_nextTime && !self.buttonpressed_ads ) - { - canDo = true; - } - break; - - default: - ASSERTMSG( "can_do_input(): didn't recognize inputType of " + inputType ); - break; + case "use": + if( GetTime() >= self.useSound_nextTime && !self.buttonpressed_use ) + { + canDo = true; + } + break; + + case "attack": + if( GetTime() >= self.attackSound_nextTime && !self.buttonpressed_attack ) + { + canDo = true; + } + break; + + case "ads": + if( GetTime() >= self.useSound_nextTime && !self.buttonpressed_ads ) + { + canDo = true; + } + break; + + default: + ASSERTMSG( "can_do_input(): didn't recognize inputType of " + inputType ); + break; } - + return canDo; } @@ -1615,11 +2118,11 @@ playerzombie_waitfor_buttonrelease( inputType ) ASSERTMSG( "playerzombie_waitfor_buttonrelease(): inputType of " + inputType + " is not recognized." ); return; } - + notifyString = "waitfor_buttonrelease_" + inputType; self notify( notifyString ); self endon( notifyString ); - + if( inputType == "use" ) { self.buttonpressed_use = true; @@ -1629,7 +2132,7 @@ playerzombie_waitfor_buttonrelease( inputType ) } self.buttonpressed_use = false; } - + else if( inputType == "attack" ) { self.buttonpressed_attack = true; @@ -1639,7 +2142,7 @@ playerzombie_waitfor_buttonrelease( inputType ) } self.buttonpressed_attack = false; } - + else if( inputType == "ads" ) { self.buttonpressed_ads = true; @@ -1653,11 +2156,18 @@ playerzombie_waitfor_buttonrelease( inputType ) player_damage_override( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ) { + /* + if(self hasperk("specialty_armorvest") && eAttacker != self) + { + iDamage = iDamage * 0.75; + iprintlnbold(idamage); + }*/ + if( iDamage < self.health ) { + //iprintlnbold(iDamage); return; } - if( level.intermission ) { level waittill( "forever" ); @@ -1694,7 +2204,7 @@ end_game() level.intermission = true; update_leaderboards(); - + game_over = NewHudElem( self ); game_over.alignX = "center"; game_over.alignY = "middle"; @@ -1734,7 +2244,12 @@ end_game() survived.alpha = 1; wait( 1 ); - play_sound_at_pos( "end_of_game", ( 0, 0, 0 ) ); + + //TUEY had to change this since we are adding other musical elements + setmusicstate("end_of_game"); + setbusstate("default"); + + //play_sound_at_pos( "end_of_game", ( 0, 0, 0 ) ); wait( 2 ); intermission(); @@ -1770,9 +2285,14 @@ update_leaderboards() player_fake_death() { + level notify ("fake_death"); + self notify ("fake_death"); + self TakeAllWeapons(); self AllowStand( false ); self AllowCrouch( false ); + self AllowProne( true ); + self.ignoreme = true; self EnableInvulnerability(); @@ -1805,16 +2325,16 @@ player_killed_override() injured_walk() { self.ground_ref_ent = Spawn( "script_model", ( 0, 0, 0 ) ); - + self.player_speed = 50; - + // TODO do death countdown self AllowSprint( false ); self AllowProne( false ); self AllowCrouch( false ); self AllowAds( false ); self AllowJump( false ); - + self PlayerSetGroundReferenceEnt( self.ground_ref_ent ); self thread limp(); } @@ -1852,7 +2372,7 @@ limp() stumble_angles = ( p, y, r ); stumble_angles = vector_multiply( stumble_angles, speed_multiplier ); - + stumble_time = RandomFloatRange( .35, .45 ); recover_time = RandomFloatRange( .65, .8 ); @@ -1881,8 +2401,8 @@ stumble( stumble_angles, stumble_time, recover_time, no_notify ) self.ground_ref_ent RotateTo( base_angles, recover_time, 0, ( recover_time / 2 ) ); self.ground_ref_ent waittill( "rotatedone" ); - if( !IsDefined( no_notify ) ) - { + if( !IsDefined( no_notify ) ) + { level notify( "recovered" ); } } @@ -1905,11 +2425,16 @@ adjust_angles_to_player( stumble_angles ) coop_player_spawn_placement() { structs = getstructarray( "initial_spawn_points", "targetname" ); - + flag_wait( "all_players_connected" ); + //chrisp - adding support for overriding the default spawning method + if(flag("spawn_point_override")) + { + return; + } players = get_players(); - + for( i = 0; i < players.size; i++ ) { players[i] setorigin( structs[i].origin ); @@ -1917,6 +2442,8 @@ coop_player_spawn_placement() } } + +//chris_p - changed this to fix breadcrumbs not being left when player is jumping player_zombie_breadcrumb() { self endon( "disconnect" ); @@ -1931,10 +2458,15 @@ player_zombie_breadcrumb() while( 1 ) { + if(getdvarint("noclip") != 0 || getdvarint("notarget") != 0) + { + continue; + } + if( self IsOnGround() ) { store_crumb = true; - crumb = self.origin; + crumb = self.origin; for( i = 0; i < self.zombie_breadcrumbs.size; i++ ) { @@ -1950,7 +2482,24 @@ player_zombie_breadcrumb() self.zombie_breadcrumbs = array_limiter( self.zombie_breadcrumbs, total_crumbs ); } } - + else + { + trace = bullettrace(self.origin + (0,0,20),self.origin + (0,0,-500),0,undefined); + store_crumb = true; + crumb = trace["position"]; + for( i = 0; i < self.zombie_breadcrumbs.size; i++ ) + { + if( DistanceSquared( crumb, self.zombie_breadcrumbs[i], min_dist ) < min_dist ) + { + store_crumb = false; + } + } + if( store_crumb ) + { + self.zombie_breadcrumbs = array_insert( self.zombie_breadcrumbs, crumb, 0 ); + self.zombie_breadcrumbs = array_limiter( self.zombie_breadcrumbs, total_crumbs ); + } + } wait( 0.1 ); } } @@ -1966,7 +2515,7 @@ nazizombies_upload_highscore() // Nazi Zombie Leaderboards // nazi_zombie_prototype_waves = 13 // nazi_zombie_prototype_points = 14 - + // this has gotta be the dumbest way of doing this, but at 1:33am in the morning my brain is fried! playersRank = 1; if( level.players_playing == 1 ) @@ -1976,55 +2525,99 @@ nazizombies_upload_highscore() else if( level.players_playing == 3 ) playersRank = 2; + map_name = GetDvar( "mapname" ); + + if ( !isZombieLeaderboardAvailable( map_name, "waves" ) || !isZombieLeaderboardAvailable( map_name, "points" ) ) + return; + players = get_players(); for( i = 0; i < players.size; i++ ) { - pre_highest_wave = players[i] zombieStatGet( "nz_prototype_highestwave" ); - pre_time_in_wave = players[i] zombieStatGet( "nz_prototype_timeinwave" ); - + pre_highest_wave = players[i] playerZombieStatGet( map_name, "highestwave" ); + pre_time_in_wave = players[i] playerZombieStatGet( map_name, "timeinwave" ); + new_highest_wave = level.round_number + "" + playersRank; new_highest_wave = int( new_highest_wave ); - + if( new_highest_wave >= pre_highest_wave ) { if( players[i].zombification_time == 0 ) { players[i].zombification_time = getTime(); } - + player_survival_time = players[i].zombification_time - level.round_start_time; player_survival_time = int( player_survival_time/1000 ); - + if( new_highest_wave > pre_highest_wave || player_survival_time > pre_time_in_wave ) { - // 13 = nazi_zombie_prototype_waves leaderboard rankNumber = makeRankNumber( level.round_number, playersRank, player_survival_time ); - - players[i] UploadScore( 13, int(rankNumber), level.round_number, player_survival_time, level.players_playing ); - - players[i] zombieStatSet( "nz_prototype_highestwave", new_highest_wave ); - players[i] zombieStatSet( "nz_prototype_timeinwave", player_survival_time ); + + leaderboard_number = getZombieLeaderboardNumber( map_name, "waves" ); + + players[i] UploadScore( leaderboard_number, int(rankNumber), level.round_number, player_survival_time, level.players_playing ); + //players[i] UploadScore( leaderboard_number, int(rankNumber), level.round_number ); + + players[i] playerZombieStatSet( map_name, "highestwave", new_highest_wave ); + players[i] playerZombieStatSet( map_name, "timeinwave", player_survival_time ); } } - - pre_total_points = players[i] zombieStatGet( "nz_prototype_totalpoints" ); + + pre_total_points = players[i] playerZombieStatGet( map_name, "totalpoints" ); if( players[i].score_total > pre_total_points ) { - // 14 = nazi_zombie_prototype_waves leaderboard - //total_spent = players[i].score_total - players[i].score; - - players[i] UploadScore( 14, players[i].score_total, players[i].kills, level.players_playing ); - - players[i] zombieStatSet( "nz_prototype_totalpoints", players[i].score_total ); + leaderboard_number = getZombieLeaderboardNumber( map_name, "points" ); + + players[i] UploadScore( leaderboard_number, players[i].score_total, players[i].kills, level.players_playing ); + + players[i] playerZombieStatSet( map_name, "totalpoints", players[i].score_total ); } } } +isZombieLeaderboardAvailable( map, type ) +{ + if ( !isDefined( level.zombieLeaderboardNumber[map][type] ) ) + return 0; + + return 1; +} + +getZombieLeaderboardNumber( map, type ) +{ + if ( !isDefined( level.zombieLeaderboardNumber[map][type] ) ) + assertMsg( "Unknown leaderboard number for map " + map + "and type " + type ); + + return level.zombieLeaderboardNumber[map][type]; +} + +getZombieStatVariable( map, variable ) +{ + if ( !isDefined( level.zombieLeaderboardStatVariable[map][variable] ) ) + assertMsg( "Unknown stat variable " + variable + " for map " + map ); + + return level.zombieLeaderboardStatVariable[map][variable]; +} + +playerZombieStatGet( map, variable ) +{ + stat_variable = getZombieStatVariable( map, variable ); + result = self zombieStatGet( stat_variable ); + + return result; +} + +playerZombieStatSet( map, variable, value ) +{ + stat_variable = getZombieStatVariable( map, variable ); + self zombieStatSet( stat_variable, value ); +} + makeRankNumber( wave, players, time ) { if( time > 86400 ) time = 86400; // cap it at like 1 day, need to cap cause you know some muppet is gonna end up trying it - + //pad out time padding = ""; if ( 10 > time ) @@ -2035,9 +2628,9 @@ makeRankNumber( wave, players, time ) padding += "00"; else if( 10000 > time ) padding += "0"; - + rank = wave + "" + players + padding + time; - + return rank; } @@ -2056,7 +2649,7 @@ zombieStatGet( dataName ) { return; } - + return self getStat( int(tableLookup( "mp/playerStatsTable.csv", 1, dataName, 0 )) ); } @@ -2074,7 +2667,7 @@ zombieStatSet( dataName, value ) { return; } - + self setStat( int(tableLookup( "mp/playerStatsTable.csv", 1, dataName, 0 )), value ); } @@ -2098,7 +2691,7 @@ intermission() setclientsysstate( "levelNotify", "zi", players[i] ); // Tell clientscripts we're in zombie intermission players[i] SetClientDvars( "cg_thirdPerson", "0", - "cg_fov", "65" ); + "cg_fov", "65" ); players[i].health = 100; // This is needed so the player view doesn't get stuck players[i] thread player_intermission(); @@ -2157,7 +2750,7 @@ player_intermission() self closeInGameMenu(); level endon( "stop_intermission" ); - + //Show total gained point for end scoreboard and lobby self.score = self.score_total; @@ -2254,3 +2847,96 @@ player_intermission() } } } + +prevent_near_origin() +{ + while (1) + { + players = get_players(); + + for (i = 0; i < players.size; i++) + { + for (q = 0; q < players.size; q++) + { + if (players[i] != players[q]) + { + if (check_to_kill_near_origin(players[i], players[q])) + { + p1_org = players[i].origin; + p2_org = players[q].origin; + + wait 5; + + if (check_to_kill_near_origin(players[i], players[q])) + { + if ( (distance(players[i].origin, p1_org) < 30) && distance(players[q].origin, p2_org) < 30) + { + setsaveddvar("player_deathInvulnerableTime", 0); + players[i] DoDamage( players[i].health + 1000, players[i].origin, undefined, undefined, "riflebullet" ); + setsaveddvar("player_deathInvulnerableTime", level.startInvulnerableTime); + } + } + } + } + } + } + + wait 0.2; + } +} + +check_to_kill_near_origin(player1, player2) +{ + if (!isdefined(player1) || !isdefined(player2)) + { + return false; + } + + if (distance(player1.origin, player2.origin) > 12) + { + return false; + } + + if ( player1 maps\_laststand::player_is_in_laststand() || player2 maps\_laststand::player_is_in_laststand() ) + { + return false; + } + + if (!isalive(player1) || !isalive(player2)) + { + return false; + } + + return true; +} + +check_for_jugg_perk() +{ + + + while(true) + { + players = getplayers(); + for(i = 0; i < players.size; i++) + { + if(players[i] hasperk("specialty_armorvest") && !isdefined(players[i].is_burning)) + { + players[i].health += 40; + //iprintlnbold("I gain some health"); + if(players[i].health > 160) + { + players[i].health = 160; + + } + + } + + } + + wait(0.5); + + + } + + +} diff --git a/raw/maps/_zombiemode_blockers.gsc b/raw/maps/_zombiemode_blockers.gsc index 86b3da9ec..f6f6925d9 100644 --- a/raw/maps/_zombiemode_blockers.gsc +++ b/raw/maps/_zombiemode_blockers.gsc @@ -20,7 +20,7 @@ init_blockers() for( i = 0; i < level.exterior_goals.size; i++ ) { - level.exterior_goals[i] thread blocker_init(); + level.exterior_goals[i] thread blocker_init(); } // DOORS ----------------------------------------------------------------------------- // @@ -57,7 +57,14 @@ door_init() // Figure out what kind of door we are targets = GetEntArray( self.target, "targetname" ); - + + + //CHRIS_P - added script_flag support for doors as well + if( isDefined(self.script_flag) && !IsDefined( level.flag[self.script_flag] ) ) + { + flag_init( self.script_flag ); + } + door = targets[0]; if( targets.size == 1 ) { door = targets[0]; @@ -81,9 +88,27 @@ door_init() self.pieces = targets; } } + + //chris_p + if(isDefined(door.script_string) && door.script_string == "slide_apart") + { + self.type = "slide_apart"; + + for(i=0;i= 3) + { + break; + } + wait(duration); + } + + playfxontag(level._effect["sleight_light"], machine, "tag_origin"); + +} + +turn_revive_on() +{ + machine = getent("vending_revive", "targetname"); + level waittill("revive_on"); + machine setmodel("zombie_vending_revive_on"); + machine playsound("perks_power_on"); + machine vibrate((0,-100,0), 0.3, 0.4, 3); + timer = 0; + duration = 0.05; + + level notify( "specialty_quickrevive_power_on" ); + + while(true) + { + machine thread vending_machine_flicker_light("revive_light", duration); + timer += duration; + duration += 0.1; + if(timer >= 3) + { + break; + } + wait(duration); + } + + + playfxontag(level._effect["revive_light"], machine, "tag_origin"); + +} + +turn_jugger_on() +{ + machine = getent("vending_jugg", "targetname"); + //temp until I can get the wire to jugger. + level waittill("juggernog_on"); + machine setmodel("zombie_vending_jugg_on"); + machine vibrate((0,-100,0), 0.3, 0.4, 3); + machine playsound("perks_power_on"); + timer = 0; + duration = 0.05; + + level notify( "specialty_armorvest_power_on" ); + + while(true) + { + machine thread vending_machine_flicker_light("jugger_light", duration); + timer += duration; + duration += 0.1; + if(timer >= 3) + { + break; + } + wait(duration); + } + + playfxontag(level._effect["jugger_light"], machine, "tag_origin"); + +} +turn_doubletap_on() +{ + machine = getent("vending_doubletap", "targetname"); + level waittill("doubletap_on"); + machine setmodel("zombie_vending_doubletap_on"); + machine vibrate((0,-100,0), 0.3, 0.4, 3); + machine playsound("perks_power_on"); + timer = 0; + duration = 0.05; + + level notify( "specialty_rof_power_on" ); + + while(true) + { + machine thread vending_machine_flicker_light("doubletap_light", duration); + timer += duration; + duration += 0.1; + if(timer >= 3) + { + break; + } + wait(duration); + } + + playfxontag(level._effect["doubletap_light"], machine, "tag_origin"); + +} + + +vending_machine_flicker_light(fx_light, duration) +{ + fxObj = spawn( "script_model", self.origin +( 0, 0, 0 ) ); + fxobj setmodel( "tag_origin" ); + fxobj.angles = self.angles; + playfxontag( level._effect[fx_light], fxObj, "tag_origin" ); + fxObj playloopsound ("elec_current_loop"); + playsoundatposition("perks_rattle", fxObj.origin); + wait(duration); + fxobj stoploopsound(); + fxobj delete(); + +} +electric_perks_dialog() +{ + + self endon ("warning_dialog"); + level endon("switch_flipped"); + timer =0; + while(1) + { + wait(0.5); + players = get_players(); + for(i = 0; i < players.size; i++) + { + dist = distancesquared(players[i].origin, self.origin ); + if(dist > 70*70) + { + timer = 0; + continue; + } + if(dist < 70*70 && timer < 3) + { + wait(0.5); + timer ++; + } + if(dist < 70*70 && timer == 3) + { + + players[i] thread do_player_vo("vox_start", 5); + wait(3); + self notify ("warning_dialog"); + iprintlnbold("warning_given"); + } + } + } +} +vending_trigger_think() +{ + + //self thread turn_cola_off(); + perk = self.script_noteworthy; + self SetHintString( &"ZOMBIE_FLAMES_UNAVAILABLE" ); + self SetCursorHint( "HINT_NOICON" ); + self UseTriggerRequireLookAt(); + + notify_name = perk + "_power_on"; + level waittill( notify_name ); + + self thread check_player_has_perk(perk); + self vending_set_hintstring(perk); + for( ;; ) + { + self waittill( "trigger", player ); + + + cost = level.zombie_vars["zombie_perk_cost"]; + switch( perk ) + { + case "specialty_armorvest": + cost = 2500; + break; + + case "specialty_quickrevive": + cost = 1500; + break; + + case "specialty_fastreload": + cost = 3000; + break; + + case "specialty_rof": + cost = 2000; + break; + + } + + if (player maps\_laststand::player_is_in_laststand() ) + { + continue; + } + + if(player in_revive_trigger()) + { + continue; + } + + if ( player HasPerk( perk ) ) + { + cheat = false; + + /# + if ( GetDVarInt( "zombie_cheat" ) >= 5 ) + { + cheat = true; + } + #/ + + if ( cheat != true ) + { + //player iprintln( "Already using Perk: " + perk ); + self playsound("deny"); + continue; + } + } + + if ( player.score < cost ) + { + //player iprintln( "Not enough points to buy Perk: " + perk ); + self playsound("deny"); + continue; + } + + sound = "bottle_dispense3d"; + playsoundatposition(sound, self.origin); + ///bottle_dispense + switch( perk ) + { + case "specialty_armorvest": + sound = "mx_jugger_sting"; + break; + + case "specialty_quickrevive": + sound = "mx_revive_sting"; + break; + + case "specialty_fastreload": + sound = "mx_speed_sting"; + break; + + case "specialty_rof": + sound = "mx_doubletap_sting"; + break; + + default: + sound = "mx_jugger_sting"; + break; + } + + self thread play_vendor_stings(sound); + + // self waittill("sound_done"); + + + // do the drink animation + gun = player perk_give_bottle_begin( perk ); + player.is_drinking = 1; + player waittill_any( "fake_death", "death", "player_downed", "weapon_change_complete" ); + + // restore player controls and movement + player perk_give_bottle_end( gun, perk ); + player.is_drinking = undefined; + // TODO: race condition? + if ( player maps\_laststand::player_is_in_laststand() ) + { + continue; + } + + player SetPerk( perk ); + player thread perk_vo(perk); + player setblur( 4, 0.1 ); + wait(0.1); + player setblur(0, 0.1); + //earthquake (0.4, 0.2, self.origin, 100); + if(perk == "specialty_armorvest") + { + player.maxhealth = 160; + player.health = 160; + //player.health = 160; + } + else + { + + //fake effect here. + //temp_maxhealth = player.maxhealth; + //temp_health = player.health; + + //player.maxhealth = 160; + ////wait(0.1); + //wait(0.5); + //player.maxhealth = temp_health; + //player.health = temp_health; + + } + + player maps\_zombiemode_score::minus_to_player_score( cost ); + player perk_hud_create( perk ); + + //player iprintln( "Bought Perk: " + perk ); + + player thread perk_think( perk ); + + } +} + +check_player_has_perk(perk) +{ + /# + if ( GetDVarInt( "zombie_cheat" ) >= 5 ) + { + return; + } +#/ + + dist = 128 * 128; + while(true) + { + players = get_players(); + for( i = 0; i < players.size; i++ ) + { + if(DistanceSquared( players[i].origin, self.origin ) < dist) + { + if(!players[i] hasperk(perk) && !(players[i] in_revive_trigger())) + { + self setvisibletoplayer(players[i]); + //iprintlnbold("turn it off to player"); + + } + else + { + self SetInvisibleToPlayer(players[i]); + //iprintlnbold(players[i].health); + } + } + + + } + + wait(0.1); + + } + +} + + +vending_set_hintstring( perk ) +{ + switch( perk ) + { + + case "specialty_armorvest": + self SetHintString( &"ZOMBIE_PERK_JUGGERNAUT" ); + break; + + case "specialty_quickrevive": + self SetHintString( &"ZOMBIE_PERK_QUICKREVIVE" ); + break; + + case "specialty_fastreload": + self SetHintString( &"ZOMBIE_PERK_FASTRELOAD" ); + break; + + case "specialty_rof": + self SetHintString( &"ZOMBIE_PERK_DOUBLETAP" ); + break; + + default: + self SetHintString( perk + " Cost: " + level.zombie_vars["zombie_perk_cost"] ); + break; + + } +} + + +perk_think( perk ) +{ + /# + if ( GetDVarInt( "zombie_cheat" ) >= 5 ) + { + if ( IsDefined( self.perk_hud[ perk ] ) ) + { + return; + } + } +#/ + + self waittill_any( "fake_death", "death", "player_downed" ); + + self UnsetPerk( perk ); + self.maxhealth = 100; + self perk_hud_destroy( perk ); + //self iprintln( "Perk Lost: " + perk ); +} + + +perk_hud_create( perk ) +{ + if ( !IsDefined( self.perk_hud ) ) + { + self.perk_hud = []; + } + + /# + if ( GetDVarInt( "zombie_cheat" ) >= 5 ) + { + if ( IsDefined( self.perk_hud[ perk ] ) ) + { + return; + } + } +#/ + + + shader = ""; + + switch( perk ) + { + case "specialty_armorvest": + shader = "specialty_juggernaut_zombies"; + break; + + case "specialty_quickrevive": + shader = "specialty_quickrevive_zombies"; + break; + + case "specialty_fastreload": + shader = "specialty_fastreload_zombies"; + break; + + case "specialty_rof": + shader = "specialty_doubletap_zombies"; + break; + + default: + shader = ""; + break; + } + + hud = create_simple_hud( self ); + hud.foreground = true; + hud.sort = 1; + hud.hidewheninmenu = false; + hud.alignX = "left"; + hud.alignY = "bottom"; + hud.horzAlign = "left"; + hud.vertAlign = "bottom"; + hud.x = self.perk_hud.size * 30; + hud.y = hud.y - 70; + hud.alpha = 1; + hud SetShader( shader, 24, 24 ); + + self.perk_hud[ perk ] = hud; +} + + +perk_hud_destroy( perk ) +{ + self.perk_hud[ perk ] destroy_hud(); + self.perk_hud[ perk ] = undefined; +} + +perk_give_bottle_begin( perk ) +{ + self DisableOffhandWeapons(); + self DisableWeaponCycling(); + + self AllowLean( false ); + self AllowAds( false ); + self AllowSprint( false ); + self AllowProne( false ); + self AllowMelee( false ); + + if ( self GetStance() == "prone" ) + { + self SetStance( "crouch" ); + } + + gun = self GetCurrentWeapon(); + weapon = ""; + + switch( perk ) + { + case "specialty_armorvest": + weapon = "zombie_perk_bottle_jugg"; + break; + + case "specialty_quickrevive": + weapon = "zombie_perk_bottle_revive"; + break; + + case "specialty_fastreload": + weapon = "zombie_perk_bottle_sleight"; + break; + + case "specialty_rof": + weapon = "zombie_perk_bottle_doubletap"; + break; + } + + self GiveWeapon( weapon ); + self SwitchToWeapon( weapon ); + + return gun; +} + + +perk_give_bottle_end( gun, perk ) +{ + assert( gun != "zombie_perk_bottle_doubletap" ); + assert( gun != "zombie_perk_bottle_revive" ); + assert( gun != "zombie_perk_bottle_jugg" ); + assert( gun != "zombie_perk_bottle_sleight" ); + assert( gun != "syrette" ); + + self EnableOffhandWeapons(); + self EnableWeaponCycling(); + + self AllowLean( true ); + self AllowAds( true ); + self AllowSprint( true ); + self AllowProne( true ); + self AllowMelee( true ); + weapon = ""; + switch( perk ) + { + case "specialty_armorvest": + weapon = "zombie_perk_bottle_jugg"; + break; + + case "specialty_quickrevive": + weapon = "zombie_perk_bottle_revive"; + break; + + case "specialty_fastreload": + weapon = "zombie_perk_bottle_sleight"; + break; + + case "specialty_rof": + weapon = "zombie_perk_bottle_doubletap"; + break; + } + + // TODO: race condition? + if ( self maps\_laststand::player_is_in_laststand() ) + { + self TakeWeapon(weapon); + return; + } + + if ( gun != "none" ) + { + self SwitchToWeapon( gun ); + } + else + { + // try to switch to first primary weapon + primaryWeapons = self GetWeaponsListPrimaries(); + if( IsDefined( primaryWeapons ) && primaryWeapons.size > 0 ) + { + self SwitchToWeapon( primaryWeapons[0] ); + } + } + + self TakeWeapon(weapon); +} + +perk_vo(type) +{ + self endon("death"); + self endon("disconnect"); + + index = maps\_zombiemode_weapons::get_player_index(self); + sound = undefined; + + if(!isdefined (level.player_is_speaking)) + { + level.player_is_speaking = 0; + } + + //wait(randomfloatrange(1,2)); + + switch(type) + { + case "specialty_armorvest": + sound = "plr_" + index + "_vox_drink_jugga"; + break; + case "specialty_fastreload": + sound = "plr_" + index + "_vox_drink_speed"; + break; + case "specialty_quickrevive": + sound = "plr_" + index + "_vox_drink_revive"; + break; + case "specialty_rof": + sound = "plr_" + index + "_vox_drink_double"; + break; + } + + //This keeps multiple voice overs from playing on the same player (both killstreaks and headshots). + if (level.player_is_speaking != 1 && isDefined(sound)) + { + level.player_is_speaking = 1; + self playsound(sound, "sound_done"); + self waittill("sound_done"); + level.player_is_speaking = 0; + } + + +} +machine_watcher() +{ + level waittill("master_switch_activated"); + array_thread(getstructarray( "perksacola", "targetname" ), ::perks_a_cola_jingle); +} +play_vendor_stings(sound) +{ + if(!IsDefined (level.speed_jingle)) + { + level.speed_jingle = 0; + } + if(!IsDefined (level.revive_jingle)) + { + level.revive_jingle = 0; + } + if(!IsDefined (level.doubletap_jingle)) + { + level.doubletap_jingle = 0; + } + if(!IsDefined (level.jugger_jingle)) + { + level.jugger_jingle = 0; + } + if(!IsDefined (level.eggs)) + { + level.eggs = 0; + } + if (level.eggs == 0) + { + if(sound == "mx_speed_sting" && level.speed_jingle == 0 ) + { +// iprintlnbold("stinger speed:" + level.speed_jingle); + level.speed_jingle = 1; + temp_org_speed_s = spawn("script_origin", self.origin); + temp_org_speed_s playsound (sound, "sound_done"); + temp_org_speed_s waittill("sound_done"); + level.speed_jingle = 0; + temp_org_speed_s delete(); +// iprintlnbold("stinger speed:" + level.speed_jingle); + } + else if(sound == "mx_revive_sting" && level.revive_jingle == 0) + { + level.revive_jingle = 1; +// iprintlnbold("stinger revive:" + level.revive_jingle); + temp_org_revive_s = spawn("script_origin", self.origin); + temp_org_revive_s playsound (sound, "sound_done"); + temp_org_revive_s waittill("sound_done"); + level.revive_jingle = 0; + temp_org_revive_s delete(); +// iprintlnbold("stinger revive:" + level.revive_jingle); + } + else if(sound == "mx_doubletap_sting" && level.doubletap_jingle == 0) + { + level.doubletap_jingle = 1; +// iprintlnbold("stinger double:" + level.doubletap_jingle); + temp_org_dp_s = spawn("script_origin", self.origin); + temp_org_dp_s playsound (sound, "sound_done"); + temp_org_dp_s waittill("sound_done"); + level.doubletap_jingle = 0; + temp_org_dp_s delete(); +// iprintlnbold("stinger double:" + level.doubletap_jingle); + } + else if(sound == "mx_jugger_sting" && level.jugger_jingle == 0) + { + level.jugger_jingle = 1; +// iprintlnbold("stinger juggernog" + level.jugger_jingle); + temp_org_jugs_s = spawn("script_origin", self.origin); + temp_org_jugs_s playsound (sound, "sound_done"); + temp_org_jugs_s waittill("sound_done"); + level.jugger_jingle = 0; + temp_org_jugs_s delete(); +// iprintlnbold("stinger juggernog:" + level.jugger_jingle); + } + } +} +perks_a_cola_jingle() +{ + perk_hum = spawn("script_origin", self.origin); + perk_hum playloopsound("perks_machine_loop"); + self thread play_random_broken_sounds(); + if(!IsDefined(self.perk_jingle_playing)) + { + self.perk_jingle_playing = 0; + } + if (!IsDefined (level.eggs)) + { + level.eggs = 0; + } + while(1) + { + wait(randomfloatrange(60, 120)); + //wait(randomfloatrange(31,45)); + if(randomint(100) < 15 && level.eggs == 0) + { + level notify ("jingle_playing"); + playfx (level._effect["electric_short_oneshot"], self.origin); + playsoundatposition ("electrical_surge", self.origin); + + if(self.script_sound == "mx_speed_jingle" && level.speed_jingle == 0) + { + level.speed_jingle = 1; + temp_org_speed = spawn("script_origin", self.origin); + temp_org_speed playsound (self.script_sound, "sound_done"); + temp_org_speed waittill("sound_done"); + level.speed_jingle = 0; + temp_org_speed delete(); + } + if(self.script_sound == "mx_revive_jingle" && level.revive_jingle == 0) + { + level.revive_jingle = 1; + temp_org_revive = spawn("script_origin", self.origin); + temp_org_revive playsound (self.script_sound, "sound_done"); + temp_org_revive waittill("sound_done"); + level.revive_jingle = 0; + temp_org_revive delete(); + } + if(self.script_sound == "mx_doubletap_jingle" && level.doubletap_jingle == 0) + { + level.doubletap_jingle = 1; + temp_org_doubletap = spawn("script_origin", self.origin); + temp_org_doubletap playsound (self.script_sound, "sound_done"); + temp_org_doubletap waittill("sound_done"); + level.doubletap_jingle = 0; + temp_org_doubletap delete(); + } + if(self.script_sound == "mx_jugger_jingle" && level.jugger_jingle == 0) + { + level.jugger_jingle = 1; + temp_org_jugger = spawn("script_origin", self.origin); + temp_org_jugger playsound (self.script_sound, "sound_done"); + temp_org_jugger waittill("sound_done"); + level.jugger_jingle = 0; + temp_org_jugger delete(); + } + + self thread play_random_broken_sounds(); + } + } +} +play_random_broken_sounds() +{ + level endon ("jingle_playing"); + if (!isdefined (self.script_sound)) + { + self.script_sound = "null"; + } + if (self.script_sound == "mx_revive_jingle") + { + while(1) + { + wait(randomfloatrange(7, 18)); + playsoundatposition ("broken_random_jingle", self.origin); + playfx (level._effect["electric_short_oneshot"], self.origin); + playsoundatposition ("electrical_surge", self.origin); + + } + } + else + { + while(1) + { + wait(randomfloatrange(7, 18)); + playfx (level._effect["electric_short_oneshot"], self.origin); + playsoundatposition ("electrical_surge", self.origin); + } + } +} + + diff --git a/raw/maps/_zombiemode_powerups.gsc b/raw/maps/_zombiemode_powerups.gsc index e39e4214b..0a0309903 100644 --- a/raw/maps/_zombiemode_powerups.gsc +++ b/raw/maps/_zombiemode_powerups.gsc @@ -4,6 +4,13 @@ init() { + + PrecacheShader( "specialty_doublepoints_zombies" ); + PrecacheShader( "specialty_instakill_zombies" ); + + + + PrecacheShader( "black" ); // powerup Vars set_zombie_var( "zombie_insta_kill", 0 ); set_zombie_var( "zombie_point_scalar", 1 ); @@ -21,9 +28,9 @@ init() level._effect["powerup_on"] = loadfx( "misc/fx_zombie_powerup_on" ); level._effect["powerup_grabbed"] = loadfx( "misc/fx_zombie_powerup_grab" ); level._effect["powerup_grabbed_wave"] = loadfx( "misc/fx_zombie_powerup_wave" ); - + init_powerups(); - + thread watch_for_drop(); } @@ -31,7 +38,7 @@ init_powerups() { // Random Drops add_zombie_powerup( "nuke", "zombie_bomb", &"ZOMBIE_POWERUP_NUKE", "misc/fx_zombie_mini_nuke" ); -// add_zombie_powerup( "nuke", "zombie_bomb", &"ZOMBIE_POWERUP_NUKE", "misc/fx_zombie_mini_nuke_hotness" ); + // add_zombie_powerup( "nuke", "zombie_bomb", &"ZOMBIE_POWERUP_NUKE", "misc/fx_zombie_mini_nuke_hotness" ); add_zombie_powerup( "insta_kill", "zombie_skull", &"ZOMBIE_POWERUP_INSTA_KILL" ); add_zombie_powerup( "double_points","zombie_x2_icon", &"ZOMBIE_POWERUP_DOUBLE_POINTS" ); add_zombie_powerup( "full_ammo", "zombie_ammocan", &"ZOMBIE_POWERUP_MAX_AMMO"); @@ -41,8 +48,229 @@ init_powerups() level.zombie_powerup_index = 0; randomize_powerups(); + + level thread powerup_hud_overlay(); } +powerup_hud_overlay() +{ + + level.powerup_hud_array = []; + level.powerup_hud_array[0] = true; + level.powerup_hud_array[1] = true; + + level.powerup_hud = []; + level.powerup_hud_cover = []; + level endon ("disconnect"); + + + for(i = 0; i < 2; i++) + { + level.powerup_hud[i] = create_simple_hud(); + level.powerup_hud[i].foreground = true; + level.powerup_hud[i].sort = 2; + level.powerup_hud[i].hidewheninmenu = false; + level.powerup_hud[i].alignX = "center"; + level.powerup_hud[i].alignY = "bottom"; + level.powerup_hud[i].horzAlign = "center"; + level.powerup_hud[i].vertAlign = "bottom"; + level.powerup_hud[i].x = -32 + (i * 15); + level.powerup_hud[i].y = level.powerup_hud[i].y - 35; + level.powerup_hud[i].alpha = 0.8; + //hud SetShader( shader_inst, 24, 24 ); + } + + shader_2x = "specialty_doublepoints_zombies"; + shader_insta = "specialty_instakill_zombies"; +// shader_white = "black"; + + + + + //for(i = 0; i < 2; i++) + //{ + // level.powerup_hud_cover[i] = create_simple_hud(); + // level.powerup_hud_cover[i].foreground = true; + // level.powerup_hud_cover[i].sort = 1; + // level.powerup_hud_cover[i].hidewheninmenu = false; + // level.powerup_hud_cover[i].alignX = "center"; + // level.powerup_hud_cover[i].alignY = "bottom"; + // level.powerup_hud_cover[i].horzAlign = "center"; + // level.powerup_hud_cover[i].vertAlign = "bottom"; + // level.powerup_hud_cover[i].x = -32 + (i * 34); + // level.powerup_hud_cover[i].y = level.powerup_hud_cover[i].y - 30; + // level.powerup_hud_cover[i].alpha = 1; + // //hud SetShader( shader_inst, 24, 24 ); + //} + + + + //increment = 0; + + + while(true) + { + if(level.zombie_vars["zombie_powerup_insta_kill_time"] < 5) + { + wait(0.1); + level.powerup_hud[1].alpha = 0; + wait(0.1); + + + } + else if(level.zombie_vars["zombie_powerup_insta_kill_time"] < 10) + { + wait(0.2); + level.powerup_hud[1].alpha = 0; + wait(0.18); + + } + + if(level.zombie_vars["zombie_powerup_point_doubler_time"] < 5) + { + wait(0.1); + level.powerup_hud[0].alpha = 0; + wait(0.1); + + + } + else if(level.zombie_vars["zombie_powerup_point_doubler_time"] < 10) + { + wait(0.2); + level.powerup_hud[0].alpha = 0; + wait(0.18); + } + + + //if(level.zombie_vars["zombie_powerup_insta_kill_time"] != 0) + // iprintlnbold(level.zombie_vars["zombie_powerup_insta_kill_time"]); + + //if(level.zombie_vars["zombie_powerup_point_doubler_time"] != 0) + // iprintlnbold(level.zombie_vars["zombie_powerup_point_doubler_time"]); + + + //wait(0.01); + + if(level.zombie_vars["zombie_powerup_point_doubler_on"] == true && level.zombie_vars["zombie_powerup_insta_kill_on"] == true) + { + + level.powerup_hud[0].x = -24; + level.powerup_hud[1].x = 24; + level.powerup_hud[0].alpha = 1; + level.powerup_hud[1].alpha = 1; + level.powerup_hud[0] setshader(shader_2x, 32, 32); + level.powerup_hud[1] setshader(shader_insta, 32, 32); + /*level.powerup_hud_cover[0].x = -36; + level.powerup_hud_cover[1].x = 36; + level.powerup_hud_cover[0] setshader(shader_white, 32, i); + level.powerup_hud_cover[1] setshader(shader_white, 32, j); + level.powerup_hud_cover[0].alpha = 1; + level.powerup_hud_cover[1].alpha = 1;*/ + + } + else if(level.zombie_vars["zombie_powerup_point_doubler_on"] == true && level.zombie_vars["zombie_powerup_insta_kill_on"] == false) + { + level.powerup_hud[0].x = 0; + //level.powerup_hud[0].y = level.powerup_hud[0].y - 70; + level.powerup_hud[0] setshader(shader_2x, 32, 32); + level.powerup_hud[1].alpha = 0; + level.powerup_hud[0].alpha = 1; + + } + else if(level.zombie_vars["zombie_powerup_insta_kill_on"] == true && level.zombie_vars["zombie_powerup_point_doubler_on"] == false) + { + + level.powerup_hud[1].x = 0; + //level.powerup_hud[1].y = level.powerup_hud[1].y - 70; + level.powerup_hud[1] setshader(shader_insta, 32, 32); + level.powerup_hud[0].alpha = 0; + level.powerup_hud[1].alpha = 1; + } + else + { + + level.powerup_hud[1].alpha = 0; + level.powerup_hud[0].alpha = 0; + + } + + wait(0.01); + + + + //increment += 1; + + //if(increment >= 20) + //{ + // level.powerup_hud[0].alpha = 0; + // level.powerup_hud[1].alpha = 0; + //// level.powerup_hud_cover[0].alpha = 0; + //// level.powerup_hud_cover[1].alpha = 0; + //} + // + //if(increment == 30) + //{ + + // level.powerup_hud_array[1] = false; + // level.powerup_hud_array[0] = false; + + //} + //wait(0.5); + + + + + + + /* if(randomint(100) > 50) + level.powerup_hud_array[0] = false; + else + level.powerup_hud_array[0] = true; + + + if(randomint(100) > 50) + level.powerup_hud_array[1] = false; + else + level.powerup_hud_array[1] = true;*/ + + } + + + + + //for(i = 0; i < 2; i++) + //{ + // level.powerup_hud_cover[i] = create_simple_hud(); + // level.powerup_hud_cover[i].foreground = true; + // level.powerup_hud_cover[i].sort = 1; + // level.powerup_hud_cover[i].hidewheninmenu = false; + // level.powerup_hud_cover[i].alignX = "center"; + // level.powerup_hud_cover[i].alignY = "bottom"; + // level.powerup_hud_cover[i].horzAlign = "center"; + // level.powerup_hud_cover[i].vertAlign = "bottom"; + // level.powerup_hud_cover[i].x = -32 + (i * 34); + // level.powerup_hud_cover[i].y = level.powerup_hud_cover[i].y - 79; + // level.powerup_hud_cover[i].alpha = 0.5; + // //hud SetShader( shader_inst, 24, 24 ); + //} + + + //while(true) + //{ + // /* for(i = 0; i < 2; i++) + // { + // level.powerup_hud[i].y = level.powerup_hud[i].y - 5; + + // }*/ + + + + + // wait(1); + //} + +} + randomize_powerups() { level.zombie_powerup_array = array_randomize( level.zombie_powerup_array ); @@ -66,25 +294,25 @@ watch_for_drop() { players = get_players(); score_to_drop = ( players.size * level.zombie_vars["zombie_score_start"] ) + level.zombie_vars["zombie_powerup_drop_increment"]; - + while (1) { players = get_players(); - + curr_total_score = 0; for (i = 0; i < players.size; i++) { curr_total_score += players[i].score_total; } - + if (curr_total_score > score_to_drop ) { level.zombie_vars["zombie_powerup_drop_increment"] *= 1.14; score_to_drop = curr_total_score + level.zombie_vars["zombie_powerup_drop_increment"]; level.zombie_vars["zombie_drop_item"] = 1; } - + wait( 0.5 ); } } @@ -100,7 +328,7 @@ add_zombie_powerup( powerup_name, model_name, hint, fx ) PrecacheString( hint ); struct = SpawnStruct(); - + if( !IsDefined( level.zombie_powerups ) ) { level.zombie_powerups = []; @@ -149,7 +377,7 @@ powerup_drop(drop_point) println( "^3POWERUP DROP EXCEEDED THE MAX PER ROUND!" ); return; } - + // some guys randomly drop, but most of the time they check for the drop flag if (rand_drop > 2) { @@ -167,36 +395,43 @@ powerup_drop(drop_point) // never drop unless in the playable area playable_area = getentarray("playable_area","targetname"); - + powerup = spawn ("script_model", drop_point + (0,0,40)); + //chris_p - fixed bug where you could not have more than 1 playable area trigger for the whole map + valid_drop = false; for (i = 0; i < playable_area.size; i++) { - if (!powerup istouching(playable_area[i])) + if (powerup istouching(playable_area[i])) { - powerup delete(); - return; + valid_drop = true; } - } + } + + if(!valid_drop) + { + powerup delete(); + return; + } powerup powerup_setup(); level.powerup_drop_count++; print_powerup_drop( powerup.powerup_name, debug ); - + powerup thread powerup_timeout(); powerup thread powerup_wobble(); powerup thread powerup_grab(); - + level.zombie_vars["zombie_drop_item"] = 0; //powerup = powerup_setup(); - - + + // if is !is touching trig // return - + // spawn the model, do a ground trace and place above // start the movement logic, spawn the fx // start the time out logic @@ -228,11 +463,11 @@ powerup_grab() { self endon ("powerup_timedout"); self endon ("powerup_grabbed"); - + while (isdefined(self)) { players = get_players(); - + for (i = 0; i < players.size; i++) { if (distance (players[i].origin, self.origin) < 64) @@ -248,20 +483,26 @@ powerup_grab() { switch (self.powerup_name) { - case "nuke": - level thread nuke_powerup( self ); - break; - case "full_ammo": - level thread full_ammo_powerup( self ); - break; - case "double_points": - level thread double_points_powerup( self ); - break; - case "insta_kill": - level thread insta_kill_powerup( self ); - break; - default: - println ("Unrecognized poweup."); + case "nuke": + level thread nuke_powerup( self ); + + //chrisp - adding powerup VO sounds + //players[i] thread powerup_vo("nuke"); + break; + case "full_ammo": + level thread full_ammo_powerup( self ); + //players[i] thread powerup_vo("full_ammo"); + break; + case "double_points": + level thread double_points_powerup( self ); + // players[i] thread powerup_vo("double_points"); + break; + case "insta_kill": + level thread insta_kill_powerup( self ); + // players[i] thread powerup_vo("insta_kill"); + break; + default: + println ("Unrecognized poweup."); break; } } @@ -270,7 +511,7 @@ powerup_grab() playsoundatposition("powerup_grabbed", self.origin); self stoploopsound(); - + self delete(); self notify ("powerup_grabbed"); } @@ -279,16 +520,59 @@ powerup_grab() } } +powerup_vo(type) +{ + self endon("death"); + self endon("disconnect"); + + index = maps\_zombiemode_weapons::get_player_index(self); + sound = undefined; + + if(!isdefined (level.player_is_speaking)) + { + level.player_is_speaking = 0; + } + + wait(randomfloatrange(1,2)); + + switch(type) + { + case "nuke": + sound = "plr_" + index + "_vox_nuke"; + break; + case "insta_kill": + sound = "plr_" + index + "_vox_instakill"; + break; + case "full_ammo": + sound = "plr_" + index + "_vox_maxammo"; + break; + case "double_points": + sound = "plr_" + index + "_vox_2xpoints"; + break; + } + + //This keeps multiple voice overs from playing on the same player (both killstreaks and headshots). + if (level.player_is_speaking != 1 && isDefined(sound)) + { + level.player_is_speaking = 1; + self playsound(sound, "sound_done"); + self waittill("sound_done"); + level.player_is_speaking = 0; + } + + +} + powerup_wobble() { self endon ("powerup_grabbed"); self endon ("powerup_timedout"); - + if (isdefined(self)) { playfxontag (level._effect["powerup_on"], self, "tag_origin"); } - + while (isdefined(self)) { waittime = randomfloatrange(2.5, 5); @@ -310,9 +594,9 @@ powerup_wobble() powerup_timeout() { self endon ("powerup_grabbed"); - + wait 15; - + for (i = 0; i < 40; i++) { // hide and show @@ -324,7 +608,7 @@ powerup_timeout() { self show(); } - + if (i < 15) { wait 0.5; @@ -349,8 +633,8 @@ nuke_powerup( drop_item ) zombies = getaiarray("axis"); PlayFx( drop_item.fx, drop_item.origin ); -// players = get_players(); -// array_thread (players, ::nuke_flash); + // players = get_players(); + // array_thread (players, ::nuke_flash); level thread nuke_flash(); zombies = get_array_of_closest( drop_item.origin, zombies ); @@ -372,18 +656,31 @@ nuke_powerup( drop_item ) zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin); playsoundatposition("nuked", zombies[i].origin); } + + players = get_players(); + + + for(i = 0; i < players.size; i++) + { + players[i].score += 400; + players[i].score_total += 400; + players[i] maps\_zombiemode_score::set_player_score_hud(); + } + + } nuke_flash() { playsoundatposition("nuke_flash", (0,0,0)); + playsoundatposition("nuke_vox", (0,0,0)); fadetowhite = newhudelem(); - + fadetowhite.x = 0; fadetowhite.y = 0; fadetowhite.alpha = 0; - + fadetowhite.horzAlign = "fullscreen"; fadetowhite.vertAlign = "fullscreen"; fadetowhite.foreground = true; @@ -392,11 +689,11 @@ nuke_flash() // Fade into white fadetowhite FadeOverTime( 0.2 ); fadetowhite.alpha = 0.8; - + wait 0.5; fadetowhite FadeOverTime( 1.0 ); fadetowhite.alpha = 0; - + wait 1.1; fadetowhite destroy(); } @@ -406,32 +703,32 @@ double_points_powerup( drop_item ) { level notify ("powerup points scaled"); level endon ("powerup points scaled"); - -// players = get_players(); -// array_thread(level,::point_doubler_on_hud, drop_item); + + // players = get_players(); + // array_thread(level,::point_doubler_on_hud, drop_item); level thread point_doubler_on_hud( drop_item ); - + level.zombie_vars["zombie_point_scalar"] *= 2; - + wait 30; - + level.zombie_vars["zombie_point_scalar"] = 1; } full_ammo_powerup( drop_item ) { players = get_players(); - + for (i = 0; i < players.size; i++) { primaryWeapons = players[i] GetWeaponsListPrimaries(); - + for( x = 0; x < primaryWeapons.size; x++ ) { players[i] GiveMaxAmmo( primaryWeapons[x] ); } } -// array_thread (players, ::full_ammo_on_hud, drop_item); + // array_thread (players, ::full_ammo_on_hud, drop_item); level thread full_ammo_on_hud( drop_item ); } @@ -439,11 +736,11 @@ insta_kill_powerup( drop_item ) { level notify( "powerup instakill" ); level endon( "powerup instakill" ); - -// players = get_players(); -// array_thread (players, ::insta_kill_on_hud, drop_item); + + // players = get_players(); + // array_thread (players, ::insta_kill_on_hud, drop_item); level thread insta_kill_on_hud( drop_item ); - + level.zombie_vars["zombie_insta_kill"] = 1; wait( 30 ); level.zombie_vars["zombie_insta_kill"] = 0; @@ -461,7 +758,7 @@ check_for_instakill( player ) insta_kill_on_hud( drop_item ) { self endon ("disconnect"); - + // check to see if this is on or not if ( level.zombie_vars["zombie_powerup_insta_kill_on"] ) { @@ -471,54 +768,56 @@ insta_kill_on_hud( drop_item ) } level.zombie_vars["zombie_powerup_insta_kill_on"] = true; - + // set up the hudelem - hudelem = maps\_hud_util::createFontString( "objective", 2 ); - hudelem maps\_hud_util::setPoint( "TOP", undefined, 0, level.zombie_vars["zombie_timer_offset"] + level.zombie_vars["zombie_timer_offset_interval"]); - hudelem.sort = 0.5; - hudelem.alpha = 0; - hudelem fadeovertime(0.5); - hudelem.alpha = 1; - hudelem.label = drop_item.hint; - + //hudelem = maps\_hud_util::createFontString( "objective", 2 ); + //hudelem maps\_hud_util::setPoint( "TOP", undefined, 0, level.zombie_vars["zombie_timer_offset"] + level.zombie_vars["zombie_timer_offset_interval"]); + //hudelem.sort = 0.5; + //hudelem.alpha = 0; + //hudelem fadeovertime(0.5); + //hudelem.alpha = 1; + //hudelem.label = drop_item.hint; + // set time remaining for insta kill - hudelem thread time_remaning_on_insta_kill_powerup(); - + level thread time_remaning_on_insta_kill_powerup(); + // offset in case we get another powerup //level.zombie_timer_offset -= level.zombie_timer_offset_interval; } time_remaning_on_insta_kill_powerup() { - self setvalue( level.zombie_vars["zombie_powerup_insta_kill_time"] ); - + //self setvalue( level.zombie_vars["zombie_powerup_insta_kill_time"] ); + playsoundatposition ("insta_vox", (0,0,0)); temp_enta = spawn("script_origin", (0,0,0)); temp_enta playloopsound("insta_kill_loop"); -/* + /* players = get_players(); for (i = 0; i < players.size; i++) { - players[i] playloopsound ("insta_kill_loop"); + players[i] playloopsound ("insta_kill_loop"); } -*/ - + */ + // time it down! while ( level.zombie_vars["zombie_powerup_insta_kill_time"] >= 0) { - wait 1; - level.zombie_vars["zombie_powerup_insta_kill_time"] = level.zombie_vars["zombie_powerup_insta_kill_time"] - 1; - self setvalue( level.zombie_vars["zombie_powerup_insta_kill_time"] ); + wait 0.1; + level.zombie_vars["zombie_powerup_insta_kill_time"] = level.zombie_vars["zombie_powerup_insta_kill_time"] - 0.1; + // self setvalue( level.zombie_vars["zombie_powerup_insta_kill_time"] ); } players = get_players(); for (i = 0; i < players.size; i++) { //players[i] stoploopsound (2); + players[i] playsound("insta_kill"); + } - + temp_enta stoploopsound(2); // turn off the timer level.zombie_vars["zombie_powerup_insta_kill_on"] = false; @@ -526,14 +825,14 @@ time_remaning_on_insta_kill_powerup() // remove the offset to make room for new powerups, reset timer for next time level.zombie_vars["zombie_powerup_insta_kill_time"] = 30; //level.zombie_timer_offset += level.zombie_timer_offset_interval; - self destroy(); + //self destroy(); temp_enta delete(); } point_doubler_on_hud( drop_item ) { self endon ("disconnect"); - + // check to see if this is on or not if ( level.zombie_vars["zombie_powerup_point_doubler_on"] ) { @@ -543,36 +842,37 @@ point_doubler_on_hud( drop_item ) } level.zombie_vars["zombie_powerup_point_doubler_on"] = true; - + //level.powerup_hud_array[0] = true; // set up the hudelem - hudelem = maps\_hud_util::createFontString( "objective", 2 ); - hudelem maps\_hud_util::setPoint( "TOP", undefined, 0, level.zombie_vars["zombie_timer_offset"] ); - hudelem.sort = 0.5; - hudelem.alpha = 0; - hudelem fadeovertime( 0.5 ); - hudelem.alpha = 1; - hudelem.label = drop_item.hint; - + //hudelem = maps\_hud_util::createFontString( "objective", 2 ); + //hudelem maps\_hud_util::setPoint( "TOP", undefined, 0, level.zombie_vars["zombie_timer_offset"] ); + //hudelem.sort = 0.5; + //hudelem.alpha = 0; + //hudelem fadeovertime( 0.5 ); + //hudelem.alpha = 1; + //hudelem.label = drop_item.hint; + // set time remaining for point doubler - hudelem thread time_remaining_on_point_doubler_powerup(); - + level thread time_remaining_on_point_doubler_powerup(); + // offset in case we get another powerup //level.zombie_timer_offset -= level.zombie_timer_offset_interval; } time_remaining_on_point_doubler_powerup() { - self setvalue( level.zombie_vars["zombie_powerup_point_doubler_time"] ); - + //self setvalue( level.zombie_vars["zombie_powerup_point_doubler_time"] ); + temp_ent = spawn("script_origin", (0,0,0)); temp_ent playloopsound ("double_point_loop"); + playsoundatposition("dp_vox", (0,0,0)); // time it down! while ( level.zombie_vars["zombie_powerup_point_doubler_time"] >= 0) { - wait 1; - level.zombie_vars["zombie_powerup_point_doubler_time"] = level.zombie_vars["zombie_powerup_point_doubler_time"] - 1; - self setvalue( level.zombie_vars["zombie_powerup_point_doubler_time"] ); + wait 0.1; + level.zombie_vars["zombie_powerup_point_doubler_time"] = level.zombie_vars["zombie_powerup_point_doubler_time"] - 0.1; + //self setvalue( level.zombie_vars["zombie_powerup_point_doubler_time"] ); } // turn off the timer @@ -589,7 +889,7 @@ time_remaining_on_point_doubler_powerup() // remove the offset to make room for new powerups, reset timer for next time level.zombie_vars["zombie_powerup_point_doubler_time"] = 30; //level.zombie_timer_offset += level.zombie_timer_offset_interval; - self destroy(); + //self destroy(); temp_ent delete(); } @@ -605,10 +905,10 @@ full_ammo_on_hud( drop_item ) hudelem fadeovertime(0.5); hudelem.alpha = 1; hudelem.label = drop_item.hint; - + // set time remaining for insta kill hudelem thread full_ammo_move_hud(); - + // offset in case we get another powerup //level.zombie_timer_offset -= level.zombie_timer_offset_interval; } @@ -617,22 +917,23 @@ full_ammo_move_hud() { players = get_players(); - + for (i = 0; i < players.size; i++) { players[i] playsound ("full_ammo"); + players[i] playsound ("ma_vox"); } wait 0.5; move_fade_time = 1.5; - + self FadeOverTime( move_fade_time ); self MoveOverTime( move_fade_time ); self.y = 270; self.alpha = 0; - + wait move_fade_time; - + self destroy(); } @@ -642,33 +943,33 @@ full_ammo_move_hud() print_powerup_drop( powerup, type ) { -/# - if( !IsDefined( level.powerup_drop_time ) ) - { - level.powerup_drop_time = 0; - level.powerup_random_count = 0; - level.powerup_score_count = 0; - } + /# + if( !IsDefined( level.powerup_drop_time ) ) + { + level.powerup_drop_time = 0; + level.powerup_random_count = 0; + level.powerup_score_count = 0; + } - time = ( GetTime() - level.powerup_drop_time ) * 0.001; - level.powerup_drop_time = GetTime(); + time = ( GetTime() - level.powerup_drop_time ) * 0.001; + level.powerup_drop_time = GetTime(); - if( type == "random" ) - { - level.powerup_random_count++; - } - else - { - level.powerup_score_count++; - } + if( type == "random" ) + { + level.powerup_random_count++; + } + else + { + level.powerup_score_count++; + } - println( "========== POWER UP DROPPED ==========" ); - println( "DROPPED: " + powerup ); - println( "HOW IT DROPPED: " + type ); - println( "--------------------" ); - println( "Drop Time: " + time ); - println( "Random Powerup Count: " + level.powerup_random_count ); - println( "Random Powerup Count: " + level.powerup_score_count ); - println( "======================================" ); + println( "========== POWER UP DROPPED ==========" ); + println( "DROPPED: " + powerup ); + println( "HOW IT DROPPED: " + type ); + println( "--------------------" ); + println( "Drop Time: " + time ); + println( "Random Powerup Count: " + level.powerup_random_count ); + println( "Random Powerup Count: " + level.powerup_score_count ); + println( "======================================" ); #/ } \ No newline at end of file diff --git a/raw/maps/_zombiemode_score.gsc b/raw/maps/_zombiemode_score.gsc index 9b66aa983..bd5202a65 100644 --- a/raw/maps/_zombiemode_score.gsc +++ b/raw/maps/_zombiemode_score.gsc @@ -6,7 +6,8 @@ init() { } -player_add_points( event, mod, hit_location ) +//chris_p - added dogs to the scoring +player_add_points( event, mod, hit_location ,is_dog) { if( level.intermission ) { @@ -42,12 +43,55 @@ player_add_points( event, mod, hit_location ) points = round_up_to_ten( points ) * level.zombie_vars["zombie_point_scalar"]; + //chris_p - double points for dogs + if(isDefined(is_dog)) + { + points = int(points * 2); + } + self.score += points; self.score_total += points; self set_player_score_hud(); +// self thread play_killstreak_vo(); } +//TUEY Old killstreak VO script---moved to utility +/* +play_killstreak_vo() +{ + index = maps\_zombiemode_weapons::get_player_index(self); + self.killstreak = "vox_killstreak"; + + if(!isdefined (level.player_is_speaking)) + { + level.player_is_speaking = 0; + } + if (!isdefined (self.killstreak_points)) + { + self.killstreak_points = 0; + } + self.killstreak_points = self.score_total; + if (!isdefined (self.killstreaks)) + { + self.killstreaks = 1; + } + if (self.killstreak_points > 1500 * self.killstreaks ) + { + wait (randomfloatrange(0.1, 0.3)); + if(level.player_is_speaking != 1) + { + level.player_is_speaking = 1; + self playsound ("plr_" + index + "_" +self.killstreak, "sound_done"); + self waittill("sound_done"); + level.player_is_speaking = 0; + + } + self.killstreaks ++; + } + +} +*/ player_add_points_kill_bonus( mod, hit_location ) { if( mod == "MOD_MELEE" ) @@ -137,7 +181,6 @@ add_to_player_score( cost ) // also set the score onscreen self set_player_score_hud(); } - minus_to_player_score( cost ) { if( level.intermission ) diff --git a/raw/maps/_zombiemode_spawner.gsc b/raw/maps/_zombiemode_spawner.gsc index 663c2299f..cf38289aa 100644 --- a/raw/maps/_zombiemode_spawner.gsc +++ b/raw/maps/_zombiemode_spawner.gsc @@ -2,6 +2,7 @@ #include common_scripts\utility; #include maps\_zombiemode_utility; + #using_animtree( "generic_human" ); init() { @@ -21,9 +22,55 @@ init() } } - array_thread( zombies, ::add_spawn_function, ::zombie_spawn_init ); + array_thread(zombies, ::add_spawn_function, ::zombie_spawn_init); + array_thread(zombies, ::add_spawn_function, ::zombie_rise); + + + dogs = getEntArray( "zombie_dog_spawner", "script_noteworthy" ); + later_dogs = getentarray("later_round_dog_spawners", "script_noteworthy" ); + + dogs = array_combine( dogs, later_dogs ); + + for( i = 0; i < dogs.size; i++ ) + { + if( is_spawner_targeted_by_blocker( dogs[i] ) ) + { + dogs[i].locked_spawner = true; + } + } + + array_thread( dogs, ::add_spawn_function, ::zombie_spawn_init_dog ); + } + +#using_animtree ("dog"); +zombie_spawn_dog_tracker() +{ + self.melee_attack_anim = %ai_zombie_dog_attack_v1; + self endon("death"); + while(1) + { + wait(.25); + players = get_players(); + for(i=0;i40) + { + self.a.nodeath = true; + } + + //self.deathfunction = ::zombie_dog_death; + self thread zombie_dog_eye_glow(); + + self disable_pain(); + + self.maxhealth = int(level.zombie_health / 4); + self.health = int(level.zombie_health / 4); + + self thread zombie_think(); + //self thread zombie_damage_failsafe(); // if pounced on, might cause problems + + self.flame_damage_time = 0; + + self zombie_history( "zombie_dog_spawn_init -> Spawned = " + self.origin ); + + self thread zombie_testing(); + + self notify( "zombie_dog_init_done" ); + + //chris_p - zombie dogs change their melee anims depending on distance from enemy + self thread zombie_spawn_dog_tracker(); + //chris_p - zombie dogs should give points when damaged/killed + self thread zombie_dog_spawn_dmg_watch(); + self thread zombie_dog_spawn_death_watch(); + +} + +/*------------------------------------ +zombie dogs give points when damaged +------------------------------------*/ +zombie_dog_spawn_dmg_watch() +{ + self endon("death"); + + while(1) + { + self waittill("damage", amount ,attacker, dir, point, mod); + self thread zombie_damage( self.damagemod, self.damagelocation, self.origin, self.attacker,true ); + } +} +zombie_dog_spawn_death_watch() +{ + self waittill("death"); + + //remove the glowing eyes + if( IsDefined( self.fx_eye_glow ) ) + { + self.fx_eye_glow Delete(); + } + + if(isPlayer(self.attacker)) + { + self.attacker maps\_zombiemode_score::player_add_points( "death", self.damagemod, self.damagelocation,true ); + } + + if(isDefined(self.a.nodeath)) + { + playfx(level._effect["dog_gib"],self.origin); + + self delete(); + } + + +} + +zombie_damage_failsafe() +{ + self endon ("death"); + + continue_failsafe_damage = false; + while (1) + { + //should only be for zombie exploits + wait 0.5; + + if (!isdefined(self.enemy)) + { + continue; + } + + if (self istouching(self.enemy)) + { + old_org = self.origin; + if (!continue_failsafe_damage) + { + wait 5; + } + + if (!isdefined(self.enemy)) + { + continue; + } + + if (self istouching(self.enemy) + && !self.enemy maps\_laststand::player_is_in_laststand() + && isalive(self.enemy)) + { + if (distancesquared(old_org, self.origin) < (35 * 35) ) + { + setsaveddvar("player_deathInvulnerableTime", 0); + self.enemy DoDamage( self.enemy.health + 1000, self.enemy.origin, undefined, undefined, "riflebullet" ); + setsaveddvar("player_deathInvulnerableTime", level.startInvulnerableTime); + + continue_failsafe_damage = true; + } + } + } + else + { + continue_failsafe_damage = false; + } + } +} + set_zombie_run_cycle() { - self set_run_speed(); - - walkcycle = randomint( 4 ); + self set_run_speed(); - if( self.zombie_move_speed == "walk" ) + death_anims = []; + death_anims[death_anims.size] = %ch_dazed_a_death; + death_anims[death_anims.size] = %ch_dazed_b_death; + death_anims[death_anims.size] = %ch_dazed_c_death; + death_anims[death_anims.size] = %ch_dazed_d_death; + + self.deathanim = random(death_anims); + + switch(self.zombie_move_speed) { - if( walkcycle == 0 ) - { - self.deathanim = %ch_dazed_a_death; - self set_run_anim( "walk1" ); - self.run_combatanim = level.scr_anim["zombie"]["walk1"]; - } - else if( walkcycle == 1 ) - { - self.deathanim = %ch_dazed_b_death; - self set_run_anim( "walk2" ); - self.run_combatanim = level.scr_anim["zombie"]["walk2"]; - } - else if( walkcycle == 2 ) - { - self.deathanim = %ch_dazed_c_death; - self set_run_anim( "walk3" ); - self.run_combatanim = level.scr_anim["zombie"]["walk3"]; - } - else if( walkcycle == 3 ) - { - self.deathanim = %ch_dazed_d_death; - self set_run_anim( "walk4" ); - self.run_combatanim = level.scr_anim["zombie"]["walk4"]; - } - } - - walkcycle = randomint( 3 ); - if( self.zombie_move_speed == "run" ) - { - if( walkcycle == 0 ) - { - self.deathanim = %ch_dazed_a_death; - self set_run_anim( "run1" ); - self.run_combatanim = level.scr_anim["zombie"]["run1"]; - } - else if( walkcycle == 1 ) - { - self.deathanim = %ch_dazed_b_death; - self set_run_anim( "run2" ); - self.run_combatanim = level.scr_anim["zombie"]["run2"]; - } - else if( walkcycle == 2 ) - { - self.deathanim = %ch_dazed_c_death; - self set_run_anim( "run3" ); - self.run_combatanim = level.scr_anim["zombie"]["run3"]; - } - } - - walkcycle = randomint( 2 ); - if( self.zombie_move_speed == "sprint" ) - { - if( walkcycle == 0 ) - { - self.deathanim = %ch_dazed_c_death; - self set_run_anim( "sprint1" ); - self.run_combatanim = level.scr_anim["zombie"]["sprint1"]; - } - else if( walkcycle == 1 ) - { - self.deathanim = %ch_dazed_d_death; - self set_run_anim( "sprint2" ); - self.run_combatanim = level.scr_anim["zombie"]["sprint2"]; - } + case "walk": + var = randomintrange(1, 8); + self set_run_anim( "walk" + var ); + self.run_combatanim = level.scr_anim["zombie"]["walk" + var]; + break; + case "run": + var = randomintrange(1, 6); + self set_run_anim( "run" + var ); + self.run_combatanim = level.scr_anim["zombie"]["run" + var]; + break; + case "sprint": + var = randomintrange(1, 4); + self set_run_anim( "sprint" + var ); + self.run_combatanim = level.scr_anim["zombie"]["sprint" + var]; + break; } } @@ -212,9 +379,21 @@ set_run_speed() zombie_think() { self endon( "death" ); - + //node = level.exterior_goals[randomint( level.exterior_goals.size )]; - + + //CHRIS_P - test dudes rising from ground + if (GetDVarInt("zombie_rise_test") || (isDefined(self.script_string) && self.script_string == "riser" && randomint(100) > 25)) + { + self.do_rise = 1; + //self notify("do_rise"); + self waittill("risen"); + } + else + { + self notify("no_rise"); + } + node = undefined; desired_nodes = []; @@ -330,15 +509,38 @@ zombie_goto_entrance( node, endon_bad_path ) self zombie_history( "zombie_goto_entrance -> reached goto entrance " + node.origin ); - // Guy should get to goal and tear into building until all barrier chunks are gone - self tear_into_building(); + if ( self.type != "dog" ) + { + // Guy should get to goal and tear into building until all barrier chunks are gone + self tear_into_building(); + + if(isDefined(self.first_node.clip)) + { + if(!isDefined(self.first_node.clip.disabled) || !self.first_node.clip.disabled) + { + self.first_node.clip disable_trigger(); + self.first_node.clip connectpaths(); + } + } - // here is where they zombie would play the traversal into the building( if it's a window ) - // and begin the player seek logic - self zombie_setup_attack_properties(); - self thread find_flesh(); + // here is where they zombie would play the traversal into the building( if it's a window ) + // and begin the player seek logic + self zombie_setup_attack_properties(); + self thread find_flesh(); + } + else + { + // Dogs should get to goal and tear into building until all barrier chunks are gone + self crash_into_building(); + + // here is where they zombie would play the traversal into the building( if it's a window ) + // and begin the player seek logic + self zombie_setup_attack_properties_dog(); + self thread find_flesh_dog(); + } } + zombie_assure_node() { self endon( "death" ); @@ -362,12 +564,38 @@ zombie_assure_node() { return; } - } + } + // CHRISP - must add an additional check, since the 'self.entrance_nodes' array is not dynamically updated to accomodate for entrance points that can be turned on and off + // only do this if it's the asylum map + if(level.script == "nazi_zombie_asylum") + { + wait(2); + // Get more nodes and try again + nodes = get_array_of_closest( self.origin, level.exterior_goals, undefined, 20 ); + self.entrance_nodes = nodes; + for( i = 0; i < self.entrance_nodes.size; i++ ) + { + if( self zombie_bad_path() ) + { + self zombie_history( "zombie_assure_node -> assigned assured node = " + self.entrance_nodes[i].origin ); + + println( "^1Zombie @ " + self.origin + " did not move for 1 second. Going to next closest node @ " + self.entrance_nodes[i].origin ); + level thread draw_line_ent_to_pos( self, self.entrance_nodes[i].origin, "goal" ); + self.first_node = self.entrance_nodes[i]; + self SetGoalPos( self.entrance_nodes[i].origin ); + } + else + { + return; + } + } + } self zombie_history( "zombie_assure_node -> failed to find a good entrance point" ); - assertmsg( "^1Zombie @ " + self.origin + " did not find a good entrance point... Please fix pathing or Entity setup" ); - - wait( 3 ); + + //assertmsg( "^1Zombie @ " + self.origin + " did not find a good entrance point... Please fix pathing or Entity setup" ); + wait(20); + //iprintln( "^1Zombie @ " + self.origin + " did not find a good entrance point... Please fix pathing or Entity setup" ); self DoDamage( self.health + 10, self.origin ); } @@ -411,6 +639,221 @@ zombie_bad_path_timeout() // zombies are trying to get at player contained behind barriers, so the barriers // need to come down tear_into_building() +{ + //chrisp - added this + checkpass = false; + + self endon( "death" ); + + self zombie_history( "tear_into_building -> start" ); + + while( 1 ) + { + if( IsDefined( self.first_node.script_noteworthy ) ) + { + if( self.first_node.script_noteworthy == "no_blocker" ) + { + return; + } + } + + if( !IsDefined( self.first_node.target ) ) + { + return; + } + + //chris_p = made some changes here to fix the zombies coming thru rebuilt barriers + //this does an initial first check on the destroyed chunks so that we don't wait for the 'orient done' check + if( all_chunks_destroyed( self.first_node.barrier_chunks ) ) + { + self zombie_history( "tear_into_building -> all chunks destroyed" ); + checkpass = true; + } + + // Pick a spot to tear down + if( !get_attack_spot( self.first_node ) ) + { + self zombie_history( "tear_into_building -> Could not find an attack spot" ); + wait( 0.5 ); + continue; + } + + self.goalradius = 4; + self SetGoalPos( self.attacking_spot, self.first_node.angles ); + + //chrisp - this checks to see if the boards were reported as destroyed, and then does not wait for the guy's 'orient done' notify + if(!checkpass) + { + self waittill( "orientdone" ); + } + else + { + self.goalradius = 128; + self waittill("goal"); + } + + self zombie_history( "tear_into_building -> Reach position and orientated" ); + + // chrisp - do one final check to make sure that the boards are still torn down + // this *mostly* prevents the zombies from coming through the windows as you are boarding them up. + if( all_chunks_destroyed( self.first_node.barrier_chunks ) ) + { + self zombie_history( "tear_into_building -> all chunks destroyed" ); + return; + } + + // Now tear down boards + while( 1 ) + { + chunk = get_closest_non_destroyed_chunk( self.origin, self.first_node.barrier_chunks ); + + if( !IsDefined( chunk ) ) + { + for( i = 0; i < self.first_node.attack_spots_taken.size; i++ ) + { + self.first_node.attack_spots_taken[i] = false; + } + return; + } + + self zombie_history( "tear_into_building -> animating" ); + + tear_anim = get_tear_anim( chunk ); + self AnimScripted( "tear_anim", self.origin, self.first_node.angles, tear_anim ); + self zombie_tear_notetracks( "tear_anim", chunk, self.first_node ); + + //chris - adding new window attack & gesture animations ;) + if(level.script != "nazi_zombie_prototype") + { + attack = self should_attack_player_thru_boards(); + if(isDefined(attack) && !attack) + { + self do_a_taunt(); + } + } + //chrisp - fix the extra tear anim bug + if( all_chunks_destroyed( self.first_node.barrier_chunks ) ) + { + for( i = 0; i < self.first_node.attack_spots_taken.size; i++ ) + { + self.first_node.attack_spots_taken[i] = false; + } + return; + } + } + self reset_attack_spot(); + } +} + +/*------------------------------------ +checks to see if the zombie should +do a taunt when tearing thru the boards +------------------------------------*/ +do_a_taunt() +{ + if(getdvar("zombie_taunt_freq") == "") + { + setdvar("zombie_taunt_freq","5"); + } + freq = getdvarint("zombie_taunt_freq"); + + if( freq >= randomint(100) ) + { + anime = random(level._zombie_board_taunt); + self animscripted("zombie_taunt",self.origin,self.angles,anime); + wait(getanimlength(anime)); + } +} + +/*------------------------------------ +checks to see if the players are near +the entrance and tries to attack them +thru the boards. 50% chance +------------------------------------*/ +should_attack_player_thru_boards() +{ + + //no board attacks if they are crawlers + if( !self.has_legs) + { + return false; + } + + if(getdvar("zombie_reachin_freq") == "") + { + setdvar("zombie_reachin_freq","50"); + } + freq = getdvarint("zombie_reachin_freq"); + + players = get_players(); + attack = false; + + for(i=0;i= randomint(100) ) + { + //iprintln("checking attack"); + + //check to see if the guy is left, right, or center + + if(self.attacking_spot_index == 0) //he's in the center + { + + if(randomint(100) > 50) + { + self animscripted("window_melee",self.origin,self.angles,%ai_zombie_window_attack_arm_l_out); + } + else + { + self animscripted("window_melee",self.origin,self.angles,%ai_zombie_window_attack_arm_r_out); + } + self window_notetracks( "window_melee" ); + + } + else if(self.attacking_spot_index == 2) //<-- he's to the left + { + self animscripted("window_melee",self.origin,self.angles,%ai_zombie_window_attack_arm_r_out); + self window_notetracks( "window_melee" ); + } + else if(self.attacking_spot_index == 1) //<-- he's to the right + { + self animscripted("window_melee",self.origin,self.angles,%ai_zombie_window_attack_arm_l_out); + self window_notetracks( "window_melee" ); + } + } + else + { + return false; + } +} +window_notetracks(msg) +{ + while(1) + { + self waittill( msg, notetrack ); + + if( notetrack == "end" ) + { + return; + } + if( notetrack == "fire" ) + { + if(self.ignoreall) + { + self.ignoreall = false; + } + self melee(); + } + } +} + + +crash_into_building() { self endon( "death" ); @@ -447,7 +890,7 @@ tear_into_building() self.goalradius = 4; self SetGoalPos( self.attacking_spot, self.first_node.angles ); - self waittill( "orientdone" ); + self waittill( "goal" ); self zombie_history( "tear_into_building -> Reach position and orientated" ); // Now tear down boards @@ -464,11 +907,40 @@ tear_into_building() return; } - self zombie_history( "tear_into_building -> animating" ); + self zombie_history( "tear_into_building -> crash" ); - tear_anim = get_tear_anim( chunk ); - self AnimScripted( "tear_anim", self.origin, self.first_node.angles, tear_anim ); - self zombie_tear_notetracks( "tear_anim", chunk, self.first_node ); + //tear_anim = get_tear_anim( chunk ); + //self AnimScripted( "tear_anim", self.origin, self.first_node.angles, tear_anim ); + //self zombie_tear_notetracks( "tear_anim", chunk, self.first_node ); + PlayFx( level._effect["wood_chunk_destory"], chunk.origin ); + PlayFx( level._effect["wood_chunk_destory"], chunk.origin + ( randomint( 20 ), randomint( 20 ), randomint( 10 ) ) ); + PlayFx( level._effect["wood_chunk_destory"], chunk.origin + ( randomint( 40 ), randomint( 40 ), randomint( 20 ) ) ); + + level thread maps\_zombiemode_blockers::remove_chunk( chunk, self.first_node, true ); + + if( all_chunks_destroyed( self.first_node.barrier_chunks ) ) + { + EarthQuake( randomfloatrange( 0.5, 0.8 ), 0.5, chunk.origin, 300 ); + + if( IsDefined( self.first_node.clip ) ) + { + self.first_node.clip ConnectPaths(); + wait( 0.05 ); + self.first_node.clip disable_trigger(); + } + else + { + for( i = 0; i < self.first_node.barrier_chunks.size; i++ ) + { + self.first_node.barrier_chunks[i] ConnectPaths(); + } + } + } + else + { + EarthQuake( RandomFloatRange( 0.1, 0.15 ), 0.2, chunk.origin, 200 ); + } + } self reset_attack_spot(); @@ -543,8 +1015,8 @@ zombie_tear_notetracks( msg, chunk, node ) PlayFx( level._effect["wood_chunk_destory"], chunk.origin ); PlayFx( level._effect["wood_chunk_destory"], chunk.origin + ( randomint( 20 ), randomint( 20 ), randomint( 10 ) ) ); PlayFx( level._effect["wood_chunk_destory"], chunk.origin + ( randomint( 40 ), randomint( 40 ), randomint( 20 ) ) ); - - level thread maps\_zombiemode_blockers::remove_chunk( chunk, node ); + + level thread maps\_zombiemode_blockers::remove_chunk( chunk, node,true ); } } } @@ -586,6 +1058,11 @@ get_tear_anim( chunk ) zombie_head_gib( attacker ) { + if ( is_german_build() ) + { + return; + } + if( IsDefined( self.head_gibbed ) && self.head_gibbed ) { return; @@ -876,7 +1353,7 @@ zombie_gib_on_damage() self.has_legs = false; self AllowedStances( "crouch" ); - which_anim = RandomInt( 3 ); + which_anim = RandomInt( 5 ); if( which_anim == 0 ) { @@ -896,13 +1373,29 @@ zombie_gib_on_damage() } else if( which_anim == 2 ) { - self.deathanim = %ai_zombie_crawl_death_v2; - self set_run_anim( "death4" ); + self.deathanim = %ai_zombie_crawl_death_v1; + self set_run_anim( "death3" ); self.run_combatanim = level.scr_anim["zombie"]["crawl3"]; self.crouchRunAnim = level.scr_anim["zombie"]["crawl3"]; self.crouchrun_combatanim = level.scr_anim["zombie"]["crawl3"]; } - + else if( which_anim == 3 ) + { + self.deathanim = %ai_zombie_crawl_death_v2; + self set_run_anim( "death4" ); + self.run_combatanim = level.scr_anim["zombie"]["crawl4"]; + self.crouchRunAnim = level.scr_anim["zombie"]["crawl4"]; + self.crouchrun_combatanim = level.scr_anim["zombie"]["crawl4"]; + } + else if( which_anim == 4 ) + { + self.deathanim = %ai_zombie_crawl_death_v1; + self set_run_anim( "death3" ); + self.run_combatanim = level.scr_anim["zombie"]["crawl5"]; + self.crouchRunAnim = level.scr_anim["zombie"]["crawl5"]; + self.crouchrun_combatanim = level.scr_anim["zombie"]["crawl5"]; + } + } } @@ -915,8 +1408,14 @@ zombie_gib_on_damage() } } + zombie_should_gib( amount, attacker, type ) { + if ( is_german_build() ) + { + return false; + } + if( !IsDefined( type ) ) { return false; @@ -1073,10 +1572,20 @@ init_gib_tags() level.gib_tags = tags; } -zombie_death_points( origin, mod, hit_location, player ) +zombie_death_points( origin, mod, hit_location, player,zombie ) { - level thread maps\_zombiemode_powerups::powerup_drop( origin ); + //TUEY Play VO if you get a Head Shot + level thread play_death_vo(hit_location, player,mod,zombie); + + //ChrisP - no points or powerups for killing zombies + if(IsDefined(zombie.marked_for_death)) + { + return; + } + + level thread maps\_zombiemode_powerups::powerup_drop( origin ); + if( !IsDefined( player ) || !IsPlayer( player ) ) { return; @@ -1085,6 +1594,97 @@ zombie_death_points( origin, mod, hit_location, player ) player maps\_zombiemode_score::player_add_points( "death", mod, hit_location ); } +play_death_vo(hit_location, player,mod,zombie) +{ + // CHRISP - adding some modifiers here so that it doens't play 100% of the time + // and takes into account the damage type. + // default is 10% chance of saying something + if( getdvar("zombie_death_vo_freq") == "" ) + { + setdvar("zombie_death_vo_freq","100"); //TUEY moved to 50---We can take this out\tweak this later. + } + + chance = getdvarint("zombie_death_vo_freq"); + + sound = undefined; + //just return and don't play a sound if the chance is not there + if(chance < randomint(100) ) + { + return; + } + + //TUEY - this funciton allows you to play a voice over when you kill a zombie and its last hit spot was something specific (like Headshot). + //players = getplayers(); + index = maps\_zombiemode_weapons::get_player_index(player); + + if(!isdefined (level.player_is_speaking)) + { + level.player_is_speaking = 0; + } + if(!isdefined(level.zombie_vars["zombie_insta_kill"] )) + { + level.zombie_vars["zombie_insta_kill"] = 0; + } + if(hit_location == "head" && level.zombie_vars["zombie_insta_kill"] != 1 ) + { + //no VO for non bullet headshot kills + if( mod != "MOD_PISTOL_BULLET" && mod != "MOD_RIFLE_BULLET" ) + { + return; + } + + //chrisp - far headshot sounds + if(distance(player.origin,zombie.origin) > 400) + { + sound = "plr_" + index + "_vox_kill_headdist" + "_" + randomintrange(0, 11); + } + //remove headshot sounds for instakill + if (level.zombie_vars["zombie_insta_kill"] != 0) + { + sound = undefined; + } + + } + //check for close range kills, and play a special sound, unless instakill is on + if(distance(player.origin,zombie.origin) < 64 && level.zombie_vars["zombie_insta_kill"] == 0) + { + sound = "plr_" + index + "_vox_close" + "_" + randomintrange(0, 7); + } + + + //special case for close range melee attacks while insta-kill is on + if (level.zombie_vars["zombie_insta_kill"] != 0) + { + if( mod == "MOD_MELEE" || mod == "MOD_BAYONET" || mod == "MOD_UNKNOWN" && distance(player.origin,zombie.origin) < 64) + { + sound = "plr_" + index + "_vox_melee_insta" + "_" + randomintrange(0, 5); + } + } + + //This keeps multiple voice overs from playing on the same player (both killstreaks and headshots). + if (level.player_is_speaking != 1 && isDefined(sound) && level.zombie_vars["zombie_insta_kill"] != 0) + { + level.player_is_speaking = 1; + player playsound(sound, "sound_done"); + player waittill("sound_done"); + //This ensures that there is at least 2 seconds waittime before playing another VO. + wait(2); + level.player_is_speaking = 0; + } + //This allows us to play VO's faster if the player is in Instakill and killing at a short distance. + else if (level.player_is_speaking != 1 && isDefined(sound) && level.zombie_vars["zombie_insta_kill"] == 0) + { + level.player_is_speaking = 1; + player playsound(sound, "sound_done"); + player waittill("sound_done"); + //This ensures that there is at least 3 seconds waittime before playing another VO. + wait(0.5); + level.player_is_speaking = 0; + + } + +} + // Called from animscripts\death.gsc zombie_death_animscript() { @@ -1099,7 +1699,9 @@ zombie_death_animscript() self.grenadeAmmo = 0; // Give attacker points - level zombie_death_points( self.origin, self.damagemod, self.damagelocation, self.attacker ); + + //ChrisP - 12/8/08 - added additional 'self' argument + level zombie_death_points( self.origin, self.damagemod, self.damagelocation, self.attacker,self ); if( self.damagemod == "MOD_BURNED" ) { @@ -1147,8 +1749,15 @@ damage_on_fire( player ) } } -zombie_damage( mod, hit_location, hit_origin, player ) +zombie_damage( mod, hit_location, hit_origin, player, is_dog ) { + + //ChrisP - 12/8 - no points for killing gassed zombies! + if(isDefined(self.marked_for_death)) + { + return; + } + if( !IsDefined( player ) ) { return; @@ -1158,12 +1767,12 @@ zombie_damage( mod, hit_location, hit_origin, player ) { if( self zombie_give_flame_damage_points() ) { - player maps\_zombiemode_score::player_add_points( "damage", mod, hit_location ); + player maps\_zombiemode_score::player_add_points( "damage", mod, hit_location,is_dog ); } } else { - player maps\_zombiemode_score::player_add_points( "damage", mod, hit_location ); + player maps\_zombiemode_score::player_add_points( "damage", mod, hit_location,is_dog ); } if ( mod == "MOD_GRENADE" || mod == "MOD_GRENADE_SPLASH" ) @@ -1267,6 +1876,22 @@ zombie_death_event( zombie ) { zombie waittill( "death" ); zombie thread zombie_eye_glow_stop(); + playsoundatposition ("death_vocals", zombie.origin); + // this is controlling killstreak voice over in the asylum.gsc + if(isdefined (zombie.attacker) && isplayer(zombie.attacker) && level.script != "nazi_zombie_prototype") + { + if(!isdefined ( zombie.attacker.killcounter)) + { + zombie.attacker.killcounter = 1; + } + else + { + zombie.attacker.killcounter ++; + } + + zombie.attacker notify("zom_kill"); + } + } // this is where zombies go into attack mode, and need different attributes set up @@ -1280,6 +1905,28 @@ zombie_setup_attack_properties() // push the player out of the way so they use traversals in the house. self PushPlayer( true ); + self.pathEnemyFightDist = 64; + self.meleeAttackDist = 64; + + //try to prevent always turning towards the enemy + self.maxsightdistsqrd = 128 * 128; + + // turn off transition anims + self.disableArrivals = true; + self.disableExits = true; +} + +// this is where zombies go into attack mode, and need different attributes set up +zombie_setup_attack_properties_dog() +{ + self zombie_history( "zombie_setup_attack_properties()" ); + + // allows zombie to attack again + self.ignoreall = false; + + // push the player out of the way so they use traversals in the house. + self PushPlayer( true ); + self.pathEnemyFightDist = 64; self.meleeAttackDist = 64; @@ -1288,6 +1935,7 @@ zombie_setup_attack_properties() self.disableExits = true; } + // the seeker logic for zombies find_flesh() { @@ -1306,7 +1954,118 @@ find_flesh() self.goalradius = 32; while( 1 ) { + + // try to split the zombies up when the bunch up + // see if a bunch zombies are already near my current target; if there's a bunch + // and I'm still far enough away, ignore my current target and go after another one +// near_zombies = getaiarray("axis"); +// same_enemy_count = 0; +// for (i = 0; i < near_zombies.size; i++) +// { +// if ( isdefined( near_zombies[i] ) && isalive( near_zombies[i] ) ) +// { +// if ( isdefined( near_zombies[i].favoriteenemy ) && isdefined( self.favoriteenemy ) +// && near_zombies[i].favoriteenemy == self.favoriteenemy ) +// { +// if ( distancesquared( near_zombies[i].origin, self.favoriteenemy.origin ) < 225 * 225 +// && distancesquared( near_zombies[i].origin, self.origin ) > 525 * 525) +// { +// same_enemy_count++; +// } +// } +// } +// } +// +// if (same_enemy_count > 12) +// { +// self.ignore_player = self.favoriteenemy; +// } + players = get_players(); + + // If playing single player, never ignore the player + if( players.size == 1 ) + { + self.ignore_player = undefined; + } + + player = get_closest_valid_player( self.origin, self.ignore_player ); + + if( !IsDefined( player ) ) + { + self zombie_history( "find flesh -> can't find player, continue" ); + if( IsDefined( self.ignore_player ) ) + { + self.ignore_player = undefined; + } + + wait( 1 ); + continue; + } + + self.ignore_player = undefined; + + self.favoriteenemy = player; + self thread zombie_pathing(); + + self.zombie_path_timer = GetTime() + ( RandomFloatRange( 1, 3 ) * 1000 ); + while( GetTime() < self.zombie_path_timer ) + { + wait( 0.1 ); + } + + self zombie_history( "find flesh -> bottom of loop" ); + + self notify( "zombie_acquire_enemy" ); + } +} + +find_flesh_dog() +{ + self endon( "death" ); + level endon( "intermission" ); + + if( level.intermission ) + { + return; + } + + self.ignore_player = undefined; + + self zombie_history( "find flesh -> start" ); + + self.goalradius = 32; + while( 1 ) + { + + // try to split the zombies up when the bunch up + // see if a bunch zombies are already near my current target; if there's a bunch + // and I'm still far enough away, ignore my current target and go after another one +// near_zombies = getaiarray("axis"); +// same_enemy_count = 0; +// for (i = 0; i < near_zombies.size; i++) +// { +// if ( isdefined( near_zombies[i] ) && isalive( near_zombies[i] ) ) +// { +// if ( isdefined( near_zombies[i].favoriteenemy ) && isdefined( self.favoriteenemy ) +// && near_zombies[i].favoriteenemy == self.favoriteenemy ) +// { +// if ( distancesquared( near_zombies[i].origin, self.favoriteenemy.origin ) < 225 * 225 +// && distancesquared( near_zombies[i].origin, self.origin ) > 525 * 525) +// { +// same_enemy_count++; +// } +// } +// } +// } +// +// if (same_enemy_count > 12) +// { +// self.ignore_player = self.favoriteenemy; +// } + + players = get_players(); + // If playing single player, never ignore the player if( players.size == 1 ) { @@ -1402,6 +2161,8 @@ zombie_pathing() self SetGoalPos( self.favoriteenemy.zombie_breadcrumbs[i] ); self waittill( "bad_path" ); + + self jitter_enemies_bad_breadcrumbs( i ); } self zombie_history( "find flesh -> no breadcrumbs to follow, bad_pathed out" ); @@ -1453,11 +2214,59 @@ zombie_pathing() } } + +jitter_enemies_bad_breadcrumbs( start_crumb ) +{ + trace_distance = 35; + jitter_distance = 2; + + index = start_crumb; + + while (isdefined(self.favoriteenemy.zombie_breadcrumbs[ index + 1 ])) + { + current_crumb = self.favoriteenemy.zombie_breadcrumbs[ index ]; + next_crumb = self.favoriteenemy.zombie_breadcrumbs[ index + 1 ]; + + angles = vectortoangles(current_crumb - next_crumb); + + right = anglestoright(angles); + left = anglestoright(angles + (0,180,0)); + + dist_pos = current_crumb + vectorScale( right, trace_distance ); + + trace = bulletTrace( current_crumb, dist_pos, true, undefined ); + vector = trace["position"]; + + if (distance(vector, current_crumb) < 17 ) + { + self.favoriteenemy.zombie_breadcrumbs[ index ] = current_crumb + vectorScale( left, jitter_distance ); + continue; + } + + + // try the other side + dist_pos = current_crumb + vectorScale( left, trace_distance ); + + trace = bulletTrace( current_crumb, dist_pos, true, undefined ); + vector = trace["position"]; + + if (distance(vector, current_crumb) < 17 ) + { + self.favoriteenemy.zombie_breadcrumbs[ index ] = current_crumb + vectorScale( right, jitter_distance ); + continue; + } + + index++; + } + +} + zombie_follow_enemy() { self endon( "death" ); self endon( "zombie_acquire_enemy" ); self endon( "bad_path" ); + level endon( "intermission" ); while( 1 ) @@ -1511,6 +2320,31 @@ zombie_eye_glow_stop() } } + +// When a Zombie spawns, set his eyes to glowing. +zombie_dog_eye_glow() +{ + if( IsDefined( level.zombie_eye_glow ) && !level.zombie_eye_glow ) + { + return; + } + + if( !IsDefined( self ) ) + { + return; + } + wait(.5); + + if(isDefined(level._effect["dog_eye_glow"] )) + { + self.fx_eye_glow = Spawn( "script_model", self GetTagOrigin( "TAG_EYE" ) ); + self.fx_eye_glow.angles = self GetTagAngles( "TAG_EYE" ); + self.fx_eye_glow SetModel( "tag_origin" ); + self.fx_eye_glow LinkTo( self, "TAG_EYE" ); + PlayFxOnTag( level._effect["eye_glow"], self.fx_eye_glow, "tag_origin" ); + } +} + // // DEBUG // @@ -1525,4 +2359,249 @@ zombie_history( msg ) self.zombie_history[self.zombie_history.size] = msg; #/ +} + +/* + Zombie Rise Stuff +*/ + +zombie_rise() +{ + self endon("death"); + self endon("no_rise"); + + while(!IsDefined(self.do_rise)) + { + wait_network_frame(); + } + + self do_zombie_rise(); +} + +/* +zombie_rise: +Zombies rise from the ground +*/ +do_zombie_rise() +{ + self endon("death"); + + self.zombie_rise_version = (RandomInt(99999) % 2) + 1; // equally choose between version 1 and verson 2 of the animations + if (self.zombie_move_speed != "walk") + { + // only do version 1 anims for "run" and "sprint" + self.zombie_rise_version = 1; + } + + self.in_the_ground = true; + + //self.zombie_rise_version = 1; // TESTING: override version + + self.anchor = spawn("script_origin", self.origin); + self.anchor.angles = self.angles; + self linkto(self.anchor); + + spots = GetStructArray("zombie_rise", "targetname"); + spot = random(spots); + + /# + if (GetDVarInt("zombie_rise_test")) + { + spot = SpawnStruct(); // I know this never gets deleted, but it's just for testing + spot.origin = (472, 240, 56); // TEST LOCATION + spot.angles = (0, 0, 0); + } + #/ + + anim_org = spot.origin; + anim_ang = spot.angles; + + //TODO: bbarnes: do a bullet trace to the ground so the structs don't have to be exactly on the ground. + + if (self.zombie_rise_version == 2) + { + anim_org = anim_org + (0, 0, -14); // version 2 animation starts 14 units below the ground + } + else + { + anim_org = anim_org + (0, 0, -45); // start the animation 45 units below the ground + } + + //self Teleport(anim_org, anim_ang); // we should get this working for MP + + self Hide(); + self.anchor moveto(anim_org, .05); + self.anchor waittill("movedone"); + + // face goal + target_org = maps\_zombiemode_spawner::get_desired_origin(); + if (IsDefined(target_org)) + { + anim_ang = VectorToAngles(target_org - self.origin); + self.anchor RotateTo((0, anim_ang[1], 0), .05); + self.anchor waittill("rotatedone"); + } + + self unlink(); + self.anchor delete(); + + self thread hide_pop(); // hack to hide the pop when the zombie gets to the start position before the anim starts + + level thread zombie_rise_death(self, spot); + spot thread zombie_rise_fx(self); + + //self animMode("nogravity"); + //self setFlaggedAnimKnoballRestart("rise", level.scr_anim["zombie"]["rise_walk"], %body, 1, .1, 1); // no "noclip" mode for these anim functions + + self AnimScripted("rise", self.origin, self.angles, self get_rise_anim()); + self animscripts\shared::DoNoteTracks("rise", ::handle_rise_notetracks, undefined, spot); + + self notify("rise_anim_finished"); + spot notify("stop_zombie_rise_fx"); + self.in_the_ground = false; + self notify("risen"); +} + +hide_pop() +{ + wait .5; + self Show(); +} + +handle_rise_notetracks(note, spot) +{ + // the anim notetracks control which death anim to play + // default to "deathin" (still in the ground) + + if (note == "deathout" || note == "deathhigh") + { + self.zombie_rise_death_out = true; + self notify("zombie_rise_death_out"); + + wait 2; + spot notify("stop_zombie_rise_fx"); + } +} + +/* +zombie_rise_death: +Track when the zombie should die, set the death anim, and stop the animscripted so he can die +*/ +zombie_rise_death(zombie, spot) +{ + //self.nodeathragdoll = true; + zombie.zombie_rise_death_out = false; + + zombie endon("rise_anim_finished"); + + while (zombie.health > 1) // health will only go down to 1 when playing animation with AnimScripted() + { + zombie waittill("damage", amount); + } + + spot notify("stop_zombie_rise_fx"); + + zombie.deathanim = zombie get_rise_death_anim(); + zombie StopAnimScripted(); // stop the anim so the zombie can die. death anim is handled by the anim scripts. +} + +/* +zombie_rise_fx: self is the script struct at the rise location +Play the fx as the zombie crawls out of the ground and thread another function to handle the dust falling +off when the zombie is out of the ground. +*/ +zombie_rise_fx(zombie) +{ + self thread zombie_rise_dust_fx(zombie); + self thread zombie_rise_burst_fx(); + playsoundatposition ("zombie_spawn", self.origin); + zombie endon("death"); + self endon("stop_zombie_rise_fx"); + wait 1; + if (zombie.zombie_move_speed != "sprint") + { + // wait longer before starting billowing fx if it's not a really fast animation + wait 1; + } +} + +zombie_rise_burst_fx() +{ + self endon("stop_zombie_rise_fx"); + self endon("rise_anim_finished"); + + + playfx(level._effect["rise_burst"],self.origin + ( 0,0,randomintrange(5,10) ) ); + wait(.25); + playfx(level._effect["rise_billow"],self.origin + ( randomintrange(-10,10),randomintrange(-10,10),randomintrange(5,10) ) ); + + + //burst_time = 10; // play dust fx for a max time + //interval = randomfloatrange(.15,.45); // wait this time in between playing the effect + + //for (t = 0; t < burst_time; t += interval) + //{ + // wait interval; + //} +} + +zombie_rise_dust_fx(zombie) +{ + dust_tag = "J_SpineUpper"; + + self endon("stop_zombie_rise_dust_fx"); + self thread stop_zombie_rise_dust_fx(zombie); + + dust_time = 7.5; // play dust fx for a max time + dust_interval = .1; //randomfloatrange(.1,.25); // wait this time in between playing the effect + + //TODO - add rising dust stuff ere + + for (t = 0; t < dust_time; t += dust_interval) + { + PlayfxOnTag(level._effect["rise_dust"], zombie, dust_tag); + wait dust_interval; + } +} + +stop_zombie_rise_dust_fx(zombie) +{ + zombie waittill("death"); + self notify("stop_zombie_rise_dust_fx"); +} + +/* +get_rise_anim: +Return a random rise animation based on a possible set of animations +*/ +get_rise_anim() +{ + ///* TESTING: put this block back in + speed = self.zombie_move_speed; + return random(level._zombie_rise_anims[self.zombie_rise_version][speed]); + //*/ + + //return %ai_zombie_traverse_ground_v1_crawlfast; + //return %ai_zombie_traverse_ground_v2_walk; + //return %ai_zombie_traverse_ground_v2_walk_altB; +} + +/* +get_rise_death_anim: +Return a random death animation based on a possible set of animations +*/ +get_rise_death_anim() +{ + possible_anims = []; + + if (self.zombie_rise_death_out) + { + possible_anims = level._zombie_rise_death_anims[self.zombie_rise_version]["out"]; + } + else + { + possible_anims = level._zombie_rise_death_anims[self.zombie_rise_version]["in"]; + } + + return random(possible_anims); } \ No newline at end of file diff --git a/raw/maps/_zombiemode_utility.gsc b/raw/maps/_zombiemode_utility.gsc index c3ef3566b..58a7521ab 100644 --- a/raw/maps/_zombiemode_utility.gsc +++ b/raw/maps/_zombiemode_utility.gsc @@ -5,15 +5,13 @@ init_utility() { // level thread edge_fog_start(); - level thread cheat_score(); - // level thread hudelem_count(); } get_enemy_count() { enemies = []; - enemies = GetAiArray( "axis" ); + enemies = GetAiSpeciesArray( "axis", "all" ); return enemies.size; } @@ -303,19 +301,25 @@ enable_trigger() // } //} + +//chris_p - fix bug with this not being an ent array! in_playable_area() { - trigger = GetEnt( "playable_area", "targetname" ); + trigger = GetEntarray( "playable_area", "targetname" ); if( !IsDefined( trigger ) ) { println( "No playable area trigger found! Assume EVERYWHERE is PLAYABLE" ); return true; } - - if( self IsTouching( trigger ) ) + + for(i=0;i kills) + { + //playsoundatposition ("ann_vox_killstreak", (0,0,0)); + //wait(3); + self thread do_player_vo("vox_killstreak", 9); + wait(1); + + //resets the killcounter and the timer + //self.killcounter = 0; + //timer = -1; + } + wait(0.1); + } + +// iprintlnbold ("Timer Is Out, Resetting Kills and Time"); + self.killcounter = 0; + self.timerIsrunning = 0; + + } \ No newline at end of file diff --git a/raw/maps/_zombiemode_weapons.gsc b/raw/maps/_zombiemode_weapons.gsc index 0307a3231..8f5bec9a1 100644 --- a/raw/maps/_zombiemode_weapons.gsc +++ b/raw/maps/_zombiemode_weapons.gsc @@ -10,7 +10,7 @@ init() treasure_chest_init(); } -add_zombie_weapon( weapon_name, hint, cost, ammo_cost ) +add_zombie_weapon( weapon_name, hint, cost, weaponVO, variation_count, ammo_cost ) { if( IsDefined( level.zombie_include_weapons ) && !IsDefined( level.zombie_include_weapons[weapon_name] ) ) { @@ -36,7 +36,7 @@ add_zombie_weapon( weapon_name, hint, cost, ammo_cost ) PrecacheString( hint ); struct = SpawnStruct(); - + if( !IsDefined( level.zombie_weapons ) ) { level.zombie_weapons = []; @@ -46,6 +46,8 @@ add_zombie_weapon( weapon_name, hint, cost, ammo_cost ) struct.weapon_classname = "weapon_" + weapon_name; struct.hint = hint; struct.cost = cost; + struct.sound = weaponVO; + struct.variation_count = variation_count; if( !IsDefined( ammo_cost ) ) { @@ -71,97 +73,102 @@ init_weapons() { // Zombify PrecacheItem( "zombie_melee" ); - + + // Pistols - add_zombie_weapon( "colt", &"ZOMBIE_WEAPON_COLT_50", 50 ); - add_zombie_weapon( "colt_dirty_harry", &"ZOMBIE_WEAPON_COLT_DH_100", 100 ); - add_zombie_weapon( "nambu", &"ZOMBIE_WEAPON_NAMBU_50", 50 ); - add_zombie_weapon( "sw_357", &"ZOMBIE_WEAPON_SW357_100", 100 ); - add_zombie_weapon( "tokarev", &"ZOMBIE_WEAPON_TOKAREV_50", 50 ); - add_zombie_weapon( "walther", &"ZOMBIE_WEAPON_WALTHER_50", 50 ); - add_zombie_weapon( "zombie_colt", &"ZOMBIE_WEAPON_ZOMBIECOLT_25", 25 ); - + add_zombie_weapon( "colt", &"ZOMBIE_WEAPON_COLT_50", 50, "vox_crappy", 4 ); + add_zombie_weapon( "colt_dirty_harry", &"ZOMBIE_WEAPON_COLT_DH_100", 100, "vox_crappy", 4 ); + add_zombie_weapon( "nambu", &"ZOMBIE_WEAPON_NAMBU_50", 50, "vox_crappy", 4 ); + add_zombie_weapon( "sw_357", &"ZOMBIE_WEAPON_SW357_100", 100, "vox_357", 5 ); + add_zombie_weapon( "tokarev", &"ZOMBIE_WEAPON_TOKAREV_50", 50, "vox_crappy", 4 ); + add_zombie_weapon( "walther", &"ZOMBIE_WEAPON_WALTHER_50", 50, "vox_crappy", 4 ); + add_zombie_weapon( "zombie_colt", &"ZOMBIE_WEAPON_ZOMBIECOLT_25", 25, "vox_crappy", 4 ); + // Bolt Action - add_zombie_weapon( "kar98k", &"ZOMBIE_WEAPON_KAR98K_200", 200 ); - add_zombie_weapon( "kar98k_bayonet", &"ZOMBIE_WEAPON_KAR98K_B_200", 200 ); - add_zombie_weapon( "mosin_rifle", &"ZOMBIE_WEAPON_MOSIN_200", 200 ); - add_zombie_weapon( "mosin_rifle_bayonet", &"ZOMBIE_WEAPON_MOSIN_B_200", 200 ); - add_zombie_weapon( "springfield", &"ZOMBIE_WEAPON_SPRINGFIELD_200", 200 ); - add_zombie_weapon( "springfield_bayonet", &"ZOMBIE_WEAPON_SPRINGFIELD_B_200", 200 ); - add_zombie_weapon( "type99_rifle", &"ZOMBIE_WEAPON_TYPE99_200", 200 ); - add_zombie_weapon( "type99_rifle_bayonet", &"ZOMBIE_WEAPON_TYPE99_B_200", 200 ); - + add_zombie_weapon( "kar98k", &"ZOMBIE_WEAPON_KAR98K_200", 200, "", 0); + add_zombie_weapon( "kar98k_bayonet", &"ZOMBIE_WEAPON_KAR98K_B_200", 200, "", 0); + add_zombie_weapon( "mosin_rifle", &"ZOMBIE_WEAPON_MOSIN_200", 200, "", 0); + add_zombie_weapon( "mosin_rifle_bayonet", &"ZOMBIE_WEAPON_MOSIN_B_200", 200, "", 0 ); + add_zombie_weapon( "springfield", &"ZOMBIE_WEAPON_SPRINGFIELD_200", 200, "", 0 ); + add_zombie_weapon( "springfield_bayonet", &"ZOMBIE_WEAPON_SPRINGFIELD_B_200", 200, "", 0 ); + add_zombie_weapon( "type99_rifle", &"ZOMBIE_WEAPON_TYPE99_200", 200, "", 0 ); + add_zombie_weapon( "type99_rifle_bayonet", &"ZOMBIE_WEAPON_TYPE99_B_200", 200, "", 0 ); + // Semi Auto - add_zombie_weapon( "gewehr43", &"ZOMBIE_WEAPON_GEWEHR43_600", 600 ); - add_zombie_weapon( "m1carbine", &"ZOMBIE_WEAPON_M1CARBINE_600", 600 ); - add_zombie_weapon( "m1carbine_bayonet", &"ZOMBIE_WEAPON_M1CARBINE_B_600", 600 ); - add_zombie_weapon( "m1garand", &"ZOMBIE_WEAPON_M1GARAND_600", 600 ); - add_zombie_weapon( "m1garand_bayonet", &"ZOMBIE_WEAPON_M1GARAND_B_600", 600 ); - add_zombie_weapon( "svt40", &"ZOMBIE_WEAPON_SVT40_600", 600 ); - + add_zombie_weapon( "gewehr43", &"ZOMBIE_WEAPON_GEWEHR43_600", 600, "" , 0 ); + add_zombie_weapon( "m1carbine", &"ZOMBIE_WEAPON_M1CARBINE_600", 600, "" , 0 ); + add_zombie_weapon( "m1carbine_bayonet", &"ZOMBIE_WEAPON_M1CARBINE_B_600", 600, "" , 0 ); + add_zombie_weapon( "m1garand", &"ZOMBIE_WEAPON_M1GARAND_600", 600, "" , 0 ); + add_zombie_weapon( "m1garand_bayonet", &"ZOMBIE_WEAPON_M1GARAND_B_600", 600, "" , 0 ); + add_zombie_weapon( "svt40", &"ZOMBIE_WEAPON_SVT40_600", 600, "" , 0 ); + // Grenades - add_zombie_weapon( "fraggrenade", &"ZOMBIE_WEAPON_FRAGGRENADE_250", 250 ); - add_zombie_weapon( "molotov", &"ZOMBIE_WEAPON_MOLOTOV_200", 200 ); - add_zombie_weapon( "stick_grenade", &"ZOMBIE_WEAPON_STICKGRENADE_250", 250 ); - add_zombie_weapon( "stielhandgranate", &"ZOMBIE_WEAPON_STIELHANDGRANATE_250", 250 ); - add_zombie_weapon( "type97_frag", &"ZOMBIE_WEAPON_TYPE97FRAG_250", 250 ); + add_zombie_weapon( "fraggrenade", &"ZOMBIE_WEAPON_FRAGGRENADE_250", 250, "" , 0 ); + add_zombie_weapon( "molotov", &"ZOMBIE_WEAPON_MOLOTOV_200", 200, "vox_crappy", 4 ); + add_zombie_weapon( "stick_grenade", &"ZOMBIE_WEAPON_STICKGRENADE_250", 250, "" , 0 ); + add_zombie_weapon( "stielhandgranate", &"ZOMBIE_WEAPON_STIELHANDGRANATE_250", 250, "" , 0 ); + add_zombie_weapon( "type97_frag", &"ZOMBIE_WEAPON_TYPE97FRAG_250", 250, "" , 0 ); // Scoped - add_zombie_weapon( "kar98k_scoped_zombie", &"ZOMBIE_WEAPON_KAR98K_S_750", 750 ); - add_zombie_weapon( "kar98k_scoped_bayonet_zombie", &"ZOMBIE_WEAPON_KAR98K_S_B_750", 750 ); - add_zombie_weapon( "mosin_rifle_scoped_zombie", &"ZOMBIE_WEAPON_MOSIN_S_750", 750 ); - add_zombie_weapon( "mosin_rifle_scoped_bayonet_zombie", &"ZOMBIE_WEAPON_MOSIN_S_B_750", 750 ); - add_zombie_weapon( "ptrs41_zombie", &"ZOMBIE_WEAPON_PTRS41_750", 750 ); - add_zombie_weapon( "springfield_scoped_zombie", &"ZOMBIE_WEAPON_SPRINGFIELD_S_750", 750 ); - add_zombie_weapon( "springfield_scoped_bayonet_zombie", &"ZOMBIE_WEAPON_SPRINGFIELD_S_B_750", 750 ); - add_zombie_weapon( "type99_rifle_scoped_zombie", &"ZOMBIE_WEAPON_TYPE99_S_750", 750 ); - add_zombie_weapon( "type99_rifle_scoped_bayonet_zombie", &"ZOMBIE_WEAPON_TYPE99_S_B_750", 750 ); - - // Full Auto - add_zombie_weapon( "mp40", &"ZOMBIE_WEAPON_MP40_1000", 1000 ); - add_zombie_weapon( "ppsh", &"ZOMBIE_WEAPON_PPSH_2000", 2000 ); - add_zombie_weapon( "stg44", &"ZOMBIE_WEAPON_STG44_1200", 1200 ); - add_zombie_weapon( "thompson", &"ZOMBIE_WEAPON_THOMPSON_1500", 1500 ); - add_zombie_weapon( "type100_smg", &"ZOMBIE_WEAPON_TYPE100_1000", 1000 ); - - // Shotguns - add_zombie_weapon( "doublebarrel", &"ZOMBIE_WEAPON_DOUBLEBARREL_1200", 1200 ); - add_zombie_weapon( "doublebarrel_sawed_grip", &"ZOMBIE_WEAPON_DOUBLEBARREL_SAWED_1200", 1200 ); - add_zombie_weapon( "shotgun", &"ZOMBIE_WEAPON_SHOTGUN_1500", 1500 ); - - // Heavy Machineguns - add_zombie_weapon( "30cal", &"ZOMBIE_WEAPON_30CAL_3000", 3000 ); - add_zombie_weapon( "bar", &"ZOMBIE_WEAPON_BAR_1800", 1800 ); - add_zombie_weapon( "dp28", &"ZOMBIE_WEAPON_DP28_2250", 2250 ); - add_zombie_weapon( "fg42", &"ZOMBIE_WEAPON_FG42_1200", 1500 ); - add_zombie_weapon( "fg42_scoped", &"ZOMBIE_WEAPON_FG42_S_1200", 1500 ); - add_zombie_weapon( "mg42", &"ZOMBIE_WEAPON_MG42_1200", 3000 ); - add_zombie_weapon( "type99_lmg", &"ZOMBIE_WEAPON_TYPE99_LMG_1750", 1750 ); - - // Grenade Launcher - add_zombie_weapon( "m1garand_gl", &"ZOMBIE_WEAPON_M1GARAND_GL_1200", 1200 ); - add_zombie_weapon( "mosin_launcher", &"ZOMBIE_WEAPON_MOSIN_GL_1200", 1200 ); - - // Bipods - add_zombie_weapon( "30cal_bipod", &"ZOMBIE_WEAPON_30CAL_BIPOD_3500", 3500 ); - add_zombie_weapon( "bar_bipod", &"ZOMBIE_WEAPON_BAR_BIPOD_2500", 2500 ); - add_zombie_weapon( "dp28_bipod", &"ZOMBIE_WEAPON_DP28_BIPOD_2500", 2500 ); - add_zombie_weapon( "fg42_bipod", &"ZOMBIE_WEAPON_FG42_BIPOD_2000", 2000 ); - add_zombie_weapon( "mg42_bipod", &"ZOMBIE_WEAPON_MG42_BIPOD_3250", 3250 ); - add_zombie_weapon( "type99_lmg_bipod", &"ZOMBIE_WEAPON_TYPE99_LMG_BIPOD_2250", 2250 ); - - // Rocket Launchers - add_zombie_weapon( "bazooka", &"ZOMBIE_WEAPON_BAZOOKA_2000", 2000 ); - add_zombie_weapon( "panzerschrek", &"ZOMBIE_WEAPON_PANZERSCHREK_2000", 2000 ); - - // Flamethrower - add_zombie_weapon( "m2_flamethrower_zombie", &"ZOMBIE_WEAPON_M2_FLAMETHROWER_3000", 3000 ); - - // Special - add_zombie_weapon( "mortar_round", &"ZOMBIE_WEAPON_MORTARROUND_2000", 2000 ); - add_zombie_weapon( "satchel_charge", &"ZOMBIE_WEAPON_SATCHEL_2000", 2000 ); - add_zombie_weapon( "ray_gun", &"ZOMBIE_WEAPON_RAYGUN_10000", 10000 ); + add_zombie_weapon( "kar98k_scoped_zombie", &"ZOMBIE_WEAPON_KAR98K_S_750", 750, "vox_sniper", 5); + add_zombie_weapon( "kar98k_scoped_bayonet_zombie", &"ZOMBIE_WEAPON_KAR98K_S_B_750", 750, "vox_sniper", 5); + add_zombie_weapon( "mosin_rifle_scoped_zombie", &"ZOMBIE_WEAPON_MOSIN_S_750", 750, "vox_sniper", 5); + add_zombie_weapon( "mosin_rifle_scoped_bayonet_zombie", &"ZOMBIE_WEAPON_MOSIN_S_B_750", 750, "vox_sniper", 5); + add_zombie_weapon( "ptrs41_zombie", &"ZOMBIE_WEAPON_PTRS41_750", 750, "vox_sniper", 5); + add_zombie_weapon( "springfield_scoped_zombie", &"ZOMBIE_WEAPON_SPRINGFIELD_S_750", 750, "vox_sniper", 5); + add_zombie_weapon( "springfield_scoped_bayonet_zombie", &"ZOMBIE_WEAPON_SPRINGFIELD_S_B_750", 750, "vox_sniper", 5); + add_zombie_weapon( "type99_rifle_scoped_zombie", &"ZOMBIE_WEAPON_TYPE99_S_750", 750, "vox_sniper", 5); + add_zombie_weapon( "type99_rifle_scoped_bayonet_zombie", &"ZOMBIE_WEAPON_TYPE99_S_B_750", 750, "vox_sniper", 5); + // Full Auto + add_zombie_weapon( "mp40", &"ZOMBIE_WEAPON_MP40_1000", 1000, "", 0 ); + add_zombie_weapon( "ppsh", &"ZOMBIE_WEAPON_PPSH_2000", 2000, "", 0 ); + add_zombie_weapon( "stg44", &"ZOMBIE_WEAPON_STG44_1200", 1200, "", 0 ); + add_zombie_weapon( "thompson", &"ZOMBIE_WEAPON_THOMPSON_1500", 1500, "", 0 ); + add_zombie_weapon( "type100_smg", &"ZOMBIE_WEAPON_TYPE100_1000", 1000, "", 0 ); + + // Shotguns + add_zombie_weapon( "doublebarrel", &"ZOMBIE_WEAPON_DOUBLEBARREL_1200", 1200, "vox_shotgun", 4); + add_zombie_weapon( "doublebarrel_sawed_grip", &"ZOMBIE_WEAPON_DOUBLEBARREL_SAWED_1200", 1200, "vox_shotgun", 4); + add_zombie_weapon( "shotgun", &"ZOMBIE_WEAPON_SHOTGUN_1500", 1500, "vox_shotgun", 4); + + // Heavy Machineguns + add_zombie_weapon( "30cal", &"ZOMBIE_WEAPON_30CAL_3000", 3000, "vox_mg", 5 ); + add_zombie_weapon( "bar", &"ZOMBIE_WEAPON_BAR_1800", 1800, "vox_mg", 5 ); + add_zombie_weapon( "dp28", &"ZOMBIE_WEAPON_DP28_2250", 2250, "vox_mg" , 5 ); + add_zombie_weapon( "fg42", &"ZOMBIE_WEAPON_FG42_1200", 1500, "vox_mg" , 5 ); + add_zombie_weapon( "fg42_scoped", &"ZOMBIE_WEAPON_FG42_S_1200", 1500, "vox_mg" , 5 ); + add_zombie_weapon( "mg42", &"ZOMBIE_WEAPON_MG42_1200", 3000, "vox_mg" , 5 ); + add_zombie_weapon( "type99_lmg", &"ZOMBIE_WEAPON_TYPE99_LMG_1750", 1750, "vox_mg" , 5 ); + + // Grenade Launcher + add_zombie_weapon( "m1garand_gl_zombie", &"ZOMBIE_WEAPON_M1GARAND_GL_1200", 1200, "", 0 ); + add_zombie_weapon( "mosin_launcher_zombie", &"ZOMBIE_WEAPON_MOSIN_GL_1200", 1200, "", 0 ); + + // Bipods + add_zombie_weapon( "30cal_bipod", &"ZOMBIE_WEAPON_30CAL_BIPOD_3500", 3500, "vox_mg", 5 ); + add_zombie_weapon( "bar_bipod", &"ZOMBIE_WEAPON_BAR_BIPOD_2500", 2500, "vox_mg", 5 ); + add_zombie_weapon( "dp28_bipod", &"ZOMBIE_WEAPON_DP28_BIPOD_2500", 2500, "vox_mg", 5 ); + add_zombie_weapon( "fg42_bipod", &"ZOMBIE_WEAPON_FG42_BIPOD_2000", 2000, "vox_mg", 5 ); + add_zombie_weapon( "mg42_bipod", &"ZOMBIE_WEAPON_MG42_BIPOD_3250", 3250, "vox_mg", 5 ); + add_zombie_weapon( "type99_lmg_bipod", &"ZOMBIE_WEAPON_TYPE99_LMG_BIPOD_2250", 2250, "vox_mg", 5 ); + + // Rocket Launchers + add_zombie_weapon( "bazooka", &"ZOMBIE_WEAPON_BAZOOKA_2000", 2000, "", 4 ); + add_zombie_weapon( "panzerschrek_zombie", &"ZOMBIE_WEAPON_PANZERSCHREK_2000", 2000, "", 4 ); + + // Flamethrower + add_zombie_weapon( "m2_flamethrower_zombie", &"ZOMBIE_WEAPON_M2_FLAMETHROWER_3000", 3000, "vox_flame", 5); + + // Special + add_zombie_weapon( "mortar_round", &"ZOMBIE_WEAPON_MORTARROUND_2000", 2000, "" ); + add_zombie_weapon( "satchel_charge", &"ZOMBIE_WEAPON_SATCHEL_2000", 2000, "" ); + add_zombie_weapon( "ray_gun", &"ZOMBIE_WEAPON_RAYGUN_10000", 10000, "vox_raygun", 5 ); + + if(level.script != "nazi_zombie_prototype") + { + Precachemodel("zombie_teddybear"); + } // ONLY 1 OF THE BELOW SHOULD BE ALLOWED add_limited_weapon( "m2_flamethrower_zombie", 1 ); } @@ -200,10 +207,10 @@ init_weapon_cabinet() { // the triggers which are targeted at doors weapon_cabs = GetEntArray( "weapon_cabinet_use", "targetname" ); - + for( i = 0; i < weapon_cabs.size; i++ ) { - + weapon_cabs[i] SetHintString( &"ZOMBIE_CABINET_OPEN_1500" ); weapon_cabs[i] setCursorHint( "HINT_NOICON" ); weapon_cabs[i] UseTriggerRequireLookAt(); @@ -234,13 +241,59 @@ get_ammo_cost( weapon_name ) return level.zombie_weapons[weapon_name].ammo_cost; } + + // for the random weapon chest treasure_chest_init() { - // the triggers which are targeted at chests - chests = GetEntArray( "treasure_chest_use", "targetname" ); + flag_init("moving_chest_enabled"); + flag_init("moving_chest_now"); + + + level.chests = GetEntArray( "treasure_chest_use", "targetname" ); - array_thread( chests, ::treasure_chest_think ); + if (level.chests.size > 1) + { + + flag_set("moving_chest_enabled"); + + while ( 1 ) + { + level.chests = array_randomize( level.chests ); + + if ( !IsDefined( level.chests[0].script_noteworthy ) || ( level.chests[0].script_noteworthy != "start_chest" ) ) + { + break; + } + } + + level.chest_index = 0; + + //init time chest accessed amount. + + if(level.script != "nazi_zombie_prototype") + { + level.chest_accessed = 0; + } + + for (i = 0; i < level.chests.size; i++) + { + if (!IsDefined(level.chests[i].script_noteworthy) || (level.chests[i].script_noteworthy != "start_chest")) + { + level.chests[i] hide_chest(); + + } + else + { + level.chest_index = i; + rubble = getent(level.chests[i].script_noteworthy + "_rubble", "script_noteworthy"); + rubble hide(); + } + + } + } + + array_thread( level.chests, ::treasure_chest_think ); } set_treasure_chest_cost( cost ) @@ -248,6 +301,60 @@ set_treasure_chest_cost( cost ) level.zombie_treasure_chest_cost = cost; } +hide_chest() +{ + pieces = self get_chest_pieces(); + + for(i=0;i= self.zombie_cost ) + if( is_player_valid( user ) && user.score >= cost ) { - user maps\_zombiemode_score::minus_to_player_score( self.zombie_cost ); + user maps\_zombiemode_score::minus_to_player_score( cost ); break; } - + wait 0.05; } - + // trigger_use->script_brushmodel lid->script_origin in radiant lid = getent( self.target, "targetname" ); weapon_spawn_org = getent( lid.target, "targetname" ); - + //open the lid lid thread treasure_chest_lid_open(); - + // SRS 9/3/2008: added to help other functions know if we timed out on grabbing the item self.timedOut = false; - + // mario kart style weapon spawning weapon_spawn_org thread treasure_chest_weapon_spawn( self, user ); - + // the glowfx weapon_spawn_org thread treasure_chest_glowfx(); - + // take away usability until model is done randomizing self disable_trigger(); - + weapon_spawn_org waittill( "randomization_done" ); - self.grab_weapon_hint = true; - level thread treasure_chest_user_hint( self, user ); - self sethintstring( &"ZOMBIE_TRADE_WEAPONS" ); - self setCursorHint( "HINT_NOICON" ); - self setvisibletoplayer( user ); - - self enable_trigger(); - self thread treasure_chest_timeout(); - - // make sure the guy that spent the money gets the item - // SRS 9/3/2008: ...or item goes back into the box if we time out - while( 1 ) + if (flag("moving_chest_now")) { - self waittill( "trigger", grabber ); - - if( grabber == user || grabber == level ) + //user thread treasure_chest_move_vo(); + self treasure_chest_move(lid); + + } + else + { + // Let the player grab the weapon and re-enable the box // + + self.grab_weapon_hint = true; + level thread treasure_chest_user_hint( self, user ); + self sethintstring( &"ZOMBIE_TRADE_WEAPONS" ); + self setCursorHint( "HINT_NOICON" ); + self setvisibletoplayer( user ); + + self enable_trigger(); + self thread treasure_chest_timeout(); + + // make sure the guy that spent the money gets the item + // SRS 9/3/2008: ...or item goes back into the box if we time out + while( 1 ) { - if( grabber == user && is_player_valid( user ) ) + self waittill( "trigger", grabber ); + + if( grabber == user || grabber == level ) { - self notify( "user_grabbed_weapon" ); - user thread treasure_chest_give_weapon( weapon_spawn_org.weapon_string ); - break; + + + if( grabber == user && is_player_valid( user ) ) + { + self notify( "user_grabbed_weapon" ); + user thread treasure_chest_give_weapon( weapon_spawn_org.weapon_string ); + break; + } + else if( grabber == level ) + { + // it timed out + self.timedOut = true; + break; + } } - else if( grabber == level ) + + wait 0.05; + } + + self.grab_weapon_hint = false; + + weapon_spawn_org notify( "weapon_grabbed" ); + + //increase counter of amount of time weapon grabbed. + + if(level.script != "nazi_zombie_prototype") + { + level.chest_accessed += 1; + } + self disable_trigger(); + + // spend cash here... + // give weapon here... + lid thread treasure_chest_lid_close( self.timedOut ); + + //Chris_P + //magic box dissapears and moves to a new spot after a predetermined number of uses + + wait 3; + self enable_trigger(); + self setvisibletoall(); + } + + flag_clear("moving_chest_now"); + self thread treasure_chest_think(); +} + +treasure_chest_move_vo() +{ + + self endon("disconnect"); + + index = maps\_zombiemode_weapons::get_player_index(self); + sound = undefined; + + if(!isdefined (level.player_is_speaking)) + { + level.player_is_speaking = 0; + } + + sound = "plr_" + index + "_vox_box_move"; + + //This keeps multiple voice overs from playing on the same player (both killstreaks and headshots). + if (level.player_is_speaking != 1 && isDefined(sound)) + { + level.player_is_speaking = 1; + self playsound(sound, "sound_done"); + self waittill("sound_done"); + level.player_is_speaking = 0; + } + +} + + +treasure_chest_move(lid) +{ + level waittill("weapon_fly_away_start"); + + players = get_players(); + array_thread(players, ::play_crazi_sound); + + level waittill("weapon_fly_away_end"); + + lid thread treasure_chest_lid_close(false); + self setvisibletoall(); + + fake_pieces = []; + pieces = self get_chest_pieces(); + + for(i=0;i= level.chests.size) + { + level.chest_index = 0; + } + + //make sure the chest doesn't go back to old location/ + while(level.chests[level.chest_index].origin == level.chests[old_chest_index].origin) + { + level.chest_index++; + } + + + level.verify_chest = false; + //wait(3); + //make sure level is asylum and make magic box only appear in location player have open, it's off by default + //also make sure box doesn't respawn in old location. + while(level.verify_chest == false && getdvar("magic_box_explore_only") == "1" && level.script == "nazi_zombie_asylum") + { + + + level.chest_index++; + if (level.chest_index >= level.chests.size) + { + level.chest_index = 0; + } + verify_chest_is_open(); + wait(0.01); + + + while(level.chests[level.chest_index].origin == level.chests[old_chest_index].origin) + { + level.chest_index++; + } + + } + level.chests[level.chest_index] show_magic_box(); + + //turn off magic box light. + level notify("magic_box_light_switch"); + rubble = getent(level.chests[level.chest_index].script_noteworthy + "_rubble", "script_noteworthy"); + rubble hide(); +} + +rotateroll_box() +{ + angles = 40; + angles2 = 0; + //self endon("movedone"); + while(isdefined(self)) + { + self RotateRoll(angles + angles2, 0.5); + wait(0.7); + angles2 = 40; + self RotateRoll(angles * -2, 0.5); + wait(0.7); + } + + + +} +//verify if that magic box is open to players or not. +verify_chest_is_open() +{ + + for(i = 0; i < 5; i++) + { + if(isdefined(level.open_chest_location[i])) + { + if(level.open_chest_location[i] == level.chests[level.chest_index].script_noteworthy) { - // it timed out - self.timedOut = true; - break; + level.verify_chest = true; + return; } } - - wait 0.05; + } - self.grab_weapon_hint = false; - - weapon_spawn_org notify( "weapon_grabbed" ); - - self disable_trigger(); - - // spend cash here... - // give weapon here... - lid thread treasure_chest_lid_close( self.timedOut ); - - wait 3; - self enable_trigger(); - self setvisibletoall(); - self thread treasure_chest_think(); + + level.verify_chest = false; + + } treasure_chest_user_hint( trigger, user ) @@ -387,7 +713,7 @@ treasure_chest_user_hint( trigger, user ) treasure_chest_timeout() { self endon( "user_grabbed_weapon" ); - + wait( 12 ); self notify( "trigger", level ); } @@ -396,9 +722,9 @@ treasure_chest_lid_open() { openRoll = 105; openTime = 0.5; - + self RotateRoll( 105, openTime, ( openTime * 0.5 ) ); - + play_sound_at_pos( "open_chest", self.origin ); play_sound_at_pos( "music_chest", self.origin ); } @@ -407,7 +733,7 @@ treasure_chest_lid_close( timedOut ) { closeRoll = -105; closeTime = 0.5; - + self RotateRoll( closeRoll, closeTime, ( closeTime * 0.5 ) ); play_sound_at_pos( "close_chest", self.origin ); } @@ -425,6 +751,12 @@ treasure_chest_ChooseRandomWeapon( player ) continue; } + //chrisP - make sure the chest doesn't give the player a bouncing betty + if(keys[i] == "mine_bouncing_betty") + { + continue; + } + filtered[filtered.size] = keys[i]; } @@ -442,8 +774,20 @@ treasure_chest_ChooseRandomWeapon( player ) { count++; } + + // check for last stand weapons that might not be on the player at the time + if (players[i] maps\_laststand::player_is_in_laststand()) + { + for( m = 0; m < players[i].weaponInventory.size; m++ ) + { + if (players[i].weaponInventory[m] == keys2[q]) + { + count++; + } + } + } } - + if( count == level.limited_weapons[keys2[q]] ) { filtered = array_remove( filtered, keys2[q] ); @@ -460,9 +804,9 @@ treasure_chest_weapon_spawn( chest, player ) // spawn the model model = spawn( "script_model", self.origin ); model.angles = self.angles +( 0, 90, 0 ); - + floatHeight = 40; - + //move it up model moveto( model.origin +( 0, 0, floatHeight ), 3, 2, 0.9 ); @@ -473,10 +817,7 @@ treasure_chest_weapon_spawn( chest, player ) rand = undefined; for( i = 0; i < 40; i++ ) { - rand = treasure_chest_ChooseRandomWeapon( player ); - modelname = GetWeaponModel( rand ); - model setmodel( modelname ); - + if( i < 20 ) { wait( 0.05 ); @@ -493,26 +834,88 @@ treasure_chest_weapon_spawn( chest, player ) { wait( 0.3 ); } + + rand = treasure_chest_ChooseRandomWeapon( player ); + modelname = GetWeaponModel( rand ); + model setmodel( modelname ); + + } - self notify( "randomization_done" ); self.weapon_string = rand; // here's where the org get it's weapon type for the give function - - self waittill( "weapon_grabbed" ); - - if( !chest.timedOut ) + + // random change of getting the joker that moves the box + rand = Randomint(100); + + + //increase the chance of joker appearing from 0-100 based on amount of the time chest has been opened. + if(level.script != "nazi_zombie_prototype" && getdvar("magic_chest_movable") == "1") { - model Delete(); + + if(level.chest_accessed < 5) + { + chance_of_joker = 0; + } + else + { + chance_of_joker = level.chest_accessed + 3; + } + + if (rand <= chance_of_joker) + { + model SetModel("zombie_teddybear"); + // model rotateto(level.chests[level.chest_index].angles, 0.01); + //wait(1); + model.angles = level.chests[level.chest_index].angles; + wait 1; + flag_set("moving_chest_now"); + level.chest_accessed = 0; + + player maps\_zombiemode_score::add_to_player_score( 950 ); + + } + + } + + self notify( "randomization_done" ); + + if (flag("moving_chest_now")) + { + wait .5; // we need a wait here before this notify + level notify("weapon_fly_away_start"); + wait 2; + model MoveZ(500, 4, 3); + model waittill("movedone"); + model delete(); + self notify( "box_moving" ); + level notify("weapon_fly_away_end"); } - // SRS 9/3/2008: if we timed out, move the weapon back into the box instead of deleting it else { - putBackTime = 0.3; - model MoveTo( model.origin - ( 0, 0, floatHeight ), putBackTime, ( putBackTime * 0.5 ) ); - wait( putBackTime ); - - model Delete(); + model thread timer_til_despawn(floatHeight); + self waittill( "weapon_grabbed" ); + + if( !chest.timedOut ) + { + model Delete(); + } + + + } +} +timer_til_despawn(floatHeight) +{ + + + // SRS 9/3/2008: if we timed out, move the weapon back into the box instead of deleting it + putBackTime = 12; + self MoveTo( self.origin - ( 0, 0, floatHeight ), putBackTime, ( putBackTime * 0.5 ) ); + wait( putBackTime ); + + if(isdefined(self)) + { + self Delete(); } } @@ -521,11 +924,11 @@ treasure_chest_glowfx() fxObj = spawn( "script_model", self.origin +( 0, 0, 0 ) ); fxobj setmodel( "tag_origin" ); fxobj.angles = self.angles +( 90, 0, 0 ); - + playfxontag( level._effect["chest_light"], fxObj, "tag_origin" ); - self waittill( "weapon_grabbed" ); - + self waittill_any( "weapon_grabbed", "box_moving" ); + fxobj delete(); } @@ -540,10 +943,15 @@ treasure_chest_give_weapon( weapon_string ) { current_weapon = self getCurrentWeapon(); // get hiss current weapon + if ( current_weapon == "mine_bouncing_betty" ) + { + current_weapon = undefined; + } + if( isdefined( current_weapon ) ) { if( !( weapon_string == "fraggrenade" || weapon_string == "stielhandgranate" || weapon_string == "molotov" ) ) - self TakeWeapon( current_weapon ); + self TakeWeapon( current_weapon ); } } @@ -567,7 +975,11 @@ treasure_chest_give_weapon( weapon_string ) self GiveWeapon( weapon_string, 0 ); self GiveMaxAmmo( weapon_string ); - self SwitchToWeapon( weapon_string ); + self SwitchToWeapon( weapon_string ); + + play_weapon_vo(weapon_string); + + // self playsound (level.zombie_weapons[weapon_string].sound); } weapon_cabinet_think() @@ -579,9 +991,9 @@ weapon_cabinet_think() { doors[i] NotSolid(); } - + self.has_been_used_once = false; - + while( 1 ) { self waittill( "trigger", player ); @@ -593,7 +1005,7 @@ weapon_cabinet_think() } cost = 1500; - if( self.has_been_used_once ) + if( self.has_been_used_once) { cost = get_weapon_cost( self.zombie_weapon_upgrade ); } @@ -606,13 +1018,13 @@ weapon_cabinet_think() } ammo_cost = get_ammo_cost( self.zombie_weapon_upgrade ); - + if( !is_player_valid( player ) ) { player thread ignore_triggers( 0.5 ); continue; } - + if( self.has_been_used_once ) { player_has_weapon = false; @@ -660,14 +1072,14 @@ weapon_cabinet_think() self.has_been_used_once = true; self play_sound_on_ent( "purchase" ); - + self SetHintString( &"ZOMBIE_WEAPONCOSTAMMO", cost, ammo_cost ); - // self SetHintString( get_weapon_hint( self.zombie_weapon_upgrade ) ); + // self SetHintString( get_weapon_hint( self.zombie_weapon_upgrade ) ); self setCursorHint( "HINT_NOICON" ); player maps\_zombiemode_score::minus_to_player_score( self.zombie_cost ); - + doors = getentarray( self.target, "targetname" ); - + for( i = 0; i < doors.size; i++ ) { if( doors[i].model == "dest_test_cabinet_ldoor_dmg0" ) @@ -704,7 +1116,7 @@ weapon_cabinet_think() } else // not enough money { - play_sound_on_ent( "no_purchase" ); + play_sound_on_ent( "no_purchase" ); } } } @@ -726,6 +1138,12 @@ weapon_spawn_think() cost = get_weapon_cost( self.zombie_weapon_upgrade ); ammo_cost = get_ammo_cost( self.zombie_weapon_upgrade ); is_grenade = (WeaponType( self.zombie_weapon_upgrade ) == "grenade"); + if(is_grenade) + { + ammo_cost = cost; + + } + self.first_time_triggered = false; @@ -733,7 +1151,7 @@ weapon_spawn_think() { self waittill( "trigger", player ); // if not first time and they have the weapon give ammo - + if( !is_player_valid( player ) ) { player thread ignore_triggers( 0.5 ); @@ -745,7 +1163,14 @@ weapon_spawn_think() wait( 0.1 ); continue; } - + + if(isdefined(player.is_drinking)) + { + wait(0.1); + continue; + + } + player_has_weapon = false; weapons = player GetWeaponsList(); if( IsDefined( weapons ) ) @@ -758,7 +1183,7 @@ weapon_spawn_think() } } } - + if( !player_has_weapon ) { // else make the weapon show and give it @@ -767,16 +1192,16 @@ weapon_spawn_think() if( self.first_time_triggered == false ) { model = getent( self.target, "targetname" ); -// model show(); + // model show(); model thread weapon_show( player ); self.first_time_triggered = true; - + if(!is_grenade) { self SetHintString( &"ZOMBIE_WEAPONCOSTAMMO", cost, ammo_cost ); } } - + player maps\_zombiemode_score::minus_to_player_score( cost ); player weapon_give( self.zombie_weapon_upgrade ); @@ -794,7 +1219,7 @@ weapon_spawn_think() if( self.first_time_triggered == false ) { model = getent( self.target, "targetname" ); -// model show(); + // model show(); model thread weapon_show( player ); self.first_time_triggered = true; if(!is_grenade) @@ -802,7 +1227,7 @@ weapon_spawn_think() self SetHintString( &"ZOMBIE_WEAPONCOSTAMMO", cost, ammo_cost ); } } - + ammo_given = player ammo_give( self.zombie_weapon_upgrade ); if( ammo_given ) { @@ -856,7 +1281,6 @@ weapon_show( player ) weapon_give( weapon ) { - primaryWeapons = self GetWeaponsListPrimaries(); current_weapon = undefined; @@ -865,6 +1289,11 @@ weapon_give( weapon ) { current_weapon = self getCurrentWeapon(); // get his current weapon + if ( current_weapon == "mine_bouncing_betty" ) + { + current_weapon = undefined; + } + if( isdefined( current_weapon ) ) { if( !( weapon == "fraggrenade" || weapon == "stielhandgranate" || weapon == "molotov" ) ) @@ -894,7 +1323,36 @@ weapon_give( weapon ) self GiveWeapon( weapon, 0 ); self GiveMaxAmmo( weapon ); self SwitchToWeapon( weapon ); + play_weapon_vo(weapon); +} +play_weapon_vo(weapon) +{ + index = get_player_index(self); + if(!IsDefined (level.zombie_weapons[weapon].sound)) + { + return; + } + // iprintlnbold (index); + if( level.zombie_weapons[weapon].sound != "") + { + sound = "plr_" +index +"_" + level.zombie_weapons[weapon].sound + "_" + randomintrange(0, level.zombie_weapons[weapon].variation_count); + self playsound (sound); + } +} +get_player_index(player) +{ + players = get_players(); + for(i=0; i= stockMax ) { @@ -925,7 +1383,6 @@ ammo_give( weapon ) give_ammo = true; // give the ammo to the player } } - } else { @@ -941,7 +1398,6 @@ ammo_give( weapon ) } } - if( give_ammo ) { self playsound( "cha_ching" ); @@ -954,3 +1410,75 @@ ammo_give( weapon ) return false; } } + +play_VO_forweapon(weapon) +{ + sound = undefined; + // iprintlnbold(weapon); + switch(weapon) + { + case "ray_gun": + sound = "plr_0_vox_raygun"; + break; + + case "30cal": + sound = "plr_0_vox_mg"; + break; + + case "30cal_bipod": + sound = "plr_0_vox_mg"; + break; + + case "panzerschrek": + sound = "plr_0_vox_mg"; + break; + + case "shotgun": + sound = "plr_0_vox_shotgun"; + break; + + case "doublebarrel": + sound = "plr_0_vox_shotgun"; + break; + + case "doublebarrel_sawed_grip": + sound = "plr_0_vox_shotgun"; + break; + + case "mg42": + sound = "plr_0_vox_mg"; + break; + + case "mg42_bipod": + sound = "plr_0_vox_mg"; + break; + + case "m2_flamethrower_zombie": + sound = "plr_0_vox_shotgun"; + break; + + case "fg42": + sound = "plr_0_vox_mg"; + break; + + case "fg42_bipod": + sound = "plr_0_vox_mg"; + break; + + + default: + return; + + } + + if(isdefined(sound)) + { + self playsound (sound); + + } + + +} + + + diff --git a/raw/maps/createart/nazi_zombie_asylum_art.gsc b/raw/maps/createart/nazi_zombie_asylum_art.gsc index 2399f845f..f67558b8b 100644 --- a/raw/maps/createart/nazi_zombie_asylum_art.gsc +++ b/raw/maps/createart/nazi_zombie_asylum_art.gsc @@ -7,13 +7,13 @@ main() // *Fog section* - setdvar("scr_fog_exp_halfplane", "835"); + setdvar("scr_fog_exp_halfplane", "416"); setdvar("scr_fog_exp_halfheight", "200"); - setdvar("scr_fog_nearplane", "165"); + setdvar("scr_fog_nearplane", "167"); setdvar("scr_fog_red", "0.5"); setdvar("scr_fog_green", "0.5"); setdvar("scr_fog_blue", "0.5"); - setdvar("scr_fog_baseheight", "50"); + setdvar("scr_fog_baseheight", "124"); // // *depth of field section* // level.do_not_use_dof = true; @@ -42,18 +42,18 @@ main() level thread fog_settings(); - level thread maps\_utility::set_all_players_visionset( "zombie", 0.1 ); + level thread maps\_utility::set_all_players_visionset( "zombie_asylum", 0.1 ); } fog_settings() { - start_dist = 165; - halfway_dist = 835; + start_dist = 167; + halfway_dist = 416; halfway_height = 200; - base_height = 75; - red = 0.5; - green = 0.5; - blue = 0.5; + base_height = 124; + red = 0.46; + green = 0.38; + blue = 0.29; trans_time = 0; if( IsSplitScreen() ) @@ -68,4 +68,5 @@ fog_settings() { SetVolFog( start_dist, halfway_dist, halfway_height, base_height, red, green, blue, trans_time ); } + } \ No newline at end of file diff --git a/raw/maps/createart/nazi_zombie_factory_art.gsc b/raw/maps/createart/nazi_zombie_factory_art.gsc new file mode 100644 index 000000000..5d558e04a --- /dev/null +++ b/raw/maps/createart/nazi_zombie_factory_art.gsc @@ -0,0 +1,73 @@ +//_createart generated. modify at your own risk. Changing values should be fine. +main() +{ + + level.tweakfile = true; + + // *Fog section* + + setdvar("scr_fog_exp_halfplane", "1763.99"); + setdvar("scr_fog_exp_halfheight", "541.494"); + setdvar("scr_fog_nearplane", "814.911"); + setdvar("scr_fog_red", "0.5"); + setdvar("scr_fog_green", "0.5"); + setdvar("scr_fog_blue", "0.55"); + setdvar("scr_fog_baseheight", "-451.652"); + +// // *depth of field section* +// level.do_not_use_dof = true; +// level.dofDefault["nearStart"] = 0; +// level.dofDefault["nearEnd"] = 60; +// level.dofDefault["farStart"] = 2000; +// level.dofDefault["farEnd"] = 10000; +// level.dofDefault["nearBlur"] = 6; +// level.dofDefault["farBlur"] = 2; +// +// players = maps\_utility::get_players(); +// for( i = 0; i < players.size; i++ ) +// { +// players[i] maps\_art::setdefaultdepthoffield(); +// } + + setdvar("visionstore_glowTweakEnable", "0"); + setdvar("visionstore_glowTweakRadius0", "5"); + setdvar("visionstore_glowTweakRadius1", ""); + setdvar("visionstore_glowTweakBloomCutoff", "0.5"); + setdvar("visionstore_glowTweakBloomDesaturation", "0"); + setdvar("visionstore_glowTweakBloomIntensity0", "1"); + setdvar("visionstore_glowTweakBloomIntensity1", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity0", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity1", ""); + + //* Fog section * + level thread fog_settings(); + + level thread maps\_utility::set_all_players_visionset( "zombie_factory", 0.1 ); +} + +fog_settings() +{ + start_dist = 814; + halfway_dist = 1763; + halfway_height = 541; + base_height = -600; + red = 0.5; + green = 0.5; + blue = 0.55; + trans_time = 0; + + if( IsSplitScreen() ) + { + + start_dist = 1500; + halfway_dist = 150; + halfway_height = 0; + cull_dist = 4000; + maps\_utility::set_splitscreen_fog( start_dist, halfway_dist, halfway_height, base_height, red, green, blue, trans_time, cull_dist ); + } + else + { + SetVolFog( start_dist, halfway_dist, halfway_height, base_height, red, green, blue, trans_time ); + } +} + diff --git a/raw/maps/createart/nazi_zombie_sumpf_art.gsc b/raw/maps/createart/nazi_zombie_sumpf_art.gsc new file mode 100644 index 000000000..a13edd405 --- /dev/null +++ b/raw/maps/createart/nazi_zombie_sumpf_art.gsc @@ -0,0 +1,73 @@ +//_createart generated. modify at your own risk. Changing values should be fine. +main() +{ + + level.tweakfile = true; + + // *Fog section* + + setdvar("scr_fog_exp_halfplane", "1763.99"); + setdvar("scr_fog_exp_halfheight", "541.494"); + setdvar("scr_fog_nearplane", "814.911"); + setdvar("scr_fog_red", "0.5"); + setdvar("scr_fog_green", "0.5"); + setdvar("scr_fog_blue", "0.55"); + setdvar("scr_fog_baseheight", "-451.652"); + +// // *depth of field section* +// level.do_not_use_dof = true; +// level.dofDefault["nearStart"] = 0; +// level.dofDefault["nearEnd"] = 60; +// level.dofDefault["farStart"] = 2000; +// level.dofDefault["farEnd"] = 10000; +// level.dofDefault["nearBlur"] = 6; +// level.dofDefault["farBlur"] = 2; +// +// players = maps\_utility::get_players(); +// for( i = 0; i < players.size; i++ ) +// { +// players[i] maps\_art::setdefaultdepthoffield(); +// } + + setdvar("visionstore_glowTweakEnable", "0"); + setdvar("visionstore_glowTweakRadius0", "5"); + setdvar("visionstore_glowTweakRadius1", ""); + setdvar("visionstore_glowTweakBloomCutoff", "0.5"); + setdvar("visionstore_glowTweakBloomDesaturation", "0"); + setdvar("visionstore_glowTweakBloomIntensity0", "1"); + setdvar("visionstore_glowTweakBloomIntensity1", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity0", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity1", ""); + + //* Fog section * + level thread fog_settings(); + + level thread maps\_utility::set_all_players_visionset( "zombie_sumpf", 0.1 ); +} + +fog_settings() +{ + start_dist = 814; + halfway_dist = 1763; + halfway_height = 541; + base_height = -600; + red = 0.5; + green = 0.5; + blue = 0.55; + trans_time = 0; + + if( IsSplitScreen() ) + { + + start_dist = 1500; + halfway_dist = 150; + halfway_height = 0; + cull_dist = 4000; + maps\_utility::set_splitscreen_fog( start_dist, halfway_dist, halfway_height, base_height, red, green, blue, trans_time, cull_dist ); + } + else + { + SetVolFog( start_dist, halfway_dist, halfway_height, base_height, red, green, blue, trans_time ); + } +} + diff --git a/raw/maps/createfx/nazi_zombie_asylum_fx.gsc b/raw/maps/createfx/nazi_zombie_asylum_fx.gsc index 1ab9f7bc3..3e2bb0ce6 100644 --- a/raw/maps/createfx/nazi_zombie_asylum_fx.gsc +++ b/raw/maps/createfx/nazi_zombie_asylum_fx.gsc @@ -1,623 +1,1239 @@ //_createfx generated. Do not touch!! main() { -// CreateFX entities placed: 103 +// CreateFX entities placed: 201 ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( -673.074, -766.968, -26.5289 ); + ent.v[ "origin" ] = ( 656.996, -992.097, 18.8115 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "fog_thick"; ent.v[ "delay" ] = -15; ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( -571.381, -1636.91, 82.8831 ); + ent.v[ "origin" ] = ( -897.201, -1515.67, 4.99323 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "fog_thick"; ent.v[ "delay" ] = -15; ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( 440.201, -1321.61, 26.6093 ); + ent.v[ "origin" ] = ( -969.6, -2408.22, -19.021 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "fog_thick"; ent.v[ "delay" ] = -15; - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( 755.909, 220.307, 6.31731 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( 1063.98, -871.593, -4.04832 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( 1396.97, 688.073, 5.34588 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( 317.986, 1688.19, 149.969 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( -649.748, 101.867, -35.5503 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( -764.255, 1136.32, 22.8691 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( -727.275, 546.164, -21.4539 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "battlefield_smokebank_sm_tan" ); - ent.v[ "origin" ] = ( 1084.51, -131.344, 31.4557 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "battlefield_smokebank_sm_tan"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( 2609.53, 748.956, 236.421 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( 1699.51, 1534.32, 167.006 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 1132.59, 876.375, -1.77614 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 1178.44, 925.081, -1.14948 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 1105.55, 830.055, -1.03921 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "battlefield_smokebank_sm_tan" ); - ent.v[ "origin" ] = ( -767.711, 266.941, 13.8245 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "battlefield_smokebank_sm_tan"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "battlefield_smokebank_sm_tan" ); - ent.v[ "origin" ] = ( 1390.83, 1892.45, 150.931 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "battlefield_smokebank_sm_tan"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( 616.654, -474.242, -10.7898 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fog_thick"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "wire_sparks" ); - ent.v[ "origin" ] = ( 1213.24, 272.034, 228.049 ); - ent.v[ "angles" ] = ( 358, 0, 0 ); - ent.v[ "fxid" ] = "wire_sparks"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "wire_sparks_blue" ); - ent.v[ "origin" ] = ( 1693.84, 833.98, 293.807 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "wire_sparks_blue"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "wire_sparks" ); - ent.v[ "origin" ] = ( 1240.67, 626.144, 167.241 ); - ent.v[ "angles" ] = ( 358, 0, 0 ); - ent.v[ "fxid" ] = "wire_sparks"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -223.015, 382.993, 80.125 ); - ent.v[ "angles" ] = ( 328.986, 200.478, 173.603 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -220.031, 479.589, 85.017 ); - ent.v[ "angles" ] = ( 328.986, 200.478, 173.603 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -218.12, -194.662, 79.9335 ); - ent.v[ "angles" ] = ( 328.986, 200.478, 173.603 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -75.2952, 397.105, 306.125 ); - ent.v[ "angles" ] = ( 332.494, 179.712, -176.791 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -112.262, 109.56, 305.125 ); - ent.v[ "angles" ] = ( 334.743, 175.524, -173.608 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -91.8475, -57.8259, 297.125 ); - ent.v[ "angles" ] = ( 332.494, 179.712, -176.791 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( 63.7406, 511.513, 305.125 ); - ent.v[ "angles" ] = ( 320.515, 178.848, -176.312 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( 136.001, 937.865, 302.125 ); - ent.v[ "angles" ] = ( 332.39, 190.995, 177.976 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); - ent.v[ "origin" ] = ( 1238.68, 925.793, -0.367569 ); - ent.v[ "angles" ] = ( 0, 0, 0 ); - ent.v[ "fxid" ] = "fire_column_creep_xsm"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); - ent.v[ "origin" ] = ( 196.436, -100.571, 72.2384 ); - ent.v[ "angles" ] = ( 274, 270, 0 ); - ent.v[ "fxid" ] = "fire_column_creep_xsm"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 123.133, -957.101, 45.687 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 113.333, -946.185, 45.9968 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 114.712, -963.247, 44.0852 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( -541.668, 411.021, 27.8858 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( -553.995, 392.761, 26.0101 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 195.468, -103.679, 77.6072 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( -552.565, 404.588, 21.5665 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 109.682, -957.513, 45.1729 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 1185.91, 939.156, 25.8573 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); - ent.v[ "origin" ] = ( 1227.52, 926.134, 6.50701 ); - ent.v[ "angles" ] = ( 270, 359.484, 0.516024 ); - ent.v[ "fxid" ] = "fire_column_creep_xsm"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 1270.73, 935.509, 54.712 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 1215.44, 846.265, -5.43003 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 1253.25, 845.307, -6.45285 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 1171.86, 934.887, 0.800284 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( -247.291, -118.17, 2.46084 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( -242.899, -137.244, 2.125 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 188.991, -91.1148, 69.1965 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 731.812, 997.333, 172.404 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "smoke_room_fill" ); - ent.v[ "origin" ] = ( 624.812, 851.8, 192.125 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_room_fill"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 759.595, 995.422, 163.336 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "smoke_room_fill" ); - ent.v[ "origin" ] = ( 39.2104, 308.372, 183.312 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_room_fill"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "smoke_room_fill" ); - ent.v[ "origin" ] = ( -33.7747, -33.0178, 8 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_room_fill"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 331.642, 1368.99, 150 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_window" ); - ent.v[ "origin" ] = ( 396.393, 1426.42, 159 ); - ent.v[ "angles" ] = ( 350.098, 188.122, -1.40582 ); - ent.v[ "fxid" ] = "fire_window"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_column_creep_sm" ); - ent.v[ "origin" ] = ( 451.185, 1350.84, 148.857 ); - ent.v[ "angles" ] = ( 276, 360, -30 ); - ent.v[ "fxid" ] = "fire_column_creep_sm"; - ent.v[ "delay" ] = -15; - ent = maps\_utility::createOneshotEffect( "smoke_impact_smolder_w" ); - ent.v[ "origin" ] = ( 263.046, 1483.61, 149 ); + ent.v[ "origin" ] = ( 369.232, 425.165, 451.303 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "smoke_impact_smolder_w"; ent.v[ "delay" ] = -15; - ent = maps\_utility::createOneshotEffect( "ash_and_embers_hall" ); - ent.v[ "origin" ] = ( 406.49, 1427.08, 303.732 ); + ent = maps\_utility::createOneshotEffect( "smoke_window_out_small" ); + ent.v[ "origin" ] = ( -113.034, 472.552, 538.219 ); ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "ash_and_embers_hall"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 765.818, 1200.04, 157.092 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 779.809, 1467.59, 249.11 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 750.794, 1361.53, 191.019 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_column_creep_sm" ); - ent.v[ "origin" ] = ( 789.211, 1263.44, 164.607 ); - ent.v[ "angles" ] = ( 276, 0, -30 ); - ent.v[ "fxid" ] = "fire_column_creep_sm"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "dlight_fire_glow" ); - ent.v[ "origin" ] = ( 794.627, 1242.43, 229.58 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "dlight_fire_glow"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 778.149, 991.334, 158.245 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; + ent.v[ "fxid" ] = "smoke_window_out_small"; ent.v[ "delay" ] = -15; ent = maps\_utility::createOneshotEffect( "wire_sparks_blue" ); - ent.v[ "origin" ] = ( -710.369, -662.932, 164.679 ); + ent.v[ "origin" ] = ( -663.161, -1875.5, 338.839 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "wire_sparks_blue"; ent.v[ "delay" ] = -15; - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( -699.383, -51.0303, 175.117 ); - ent.v[ "angles" ] = ( 84, 0, 0 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent = maps\_utility::createOneshotEffect( "dlight_fire_glow" ); + ent.v[ "origin" ] = ( 1014.55, -309.904, 85.6682 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "dlight_fire_glow"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( -90.1707, 478.883, 491.192 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 1076.85, -319.14, 82.8202 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "dlight_fire_glow" ); + ent.v[ "origin" ] = ( 15.8025, -554.792, 291.485 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "dlight_fire_glow"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( -9.0717, -597.984, 265.96 ); + ent.v[ "angles" ] = ( 31.3556, 313.148, 79.5479 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 8.64568, -647.735, 243.848 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_static_small" ); + ent.v[ "origin" ] = ( -0.444464, -571.026, 232.184 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_static_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_window" ); + ent.v[ "origin" ] = ( 460.528, 514.49, 512.335 ); + ent.v[ "angles" ] = ( 320, 180, -176 ); + ent.v[ "fxid" ] = "fire_window"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "dlight_fire_glow" ); + ent.v[ "origin" ] = ( 564.356, 529.283, 481.553 ); + ent.v[ "angles" ] = ( 300, 180, 180 ); + ent.v[ "fxid" ] = "dlight_fire_glow"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 948.713, 895.833, 175.405 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_plume_xlg_slow_blk" ); + ent.v[ "origin" ] = ( -4616.21, 3143.62, -330.321 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_plume_xlg_slow_blk"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_plume_xlg_slow_blk" ); + ent.v[ "origin" ] = ( -5698.72, -6957.99, 312.173 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_plume_xlg_slow_blk"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 88.7637, 473.172, 492.016 ); + ent.v[ "angles" ] = ( 270, 0, -2 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 403.939, 434.473, 455.747 ); + ent.v[ "angles" ] = ( 270, 0, -2 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_window" ); + ent.v[ "origin" ] = ( -1852.65, -4140.27, 498.027 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_window"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_window" ); + ent.v[ "origin" ] = ( -315.81, -5235.29, 541.827 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_window"; ent.v[ "delay" ] = -15; ent = maps\_utility::createOneshotEffect( "smoke_window_out_small" ); - ent.v[ "origin" ] = ( 787.976, 1284.28, 195.561 ); + ent.v[ "origin" ] = ( 455.323, 613.659, 545.978 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "smoke_window_out_small"; ent.v[ "delay" ] = -15; ent = maps\_utility::createOneshotEffect( "smoke_window_out_small" ); - ent.v[ "origin" ] = ( 396.751, 1498.32, 175.461 ); + ent.v[ "origin" ] = ( 36.7037, 467.219, 506.956 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "smoke_window_out_small"; ent.v[ "delay" ] = -15; - ent = maps\_utility::createOneshotEffect( "smoke_window_out_small" ); - ent.v[ "origin" ] = ( 1209.56, 938.742, 34.7518 ); + ent = maps\_utility::createOneshotEffect( "water_heavy_leak" ); + ent.v[ "origin" ] = ( -567.249, -872.152, 270.125 ); + ent.v[ "angles" ] = ( 0, 0, -86 ); + ent.v[ "fxid" ] = "water_heavy_leak"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 1037.85, -339.292, 62.6751 ); + ent.v[ "angles" ] = ( 282, 270, 0 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "ash_and_embers" ); + ent.v[ "origin" ] = ( 3101.58, 210.424, 441.143 ); ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_window_out_small"; + ent.v[ "fxid" ] = "ash_and_embers"; ent.v[ "delay" ] = -15; - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( 39.4778, 738.804, 249.475 ); - ent.v[ "angles" ] = ( 90, 47.578, 47.578 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent = maps\_utility::createOneshotEffect( "water_leak_runner" ); + ent.v[ "origin" ] = ( -744.171, 282.528, 374.391 ); + ent.v[ "angles" ] = ( 0, 180, 0 ); + ent.v[ "fxid" ] = "water_leak_runner"; ent.v[ "delay" ] = -15; - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( 414.188, 739.27, 244.27 ); - ent.v[ "angles" ] = ( 90, 0, 0 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent = maps\_utility::createOneshotEffect( "smoke_hallway_faint_dark" ); + ent.v[ "origin" ] = ( -740.086, 165.626, 258.827 ); + ent.v[ "angles" ] = ( 270, 359.684, 12.3156 ); + ent.v[ "fxid" ] = "smoke_hallway_faint_dark"; ent.v[ "delay" ] = -15; - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( -1.54145, 1056.09, 244.722 ); - ent.v[ "angles" ] = ( 88, 270, -90 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( 288.025, 180.137, 241.701 ); - ent.v[ "angles" ] = ( 36.2014, 146.157, 172.598 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( 340.258, 921.943, 107.219 ); - ent.v[ "angles" ] = ( 90, 0, 0 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( 177.589, 716.529, 102.898 ); - ent.v[ "angles" ] = ( 90, 0, 0 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( -140.158, 679.738, 102.312 ); - ent.v[ "angles" ] = ( 90, 0, 0 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( 771.848, 867.124, 8.80209 ); - ent.v[ "angles" ] = ( 318, 132, 2 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "light_ceiling_dspot" ); - ent.v[ "origin" ] = ( -104.644, 845.759, 155.457 ); - ent.v[ "angles" ] = ( 317.528, 134.241, -148.164 ); - ent.v[ "fxid" ] = "light_ceiling_dspot"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -212.425, 230.206, 236 ); - ent.v[ "angles" ] = ( 334.459, 184.343, -177.968 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -215.96, 697.257, 316.283 ); - ent.v[ "angles" ] = ( 296.696, 194.71, 179.73 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -115.003, 16.9401, 309.795 ); - ent.v[ "angles" ] = ( 327.896, 175.836, -177.016 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( -270.61, -98.519, -5.09015 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( -291.366, -221.531, -8.65272 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( -364.303, -71.5915, -9.93956 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 121.346, -979.991, 5.94707 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 208.852, -35.6098, 94.9997 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "fire_detail" ); - ent.v[ "origin" ] = ( 166.312, -109.213, 63.4913 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_detail"; - ent.v[ "delay" ] = 0.5; - - ent = maps\_utility::createLoopEffect( "god_rays_small_short" ); - ent.v[ "origin" ] = ( -226.854, 428.31, 237.955 ); - ent.v[ "angles" ] = ( 332, 180, 180 ); - ent.v[ "fxid" ] = "god_rays_small_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createOneshotEffect( "wire_sparks" ); - ent.v[ "origin" ] = ( -649.279, -676.415, 162.774 ); - ent.v[ "angles" ] = ( 358, 0, 0 ); - ent.v[ "fxid" ] = "wire_sparks"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createOneshotEffect( "wire_sparks" ); - ent.v[ "origin" ] = ( 185.052, -541.766, 14.6714 ); - ent.v[ "angles" ] = ( 358, 0, 0 ); - ent.v[ "fxid" ] = "wire_sparks"; - ent.v[ "delay" ] = -15; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -201.126, -619.109, 316.453 ); - ent.v[ "angles" ] = ( 332.322, 186.48, -179.929 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -204.341, -785.792, 324.193 ); - ent.v[ "angles" ] = ( 332.494, 179.712, -176.791 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( 33.0982, 933.13, 302.875 ); - ent.v[ "angles" ] = ( 304.322, 186.421, -179.888 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small_short" ); - ent.v[ "origin" ] = ( -64.7752, 403.158, 285.819 ); - ent.v[ "angles" ] = ( 328, 180, 180 ); - ent.v[ "fxid" ] = "god_rays_small_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small_short" ); - ent.v[ "origin" ] = ( -209.538, 388.18, 40.6552 ); - ent.v[ "angles" ] = ( 342.283, 190.503, 176.771 ); - ent.v[ "fxid" ] = "god_rays_small_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small_short" ); - ent.v[ "origin" ] = ( -65.1621, 322.689, 279.139 ); - ent.v[ "angles" ] = ( 328, 180, 180 ); - ent.v[ "fxid" ] = "god_rays_small_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( -813.243, 188.308, 85.114 ); - ent.v[ "angles" ] = ( 346.13, 178.007, -178.697 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; - ent = maps\_utility::createOneshotEffect( "smoke_room_fill" ); - ent.v[ "origin" ] = ( 581.347, 829.037, -69.875 ); + ent.v[ "origin" ] = ( 60.0355, -686.614, 231.125 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "smoke_room_fill"; ent.v[ "delay" ] = -15; - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( 54.625, -325.677, 149.747 ); - ent.v[ "angles" ] = ( 314.322, 186.448, -179.91 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; + ent = maps\_utility::createOneshotEffect( "smoke_plume_xlg_slow_blk" ); + ent.v[ "origin" ] = ( 3143.74, 371.946, 4.4681 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_plume_xlg_slow_blk"; + ent.v[ "delay" ] = -15; - ent = maps\_utility::createLoopEffect( "god_rays_small" ); - ent.v[ "origin" ] = ( 82.4609, -207.678, 157.05 ); - ent.v[ "angles" ] = ( 318.322, 186.457, -179.915 ); - ent.v[ "fxid" ] = "god_rays_small"; - ent.v[ "delay" ] = 0.1; + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 114.489, -2901.66, 270.428 ); + ent.v[ "angles" ] = ( 351.399, 8.39927, 45.3672 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_plume_xlg_slow_blk" ); + ent.v[ "origin" ] = ( -1944.39, -4609.95, 53.3848 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_plume_xlg_slow_blk"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( -3237.6, -1354.04, 351.787 ); + ent.v[ "angles" ] = ( 341.288, 3, -81.4453 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( 216.947, -2739.81, 67.6726 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( 1521.93, -1373.44, 60.9145 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( -59.4618, 1126.53, 249.823 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( -83.0423, 1233.98, 268.921 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( -4.35254, 1159.58, 274.169 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( -48.3367, 1225.87, 306.654 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 85.5117, 1231.4, 298.495 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 560.8, -467.325, 451.797 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 632.737, -466.967, 440.585 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 483.874, -429.251, 401.912 ); + ent.v[ "angles" ] = ( 270, 0, -2 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_window_out_small" ); + ent.v[ "origin" ] = ( 459.045, -441.723, 482.733 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_window_out_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_room_fill" ); + ent.v[ "origin" ] = ( -600.963, 687.641, 230.125 ); + ent.v[ "angles" ] = ( 270, 84.5926, -84.5926 ); + ent.v[ "fxid" ] = "smoke_room_fill"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_room_fill" ); + ent.v[ "origin" ] = ( 1204.29, 340.25, 228.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_room_fill"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_plume_xlg_slow_blk" ); + ent.v[ "origin" ] = ( -1452.59, 399.168, 427.43 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_plume_xlg_slow_blk"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "ash_and_embers" ); + ent.v[ "origin" ] = ( 225.031, 16.8626, 461.493 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "ash_and_embers"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( 1280.3, 650.342, 195.807 ); + ent.v[ "angles" ] = ( 90, 0, 0 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( 1007.86, 34.4544, 201.865 ); + ent.v[ "angles" ] = ( 90, 359.237, -0.763332 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( 533.63, 919.907, 234.303 ); + ent.v[ "angles" ] = ( 310.612, 321.356, 30.3657 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( -688.842, 118.315, 354.702 ); + ent.v[ "angles" ] = ( 90, 346.813, -13.1869 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( 452.955, 443.119, 200.798 ); + ent.v[ "angles" ] = ( 33.1595, 345.62, -7.98296 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createOneshotEffect( "blood_drips" ); + ent.v[ "origin" ] = ( -814.135, 186.873, 260.528 ); + ent.v[ "angles" ] = ( 272, 180, 180 ); + ent.v[ "fxid" ] = "blood_drips"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "blood_drips" ); + ent.v[ "origin" ] = ( -775.709, 162.497, 262.125 ); + ent.v[ "angles" ] = ( 272, 180, 180 ); + ent.v[ "fxid" ] = "blood_drips"; + ent.v[ "delay" ] = -18; + + ent = maps\_utility::createOneshotEffect( "blood_drips" ); + ent.v[ "origin" ] = ( -780.245, 185.826, 259.125 ); + ent.v[ "angles" ] = ( 272.828, 134.982, -135.017 ); + ent.v[ "fxid" ] = "blood_drips"; + ent.v[ "delay" ] = -17; + + ent = maps\_utility::createOneshotEffect( "blood_drips" ); + ent.v[ "origin" ] = ( 1306.44, -155.095, 98.6068 ); + ent.v[ "angles" ] = ( 272, 180, 180 ); + ent.v[ "fxid" ] = "blood_drips"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fog_low_thick" ); + ent.v[ "origin" ] = ( -840.165, -477.607, 57.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_thick"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fog_low_floor" ); + ent.v[ "origin" ] = ( -140.778, 187.113, 65 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_floor"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fog_low_floor" ); + ent.v[ "origin" ] = ( 527.93, -751.427, 47.1707 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_floor"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fog_low_floor" ); + ent.v[ "origin" ] = ( 321.293, 677.722, 35.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_floor"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fog_low_floor" ); + ent.v[ "origin" ] = ( 1290.62, 194.647, 46.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_floor"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fog_low_floor" ); + ent.v[ "origin" ] = ( 1184.72, -545.619, 50.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_floor"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "blood_drips" ); + ent.v[ "origin" ] = ( 1304.66, -146.454, 98.0726 ); + ent.v[ "angles" ] = ( 272, 180, 180 ); + ent.v[ "fxid" ] = "blood_drips"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_leak_runner" ); + ent.v[ "origin" ] = ( -657.689, 336.655, 356.343 ); + ent.v[ "angles" ] = ( 1.99512, 272.002, 0.139571 ); + ent.v[ "fxid" ] = "water_leak_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_plume_xlg_slow_blk" ); + ent.v[ "origin" ] = ( -2334.3, -702.342, 28.3509 ); + ent.v[ "angles" ] = ( 310, 270, 90 ); + ent.v[ "fxid" ] = "smoke_plume_xlg_slow_blk"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "blood_drips" ); + ent.v[ "origin" ] = ( -786.027, 186.407, 261.125 ); + ent.v[ "angles" ] = ( 272, 180, 180 ); + ent.v[ "fxid" ] = "blood_drips"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_window_out_small" ); + ent.v[ "origin" ] = ( 1126.4, -1624.99, 565.807 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_window_out_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 666.635, 569.569, 396.125 ); + ent.v[ "angles" ] = ( 274, 90, -180 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_fall" ); + ent.v[ "origin" ] = ( -568.086, -875.768, 320.875 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_fall"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_static_small" ); + ent.v[ "origin" ] = ( 1051.93, -310.498, 79.6822 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_static_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_static_blk_smk" ); + ent.v[ "origin" ] = ( 739.948, 522.544, 396.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_static_blk_smk"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 22.9505, 538.842, 345.125 ); + ent.v[ "angles" ] = ( 270, 357.797, 110.203 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 902.095, 403.503, 186.193 ); + ent.v[ "angles" ] = ( 283.991, 264.845, -56.8674 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 1465.61, 304.641, 191.125 ); + ent.v[ "angles" ] = ( 270, 359.403, -171.403 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 1166.24, -755.114, 148.125 ); + ent.v[ "angles" ] = ( 272, 88, -180 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 751.757, -569.967, 177.125 ); + ent.v[ "angles" ] = ( 270, 354.92, -60.9202 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 1494.05, -35.812, 174.125 ); + ent.v[ "angles" ] = ( 278, 150, -104 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 241.089, 542.159, 199.125 ); + ent.v[ "angles" ] = ( 270, 3.17983, 112.82 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 326.776, 564.028, 354.125 ); + ent.v[ "angles" ] = ( 270, 0, 78 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( -573.97, -771.338, 359.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 190.564, -738.614, 359.41 ); + ent.v[ "angles" ] = ( 270, 0, 164 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( -49.4439, -843.865, 357.329 ); + ent.v[ "angles" ] = ( 270, 0, 72 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( -201.177, -458.523, 370.125 ); + ent.v[ "angles" ] = ( 278, 186, 80 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 974.064, 857.979, 194.125 ); + ent.v[ "angles" ] = ( 270, 0, 72 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fog_low_floor" ); + ent.v[ "origin" ] = ( -673.003, -223.196, 70.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_floor"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( 687.328, -255.934, 205.322 ); + ent.v[ "angles" ] = ( 33.1595, 345.62, -7.98296 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createOneshotEffect( "fog_low_floor" ); + ent.v[ "origin" ] = ( 896.366, 726.151, 38.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_floor"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( -914.028, 44.6282, 348.105 ); + ent.v[ "angles" ] = ( 90, 47.578, 47.578 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createOneshotEffect( "water_spill_splash" ); + ent.v[ "origin" ] = ( -565.211, -875.667, 229.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_splash"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 153.436, -880.147, 358.027 ); + ent.v[ "angles" ] = ( 272, 74, 50 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 525.731, -526.802, 337.398 ); + ent.v[ "angles" ] = ( 270, 1.97493, -55.975 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 968.285, -732.924, 303.844 ); + ent.v[ "angles" ] = ( 270, 354.92, -60.9202 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( 680.767, 394.297, 374.125 ); + ent.v[ "angles" ] = ( 270, 0, 78 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_rays_dust_motes" ); + ent.v[ "origin" ] = ( -392.533, 567.782, 343.125 ); + ent.v[ "angles" ] = ( 270, 357.797, 110.203 ); + ent.v[ "fxid" ] = "god_rays_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "insect_flies_carcass" ); + ent.v[ "origin" ] = ( 1330.55, -119.076, 125.622 ); + ent.v[ "angles" ] = ( 272.002, 1.99754, -3.9951 ); + ent.v[ "fxid" ] = "insect_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "blood_drips" ); + ent.v[ "origin" ] = ( 1306.08, -149.893, 96.9145 ); + ent.v[ "angles" ] = ( 272, 180, 180 ); + ent.v[ "fxid" ] = "blood_drips"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "insect_flies_carcass" ); + ent.v[ "origin" ] = ( -812.545, 176.062, 294.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "insect_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createExploder( "insect_lantern" ); + ent.v[ "origin" ] = ( 455.101, 437.692, 198.359 ); + ent.v[ "angles" ] = ( 25.231, 346.844, -7.38433 ); + ent.v[ "fxid" ] = "insect_lantern"; + ent.v[ "delay" ] = 10; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createExploder( "insect_lantern" ); + ent.v[ "origin" ] = ( 1009.9, 854.172, 187.292 ); + ent.v[ "angles" ] = ( 90, 0, 0 ); + ent.v[ "fxid" ] = "insect_lantern"; + ent.v[ "delay" ] = 10; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createExploder( "insect_lantern" ); + ent.v[ "origin" ] = ( 263.584, 834.507, 330.751 ); + ent.v[ "angles" ] = ( 90, 337.333, -20.6672 ); + ent.v[ "fxid" ] = "insect_lantern"; + ent.v[ "delay" ] = 15; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createExploder( "insect_lantern" ); + ent.v[ "origin" ] = ( -690.03, 118.579, 341.615 ); + ent.v[ "angles" ] = ( 90, 337.333, -20.6672 ); + ent.v[ "fxid" ] = "insect_lantern"; + ent.v[ "delay" ] = 15; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createOneshotEffect( "insect_swarm" ); + ent.v[ "origin" ] = ( -132.495, -755.599, 235.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "insect_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "insect_swarm" ); + ent.v[ "origin" ] = ( 302.149, 36.4133, 99.8468 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "insect_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "insect_swarm" ); + ent.v[ "origin" ] = ( 1400.49, 314.494, 90.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "insect_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "insect_flies_carcass" ); + ent.v[ "origin" ] = ( 1408.41, 319.266, 91.1053 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "insect_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_splash" ); + ent.v[ "origin" ] = ( -566.489, -868.08, 95.1655 ); + ent.v[ "angles" ] = ( 285.011, 107.013, -113.756 ); + ent.v[ "fxid" ] = "water_spill_splash"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_tree_trunk" ); + ent.v[ "origin" ] = ( 2572.61, -22.8354, 417.194 ); + ent.v[ "angles" ] = ( 272.828, 225.018, 135.017 ); + ent.v[ "fxid" ] = "fire_tree_trunk"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_large_mp" ); + ent.v[ "origin" ] = ( 2373.03, -258.042, 136.392 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_large_mp"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( 1973.95, 415.959, 78.6889 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 2259.12, -118.795, 60.1294 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 2014.65, 162.862, 64 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( 2252.11, -209.262, 62.0977 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( 1816.59, 741.2, 70.9183 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( 1187.62, -1550.3, 74.6868 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column" ); + ent.v[ "origin" ] = ( 1506.76, -1395.62, 82.5683 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column" ); + ent.v[ "origin" ] = ( 1449.77, -1072.34, 195.426 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column" ); + ent.v[ "origin" ] = ( 1588.57, -1972.88, 459.675 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column" ); + ent.v[ "origin" ] = ( 1127.12, -1623.49, 457.273 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_window_out_small" ); + ent.v[ "origin" ] = ( 2055.88, 150.799, 146 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_window_out_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_column_tall" ); + ent.v[ "origin" ] = ( -35.1629, -2965.77, -85.5113 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_column_tall"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column" ); + ent.v[ "origin" ] = ( 2273.21, -116.98, 71.5821 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( 2033.91, -666.733, 60.5355 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_large_mp" ); + ent.v[ "origin" ] = ( 244.763, -2855.33, 61.9033 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_large_mp"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column" ); + ent.v[ "origin" ] = ( 1713.32, -2615.82, 171.278 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( 1429.97, -1081.32, 57.2663 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 1791.57, 418.651, 53.5812 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 1723.55, 273.281, 65.4775 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 2040.23, 355.421, 237.203 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 1913.58, -280.642, 111.731 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column_smldr" ); + ent.v[ "origin" ] = ( 2438.3, -75.8994, 81.2696 ); + ent.v[ "angles" ] = ( 358.121, 110.011, -0.684291 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column_smldr"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column_smldr" ); + ent.v[ "origin" ] = ( 2010.45, 309.543, 66.0738 ); + ent.v[ "angles" ] = ( 356.121, 110.035, -0.685488 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column_smldr"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_large_mp" ); + ent.v[ "origin" ] = ( 2281.89, 1120.58, 100.696 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_large_mp"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_med_mp" ); + ent.v[ "origin" ] = ( 2068.5, -588.165, 64.9997 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_med_mp"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( 284.747, 846.118, 343.815 ); + ent.v[ "angles" ] = ( 27.8332, 208.788, 5.18117 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createOneshotEffect( "blood_drips" ); + ent.v[ "origin" ] = ( 1328.29, -120.744, 118.452 ); + ent.v[ "angles" ] = ( 274, 180, 180 ); + ent.v[ "fxid" ] = "blood_drips"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "blood_drips" ); + ent.v[ "origin" ] = ( 1327.88, -119.868, 118.228 ); + ent.v[ "angles" ] = ( 274, 180, 180 ); + ent.v[ "fxid" ] = "blood_drips"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "smoke_window_out_small" ); + ent.v[ "origin" ] = ( 1819.17, -459.988, 352.945 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_window_out_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_large_mp" ); + ent.v[ "origin" ] = ( 1472.94, -1434.85, 64.1665 ); + ent.v[ "angles" ] = ( 282, 0, 0 ); + ent.v[ "fxid" ] = "fire_large_mp"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column" ); + ent.v[ "origin" ] = ( 1142.84, -2528.31, 68.0699 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column" ); + ent.v[ "origin" ] = ( 3230.94, 208.337, 190.118 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( 1613.44, -991.687, 71.2038 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 1995.26, 56.6594, 426.309 ); + ent.v[ "angles" ] = ( 68.7097, 161.612, 35.3244 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 1218.15, -1087.65, 236.264 ); + ent.v[ "angles" ] = ( 17.8317, 319.161, -7.55922 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 2007.25, 362.412, 325.991 ); + ent.v[ "angles" ] = ( 8.17457, 129.942, 12.2453 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; ent = maps\_utility::createOneshotEffect( "fog_thick" ); - ent.v[ "origin" ] = ( -782.453, -42.4873, -5.64706 ); + ent.v[ "origin" ] = ( 247.152, 94.7337, -4 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "fog_thick"; ent.v[ "delay" ] = -15; - ent = maps\_utility::createOneshotEffect( "smoke_room_fill" ); - ent.v[ "origin" ] = ( -735.247, 26.4439, 14.4918 ); + ent = maps\_utility::createOneshotEffect( "fog_thick" ); + ent.v[ "origin" ] = ( 2205.01, -155.207, 40.3108 ); ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_room_fill"; + ent.v[ "fxid" ] = "fog_thick"; ent.v[ "delay" ] = -15; + ent = maps\_utility::createOneshotEffect( "fog_low_floor" ); + ent.v[ "origin" ] = ( 773.501, 27.1957, 44.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_floor"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fog_low_floor" ); + ent.v[ "origin" ] = ( 797.404, -566.51, 217.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fog_low_floor"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 828.475, 371.579, 63.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 618.253, 1137.58, 133.977 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 842.103, 351.856, 100.517 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( -71.0289, -599.823, 245.606 ); + ent.v[ "angles" ] = ( 288.209, 205.13, 64.4659 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "dlight_fire_glow" ); + ent.v[ "origin" ] = ( -144.507, -553.114, 252.464 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "dlight_fire_glow"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_long" ); + ent.v[ "origin" ] = ( -568.429, -876.429, 322.36 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_long"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( 241.175, -348.249, 364.132 ); + ent.v[ "angles" ] = ( 90, 359.237, -0.763332 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + + ent = maps\_utility::createOneshotEffect( "smoke_plume_xlg_slow_blk" ); + ent.v[ "origin" ] = ( -2356.24, 4109.95, 314.625 ); + ent.v[ "angles" ] = ( 310, 270, 90 ); + ent.v[ "fxid" ] = "smoke_plume_xlg_slow_blk"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_large_mp" ); + ent.v[ "origin" ] = ( -2769.82, 4376.31, 310.515 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_large_mp"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_rubble_sm_column" ); + ent.v[ "origin" ] = ( -2001.26, 3727.18, 563.571 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_rubble_sm_column"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_large_mp" ); + ent.v[ "origin" ] = ( -1420.84, 4327.38, 325.617 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_large_mp"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( -1139.73, 2487.69, 230.985 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "brush_smoke_smolder_sm" ); + ent.v[ "origin" ] = ( -940.68, 3357.83, 274.075 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "brush_smoke_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( -1131.1, 2549.57, 417.661 ); + ent.v[ "angles" ] = ( 329.143, 89.5603, -16.9623 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 195.139, 604.091, 396.875 ); + ent.v[ "angles" ] = ( 274, 90, -180 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_fall" ); + ent.v[ "origin" ] = ( 1033.26, 665.219, 190.875 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_fall"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_heavy_leak" ); + ent.v[ "origin" ] = ( 1032.83, 664.133, 135.125 ); + ent.v[ "angles" ] = ( 4, 352, 90 ); + ent.v[ "fxid" ] = "water_heavy_leak"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_splash" ); + ent.v[ "origin" ] = ( 1031.04, 663.897, 65.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_splash"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_fall" ); + ent.v[ "origin" ] = ( 277.835, 527.442, 190.125 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_fall"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_splash" ); + ent.v[ "origin" ] = ( 277.074, 528.751, 65.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_splash"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_drip_sm_area" ); + ent.v[ "origin" ] = ( 732.391, 798.119, 219.875 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_drip_sm_area"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_heavy_leak" ); + ent.v[ "origin" ] = ( 278.529, 527.808, 100.125 ); + ent.v[ "angles" ] = ( 4, 352, 90 ); + ent.v[ "fxid" ] = "water_heavy_leak"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_drip_sm_area" ); + ent.v[ "origin" ] = ( 408.052, 829.757, 219.875 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_drip_sm_area"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_leak_runner" ); + ent.v[ "origin" ] = ( 692.102, 529.453, 196.125 ); + ent.v[ "angles" ] = ( 0, 180, 0 ); + ent.v[ "fxid" ] = "water_leak_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_splatter" ); + ent.v[ "origin" ] = ( 285.753, 531.411, 66.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_splatter"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_splatter" ); + ent.v[ "origin" ] = ( 1030.22, 661.652, 68.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_splatter"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_fall" ); + ent.v[ "origin" ] = ( 1033.9, 663.743, 188.875 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_fall"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_splash_small" ); + ent.v[ "origin" ] = ( 1026.6, 660.952, 67.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_splash_small" ); + ent.v[ "origin" ] = ( 281.8, 529.727, 64.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_splash_small" ); + ent.v[ "origin" ] = ( -564.633, -872.756, 231.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_heavy_leak" ); + ent.v[ "origin" ] = ( 752.36, 811.597, 130.792 ); + ent.v[ "angles" ] = ( 4, 352, 90 ); + ent.v[ "fxid" ] = "water_heavy_leak"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_splash_small" ); + ent.v[ "origin" ] = ( 741.318, 810.26, 67.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_splatter" ); + ent.v[ "origin" ] = ( 746.078, 806.092, 70.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_splatter"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_splash" ); + ent.v[ "origin" ] = ( 751.502, 811.916, 66.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_splash"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_spill_fall" ); + ent.v[ "origin" ] = ( 751.062, 810.76, 186.542 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "water_spill_fall"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 596.026, 1079.05, 223.579 ); + ent.v[ "angles" ] = ( 0, 0, -90 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_static_small" ); + ent.v[ "origin" ] = ( 639.165, 1044.03, 75.333 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_static_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 661.114, 1054.43, 225.834 ); + ent.v[ "angles" ] = ( 0, 0, -90 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_static_small" ); + ent.v[ "origin" ] = ( 694.168, 1133.22, 92.6813 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_static_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 825.047, 356.161, 83.6702 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_static_small" ); + ent.v[ "origin" ] = ( 831.657, 358.814, 84.5592 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_static_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_column_creep_xsm" ); + ent.v[ "origin" ] = ( 881.11, 45.7118, 251.42 ); + ent.v[ "angles" ] = ( 354, 0, 0 ); + ent.v[ "fxid" ] = "fire_column_creep_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 886.351, 42.9501, 235.883 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_static_small" ); + ent.v[ "origin" ] = ( 514.258, 79.6057, 94.9546 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_static_small"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 518.295, 72.3982, 97.9601 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "fire_detail" ); + ent.v[ "origin" ] = ( 482.158, 54.1211, 59 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fire_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "water_drip_sm_area" ); + ent.v[ "origin" ] = ( 657.594, 567.345, 219.875 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "water_drip_sm_area"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_ray_fire_ribbon" ); + ent.v[ "origin" ] = ( 219.453, 650.193, 398.275 ); + ent.v[ "angles" ] = ( 32.23, 114.789, 32.8511 ); + ent.v[ "fxid" ] = "god_ray_fire_ribbon"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_ray_fire_thin" ); + ent.v[ "origin" ] = ( 211.658, 679.109, 408.716 ); + ent.v[ "angles" ] = ( 34.3132, 118.088, -167.102 ); + ent.v[ "fxid" ] = "god_ray_fire_thin"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createOneshotEffect( "god_ray_fire_ribbon" ); + ent.v[ "origin" ] = ( 596.335, 578.235, 379.905 ); + ent.v[ "angles" ] = ( 40, 180, -180 ); + ent.v[ "fxid" ] = "god_ray_fire_ribbon"; + ent.v[ "delay" ] = -15; + + ent = maps\_utility::createExploder( "light_ceiling_dspot" ); + ent.v[ "origin" ] = ( 1332.8, -124.445, 182.401 ); + ent.v[ "angles" ] = ( 90, 0, 0 ); + ent.v[ "fxid" ] = "light_ceiling_dspot"; + ent.v[ "delay" ] = 0; + ent.v[ "exploder" ] = 101; + ent.v[ "soundalias" ] = "nil"; + } diff --git a/raw/maps/mp/createart/mp_encampment_art.gsc b/raw/maps/mp/createart/mp_encampment_art.gsc new file mode 100644 index 000000000..c4d65442e --- /dev/null +++ b/raw/maps/mp/createart/mp_encampment_art.gsc @@ -0,0 +1,48 @@ +//_createart generated. modify at your own risk. Changing values should be fine. +main() +{ + + level.tweakfile = true; + + // *Fog section* + + setdvar("scr_fog_exp_halfplane", "1028"); + setdvar("scr_fog_exp_halfheight", "1360"); + setdvar("scr_fog_nearplane", "512"); + setdvar("scr_fog_red", "0.3828"); + setdvar("scr_fog_green", "0.445"); + setdvar("scr_fog_blue", "0.5859"); + setdvar("scr_fog_baseheight", "-448"); + + + setdvar("visionstore_glowTweakEnable", "1"); + setdvar("visionstore_glowTweakRadius0", "1.25"); + setdvar("visionstore_glowTweakBloomCutoff", "0.17"); + setdvar("visionstore_glowTweakBloomDesaturation", "0.27"); + setdvar("visionstore_glowTweakBloomIntensity0", "0.88"); + setdvar("visionstore_glowTweakSkyBleedIntensity0", "0.29"); + setdvar("visionstore_glowRayExpansion", ".5"); + setdvar("visionstore_glowRayIntensity", "0.25"); + setdvar("visionstore_filmEnable", "1"); + setdvar("visionstore_filmContrast", "1.2"); + setdvar("visionstore_filmBrightness", "0.16"); + setdvar("visionstore_filmDesaturation", "0"); + + setdvar("visionstore_filmInvert", "0"); + setdvar("visionstore_filmLightTint", "1.37 1.6 1.2"); + setdvar("visionstore_filmDarkTint", "0.44 0.15 0.24"); + + + + + setVolFog(0, 4000, 1400, -450, 0.72, 0.76, 0.96, 0); +// SetCullDist( 7000 ); +// VisionSetNaked( "mp_encampment", 0 ); + +} + +// setVolFog(, , , , , , , ) + + + + diff --git a/raw/maps/mp/createart/mp_kneedeep_art.gsc b/raw/maps/mp/createart/mp_kneedeep_art.gsc index d36a48ede..3d56ac054 100644 --- a/raw/maps/mp/createart/mp_kneedeep_art.gsc +++ b/raw/maps/mp/createart/mp_kneedeep_art.gsc @@ -25,7 +25,9 @@ main() setdvar("visionstore_glowTweakSkyBleedIntensity1", ""); - setVolFog(940, 2560, 520, -55, 0.7, 0.62, 0.52, 0); + setVolFog(600, 580, 270, 170, 0.25, 0.28, 0.29, 0); VisionSetNaked( "mp_kneedeep", 0 ); -} \ No newline at end of file +} + +// setVolFog(, , , , , , , ) diff --git a/raw/maps/mp/createart/mp_kwai_art.gsc b/raw/maps/mp/createart/mp_kwai_art.gsc new file mode 100644 index 000000000..4c4bc6f41 --- /dev/null +++ b/raw/maps/mp/createart/mp_kwai_art.gsc @@ -0,0 +1,33 @@ +//_createart generated. modify at your own risk. Changing values should be fine. +main() +{ + + level.tweakfile = true; + + // *Fog section* + + setdvar("scr_fog_exp_halfplane", "2560"); + setdvar("scr_fog_exp_halfheight", "520"); + setdvar("scr_fog_nearplane", "940"); + setdvar("scr_fog_red", "0.7"); + setdvar("scr_fog_green", "0.62"); + setdvar("scr_fog_blue", "0.52"); + setdvar("scr_fog_baseheight", "-55"); + + setdvar("visionstore_glowTweakEnable", "1"); + setdvar("visionstore_glowTweakRadius0", "2"); + setdvar("visionstore_glowTweakRadius1", ""); + setdvar("visionstore_glowTweakBloomCutoff", "0.5"); + setdvar("visionstore_glowTweakBloomDesaturation", "0"); + setdvar("visionstore_glowTweakBloomIntensity0", "0.9"); + setdvar("visionstore_glowTweakBloomIntensity1", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity0", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity1", ""); + + + setVolFog(908, 650, 270, 170, 0.65, 0.71, 0.72, 0); + VisionSetNaked( "mp_kwai", 0 ); + +} + +// setVolFog(, , , , , , , ) diff --git a/raw/maps/mp/createart/mp_lagoon_art.gsc b/raw/maps/mp/createart/mp_lagoon_art.gsc new file mode 100644 index 000000000..aa0e3fba2 --- /dev/null +++ b/raw/maps/mp/createart/mp_lagoon_art.gsc @@ -0,0 +1,32 @@ +//_createart generated. modify at your own risk. Changing values should be fine. +main() +{ + + level.tweakfile = true; + + //* Fog section * + + setdvar("scr_fog_exp_halfplane", "900"); + setdvar("scr_fog_exp_halfheight", "400"); + setdvar("scr_fog_nearplane", "500"); + setdvar("scr_fog_red", "0.5"); + setdvar("scr_fog_green", "0.5"); + setdvar("scr_fog_blue", "0.5"); + setdvar("scr_fog_baseheight", "0"); + + setdvar("visionstore_glowTweakEnable", "0"); + setdvar("visionstore_glowTweakRadius0", "5"); + setdvar("visionstore_glowTweakRadius1", ""); + setdvar("visionstore_glowTweakBloomCutoff", "0.5"); + setdvar("visionstore_glowTweakBloomDesaturation", "0"); + setdvar("visionstore_glowTweakBloomIntensity0", "1"); + setdvar("visionstore_glowTweakBloomIntensity1", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity0", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity1", ""); + + setVolFog(0, 4400, 1400, 0, 0.552, 0.682, 0.71, 0); + +} + +// setVolFog(, , , , , , , ) + diff --git a/raw/maps/mp/createart/mp_makin_day_art.gsc b/raw/maps/mp/createart/mp_makin_day_art.gsc new file mode 100644 index 000000000..b89440cd1 --- /dev/null +++ b/raw/maps/mp/createart/mp_makin_day_art.gsc @@ -0,0 +1,35 @@ +//_createart generated. modify at your own risk. Changing values should be fine. +main() +{ + + level.tweakfile = true; + + //* Fog section * + + setdvar("scr_fog_exp_halfplane", "1053"); + setdvar("scr_fog_exp_halfheight", "243"); + setdvar("scr_fog_nearplane", "2869"); + setdvar("scr_fog_red", "0.52"); + setdvar("scr_fog_green", "0.62"); + setdvar("scr_fog_blue", "0.52"); + setdvar("scr_fog_baseheight", "167.563"); + + setdvar("visionstore_glowTweakEnable", "0"); + setdvar("visionstore_glowTweakRadius0", "5"); + setdvar("visionstore_glowTweakRadius1", ""); + setdvar("visionstore_glowTweakBloomCutoff", "0.5"); + setdvar("visionstore_glowTweakBloomDesaturation", "0"); + setdvar("visionstore_glowTweakBloomIntensity0", "1"); + setdvar("visionstore_glowTweakBloomIntensity1", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity0", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity1", ""); + + setVolFog(2869, 1053, 243, 243, 0.52, 0.54, 0.52, 0); + +VisionSetNaked( "mp_makin_day", 0 ); + + SetCullDist( 10000 ); +} + +// setVolFog(, , , , , , , ) + diff --git a/raw/maps/mp/createart/mp_stalingrad_art.gsc b/raw/maps/mp/createart/mp_stalingrad_art.gsc new file mode 100644 index 000000000..52716433c --- /dev/null +++ b/raw/maps/mp/createart/mp_stalingrad_art.gsc @@ -0,0 +1,48 @@ +//_createart generated. modify at your own risk. Changing values should be fine. +main() +{ + + level.tweakfile = true; + + // *Fog section* + + setdvar("scr_fog_exp_halfplane", "1028"); + setdvar("scr_fog_exp_halfheight", "1360"); + setdvar("scr_fog_nearplane", "512"); + setdvar("scr_fog_red", "0.3828"); + setdvar("scr_fog_green", "0.445"); + setdvar("scr_fog_blue", "0.5859"); + setdvar("scr_fog_baseheight", "-448"); + + + setdvar("visionstore_glowTweakEnable", "1"); + setdvar("visionstore_glowTweakRadius0", "1.25"); + setdvar("visionstore_glowTweakBloomCutoff", "0.17"); + setdvar("visionstore_glowTweakBloomDesaturation", "0.27"); + setdvar("visionstore_glowTweakBloomIntensity0", "0.88"); + setdvar("visionstore_glowTweakSkyBleedIntensity0", "0.29"); + setdvar("visionstore_glowRayExpansion", ".5"); + setdvar("visionstore_glowRayIntensity", "0.25"); + setdvar("visionstore_filmEnable", "1"); + setdvar("visionstore_filmContrast", "1.2"); + setdvar("visionstore_filmBrightness", "0.16"); + setdvar("visionstore_filmDesaturation", "0"); + + setdvar("visionstore_filmInvert", "0"); + setdvar("visionstore_filmLightTint", "1.37 1.6 1.2"); + setdvar("visionstore_filmDarkTint", "0.44 0.15 0.24"); + + + + + setVolFog(0, 4000, 1400, -450, 0.72, 0.76, 0.96, 0); +// SetCullDist( 7000 ); +// VisionSetNaked( "mp_seelow", 0 ); + +} + +// setVolFog(, , , , , , , ) + + + + diff --git a/raw/maps/mp/createart/mp_subway_art.gsc b/raw/maps/mp/createart/mp_subway_art.gsc new file mode 100644 index 000000000..ac70e9c1a --- /dev/null +++ b/raw/maps/mp/createart/mp_subway_art.gsc @@ -0,0 +1,31 @@ +//_createart generated. modify at your own risk. Changing values should be fine. +main() +{ + + level.tweakfile = true; + + //* Fog section * + + setdvar("scr_fog_exp_halfplane", "3759.28"); + setdvar("scr_fog_exp_halfheight", "243.735"); + setdvar("scr_fog_nearplane", "0"); + setdvar("scr_fog_red", "0.5"); + setdvar("scr_fog_green", "0.5"); + setdvar("scr_fog_blue", "0.5"); + setdvar("scr_fog_baseheight", "780"); + + setdvar("visionstore_glowTweakEnable", "0"); + setdvar("visionstore_glowTweakRadius0", "5"); + setdvar("visionstore_glowTweakRadius1", ""); + setdvar("visionstore_glowTweakBloomCutoff", "0.5"); + setdvar("visionstore_glowTweakBloomDesaturation", "0"); + setdvar("visionstore_glowTweakBloomIntensity0", "1"); + setdvar("visionstore_glowTweakBloomIntensity1", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity0", ""); + setdvar("visionstore_glowTweakSkyBleedIntensity1", ""); + + setVolFog(500, 1200, 27.9, 780, 0.48, 0.46, 0.42, 0); + +} + +// setVolFog(, , , , , , , ) \ No newline at end of file diff --git a/raw/maps/mp/createfx/mp_kneedeep_fx.gsc b/raw/maps/mp/createfx/mp_kneedeep_fx.gsc new file mode 100644 index 000000000..ccd959e7b --- /dev/null +++ b/raw/maps/mp/createfx/mp_kneedeep_fx.gsc @@ -0,0 +1,1457 @@ +//_createfx generated. Do not touch!! +main() +{ +// CreateFX entities placed: 250 + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 681.948, 1057.4, 102.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 863.885, -760.695, 158.815 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 6; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( -1675.17, -2364.46, 193.177 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 5; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( -1638.49, -769.183, 100.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 7; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( -1228.3, 603.051, 142.456 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 7; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 861.755, 275.805, 30.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 7; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 1990.12, 311.995, 90.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 7; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); + ent.v[ "origin" ] = ( -1031.37, -4094.27, 201.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_smoke_column_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2714.96, -23.1243, 179.5 ); + ent.v[ "angles" ] = ( 270, 0, 164 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1326.82, 1424.76, 125.963 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -133.408, 2024.4, 106.856 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -2154.94, -1736.67, 171.562 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 866.34, 2310.43, 130.616 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2409.19, 1531.87, 116.581 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "smoke_chimney_med" ); + ent.v[ "origin" ] = ( -1172.67, 1385.06, 106.023 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_chimney_med"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "smoke_chimney_med" ); + ent.v[ "origin" ] = ( -1109.77, 999.759, 125.241 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "smoke_chimney_med"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -1565.35, -1663.97, 146.093 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1901.86, 2082.98, 77.1956 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2657.17, 880.629, 153.964 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -1172.99, 1139.04, 103.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 598.135, -273.707, 83.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1102.86, 1014.79, -31.345 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 498.434, -31.1247, 28.5 ); + ent.v[ "angles" ] = ( 270, 357.064, 32.9356 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 644.906, 21.5218, 28.5 ); + ent.v[ "angles" ] = ( 270, 357.064, 32.9356 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 414.559, 94.5467, 28.5 ); + ent.v[ "angles" ] = ( 270, 357.064, 32.9356 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 674.564, 188.197, 28.5 ); + ent.v[ "angles" ] = ( 270, 357.709, 20.2906 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1844.04, 283.701, 29.5 ); + ent.v[ "angles" ] = ( 270, 0, 6 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1857.32, 269.259, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, 6 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1844.52, 368.918, 29.5 ); + ent.v[ "angles" ] = ( 270, 0, 6 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1859.76, 411.406, 28.5 ); + ent.v[ "angles" ] = ( 270, 1.44233, 4.55767 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1848.27, 212.899, 28.5 ); + ent.v[ "angles" ] = ( 270, 359.634, -5.63396 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 2039.7, 285.241, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, 6 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 2039.61, 370.008, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, 6 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 2019.04, 456.395, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, 6 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1360.45, 278.073, 30.5 ); + ent.v[ "angles" ] = ( 270, 358.311, 13.6893 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1843.82, 445.638, 28.5 ); + ent.v[ "angles" ] = ( 272, 276.001, 89.9989 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 3014.97, 595.261, 28.5 ); + ent.v[ "angles" ] = ( 270, 1.54295, 20.457 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 2987.84, 612.116, 28.5 ); + ent.v[ "angles" ] = ( 271.368, 205.989, -158.011 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 2943.91, 604.619, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, 42 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1494.12, 328.641, 30.5 ); + ent.v[ "angles" ] = ( 270, 0, 6 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1527.98, 234.195, 30.5 ); + ent.v[ "angles" ] = ( 270, 0, 6 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 1809.32, -55.6988, 118.315 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_seagulls_circling" ); + ent.v[ "origin" ] = ( 7978.55, 1475.14, 4794.13 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_seagulls_circling"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_seagulls_circling" ); + ent.v[ "origin" ] = ( 5126.55, -9699.53, 4483.42 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_seagulls_circling"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_seagulls_circling" ); + ent.v[ "origin" ] = ( -6001.21, -3550.17, 6141.41 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_seagulls_circling"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( -1542.11, -660.117, 151.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( -1950.98, 865.824, 218.094 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1862.07, 222.697, 28.5 ); + ent.v[ "angles" ] = ( 270, 359.634, -5.63396 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( -1377.43, 1533.62, 181 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 4; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( -421.689, 2191.01, 213.159 ); + ent.v[ "angles" ] = ( 270, 0, 6 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 4; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 551.755, 2662.17, 88.4128 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 4; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2425.62, 1461.2, 109.826 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 2468.3, -668.898, 179.25 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 4; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 1950.41, -1378.66, 147.25 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 4; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 670.623, -1098.4, 141.572 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 701.769, -1418.83, 160.657 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 120.225, -2275.37, 157.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 4; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1434.87, 760.211, 125.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 530.738, 129.53, 96.425 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 172.814, 413.334, 191.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 605.1, 565.112, 96.425 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 458.826, -727.631, 160.999 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( -1590.98, -85.7683, 134.549 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 208.742, -1781.56, 168.105 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1067.13, 984.74, 130.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1205.44, 662.27, 129.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 1307.24, 2358.54, 108.543 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 2566.55, 1112.16, 144.616 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 1764.66, 1028.97, 128.672 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 1481.02, -306.377, 131.34 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 1207.41, -452.922, 129.959 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 1343.24, -372.056, 128.953 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 1943.6, 747.318, 119.805 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 1933.03, 98.723, 114.747 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 624.222, 2300.33, 156.194 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 468.745, 2301.54, 151.913 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 1107.15, -1391.28, 167.174 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 6; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( -307.099, -1423.84, 29.498 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -1810.25, -1420.61, 157.325 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -1807.59, 414.784, 129.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1672.17, 1232.62, 139.175 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 235.784, -1749.28, 155.346 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( -693.148, -1768.47, 206.22 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( -921.456, -1297.78, 259.925 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( -1204.83, 630.616, 141.918 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( -220.721, 957.486, 185.971 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 824.91, -1805.16, 165.7 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_large" ); + ent.v[ "origin" ] = ( -1228.69, 2169.51, 157.27 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_large"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_large" ); + ent.v[ "origin" ] = ( -1293.8, 2145.85, 150.854 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_large"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_large" ); + ent.v[ "origin" ] = ( -1137.7, 2184.17, 147.281 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_large"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_large" ); + ent.v[ "origin" ] = ( -1230.62, 2193.77, 174.789 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_large"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); + ent.v[ "origin" ] = ( -1529.31, 2263.5, 253.242 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_smoke_column_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_large" ); + ent.v[ "origin" ] = ( -1096.66, 2056.02, 143.267 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_large"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -1722.44, 1038.62, 190.947 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2347.71, 873.704, 172.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1534.83, -28.3773, 138.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 982.66, -278.007, 142.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 759.29, 230.153, 28.5 ); + ent.v[ "angles" ] = ( 270, 357.709, 20.2906 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 665.203, 495.145, 28.5 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1477.37, 645.021, 28.5 ); + ent.v[ "angles" ] = ( 270, 356.424, 107.574 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 365.983, 2263.26, 37.1006 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 551.223, 2296.61, 34.1458 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 364.208, 2345.03, 37.1519 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 378.095, 2385.14, 37.1166 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 455.609, 2337.57, 38.8985 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 623.566, 2333.15, 33.1053 ); + ent.v[ "angles" ] = ( 270, 1.54295, 16.457 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 549.555, 2344.77, 36.5144 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 428.78, 2370.17, 36.2531 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 450.476, 2394.45, 36.113 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 426.523, 2402.2, 36.2389 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 486.927, 2401.94, 35.6543 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 507.326, 2395.14, 35.3496 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 603.243, 2362.13, 33.7933 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 702.946, 2310.43, 32.1883 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 687.819, 2318.93, 32.2869 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 323.109, 2012.38, 38.8347 ); + ent.v[ "angles" ] = ( 270, 3.01279, 46.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_brush_smolder_md" ); + ent.v[ "origin" ] = ( 94.0944, 1257.44, 519.485 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_smoke_brush_smolder_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_brush_smolder_sm" ); + ent.v[ "origin" ] = ( 53.7941, 1168.83, 422.153 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_smoke_brush_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -146.549, 532.128, 354.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 0.709225, 1400.06, 320.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1332.92, 1063.93, 265.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1419.36, 905.05, 280.173 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 445.206, 369.067, 375.125 ); + ent.v[ "angles" ] = ( 270, 0.315567, -8.31556 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 406.319, 748.737, 377.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -44.4682, 569.25, 189.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 320.559, 687.664, 183.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1537.77, 982.446, 132.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2753.03, 922.391, 154.144 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2306.4, -184.578, 141.34 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2520.17, -452.735, 165.254 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1464.86, 243.586, 153.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -876.096, -1610.02, 217.175 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -1857.18, 157.313, 134.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -557.31, 305.806, 163.421 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -326.207, 481.544, 174.217 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 113.365, 2052.08, 144.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 279.948, 2272.86, 147.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_electric_sparks" ); + ent.v[ "origin" ] = ( -1647.04, -2830.61, 494.002 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_electric_sparks"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( -734.944, -2365.5, 142.464 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 5; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( 855.96, -1480.06, 170.731 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_small" ); + ent.v[ "origin" ] = ( 2363, 435.46, 93.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_small"; + ent.v[ "delay" ] = 4; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2500.35, 2045.79, 107.037 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1838.29, 404.955, 28.5 ); + ent.v[ "angles" ] = ( 270, 357.709, 20.2906 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1858.6, 570.579, 28.5 ); + ent.v[ "angles" ] = ( 270, 3.36646, 74.6335 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1625.21, 1324.14, 67.2461 ); + ent.v[ "angles" ] = ( 270, 357.138, -143.138 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1653.66, 1342.95, 68.4284 ); + ent.v[ "angles" ] = ( 270, 0, -174 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1485.4, 1542.86, 65.2698 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1515.99, 1507.53, 66.4537 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1664.29, 1362.29, 68.4465 ); + ent.v[ "angles" ] = ( 270, 1.53434, 156.466 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1581.13, 1462.8, 66.3684 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 660.745, 2089.09, 34.3053 ); + ent.v[ "angles" ] = ( 270, 0, 10 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 678.974, 2130.08, 32.0873 ); + ent.v[ "angles" ] = ( 270, 0, 20 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 683.91, 2171.51, 32.1193 ); + ent.v[ "angles" ] = ( 270, 358.398, 29.6023 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 724.133, 2318.08, 32.0583 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 645.448, 2322.85, 33.4395 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 305.666, 2006.23, 28.9618 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); + ent.v[ "origin" ] = ( -2416.93, -4753.59, 141.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_smoke_column_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_flies_carcass" ); + ent.v[ "origin" ] = ( -369.016, 569.877, 248.229 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_flies_carcass"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( 1514.44, 1025.4, 35.125 ); + ent.v[ "angles" ] = ( 311.264, 332.803, 27.1733 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( 1463.22, 1275.8, 15.125 ); + ent.v[ "angles" ] = ( 311.264, 332.803, 27.1733 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( 377.904, 805.312, 270.125 ); + ent.v[ "angles" ] = ( 302.805, 323.941, 42.2919 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( 1369.01, 840.909, 182.125 ); + ent.v[ "angles" ] = ( 311.264, 332.803, 27.1733 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 398.34, -323.623, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, -174 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 391.693, -300.76, 28.5 ); + ent.v[ "angles" ] = ( 270, 357.064, 32.9356 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 390.668, -223.494, 29.5 ); + ent.v[ "angles" ] = ( 270, 358.568, 161.432 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_embers_patch" ); + ent.v[ "origin" ] = ( -1253.82, 2145.02, 131.008 ); + ent.v[ "angles" ] = ( 272, 90, -90 ); + ent.v[ "fxid" ] = "fx_mp_embers_patch"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( 528.814, 279.531, 40.425 ); + ent.v[ "angles" ] = ( 299.391, 319.793, 37.8599 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( 499.373, 357.054, 30.1682 ); + ent.v[ "angles" ] = ( 299.391, 319.793, 37.8599 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_dlight_fire_glow" ); + ent.v[ "origin" ] = ( 142.429, 1110.58, 375.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_dlight_fire_glow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_embers_patch_sm" ); + ent.v[ "origin" ] = ( 76.9733, 1305.17, 500.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_embers_patch_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 239.155, 1141.87, 90.125 ); + ent.v[ "angles" ] = ( 313.065, 332.728, 46.2515 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 314.17, 880.639, 101.125 ); + ent.v[ "angles" ] = ( 313.065, 332.728, 46.2515 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 338.49, 826.2, 107.125 ); + ent.v[ "angles" ] = ( 313.065, 332.728, 46.2515 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 43.4101, 508.392, 83.125 ); + ent.v[ "angles" ] = ( 303.282, 334.971, 42.9504 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 857.178, -387.99, 28.125 ); + ent.v[ "angles" ] = ( 303.282, 334.971, 42.9504 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 1084.01, -279.739, 24.125 ); + ent.v[ "angles" ] = ( 303.282, 334.971, 42.9504 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 1547.24, 71.9718, 40.125 ); + ent.v[ "angles" ] = ( 308.878, 330.333, 47.9909 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( -853.436, -1684.89, 145.175 ); + ent.v[ "angles" ] = ( 308.878, 330.333, 47.9909 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( -904.577, -1536.86, 130.175 ); + ent.v[ "angles" ] = ( 308.878, 330.333, 47.9909 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( -1760.79, 432.19, 41.4638 ); + ent.v[ "angles" ] = ( 308.878, 330.333, 47.9909 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( -1784.92, 318.243, 29.2365 ); + ent.v[ "angles" ] = ( 308.878, 330.333, 47.9909 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 246.213, 2245.83, 48.125 ); + ent.v[ "angles" ] = ( 308.878, 330.333, 47.9909 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 259.866, 2362.71, 38.125 ); + ent.v[ "angles" ] = ( 308.878, 330.333, 47.9909 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 793.509, -1870.19, 59.125 ); + ent.v[ "angles" ] = ( 303.282, 334.971, 42.9504 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_ray_sun_xsm_near" ); + ent.v[ "origin" ] = ( 244.675, -2063.85, 90.125 ); + ent.v[ "angles" ] = ( 308.878, 330.333, 47.9909 ); + ent.v[ "fxid" ] = "fx_mp_ray_sun_xsm_near"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_brush_smolder_md" ); + ent.v[ "origin" ] = ( 183.038, 782.022, 473.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_smoke_brush_smolder_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_brush_smolder_sm" ); + ent.v[ "origin" ] = ( -192.227, 525.506, 462.464 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_smoke_brush_smolder_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_embers_patch_sm" ); + ent.v[ "origin" ] = ( 174.18, 792.155, 453.879 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_embers_patch_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( 90.5112, 1285.82, 466.089 ); + ent.v[ "angles" ] = ( 270, 356.424, -70.4236 ); + ent.v[ "fxid" ] = "fx_mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( 52.797, 1177.89, 404.477 ); + ent.v[ "angles" ] = ( 314, 196, 84 ); + ent.v[ "fxid" ] = "fx_mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( 42.2214, 1227.83, 407.201 ); + ent.v[ "angles" ] = ( 315.026, 198.449, 70.2537 ); + ent.v[ "fxid" ] = "fx_mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( 159.561, 837.276, 391.509 ); + ent.v[ "angles" ] = ( 314, 196, 106 ); + ent.v[ "fxid" ] = "fx_mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( 133.287, 1290.39, 430.003 ); + ent.v[ "angles" ] = ( 316, 16, -90 ); + ent.v[ "fxid" ] = "fx_mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_small" ); + ent.v[ "origin" ] = ( 151.838, 1213.34, 423.914 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_small" ); + ent.v[ "origin" ] = ( 271.283, 777.674, 451.716 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_sm_slow" ); + ent.v[ "origin" ] = ( -1914.33, -1263.39, 167.688 ); + ent.v[ "angles" ] = ( 288, 180, 180 ); + ent.v[ "fxid" ] = "fx_mp_smoke_sm_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_sm_slow" ); + ent.v[ "origin" ] = ( -2010.64, -1274.17, 135.753 ); + ent.v[ "angles" ] = ( 288, 180, 180 ); + ent.v[ "fxid" ] = "fx_mp_smoke_sm_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_sm_slow" ); + ent.v[ "origin" ] = ( -1383.55, -1659.65, 148.302 ); + ent.v[ "angles" ] = ( 288, 180, 180 ); + ent.v[ "fxid" ] = "fx_mp_smoke_sm_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_sm_slow" ); + ent.v[ "origin" ] = ( -1418.49, -1728.73, 146.02 ); + ent.v[ "angles" ] = ( 288, 180, 180 ); + ent.v[ "fxid" ] = "fx_mp_smoke_sm_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_sm_slow" ); + ent.v[ "origin" ] = ( 408.872, -831.745, 152.055 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_smoke_sm_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_sm_slow" ); + ent.v[ "origin" ] = ( 353.255, -789.882, 150.789 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_smoke_sm_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_sm_slow" ); + ent.v[ "origin" ] = ( -676.924, -869.424, 34.8519 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_smoke_sm_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_smoke_sm_slow" ); + ent.v[ "origin" ] = ( -641.831, -863.583, 34.4964 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_smoke_sm_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_debris_hall_ash_embers_sm" ); + ent.v[ "origin" ] = ( 163.151, 1066.12, 334.125 ); + ent.v[ "angles" ] = ( 274.506, 221.392, -21.3912 ); + ent.v[ "fxid" ] = "fx_mp_debris_hall_ash_embers_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( 84.4339, 1213, 466.667 ); + ent.v[ "angles" ] = ( 274, 106, -180 ); + ent.v[ "fxid" ] = "fx_mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1619.83, 1308.83, 68.2601 ); + ent.v[ "angles" ] = ( 270, 0, -142 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1595.63, 1322.13, 67.949 ); + ent.v[ "angles" ] = ( 270, 0, -150 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1704.59, 1320.35, 68.4453 ); + ent.v[ "angles" ] = ( 270, 358.409, -162.409 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 548.117, 2252.8, 36.1398 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 285.121, 2198.96, 38.9731 ); + ent.v[ "angles" ] = ( 270, 0, 120 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 3071.85, 563.736, 29.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1523.19, 220.854, 30.5 ); + ent.v[ "angles" ] = ( 270, 0, 42 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 1852.08, 240.241, 30.5 ); + ent.v[ "angles" ] = ( 270, 359.861, -13.8612 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1875.5, -788.105, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, -140 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1934.95, -760.108, 28.5 ); + ent.v[ "angles" ] = ( 270, 5.19443, -69.1944 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1914.66, -791.622, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, -84 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1944.41, -786.481, 30.5 ); + ent.v[ "angles" ] = ( 270, 0, -34 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1937.36, -808.58, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, -140 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1846.62, -829.219, 28.5 ); + ent.v[ "angles" ] = ( 270, 358.091, -126.091 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1866.43, -839.037, 28.5 ); + ent.v[ "angles" ] = ( 270, 355.236, -103.236 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -2608.65, -640.443, 28.5 ); + ent.v[ "angles" ] = ( 270, 0.895174, 163.105 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -2609.17, -535.028, 30.5 ); + ent.v[ "angles" ] = ( 270, 0, -140 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -2613.52, -308.498, 30.5 ); + ent.v[ "angles" ] = ( 270, 1.95251, 162.048 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -2605.48, -427.837, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, 160 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -2024.86, -398.043, 30.5 ); + ent.v[ "angles" ] = ( 270, 3.01279, 80.9872 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -107.759, 13.0331, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, 64 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -65.2878, 17.8435, 28.5 ); + ent.v[ "angles" ] = ( 270, 352.875, 121.125 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( 3030.57, 587.012, 28.5 ); + ent.v[ "angles" ] = ( 270, 0, 62 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 2772.78, 365.704, 69.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1692.77, 322.859, 61.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 702.815, -155.724, 84.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 98.1299, 52.1604, 82.375 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -236.043, -259.405, 66.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -1270.19, -619.843, 70.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -2191.91, -447.586, 66.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -1477.95, 1348.58, 114.022 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -663.003, 1521.11, 119.744 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 641.203, 1829.13, 85.6497 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( 1565.44, 2102.5, 133.785 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -2084.7, 415.098, 144.866 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "fx_mp_water_wake_flow_slow" ); + ent.v[ "origin" ] = ( -1543.83, 1493.67, 67.0627 ); + ent.v[ "angles" ] = ( 270, 3.17983, 152.82 ); + ent.v[ "fxid" ] = "fx_mp_water_wake_flow_slow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_small_detail" ); + ent.v[ "origin" ] = ( -111.945, -974.363, 119.245 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_small_detail"; + ent.v[ "delay" ] = -15; + +} diff --git a/raw/maps/mp/createfx/mp_kwai_fx.gsc b/raw/maps/mp/createfx/mp_kwai_fx.gsc new file mode 100644 index 000000000..6f7ff0248 --- /dev/null +++ b/raw/maps/mp/createfx/mp_kwai_fx.gsc @@ -0,0 +1,125 @@ +//_createfx generated. Do not touch!! +main() +{ +// CreateFX entities placed: 21 + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_md" ); + ent.v[ "origin" ] = ( 1672, 1888, 744 ); + ent.v[ "angles" ] = ( 0, 255, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_md"; + ent.v[ "delay" ] = 1; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_md" ); + ent.v[ "origin" ] = ( 1712, 1868, 760 ); + ent.v[ "angles" ] = ( 0, 235, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_md"; + ent.v[ "delay" ] = 0.85; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_md" ); + ent.v[ "origin" ] = ( 1748, 1844, 736 ); + ent.v[ "angles" ] = ( 0, 235, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_md"; + ent.v[ "delay" ] = 0.15; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_md" ); + ent.v[ "origin" ] = ( 1790, 1814, 726 ); + ent.v[ "angles" ] = ( 0, 215, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_md"; + ent.v[ "delay" ] = 1.2; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_splash_sm_puddle" ); + ent.v[ "origin" ] = ( 1672, 1882, 430.238 ); + ent.v[ "angles" ] = ( 0, 255, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_splash_sm_puddle"; + ent.v[ "delay" ] = 1; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_splash_sm_puddle" ); + ent.v[ "origin" ] = ( 1712, 1862, 416 ); + ent.v[ "angles" ] = ( 0, 235, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_splash_sm_puddle"; + ent.v[ "delay" ] = 0.85; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_splash_sm_puddle" ); + ent.v[ "origin" ] = ( 1748, 1838, 416 ); + ent.v[ "angles" ] = ( 0, 225, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_splash_sm_puddle"; + ent.v[ "delay" ] = 0.15; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_splash_sm_puddle" ); + ent.v[ "origin" ] = ( 1790, 1808, 416 ); + ent.v[ "angles" ] = ( 0, 215, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_splash_sm_puddle"; + ent.v[ "delay" ] = 1.2; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtr_flow_md" ); + ent.v[ "origin" ] = ( 1666, 1878, 430.2 ); + ent.v[ "angles" ] = ( 0, 255, 0 ); + ent.v[ "fxid" ] = "a_wtr_flow_md"; + ent.v[ "delay" ] = 1; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtr_flow_md" ); + ent.v[ "origin" ] = ( 1706, 1858, 416 ); + ent.v[ "angles" ] = ( 0, 235, 0 ); + ent.v[ "fxid" ] = "a_wtr_flow_md"; + ent.v[ "delay" ] = 0.85; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtr_flow_md" ); + ent.v[ "origin" ] = ( 1742, 1834, 416 ); + ent.v[ "angles" ] = ( 0, 225, 0 ); + ent.v[ "fxid" ] = "a_wtr_flow_md"; + ent.v[ "delay" ] = 0.15; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtr_flow_md" ); + ent.v[ "origin" ] = ( 1784, 1804, 416 ); + ent.v[ "angles" ] = ( 0, 215, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_splash_sm_puddle"; + ent.v[ "delay" ] = 1.2; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_md" ); + ent.v[ "origin" ] = ( 1926, 1602, 748 ); + ent.v[ "angles" ] = ( 0, 210, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_md"; + ent.v[ "delay" ] = 1; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_md" ); + ent.v[ "origin" ] = ( 1964, 1538, 740 ); + ent.v[ "angles" ] = ( 0, 195, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_md"; + ent.v[ "delay" ] = 0.85; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_md" ); + ent.v[ "origin" ] = ( 2000, 1482, 740 ); + ent.v[ "angles" ] = ( 0, 195, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_md"; + ent.v[ "delay" ] = 0.15; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_splash_sm_puddle" ); + ent.v[ "origin" ] = ( 1920, 1600, 416 ); + ent.v[ "angles" ] = ( 0, 210, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_splash_sm_puddle"; + ent.v[ "delay" ] = 1; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_splash_sm_puddle" ); + ent.v[ "origin" ] = ( 1958, 1536, 416 ); + ent.v[ "angles" ] = ( 0, 195, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_splash_sm_puddle"; + ent.v[ "delay" ] = 0.85; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtrfall_splash_sm_puddle" ); + ent.v[ "origin" ] = ( 1970, 1490, 427.283 ); + ent.v[ "angles" ] = ( 0, 185, 0 ); + ent.v[ "fxid" ] = "a_wtrfall_splash_sm_puddle"; + ent.v[ "delay" ] = 0.15; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtr_flow_md" ); + ent.v[ "origin" ] = ( 1914, 1596, 416 ); + ent.v[ "angles" ] = ( 0, 210, 0 ); + ent.v[ "fxid" ] = "a_wtr_flow_md"; + ent.v[ "delay" ] = 1; + + ent = maps\mp\_utility::createOneshotEffect( "a_wtr_flow_md" ); + ent.v[ "origin" ] = ( 1952, 1532, 416 ); + ent.v[ "angles" ] = ( 0, 195, 0 ); + ent.v[ "fxid" ] = "a_wtr_flow_md"; + ent.v[ "delay" ] = 0.85; + +} \ No newline at end of file diff --git a/raw/maps/mp/createfx/mp_makin_day_fx.gsc b/raw/maps/mp/createfx/mp_makin_day_fx.gsc new file mode 100644 index 000000000..3c6b55e50 --- /dev/null +++ b/raw/maps/mp/createfx/mp_makin_day_fx.gsc @@ -0,0 +1,851 @@ +//_createfx generated. Do not touch!! +main() +{ +// CreateFX entities placed: 149 + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short_loop" ); + ent.v[ "origin" ] = ( -10516.4, -20400.1, 166.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short_loop"; + ent.v[ "delay" ] = -2; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short_loop" ); + ent.v[ "origin" ] = ( -10032.4, -20291.9, 166.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short_loop"; + ent.v[ "delay" ] = -3; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short_loop" ); + ent.v[ "origin" ] = ( -10719.7, -14166.1, 240.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short_loop"; + ent.v[ "delay" ] = -4; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -7621.69, -16987, 187.726 ); + ent.v[ "angles" ] = ( 270.418, 276.003, 99.9886 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -7888.46, -17047.2, 182.937 ); + ent.v[ "angles" ] = ( 270.418, 276.018, 115.974 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -7903.93, -17156.2, 182 ); + ent.v[ "angles" ] = ( 270.418, 276.025, 121.967 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -8563.78, -17792.7, 107.551 ); + ent.v[ "angles" ] = ( 279.227, 213.743, 168.268 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -8277.48, -17661.3, 158.49 ); + ent.v[ "angles" ] = ( 276.261, 174.654, -143.078 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -8177.48, -17566.8, 169.016 ); + ent.v[ "angles" ] = ( 271.003, 245.094, -169.468 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -8138.77, -17353.5, 181.616 ); + ent.v[ "angles" ] = ( 272.506, 195.918, -112.309 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -9344.36, -17833.5, 48.251 ); + ent.v[ "angles" ] = ( 271.769, 194.657, 173.065 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -9175.84, -17813.8, 53.962 ); + ent.v[ "angles" ] = ( 272.781, 231.181, 136.432 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -9377.51, -17691, 49.5055 ); + ent.v[ "angles" ] = ( 271.738, 185.586, -163.865 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -9415.72, -18093.6, 45.2827 ); + ent.v[ "angles" ] = ( 271.738, 185.597, -175.875 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -9191.78, -17944.8, 51.9249 ); + ent.v[ "angles" ] = ( 271.738, 185.596, -175.874 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -9138.83, -18041.1, 54.9185 ); + ent.v[ "angles" ] = ( 271.738, 185.596, -175.874 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -8757.04, -17795.5, 81.5683 ); + ent.v[ "angles" ] = ( 275.752, 188.456, 175.254 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_splash_small" ); + ent.v[ "origin" ] = ( -7547.62, -17008, 189.184 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_splash_small" ); + ent.v[ "origin" ] = ( -8464.31, -17714.7, 134.278 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_splash_small" ); + ent.v[ "origin" ] = ( -8954.62, -17790, 63.9116 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_splash_small" ); + ent.v[ "origin" ] = ( -9329.94, -17814.6, 47.8035 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_splash_small" ); + ent.v[ "origin" ] = ( -9294.47, -17771.1, 49.6112 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10242.9, -14644.1, 78.1904 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10453.1, -15527.3, 90.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9602.05, -15482.9, 118.506 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9242.45, -15712.7, 125.309 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9068.26, -16223.5, 110 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9492.82, -16403.1, 141.587 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10231.6, -16249.3, 79 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10242, -15774.5, 112.785 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10746.2, -15140.8, 42.9981 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10729.6, -16480.6, 27.9959 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11577.8, -16608.8, 46 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9316.1, -16860.3, 138.988 ); + ent.v[ "angles" ] = ( 270, 0, -90 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -7805.32, -16237, 294.031 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -7498.01, -16910, 272.168 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9138.49, -17606.8, 125.946 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9517.53, -18357.6, 70.1901 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9264.08, -18682.1, 82.1954 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10051.9, -19053.9, 32 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11601.4, -18301.6, -20 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9449.57, -19094.2, 141.767 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9696.23, -19550, 75.6227 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11040.7, -19669.4, 14.8998 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11481.9, -16876.2, 28.3459 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11892.5, -16606.5, 49.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10941.7, -16515.4, 48.8263 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10139.1, -16518.6, 144 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9922.2, -15727.8, 120.049 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9993.83, -15317.1, 86.4927 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10462.5, -14194.1, 108.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11334.5, -14786.1, 52.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11315.7, -17194.6, -4 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11446.5, -17483.3, 110.576 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -8390.67, -16458.4, 245.464 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -8169.21, -17637.2, 207.693 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -8808.12, -17830.5, 99.1076 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -7745.22, -17001.2, 226.38 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -9755.04, -18273, 110.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10673.1, -20296.7, 116.679 ); + ent.v[ "angles" ] = ( 360, 190, -180 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -8; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11672.7, -18823.8, -20 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -9234.27, -17827.1, 51.577 ); + ent.v[ "angles" ] = ( 272.016, 185.239, -173.662 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -10; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_splash_small" ); + ent.v[ "origin" ] = ( -8922.64, -17901.3, 64.7613 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_water_splash_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -8916.88, -17906.8, 66.0834 ); + ent.v[ "angles" ] = ( 275.752, 188.456, 175.254 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -7498.26, -17159.7, 185.829 ); + ent.v[ "angles" ] = ( 270.418, 276.028, 3.96381 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -7438.43, -17141.6, 185.421 ); + ent.v[ "angles" ] = ( 270.418, 276.033, 11.9586 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -9; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -9246.88, -18064.8, 52.1571 ); + ent.v[ "angles" ] = ( 271.738, 185.597, -175.875 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_wake_flow" ); + ent.v[ "origin" ] = ( -9347.3, -18080.1, 48.1661 ); + ent.v[ "angles" ] = ( 271.738, 185.597, -175.875 ); + ent.v[ "fxid" ] = "mp_water_wake_flow"; + ent.v[ "delay" ] = -3; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10523.9, -16271.1, 31.7902 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11817.1, -17761.8, -7.99999 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11719.1, -17280.9, -22 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -12181.7, -16625.7, 0.999996 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11855.8, -15589.2, 11 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11910.2, -16195.5, 1 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11385.8, -15906.9, -13.6745 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11610.8, -15381.7, -22.332 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10775.9, -14323.8, 128.465 ); + ent.v[ "angles" ] = ( 2, 90, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -11017.5, -14331.9, 127.637 ); + ent.v[ "angles" ] = ( 2, 90, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10741.4, -14013.2, 216.875 ); + ent.v[ "angles" ] = ( 358.001, 272.001, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -8951.55, -15958.7, 167.313 ); + ent.v[ "angles" ] = ( 2, 90, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -9557.14, -18965.7, 43.125 ); + ent.v[ "angles" ] = ( 346.217, 274.537, -55.048 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_sm" ); + ent.v[ "origin" ] = ( -10206.1, -19360.9, -9.375 ); + ent.v[ "angles" ] = ( 334.192, 17.4026, 15.3177 ); + ent.v[ "fxid" ] = "mp_ray_sun_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10398.9, -20439.3, 130.099 ); + ent.v[ "angles" ] = ( 0, 190, 2 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -8; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10046.7, -19123.9, 132.984 ); + ent.v[ "angles" ] = ( 356.01, 89.9903, 0.279478 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -8; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10650.1, -18861, 117.053 ); + ent.v[ "angles" ] = ( 3.11318, 241.943, -0.141354 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -8; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10771.3, -18500.3, 106.922 ); + ent.v[ "angles" ] = ( 3.11318, 241.943, -0.141354 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -8; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_sm" ); + ent.v[ "origin" ] = ( -10467.1, -18486.5, 75.6018 ); + ent.v[ "angles" ] = ( 322.346, 18.4504, 2.32452 ); + ent.v[ "fxid" ] = "mp_ray_sun_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_sm" ); + ent.v[ "origin" ] = ( -10406.6, -18521.5, 89.25 ); + ent.v[ "angles" ] = ( 322.346, 18.4504, 2.32452 ); + ent.v[ "fxid" ] = "mp_ray_sun_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_sm" ); + ent.v[ "origin" ] = ( -11162.5, -17473.1, 27.356 ); + ent.v[ "angles" ] = ( 322.346, 18.4504, 2.32452 ); + ent.v[ "fxid" ] = "mp_ray_sun_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10225.4, -16822.3, 179.711 ); + ent.v[ "angles" ] = ( 0, 120, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10112.7, -16482.7, 193.453 ); + ent.v[ "angles" ] = ( 0, 132, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10128.7, -16514.8, 111.757 ); + ent.v[ "angles" ] = ( 0, 84, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -9955.71, -17234.4, 108.521 ); + ent.v[ "angles" ] = ( 0, 290, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -9408.2, -16906, 250.125 ); + ent.v[ "angles" ] = ( 0, 298, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_sm" ); + ent.v[ "origin" ] = ( -8754.28, -15599.6, 131.406 ); + ent.v[ "angles" ] = ( 318.35, 18.2335, 2.46304 ); + ent.v[ "fxid" ] = "mp_ray_sun_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_sm" ); + ent.v[ "origin" ] = ( -8462.42, -15639.4, 214.46 ); + ent.v[ "angles" ] = ( 318.35, 18.2335, 2.46304 ); + ent.v[ "fxid" ] = "mp_ray_sun_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10687.1, -15955.6, 111.616 ); + ent.v[ "angles" ] = ( 0, 228, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10530.4, -15860.2, 115.698 ); + ent.v[ "angles" ] = ( 0, 228, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md" ); + ent.v[ "origin" ] = ( -10920.2, -15718.6, 31.1965 ); + ent.v[ "angles" ] = ( 318.35, 18.2335, 2.46305 ); + ent.v[ "fxid" ] = "mp_ray_sun_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -10822.3, -17371.2, -70.1842 ); + ent.v[ "angles" ] = ( 7.13494, 288.807, -37.5823 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -10856.8, -17449.6, -36 ); + ent.v[ "angles" ] = ( 352.864, 108.807, 37.5824 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -9706.43, -16560.1, 14 ); + ent.v[ "angles" ] = ( 313.328, 206.775, -13.4213 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -9658.77, -16787.2, -15 ); + ent.v[ "angles" ] = ( 318.729, 150.483, 27.3744 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -9683, -16880.1, 1 ); + ent.v[ "angles" ] = ( 341.195, 260.843, -45.165 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short_loop" ); + ent.v[ "origin" ] = ( -9792.37, -16806.6, 244.25 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short_loop"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md" ); + ent.v[ "origin" ] = ( -10896.9, -15765.9, 88.125 ); + ent.v[ "angles" ] = ( 318.35, 18.2335, 2.46305 ); + ent.v[ "fxid" ] = "mp_ray_sun_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md" ); + ent.v[ "origin" ] = ( -10896.2, -15592.7, 46.25 ); + ent.v[ "angles" ] = ( 320.348, 18.3451, 2.39033 ); + ent.v[ "fxid" ] = "mp_ray_sun_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md" ); + ent.v[ "origin" ] = ( -10965.4, -15582.9, 57.25 ); + ent.v[ "angles" ] = ( 320.348, 18.3451, 2.39033 ); + ent.v[ "fxid" ] = "mp_ray_sun_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -10980.2, -15543, 110.387 ); + ent.v[ "angles" ] = ( 0, 176, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_crater" ); + ent.v[ "origin" ] = ( -10495.6, -14596.6, 49.6549 ); + ent.v[ "angles" ] = ( 284, 220, 72 ); + ent.v[ "fxid" ] = "mp_smoke_crater"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_crater" ); + ent.v[ "origin" ] = ( -10420.4, -19654.6, 33.1619 ); + ent.v[ "angles" ] = ( 286.12, 212.784, 78.8655 ); + ent.v[ "fxid" ] = "mp_smoke_crater"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11405, -19238.2, -10.9405 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -11206.5, -18761.6, -6.22692 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -10949.9, -18303.3, -151.5 ); + ent.v[ "angles" ] = ( 351.708, 280.806, -56.3907 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -10827, -18297.9, -156.5 ); + ent.v[ "angles" ] = ( 351.708, 280.806, -56.3907 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -10726.1, -18291.6, -151.401 ); + ent.v[ "angles" ] = ( 351.708, 280.806, -56.3907 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11044.2, -17321.5, -126.637 ); + ent.v[ "angles" ] = ( 356.716, 284.129, -56.7261 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11025.8, -17865.3, -168.059 ); + ent.v[ "angles" ] = ( 3.28428, 104.129, 56.7262 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11014.8, -17949.7, -125 ); + ent.v[ "angles" ] = ( 309.092, 159.969, 29.6995 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( -11675.1, -17812.4, 196.163 ); + ent.v[ "angles" ] = ( 323.179, 14.9961, -9.23996 ); + ent.v[ "fxid" ] = "mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -11682.4, -17846.9, 259.791 ); + ent.v[ "angles" ] = ( 352, 214, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11734.6, -17666.9, -8.31737 ); + ent.v[ "angles" ] = ( 335.212, 123.879, 52.8919 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11740.7, -17753, -61.2777 ); + ent.v[ "angles" ] = ( 314.759, 176.963, 18.8722 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11934.3, -16835.7, -53.875 ); + ent.v[ "angles" ] = ( 312.776, 169.478, 25.7743 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -12000.4, -16844.4, -99.875 ); + ent.v[ "angles" ] = ( 17.7934, 106.884, 50.7897 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -12030.3, -16681.4, -92.875 ); + ent.v[ "angles" ] = ( 344.967, 267.835, -42.5811 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11440.1, -14951.4, -158.875 ); + ent.v[ "angles" ] = ( 317.935, 169.494, 16.6856 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11449.5, -14985.3, -113.875 ); + ent.v[ "angles" ] = ( 313.122, 223.995, -20.9598 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_sm" ); + ent.v[ "origin" ] = ( -11479.6, -14796.3, -51.875 ); + ent.v[ "angles" ] = ( 323.141, 13.522, -3.61356 ); + ent.v[ "fxid" ] = "mp_ray_sun_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11529.5, -14958.8, -98.875 ); + ent.v[ "angles" ] = ( 327.805, 255.178, -41.4038 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( -10587.1, -14212.8, 39.125 ); + ent.v[ "angles" ] = ( 309.325, 15.7378, 7.8179 ); + ent.v[ "fxid" ] = "mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -9874.48, -16866.8, 106.125 ); + ent.v[ "angles" ] = ( 341.195, 260.843, -45.165 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -9916.86, -16771.5, 106.125 ); + ent.v[ "angles" ] = ( 356.053, 94.9091, 43.6431 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_lantern" ); + ent.v[ "origin" ] = ( -9915.36, -19971.1, 164.371 ); + ent.v[ "angles" ] = ( 5.38791, 53.8818, -1.44494 ); + ent.v[ "fxid" ] = "mp_light_glow_lantern"; + ent.v[ "delay" ] = -8; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md" ); + ent.v[ "origin" ] = ( -10838.3, -15787.4, 106.125 ); + ent.v[ "angles" ] = ( 318.35, 18.2335, 2.46305 ); + ent.v[ "fxid" ] = "mp_ray_sun_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -10102.3, -17197.8, 87 ); + ent.v[ "angles" ] = ( 319.607, 167.893, 24.6802 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -10170.9, -16577.3, 107 ); + ent.v[ "angles" ] = ( 315.717, 217.674, -21.2066 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( -9642.47, -16737.6, 165 ); + ent.v[ "angles" ] = ( 310.319, 14.4681, 7.67033 ); + ent.v[ "fxid" ] = "mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_swarm" ); + ent.v[ "origin" ] = ( -10754.7, -18184.3, -14.5 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_swarm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_xsm" ); + ent.v[ "origin" ] = ( -11884.3, -16641.1, -22.875 ); + ent.v[ "angles" ] = ( 321.692, 17.5517, -14.0605 ); + ent.v[ "fxid" ] = "mp_ray_sun_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_sun_md_1sd" ); + ent.v[ "origin" ] = ( -11507.1, -15758.7, -216.945 ); + ent.v[ "angles" ] = ( 353.832, 274.066, -38.2097 ); + ent.v[ "fxid" ] = "mp_ray_sun_md_1sd"; + ent.v[ "delay" ] = -15; + +} diff --git a/raw/maps/mp/createfx/mp_nachtfeuer_fx.gsc b/raw/maps/mp/createfx/mp_nachtfeuer_fx.gsc index 035c2dbaf..16cad52b4 100644 --- a/raw/maps/mp/createfx/mp_nachtfeuer_fx.gsc +++ b/raw/maps/mp/createfx/mp_nachtfeuer_fx.gsc @@ -1,1361 +1,1229 @@ //_createfx generated. Do not touch!! main() { -// CreateFX entities placed: 263 - ent = maps\mp\_utility::createOneshotEffect( "ash_and_embers" ); +// CreateFX entities placed: 212 + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_and_embers" ); ent.v[ "origin" ] = ( -17.5523, -1118.49, 1387 ); ent.v[ "angles" ] = ( 272, 90, -90 ); - ent.v[ "fxid" ] = "ash_and_embers"; + ent.v[ "fxid" ] = "mp_ash_and_embers"; ent.v[ "delay" ] = -15; - ent = maps\mp\_utility::createOneshotEffect( "ash_and_embers" ); + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_and_embers" ); ent.v[ "origin" ] = ( 1455.35, -1041.09, 1347.43 ); ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "ash_and_embers"; - ent.v[ "delay" ] = -15; + ent.v[ "fxid" ] = "mp_ash_and_embers"; + ent.v[ "delay" ] = 0.05; - ent = maps\mp\_utility::createOneshotEffect( "ash_and_embers" ); + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_and_embers" ); ent.v[ "origin" ] = ( 1666.28, 2064.71, 1294.52 ); ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "ash_and_embers"; - ent.v[ "delay" ] = -15; + ent.v[ "fxid" ] = "mp_ash_and_embers"; + ent.v[ "delay" ] = 0.1; - ent = maps\mp\_utility::createOneshotEffect( "ash_and_embers" ); + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_and_embers" ); ent.v[ "origin" ] = ( -298.575, 2018.57, 1392.83 ); ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "ash_and_embers"; - ent.v[ "delay" ] = -15; + ent.v[ "fxid" ] = "mp_ash_and_embers"; + ent.v[ "delay" ] = 0.11; - ent = maps\mp\_utility::createOneshotEffect( "ash_and_embers" ); - ent.v[ "origin" ] = ( 1051.08, 428.673, 1283.19 ); + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_and_embers" ); + ent.v[ "origin" ] = ( 1051.08, 428.673, 1296.19 ); ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "ash_and_embers"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 815.355, 2275.6, 1445.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 808.711, 2275.32, 1648.44 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1284.49, 1694.18, 1509.73 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1156.5, 1699.53, 1505.64 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1574.86, -459.54, 1637.68 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -364.572, -921.981, 1464.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -326.711, -884.962, 1649.72 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -325.416, -870.374, 1863.02 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -617.975, -1357.37, 1192.43 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -634.51, -1568.42, 1267.04 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -660.181, -1461.84, 1242.03 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -601.651, -1244.32, 1168.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -559.293, -1015.51, 1168.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -801.538, -1003.44, 1168.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -1043.8, -1026.57, 1168.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -1089.45, -1118.5, 1168.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -924.962, -1168.27, 1168.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -801.039, -1169.27, 1171.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -266.217, -2083.91, 1227.12 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -209.429, -2608.75, 1678.01 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_tree" ); - ent.v[ "origin" ] = ( -706.68, -2092.7, 1276.89 ); - ent.v[ "angles" ] = ( 300.234, 146.811, -150.527 ); - ent.v[ "fxid" ] = "fire_tree"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1952.8, -564.385, 1440 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2060.45, -490.611, 1440 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2076.53, -394.721, 1627.88 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -39.597, 2380.09, 1588.18 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 197.138, 2378.17, 1560.69 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 404.553, 2443.99, 1588.97 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 288.789, 2420.42, 1572.01 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 529.967, 2440.57, 1554.79 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 609.902, 2430.87, 1601.54 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 768.214, 2667.9, 1608.6 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 756.717, 2827.39, 1597.99 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 792.417, 2936.2, 1596.67 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2003.57, -2446.54, 1745.71 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1686.39, -1859.89, 1544.15 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2028.24, -2512, 1589.67 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1982.12, -2547.21, 1571.82 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2120.11, -2389.7, 1568.65 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1934.36, -2264.59, 1376.16 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1325.76, -2451.16, 1378.31 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1708.03, -2144.08, 1376.46 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 24.5489, 2345.1, 1471.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -112.605, 2370.79, 1482.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 202.087, 2297.17, 1466.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 372.162, 2315.47, 1464.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 526.847, 2350.74, 1465.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 848.905, 2480.28, 1469.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 879.974, 2694.84, 1478.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 803.755, 2604.95, 1463.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 777.29, 2805.83, 1455.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 870.563, 2900.56, 1473.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 1629.69, -1474.12, 1198.51 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 1622.21, -1535.36, 1200.58 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 1604.4, -1511.42, 1197.31 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 1085.09, -1602.48, 1203.32 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 1105.47, -1622.91, 1209.69 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 1457.73, -1923.11, 1218.62 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_static_small" ); - ent.v[ "origin" ] = ( 1503.18, -1877.84, 1200.31 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_static_small"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 898.49, -1391.51, 1561.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 878.26, -1342.04, 1728.6 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 949.989, -1412.86, 1721.11 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 927.269, -1405.54, 1817.79 ); - ent.v[ "angles" ] = ( 12.7201, 213.966, 71.8993 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 880.653, -1371.7, 1820.32 ); - ent.v[ "angles" ] = ( 34, 270, 90 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 898.874, -1392.23, 1609.13 ); - ent.v[ "angles" ] = ( 283.372, 338.367, 117.606 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -347.038, 595.143, 1477.64 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -351.757, 581.881, 1748.59 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -342.277, 580.531, 1931.86 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -640.267, -1281.76, 1303.87 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -635.549, -1376.41, 1351.1 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -635.416, -1499.34, 1390.35 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -637.454, -1635.25, 1389.71 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -801.723, -1236.89, 1263.99 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -871.146, -1208.78, 1696.29 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -638.295, -1605.46, 1586.22 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -644.082, -1621.72, 1806.37 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( -631.258, -1244.04, 1552.54 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "smoke_plume_sm_fast_blk_w" ); - ent.v[ "origin" ] = ( 1492.21, -1906.91, 1201.3 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_plume_sm_fast_blk_w"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "smoke_plume_sm_fast_blk_w" ); - ent.v[ "origin" ] = ( 1092.93, -1638.04, 1203.83 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_plume_sm_fast_blk_w"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "smoke_plume_sm_fast_blk_w" ); - ent.v[ "origin" ] = ( 1633.84, -1477.88, 1193.52 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_plume_sm_fast_blk_w"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "smoke_plume_sm_fast_blk_w" ); - ent.v[ "origin" ] = ( 1619.51, -1525.45, 1196.29 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_plume_sm_fast_blk_w"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "smoke_plume_xlg_slow_blk" ); - ent.v[ "origin" ] = ( -551.598, -1579.38, 1766.39 ); - ent.v[ "angles" ] = ( 272.515, 355.502, -64.3818 ); - ent.v[ "fxid" ] = "smoke_plume_xlg_slow_blk"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "smoke_plume_sm_fast_blk_w" ); - ent.v[ "origin" ] = ( 513.307, -278.079, 1527.48 ); - ent.v[ "angles" ] = ( 271.433, 99.8607, -101.256 ); - ent.v[ "fxid" ] = "smoke_plume_sm_fast_blk_w"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "smoke_plume_sm_fast_blk_w" ); - ent.v[ "origin" ] = ( 368.867, 409.746, 1450.98 ); - ent.v[ "angles" ] = ( 271.433, 99.8607, -101.256 ); - ent.v[ "fxid" ] = "smoke_plume_sm_fast_blk_w"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 943.657, 1614.85, 1659.85 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1321.01, 1556.2, 1653.06 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1343.94, 1426.3, 1507.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1425.26, 1576.98, 1362.15 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1545.76, 1658.63, 1349.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1477.47, 1409.7, 1353.63 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1254.44, 1383.81, 1370.55 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1296.96, 1658.22, 1342.25 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1675.35, 823.424, 1425.24 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1667.08, 824.666, 1779.43 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1677.01, 741.248, 1859.98 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1678.95, 914.209, 1857.37 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1668.25, 637.501, 1642.15 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1692.31, 175.458, 1794.83 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1697.94, -165.37, 1745.1 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1898.74, 160.975, 1379.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1891.3, 27.6733, 1379.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1661.82, -85.8974, 1443.34 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2652.24, 74.9817, 1242.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2658.88, -0.743622, 1242.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2414.45, -17.4916, 1243.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1697.12, -278.627, 1160.69 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "ash_and_embers" ); - ent.v[ "origin" ] = ( 1877.56, -29.9477, 1256.78 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "ash_and_embers"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1698.86, -1501.97, 1366.33 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1720.7, -1246.65, 1556.9 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( -285.38, -2675.78, 1387.48 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 1629.33, -2540.01, 1448.07 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 1954.37, -2199.6, 1465.79 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 2076.91, -1198.82, 1620.07 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 1722.23, -1662.8, 1621.68 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 1846.49, 665.302, 1516.69 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 1864.77, 814.885, 1521.83 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1677.8, 643.106, 1431.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 1693.26, 723.151, 1428.17 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 1819.15, 680.618, 1679.4 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_xlarge_distant" ); - ent.v[ "origin" ] = ( 1808.62, 876.131, 1862.45 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_xlarge_distant"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "smoke_window_out" ); - ent.v[ "origin" ] = ( 1697.14, -220.537, 1204.06 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_window_out"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "smoke_hallway_faint_dark" ); - ent.v[ "origin" ] = ( 1759.89, 692.033, 1204.05 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "smoke_hallway_faint_dark"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1139.9, -832.15, 1291.08 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1423.28, -892.375, 1291.11 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1889.73, -699.091, 1352.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 2122.79, -878.11, 1359.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1260.89, -1583.72, 1332.95 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1482.48, -1727.02, 1333 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 879.383, -1223.47, 1291.75 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 454.791, -833.477, 1291.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 53.7998, -820.322, 1333.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 526.592, -1238.52, 1290.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 349.694, -1235.93, 1291.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -53.9538, -1211, 1280.41 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -115.866, -728.002, 1290 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -114.062, -434.692, 1289 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -114.2, -165.791, 1291.22 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -115.829, 263.051, 1290 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -18.1906, 366.174, 1298 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 99.2375, 722.023, 1289.99 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 247.359, 642.348, 1297.19 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 445.282, 504.143, 1320.67 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 251.019, 509.161, 1445.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 276.875, 222.296, 1517 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 23.8036, 9.11971, 1515 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 19.4332, -350.157, 1515 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 245.17, -675.335, 1529.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 260.564, -221.937, 1516 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 501.728, -224.909, 1516 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 633.873, 66.1698, 1434.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 619.428, -301.356, 1434.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 232.667, -300.624, 1434 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 426.084, -436.115, 1432.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 618.04, -362.341, 1434.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 561.972, -699.777, 1432.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 176.025, -736.627, 1439.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -411.883, 930.265, 1291.53 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -661.934, 892.438, 1287.26 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -998.313, 950.268, 1288.23 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -879.515, 1244.03, 1286.94 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -998.016, 1508.36, 1286.83 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -832.138, 1618.94, 1294.33 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -818.354, 2191.71, 1298.8 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -427.997, 1759.61, 1294.32 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -186.248, 1050.2, 1290 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 17.5743, 1192.18, 1283 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -40.957, 1577.58, 1293 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -238.988, 2160.72, 1293.83 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 119.079, 2129.4, 1291.56 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -90.1667, 2399.12, 1298.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 68.7887, 2450.88, 1298.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 243.596, 2374.54, 1298.11 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 423.081, 2356.02, 1298.28 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 566.401, 2401.19, 1282.34 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 651.166, 2552.03, 1298.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 521.16, 1767.39, 1317.08 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 545.108, 2073.89, 1293 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 855.681, 1754.47, 1290.62 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1081.4, 1764.81, 1289.86 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1205.49, 1764.54, 1289.75 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1611.8, 1766.71, 1289.68 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1887.38, 1664.32, 1290 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1920.54, 1268.27, 1289.38 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1882.04, 1079.54, 1357.87 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1634.61, 1085.78, 1290.48 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1035.17, 1150.26, 1221 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 696.647, 1182.74, 1221.12 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 548.612, 881.343, 1229.47 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1958.94, 876.197, 1323.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 2211.87, 892.535, 1323.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 2212.42, 595.814, 1323.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 2211.87, 309.967, 1323.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1981.99, 317.114, 1322.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1757.39, 313.152, 1323.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1957.47, 588.366, 1324.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1601.12, 716.071, 1357.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1600.49, 442.548, 1357.23 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1601.17, 165.481, 1357.25 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 865.436, 195.529, 1270.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1051.86, -203.852, 1291 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1488.93, -476.932, 1315.98 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 564.129, -440.332, 1300 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 562.979, -698.312, 1300 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( -3975.36, 1687.16, 2129 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( -176.877, 2538.3, 1502.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( 2880.86, 3623.41, 1776.55 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( 1687.04, -1380.34, 1643.13 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( 389.439, -1759.4, 2326.85 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( -1864.31, -2844.98, 2005.01 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( 1920.66, 741.55, 1860.7 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( -531.704, 273.023, 2191.79 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( -474.978, -655.673, 2090.83 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_column_short" ); - ent.v[ "origin" ] = ( -2539.06, -4746.77, 2133.62 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_smoke_column_short"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2991.15, 3526.66, 1901.83 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createOneshotEffect( "fire_smoke_med" ); - ent.v[ "origin" ] = ( 2749.35, 3524.55, 1610.02 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "fire_smoke_med"; - ent.v[ "delay" ] = -15; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 1225.93, 437.388, 1221 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -22.0643, 295.156, 1300.99 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( 130.282, -384.995, 1432.98 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; - - ent = maps\mp\_utility::createLoopEffect( "mp_light_glow_indoor_short" ); - ent.v[ "origin" ] = ( -4.43919, -754.879, 1328 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; - ent.v[ "delay" ] = 0.1; + ent.v[ "fxid" ] = "mp_ash_and_embers"; + ent.v[ "delay" ] = 0.08; ent = maps\mp\_utility::createOneshotEffect( "mp_electric_sparks" ); - ent.v[ "origin" ] = ( 1492.9, 74.8191, 1422.47 ); + ent.v[ "origin" ] = ( 1482.22, 67.8917, 1422.47 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "mp_electric_sparks"; ent.v[ "delay" ] = -15; ent = maps\mp\_utility::createOneshotEffect( "mp_electric_sparks" ); - ent.v[ "origin" ] = ( 819.028, 1995.5, 1524.13 ); + ent.v[ "origin" ] = ( 812.638, 1964.81, 1568.13 ); ent.v[ "angles" ] = ( 270, 0, 0 ); ent.v[ "fxid" ] = "mp_electric_sparks"; + ent.v[ "delay" ] = 0.6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -977.592, 2322.43, 1215.48 ); + ent.v[ "angles" ] = ( 274, 270, 152 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = 0.48; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( -1013.04, 2406.47, 1563.87 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = 0.13; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_600" ); + ent.v[ "origin" ] = ( -639.44, 2439.79, 1570.13 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_600"; + ent.v[ "delay" ] = 0.02; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -271.668, 624.829, 1663.65 ); + ent.v[ "angles" ] = ( 0, 30, 6 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 0.03; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window" ); + ent.v[ "origin" ] = ( -323.236, 674.838, 1670.31 ); + ent.v[ "angles" ] = ( 358.551, 43.9262, 5.82301 ); + ent.v[ "fxid" ] = "mp_fire_window"; + ent.v[ "delay" ] = 1.03; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -280.355, 618.454, 1877.88 ); + ent.v[ "angles" ] = ( 357.894, 23.9271, -1.55009 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 1.1; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -495.646, 2461.77, 1605.82 ); + ent.v[ "angles" ] = ( 4, 270, 0 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 0.84; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_600" ); + ent.v[ "origin" ] = ( 542.153, 2340.63, 1446.13 ); + ent.v[ "angles" ] = ( 0, 22, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_600"; + ent.v[ "delay" ] = 0.71; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_600" ); + ent.v[ "origin" ] = ( 787.556, 2655.26, 1450.13 ); + ent.v[ "angles" ] = ( 1.28542, 241.983, -1.53234 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_600"; + ent.v[ "delay" ] = 0.15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_md_lowsmk" ); + ent.v[ "origin" ] = ( 1255.17, 1660.8, 1351.76 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_md_lowsmk"; + ent.v[ "delay" ] = 0.11; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_md_lowsmk" ); + ent.v[ "origin" ] = ( 1429.4, 1491.97, 1361.74 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_md_lowsmk"; + ent.v[ "delay" ] = 0.34; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_lg" ); + ent.v[ "origin" ] = ( 1379.49, 1352.53, 1551.12 ); + ent.v[ "angles" ] = ( 271.398, 277.857, -7.40548 ); + ent.v[ "fxid" ] = "mp_fire_column_lg"; + ent.v[ "delay" ] = 1.6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_lg" ); + ent.v[ "origin" ] = ( 855.999, 2253.45, 1462.75 ); + ent.v[ "angles" ] = ( 0, 274, 0 ); + ent.v[ "fxid" ] = "mp_fire_column_lg"; + ent.v[ "delay" ] = 1.18; + + ent = maps\mp\_utility::createOneshotEffect( "a_fire_ceiling_100_100" ); + ent.v[ "origin" ] = ( 1775.56, -53.9473, 1380.13 ); + ent.v[ "angles" ] = ( 90, 179.831, -174.169 ); + ent.v[ "fxid" ] = "a_fire_ceiling_100_100"; ent.v[ "delay" ] = -15; - ent = maps\mp\_utility::createOneshotEffect( "mp_electric_sparks" ); - ent.v[ "origin" ] = ( -453.434, -1793.44, 1569.13 ); + ent = maps\mp\_utility::createOneshotEffect( "a_embers_falling_sm" ); + ent.v[ "origin" ] = ( 1842.97, -32.0869, 1342.88 ); + ent.v[ "angles" ] = ( 270, 2.38594, -98.3859 ); + ent.v[ "fxid" ] = "a_embers_falling_sm"; + ent.v[ "delay" ] = 1.4; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 2037.25, -232.629, 1288.8 ); ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "mp_electric_sparks"; + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = 1.9; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 2065.67, -226.272, 1318.84 ); + ent.v[ "angles" ] = ( 7.46554, 273.098, -155.681 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = 0.5; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_rt" ); + ent.v[ "origin" ] = ( 1526.38, -578.802, 1682.35 ); + ent.v[ "angles" ] = ( 360, 182, 6 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_rt"; + ent.v[ "delay" ] = 1.43; + + ent = maps\mp\_utility::createOneshotEffect( "a_embers_falling_sm" ); + ent.v[ "origin" ] = ( 2026.35, -462.121, 1615.88 ); + ent.v[ "angles" ] = ( 270, 0, 90 ); + ent.v[ "fxid" ] = "a_embers_falling_sm"; + ent.v[ "delay" ] = 1.54; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 2122.89, -690.357, 1281.14 ); + ent.v[ "angles" ] = ( 270, 0, 58 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = 0.6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( 1653.86, -1848.81, 1551.36 ); + ent.v[ "angles" ] = ( 351.36, 164.104, -2.60408 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 0.6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_lg" ); + ent.v[ "origin" ] = ( 1737.3, -2274.55, 1421.64 ); + ent.v[ "angles" ] = ( 294, 176, 0 ); + ent.v[ "fxid" ] = "mp_fire_column_lg"; + ent.v[ "delay" ] = 0.15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_rt" ); + ent.v[ "origin" ] = ( 960.188, -1364.58, 1566.88 ); + ent.v[ "angles" ] = ( 356.728, 32.4952, -0.179514 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_rt"; + ent.v[ "delay" ] = 0.26; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( 892.933, -1377.87, 1567.13 ); + ent.v[ "angles" ] = ( 0, 44, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = 0.33; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_lg" ); + ent.v[ "origin" ] = ( 855.774, -1435.84, 1790.51 ); + ent.v[ "angles" ] = ( 7.62442, 66.8367, 25.0695 ); + ent.v[ "fxid" ] = "mp_fire_column_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 791.144, -1119.46, 1687.98 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = 2.2; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_sm" ); + ent.v[ "origin" ] = ( -646.058, -1150.56, 1229 ); + ent.v[ "angles" ] = ( 270, 357.614, 92.3859 ); + ent.v[ "fxid" ] = "mp_fire_column_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( -986.783, -1106.33, 1145 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_md_smk" ); + ent.v[ "origin" ] = ( -467.252, -1007.31, 1162 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_md_smk"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -181.119, -796.281, 1168 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( -269.523, -2109.24, 1186.64 ); + ent.v[ "angles" ] = ( 0, 74, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_sm" ); + ent.v[ "origin" ] = ( 420.536, 1989.13, 1163.13 ); + ent.v[ "angles" ] = ( 292.54, 187.62, 68.8338 ); + ent.v[ "fxid" ] = "mp_fire_column_sm"; + ent.v[ "delay" ] = 0.6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small" ); + ent.v[ "origin" ] = ( 441.399, 1891.27, 1157.38 ); + ent.v[ "angles" ] = ( 270, 2.26795, 33.732 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small"; + ent.v[ "delay" ] = 0.23; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small" ); + ent.v[ "origin" ] = ( 412.738, 1909.14, 1207.68 ); + ent.v[ "angles" ] = ( 270, 2.26795, 33.732 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small"; + ent.v[ "delay" ] = 0.29; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -450.231, 1133.2, 1765.43 ); + ent.v[ "angles" ] = ( 3.17533, 358.141, -0.90649 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 1.1; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -231.946, -493.864, 1868.37 ); + ent.v[ "angles" ] = ( 3.64829, 2.12002, 5.33045 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 1.8; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -234, 204.25, 1871.99 ); + ent.v[ "angles" ] = ( 3.17533, 358.141, -0.90649 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = -2; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -234, 400.31, 1469.76 ); + ent.v[ "angles" ] = ( 3.17533, 358.141, -0.90649 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 2.1; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window" ); + ent.v[ "origin" ] = ( -1121.92, 2280.91, 1583.28 ); + ent.v[ "angles" ] = ( 3.23082, 2.14715, -2.6826 ); + ent.v[ "fxid" ] = "mp_fire_window"; + ent.v[ "delay" ] = 0.34; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -1101.05, 2248.88, 1756.94 ); + ent.v[ "angles" ] = ( 1.30612, 10.3768, -6.21708 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = -4.6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_600" ); + ent.v[ "origin" ] = ( -1066.95, 2553.67, 1796.18 ); + ent.v[ "angles" ] = ( 11.8765, 8.70124, 25.543 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_600"; + ent.v[ "delay" ] = 0; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_rt" ); + ent.v[ "origin" ] = ( -533.872, 718.123, 1861.91 ); + ent.v[ "angles" ] = ( 359.924, 75.9003, -0.613979 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_rt"; + ent.v[ "delay" ] = 1.21; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_rt" ); + ent.v[ "origin" ] = ( -702.952, 714.385, 1680.79 ); + ent.v[ "angles" ] = ( 359.924, 75.9003, -2.61398 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_rt"; + ent.v[ "delay" ] = 1.08; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_lg" ); + ent.v[ "origin" ] = ( 726.625, 2262.4, 1869.33 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_column_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small_column_smldr" ); + ent.v[ "origin" ] = ( 837.658, 1899.87, 1439.88 ); + ent.v[ "angles" ] = ( 285.18, 108.042, -91.0154 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small_column_smldr"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( 1240.48, 2168.14, 1211.13 ); + ent.v[ "angles" ] = ( 270, 350.538, 117.462 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = 0.48; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 1236.29, 2083.57, 1217.65 ); + ent.v[ "angles" ] = ( 270, 358.409, 73.5911 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = 2.9; + + ent = maps\mp\_utility::createOneshotEffect( "a_smokebank_thick_dist1" ); + ent.v[ "origin" ] = ( 1077.93, 4456.29, 1191.09 ); + ent.v[ "angles" ] = ( 0, 288, 0 ); + ent.v[ "fxid" ] = "a_smokebank_thick_dist1"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( 437.809, 6032.79, 1719.67 ); + ent.v[ "angles" ] = ( 0.813228, 336.013, 1.82731 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "a_smokebank_thick_dist1" ); + ent.v[ "origin" ] = ( -826.62, -3947.2, 1428.71 ); + ent.v[ "angles" ] = ( 6, 74, 0 ); + ent.v[ "fxid" ] = "a_smokebank_thick_dist1"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "a_smokebank_thick_dist1" ); + ent.v[ "origin" ] = ( -3237.07, -1640.81, 1408.35 ); + ent.v[ "angles" ] = ( 359.582, 340.022, -5.98547 ); + ent.v[ "fxid" ] = "a_smokebank_thick_dist1"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( -357.173, -895.746, 1847.48 ); + ent.v[ "angles" ] = ( 0, 314, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window" ); + ent.v[ "origin" ] = ( -274.82, -910.46, 1664.05 ); + ent.v[ "angles" ] = ( 1.94407, 320.121, -6.6696 ); + ent.v[ "fxid" ] = "mp_fire_window"; + ent.v[ "delay" ] = -2.05; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -325.822, -964.801, 1664.72 ); + ent.v[ "angles" ] = ( 359.321, 306.367, -2.82219 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 0.87; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -295.525, -887.164, 1466.41 ); + ent.v[ "angles" ] = ( 359.211, 308.364, 3.15222 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = -2.5; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window" ); + ent.v[ "origin" ] = ( -337.217, -938.78, 1470.95 ); + ent.v[ "angles" ] = ( 4.72259, 319.296, 5.6364 ); + ent.v[ "fxid" ] = "mp_fire_window"; + ent.v[ "delay" ] = 2.1; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_rt" ); + ent.v[ "origin" ] = ( -1066.5, -1020, 1467.7 ); + ent.v[ "angles" ] = ( 354.023, 276.777, -9.06343 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_rt"; + ent.v[ "delay" ] = 1.88; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window" ); + ent.v[ "origin" ] = ( -212.689, -503.245, 1673.38 ); + ent.v[ "angles" ] = ( 359.562, 353.758, 0.204162 ); + ent.v[ "fxid" ] = "mp_fire_window"; + ent.v[ "delay" ] = 1; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small" ); + ent.v[ "origin" ] = ( -313.891, -1280.03, 1201.83 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small" ); + ent.v[ "origin" ] = ( -274.447, -1529.85, 1187.87 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small"; + ent.v[ "delay" ] = 0.15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( -823.876, -2296.34, 1825.78 ); + ent.v[ "angles" ] = ( 0, 74, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( -1016.93, -2142.49, 1841.32 ); + ent.v[ "angles" ] = ( 0, 350, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( 826.532, -1943.77, 1291.45 ); + ent.v[ "angles" ] = ( 0, 90, 0 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 849.482, -1950.47, 1287.67 ); + ent.v[ "angles" ] = ( 272, 270.009, -60.0093 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 667.848, 895.025, 1099.95 ); + ent.v[ "angles" ] = ( 270, 359.211, 18.7888 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small" ); + ent.v[ "origin" ] = ( 1363.6, 1281.41, 1140.07 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 1653.83, 990.774, 1211.9 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -998.09, 731.455, 1169.51 ); + ent.v[ "angles" ] = ( 270, 0, 48 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -997.185, 727.918, 1176.02 ); + ent.v[ "angles" ] = ( 339.765, 46.4558, 8.03981 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small" ); + ent.v[ "origin" ] = ( 499.529, -824.315, 1215.97 ); + ent.v[ "angles" ] = ( 270, 358.457, -24.4571 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window" ); + ent.v[ "origin" ] = ( -229.846, -21.4701, 1468.18 ); + ent.v[ "angles" ] = ( 3.17533, 358.141, -0.90649 ); + ent.v[ "fxid" ] = "mp_fire_window"; + ent.v[ "delay" ] = 0.15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 2065.77, 415.917, 1174.13 ); + ent.v[ "angles" ] = ( 314.324, 263.823, 98.6035 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_md_lowsmk" ); + ent.v[ "origin" ] = ( 2383.5, 58.48, 1279.13 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_md_lowsmk"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_md_lowsmk" ); + ent.v[ "origin" ] = ( 1964.52, -583.519, 1441 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_md_lowsmk"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 841.804, 76.756, 1167 ); + ent.v[ "angles" ] = ( 270, 6.00901, 35.991 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_lg" ); + ent.v[ "origin" ] = ( 863.421, 2071.97, 1156.71 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_lg"; + ent.v[ "delay" ] = 3; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_lg" ); + ent.v[ "origin" ] = ( 986.331, 588.835, 1101.4 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_lg"; + ent.v[ "delay" ] = 2; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_rt" ); + ent.v[ "origin" ] = ( -823.973, 685.979, 1221 ); + ent.v[ "angles" ] = ( 0, 90, 0 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_rt"; + ent.v[ "delay" ] = 0.42; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( 966.7, 1593.84, 1355.13 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "a_embers_falling_sm" ); + ent.v[ "origin" ] = ( 1172.57, 1481.21, 1555.83 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "a_embers_falling_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( 850.406, 2241.51, 1452.1 ); + ent.v[ "angles" ] = ( 353.056, 313.515, 2.46645 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 0.1; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( 915.38, 2480.03, 1481.38 ); + ent.v[ "angles" ] = ( 358.531, 2.69221, 5.05833 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 1.4; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 1873.96, 1393.78, 1175.36 ); + ent.v[ "angles" ] = ( 271.742, 81.8269, -70.3136 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 1864.1, 1367.27, 1191.32 ); + ent.v[ "angles" ] = ( 312.456, 262.877, 118.699 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_spotlight_lg" ); + ent.v[ "origin" ] = ( 1101.54, -710.505, 1377 ); + ent.v[ "angles" ] = ( 328.547, 36.4957, -93.4433 ); + ent.v[ "fxid" ] = "mp_ray_spotlight_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_fire_thin" ); + ent.v[ "origin" ] = ( 1897.42, -18.0461, 1359.38 ); + ent.v[ "angles" ] = ( 65.2603, 14.0908, 10.6324 ); + ent.v[ "fxid" ] = "mp_ray_fire_thin"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_fire_thin" ); + ent.v[ "origin" ] = ( 1798.42, -60.7215, 1363.88 ); + ent.v[ "angles" ] = ( 85.0764, 219.314, -153.154 ); + ent.v[ "fxid" ] = "mp_ray_fire_thin"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_fire_ribbon" ); + ent.v[ "origin" ] = ( 1833.06, -20.7017, 1370.38 ); + ent.v[ "angles" ] = ( 80.9385, 76.7436, -3.66978 ); + ent.v[ "fxid" ] = "mp_ray_fire_ribbon"; + ent.v[ "delay" ] = 1; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( -1264.02, 2224.49, 1555.42 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "a_embers_falling_sm" ); + ent.v[ "origin" ] = ( 2312.05, 57.1378, 1313.88 ); + ent.v[ "angles" ] = ( 316.089, 350.274, 8.24038 ); + ent.v[ "fxid" ] = "a_embers_falling_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_sm" ); + ent.v[ "origin" ] = ( 172.888, -535.25, 1340.6 ); + ent.v[ "angles" ] = ( 330.288, 64.5037, -78.0327 ); + ent.v[ "fxid" ] = "mp_ray_light_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( 178.033, -512.884, 1341.4 ); + ent.v[ "angles" ] = ( 328.709, 75.9697, -83.8673 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( 243.252, -696.407, 1297.27 ); + ent.v[ "angles" ] = ( 330.509, 78.4986, -85.1819 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( 261.152, -334.088, 1430.88 ); + ent.v[ "angles" ] = ( 330.224, 69.1517, 5.69685 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( 14.2783, -499.455, 1514.88 ); + ent.v[ "angles" ] = ( 330.224, 69.1517, 5.69685 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( 1.95371, -749.946, 1311.07 ); + ent.v[ "angles" ] = ( 330.224, 69.1517, 5.69685 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( 16.7636, -851.898, 1256.25 ); + ent.v[ "angles" ] = ( 330.224, 69.1517, 5.69685 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_150" ); + ent.v[ "origin" ] = ( 1772.55, 869.409, 1615.4 ); + ent.v[ "angles" ] = ( 0, 86, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_150"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_distant_150_600" ); + ent.v[ "origin" ] = ( 1695.45, 44.654, 1799.5 ); + ent.v[ "angles" ] = ( 0, 92, 0 ); + ent.v[ "fxid" ] = "mp_fire_distant_150_600"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( 655.978, 1020.91, 1109.04 ); + ent.v[ "angles" ] = ( 323.98, 74.2771, 14.1905 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( 401.336, 2178.97, 1478.13 ); + ent.v[ "angles" ] = ( 359.861, 272.002, -1.99513 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( 338.848, 2200.24, 1484.67 ); + ent.v[ "angles" ] = ( 1.58306, 235.939, 6.04298 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = 0.69; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_fire_ribbon" ); + ent.v[ "origin" ] = ( 2337.3, 73.8456, 1297.58 ); + ent.v[ "angles" ] = ( 6.64789, 179.167, -139.085 ); + ent.v[ "fxid" ] = "mp_ray_fire_ribbon"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_fire_ribbon" ); + ent.v[ "origin" ] = ( 1180.04, 1664.73, 1412.98 ); + ent.v[ "angles" ] = ( 22.7469, 163.077, 125.797 ); + ent.v[ "fxid" ] = "mp_ray_fire_ribbon"; + ent.v[ "delay" ] = 0.47; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_sm" ); + ent.v[ "origin" ] = ( 1277.8, 1497.9, 1379 ); + ent.v[ "angles" ] = ( 17.22, 316.099, 15.3829 ); + ent.v[ "fxid" ] = "mp_ray_light_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_sm" ); + ent.v[ "origin" ] = ( 1082.97, 1477.34, 1173.54 ); + ent.v[ "angles" ] = ( 337.547, 80.803, 4.79712 ); + ent.v[ "fxid" ] = "mp_ray_light_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_sm" ); + ent.v[ "origin" ] = ( 1195.77, 1499.44, 1070.85 ); + ent.v[ "angles" ] = ( 331.938, 74.1283, 3.49623 ); + ent.v[ "fxid" ] = "mp_ray_light_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_xsm" ); + ent.v[ "origin" ] = ( 1255.24, 1719.6, 1184.59 ); + ent.v[ "angles" ] = ( 331.938, 74.1283, 3.49623 ); + ent.v[ "fxid" ] = "mp_ray_light_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_sm" ); + ent.v[ "origin" ] = ( 943.076, 1354.87, 1167.11 ); + ent.v[ "angles" ] = ( 6.89461, 90.2848, 4.93429 ); + ent.v[ "fxid" ] = "mp_ray_light_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_sm" ); + ent.v[ "origin" ] = ( 923.499, 1498.44, 1177.94 ); + ent.v[ "angles" ] = ( 331.938, 74.1283, 3.49623 ); + ent.v[ "fxid" ] = "mp_ray_light_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_fire_column" ); + ent.v[ "origin" ] = ( 869.065, 3738.95, 1206.82 ); + ent.v[ "angles" ] = ( 270, 0, 168 ); + ent.v[ "fxid" ] = "mp_smoke_fire_column"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_fire_column" ); + ent.v[ "origin" ] = ( 3531.83, 2851.58, 1324.64 ); + ent.v[ "angles" ] = ( 270, 0, 142 ); + ent.v[ "fxid" ] = "mp_smoke_fire_column"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_fire_column" ); + ent.v[ "origin" ] = ( -602.347, -1908.53, 1260.46 ); + ent.v[ "angles" ] = ( 272, 106, -180 ); + ent.v[ "fxid" ] = "mp_smoke_fire_column"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_fire_column" ); + ent.v[ "origin" ] = ( 1896.17, -1560.63, 1589.35 ); + ent.v[ "angles" ] = ( 276, 248, 180 ); + ent.v[ "fxid" ] = "mp_smoke_fire_column"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_fire_column" ); + ent.v[ "origin" ] = ( 1142.88, -2639.83, 1617.82 ); + ent.v[ "angles" ] = ( 270, 8.1301, 33.8698 ); + ent.v[ "fxid" ] = "mp_smoke_fire_column"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_plume_lg" ); + ent.v[ "origin" ] = ( -2373.11, -1022.53, 1223.2 ); + ent.v[ "angles" ] = ( 270, 2.86241, -118.862 ); + ent.v[ "fxid" ] = "mp_smoke_plume_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_fire_column" ); + ent.v[ "origin" ] = ( 222.86, 2480.14, 1572.86 ); + ent.v[ "angles" ] = ( 270, 2.04541, -162.045 ); + ent.v[ "fxid" ] = "mp_smoke_fire_column"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_plume_lg" ); + ent.v[ "origin" ] = ( 1364.83, 7978.75, 2293.62 ); + ent.v[ "angles" ] = ( 270, 0.358094, -168.358 ); + ent.v[ "fxid" ] = "mp_smoke_plume_lg"; + ent.v[ "delay" ] = -20; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_plume_lg" ); + ent.v[ "origin" ] = ( 1334.78, 1451.33, 1534.64 ); + ent.v[ "angles" ] = ( 286, 12, -180 ); + ent.v[ "fxid" ] = "mp_smoke_plume_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( 1651.87, -2137.16, 1403.47 ); + ent.v[ "angles" ] = ( 354.581, 182.061, -1.13729 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = -12; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( 1663, -1505.54, 1393.32 ); + ent.v[ "angles" ] = ( 358.056, 177.825, 6.85951 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = -10; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 639.881, -404.714, 1205 ); + ent.v[ "angles" ] = ( 341.393, 155.169, 56.8346 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "a_debris_papers_windy" ); + ent.v[ "origin" ] = ( -84.5973, 1985.29, 1163.66 ); + ent.v[ "angles" ] = ( 0, 170, 0 ); + ent.v[ "fxid" ] = "a_debris_papers_windy"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "a_debris_papers_windy" ); + ent.v[ "origin" ] = ( 1125.09, 635.566, 1101.87 ); + ent.v[ "angles" ] = ( 0, 170, 0 ); + ent.v[ "fxid" ] = "a_debris_papers_windy"; + ent.v[ "delay" ] = -10; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_hall" ); + ent.v[ "origin" ] = ( 1807.55, -138.182, 1176.13 ); + ent.v[ "angles" ] = ( 0, 66, 0 ); + ent.v[ "fxid" ] = "mp_smoke_hall"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 84.3941, 697.029, 1216.55 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_hall" ); + ent.v[ "origin" ] = ( 2027.25, 292.448, 1168.13 ); + ent.v[ "angles" ] = ( 0, 170, 0 ); + ent.v[ "fxid" ] = "mp_smoke_hall"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( 1271.94, -1688.38, 1262.31 ); + ent.v[ "angles" ] = ( 0.618124, 195.991, -1.90196 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill_splash" ); + ent.v[ "origin" ] = ( 1264.4, -1684.21, 1197.67 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_water_spill_splash"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_lg" ); + ent.v[ "origin" ] = ( 1307.43, -2463.97, 1562.92 ); + ent.v[ "angles" ] = ( 282, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_column_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( 837.224, -1914.49, 1281.96 ); + ent.v[ "angles" ] = ( 270, 356.424, -108.424 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_fire_ribbon" ); + ent.v[ "origin" ] = ( 835.791, -1928.85, 1339.95 ); + ent.v[ "angles" ] = ( 349.235, 220.649, 64.4487 ); + ent.v[ "fxid" ] = "mp_ray_fire_ribbon"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( 2166.8, 1447.2, 1242.13 ); + ent.v[ "angles" ] = ( 6.02922, 264.144, -1.22172 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_fire_ribbon" ); + ent.v[ "origin" ] = ( 1837.25, -40.4172, 1366.38 ); + ent.v[ "angles" ] = ( 74.8619, 337.324, 22.7442 ); + ent.v[ "fxid" ] = "mp_ray_fire_ribbon"; + ent.v[ "delay" ] = 1; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 2253.71, 395.093, 1177.13 ); + ent.v[ "angles" ] = ( 75.8658, 7.71813, 8.17148 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -5; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 2128.6, 772.364, 1175.13 ); + ent.v[ "angles" ] = ( 76, 270, -90 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 1530.62, 1251.23, 1222.31 ); + ent.v[ "angles" ] = ( 11.5833, 71.0711, 10.5853 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -7; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_outdoor_long" ); + ent.v[ "origin" ] = ( 1212.14, 792.961, 1224.97 ); + ent.v[ "angles" ] = ( 270.039, 202.291, 158.126 ); + ent.v[ "fxid" ] = "mp_light_glow_outdoor_long"; + ent.v[ "delay" ] = -8; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_outdoor_long" ); + ent.v[ "origin" ] = ( 1228.3, 436.113, 1227 ); + ent.v[ "angles" ] = ( 270.039, 202.291, 158.126 ); + ent.v[ "fxid" ] = "mp_light_glow_outdoor_long"; + ent.v[ "delay" ] = -9; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_outdoor_long" ); + ent.v[ "origin" ] = ( 1018.88, -822.801, 1291.72 ); + ent.v[ "angles" ] = ( 270.039, 202.291, 158.126 ); + ent.v[ "fxid" ] = "mp_light_glow_outdoor_long"; + ent.v[ "delay" ] = -10; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 249.678, 642.141, 1269.62 ); + ent.v[ "angles" ] = ( 270.039, 202.301, 158.116 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -12; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 28.9235, 971.941, 1222.16 ); + ent.v[ "angles" ] = ( 46.0361, 180.402, 179.979 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -13; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 877.055, 2589.03, 1200.13 ); + ent.v[ "angles" ] = ( 50.3678, 53.9019, -178.381 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -14; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 690.489, -1874.74, 1296.86 ); + ent.v[ "angles" ] = ( 3.91962, 9.88592, 2.28316 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_hall" ); + ent.v[ "origin" ] = ( 137.286, -441.789, 1578 ); + ent.v[ "angles" ] = ( 0, 68, 0 ); + ent.v[ "fxid" ] = "mp_smoke_hall"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_window_smk_lf" ); + ent.v[ "origin" ] = ( -308.57, -950.898, 1884 ); + ent.v[ "angles" ] = ( 5.31373, 306.071, 9.16582 ); + ent.v[ "fxid" ] = "mp_fire_window_smk_lf"; + ent.v[ "delay" ] = -4.45; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( -253.29, -249.568, 1174 ); + ent.v[ "angles" ] = ( 1.49129, 343.877, -66.0919 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( -477.737, 1909.62, 1177.37 ); + ent.v[ "angles" ] = ( 359.093, 347.719, -60.2879 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( -462.511, 1840.5, 1324.62 ); + ent.v[ "angles" ] = ( 13.936, 353.75, -67.5968 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( 1635.53, 1451.06, 1198.04 ); + ent.v[ "angles" ] = ( 8.9939, 343.873, -50.7872 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( 1446.01, 489.36, 1172.5 ); + ent.v[ "angles" ] = ( 348.069, 332.163, -51.5887 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( -989.821, 1127.52, 1113.1 ); + ent.v[ "angles" ] = ( 307.562, 310.633, -43.6136 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( -396.967, 557.338, 1098 ); + ent.v[ "angles" ] = ( 347.511, 176.649, 63.1238 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( -235.236, -1268.58, 1153.89 ); + ent.v[ "angles" ] = ( 12.6443, 353.302, -63.2084 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( 109.249, -535.66, 1356.36 ); + ent.v[ "angles" ] = ( 29.1238, 4.79563, -57.5673 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( 245.387, -910.962, 1348.6 ); + ent.v[ "angles" ] = ( 48.5727, 35.3278, -38.7585 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( -473.623, 1940.33, 1171.25 ); + ent.v[ "angles" ] = ( 3.38354, 163.994, 60.0785 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg_1sd" ); + ent.v[ "origin" ] = ( 880.778, 1825.19, 1202.5 ); + ent.v[ "angles" ] = ( 3.38354, 163.994, 60.0785 ); + ent.v[ "fxid" ] = "mp_ray_light_lg_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "a_tracers_flak88_amb" ); + ent.v[ "origin" ] = ( 4520.77, -6397.83, 1717.77 ); + ent.v[ "angles" ] = ( 270, 357.274, -39.2737 ); + ent.v[ "fxid" ] = "a_tracers_flak88_amb"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_flak_field_flash" ); + ent.v[ "origin" ] = ( 1595.29, -1930.29, 6479.63 ); + ent.v[ "angles" ] = ( 354.179, 165.926, 1.45655 ); + ent.v[ "fxid" ] = "mp_flak_field_flash"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_flak_field" ); + ent.v[ "origin" ] = ( 1704.62, -1309.22, 4609.88 ); + ent.v[ "angles" ] = ( 0, 190, 0 ); + ent.v[ "fxid" ] = "mp_flak_field"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 1228.21, 436.245, 1222 ); + ent.v[ "angles" ] = ( 89.9946, 205.384, -154.476 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 1210.23, 795.279, 1223.18 ); + ent.v[ "angles" ] = ( 90, 0.724294, 0.724283 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 610.551, 1448.48, 1260.38 ); + ent.v[ "angles" ] = ( 90, 43.6287, -136.371 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 70.7647, 2450.31, 1300.13 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 69.7412, 2449.42, 1298.13 ); + ent.v[ "angles" ] = ( 88, 180, -180 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 26.5935, 979.077, 1223.94 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 1412.33, 26.6085, 1279.05 ); + ent.v[ "angles" ] = ( 88, 180, -180 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 1426.29, -858.978, 1296.86 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 1520.5, 1262.67, 1227.03 ); + ent.v[ "angles" ] = ( 343.528, 144.329, -168.496 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 2131.52, 785.129, 1185.13 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 2252.8, 396.222, 1181.13 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 1772.78, -352.315, 1322.97 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 1768.65, -356.223, 1314.98 ); + ent.v[ "angles" ] = ( 30.2638, 339.036, -10.9291 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -5; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 245.936, 640.501, 1265.52 ); + ent.v[ "angles" ] = ( 88, 180, -180 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 116.049, 405.298, 1343.7 ); + ent.v[ "angles" ] = ( 7.48239, 123.058, 98.9881 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -12; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 69.6911, -1611, 1304.85 ); + ent.v[ "angles" ] = ( 0.631249, 272.32, -17.9532 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -12; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 512.854, -1579.98, 1291.12 ); + ent.v[ "angles" ] = ( 7.72592, 346.288, -1.93842 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -12; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 685.888, -1874.22, 1293.81 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 1295.02, -1702.45, 1202.13 ); + ent.v[ "angles" ] = ( 48.7381, 307.815, -17.053 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 1016.57, -821.1, 1290.22 ); + ent.v[ "angles" ] = ( 88, 180, -180 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_lg" ); + ent.v[ "origin" ] = ( -637.062, -1364.27, 1191.64 ); + ent.v[ "angles" ] = ( 354.807, 337.651, -21.18 ); + ent.v[ "fxid" ] = "mp_fire_column_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_lg" ); + ent.v[ "origin" ] = ( 823.866, -1319.47, 1733.1 ); + ent.v[ "angles" ] = ( 340.263, 66.8171, 13.0492 ); + ent.v[ "fxid" ] = "mp_fire_column_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "a_embers_falling_sm" ); + ent.v[ "origin" ] = ( -812.027, 751.132, 1278.74 ); + ent.v[ "angles" ] = ( 11.9926, 270.425, 92.0447 ); + ent.v[ "fxid" ] = "a_embers_falling_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small_column_smldr" ); + ent.v[ "origin" ] = ( -160.861, -1495.96, 1240.56 ); + ent.v[ "angles" ] = ( 285.596, 208.086, -6.88622 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small_column_smldr"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( 938.903, 1650.31, 1121 ); + ent.v[ "angles" ] = ( 22.0122, 87.8217, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -5; + + ent = maps\mp\_utility::createOneshotEffect( "mp_insects_lantern" ); + ent.v[ "origin" ] = ( 1120.33, -673.71, 1380.28 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_insects_lantern"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "a_embers_falling_sm" ); + ent.v[ "origin" ] = ( 1849.86, -62.1072, 1338.38 ); + ent.v[ "angles" ] = ( 270, 2.38594, -100.386 ); + ent.v[ "fxid" ] = "a_embers_falling_sm"; + ent.v[ "delay" ] = 1.4; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_sm" ); + ent.v[ "origin" ] = ( 557.461, -1550.26, 1287.13 ); + ent.v[ "angles" ] = ( 333.462, 77.897, 10.0625 ); + ent.v[ "fxid" ] = "mp_ray_light_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_xsm" ); + ent.v[ "origin" ] = ( 938.661, -474.325, 1425.33 ); + ent.v[ "angles" ] = ( 320.714, 93.9875, -9.33741 ); + ent.v[ "fxid" ] = "mp_ray_light_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_xsm" ); + ent.v[ "origin" ] = ( 842.111, -326.314, 1419.13 ); + ent.v[ "angles" ] = ( 319.963, 73.1789, 4.03053 ); + ent.v[ "fxid" ] = "mp_ray_light_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_xsm" ); + ent.v[ "origin" ] = ( 699.092, -302.666, 1431.35 ); + ent.v[ "angles" ] = ( 327.945, 73.8407, 3.64055 ); + ent.v[ "fxid" ] = "mp_ray_light_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_xsm" ); + ent.v[ "origin" ] = ( 935.374, -320.454, 1416.2 ); + ent.v[ "angles" ] = ( 321.869, 83.5199, 177.36 ); + ent.v[ "fxid" ] = "mp_ray_light_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 903.706, -1482.59, 1361.85 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 939.945, -1486.31, 1364.13 ); + ent.v[ "angles" ] = ( 282, 90, -102 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -10; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 902.355, -1470.48, 1265.93 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( 888.999, -1485.23, 1261.13 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; ent.v[ "delay" ] = -15; } diff --git a/raw/maps/mp/createfx/mp_subway_fx.gsc b/raw/maps/mp/createfx/mp_subway_fx.gsc index 990fedcaf..7332e33ce 100644 --- a/raw/maps/mp/createfx/mp_subway_fx.gsc +++ b/raw/maps/mp/createfx/mp_subway_fx.gsc @@ -1,35 +1,1949 @@ //_createfx generated. Do not touch!! main() { -// CreateFX entities placed: 9 - ent = maps\mp\_utility::createOneshotEffect( "car_fire_large" ); - ent.v[ "origin" ] = ( -1202.02, -1571.79, -76.875 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "car_fire_large"; +// CreateFX entities placed: 332 + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1431.9, 802.699, 429 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6798 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; ent.v[ "delay" ] = -15; - ent = maps\mp\_utility::createOneshotEffect( "car_fire_large" ); - ent.v[ "origin" ] = ( -1218.22, -1430.65, -75.875 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "car_fire_large"; + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -2514.95, 3395.63, 722.688 ); + ent.v[ "angles" ] = ( 0, 54, 0 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; ent.v[ "delay" ] = -15; - ent = maps\mp\_utility::createOneshotEffect( "car_fire_large" ); - ent.v[ "origin" ] = ( -1213.38, -1284.66, -70.875 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "car_fire_large"; + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_falling" ); + ent.v[ "origin" ] = ( -2509.17, 3379.61, 1076.83 ); + ent.v[ "angles" ] = ( 282, 26, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_falling"; + ent.v[ "delay" ] = 3; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2163.46, 4677.48, 816.125 ); + ent.v[ "angles" ] = ( 270, 1.48787, 28.5121 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; ent.v[ "delay" ] = -15; - ent = maps\mp\_utility::createOneshotEffect( "battlefield_smokebank_sm_tan_w" ); - ent.v[ "origin" ] = ( -782.052, -1284.21, -13.875 ); - ent.v[ "angles" ] = ( 270, 0, 0 ); - ent.v[ "fxid" ] = "battlefield_smokebank_sm_tan_w"; + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -2604.11, 3182.06, 754.125 ); + ent.v[ "angles" ] = ( 302.438, 160.381, -117.911 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; ent.v[ "delay" ] = -15; - ent = maps\mp\_utility::createOneshotEffect( "smoke_plume_xlg_slow_blk" ); - ent.v[ "origin" ] = ( -1490.87, -231.614, -98 ); + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -2654.99, 3107.01, 775.307 ); + ent.v[ "angles" ] = ( 292.944, 281.524, 83.0047 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_electric_sparks" ); + ent.v[ "origin" ] = ( -2542.19, 2873.74, 813.29 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_electric_sparks"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_electric_sparks" ); + ent.v[ "origin" ] = ( -2741.57, 4383.17, 786 ); + ent.v[ "angles" ] = ( 275.655, 260.931, 44.9297 ); + ent.v[ "fxid" ] = "mp_electric_sparks"; + ent.v[ "delay" ] = 0.6; + + ent = maps\mp\_utility::createOneshotEffect( "mp_electric_sparks" ); + ent.v[ "origin" ] = ( -1906.18, -672.916, 802.125 ); + ent.v[ "angles" ] = ( 276, 122, -180 ); + ent.v[ "fxid" ] = "mp_electric_sparks"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -2534.16, 3473.56, 731.528 ); + ent.v[ "angles" ] = ( 0, 278, 0 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2517.26, 3391.7, 731.961 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -3168.33, 3613.6, 722.191 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -3142.03, 3570.85, 725.793 ); + ent.v[ "angles" ] = ( 270, 2.60256, -78.6025 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -2036.38, 3961.82, 767.246 ); + ent.v[ "angles" ] = ( 332, 156, 0 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -1573.4, 2652.3, 919.912 ); + ent.v[ "angles" ] = ( 46.295, 338.145, -37.4245 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -923.357, 715.802, 778.418 ); + ent.v[ "angles" ] = ( 344.422, 180.663, 96.557 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -2244.75, 635.223, 900.914 ); + ent.v[ "angles" ] = ( 26.5601, 336.876, 76.2933 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -3298.36, 3774.49, 756.07 ); + ent.v[ "angles" ] = ( 33.8134, 207.613, -2.72902 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -2076.32, 1175.9, 723 ); + ent.v[ "angles" ] = ( 278.938, 26.3972, -26.677 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_plume_lg" ); + ent.v[ "origin" ] = ( -1142.46, 1926.52, 1266.54 ); + ent.v[ "angles" ] = ( 270, 0, -150 ); + ent.v[ "fxid" ] = "mp_smoke_plume_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_plume_lg" ); + ent.v[ "origin" ] = ( -1823.66, 3713.73, 1221.35 ); + ent.v[ "angles" ] = ( 270, 0, -164 ); + ent.v[ "fxid" ] = "mp_smoke_plume_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_crater" ); + ent.v[ "origin" ] = ( -1016.15, 511.817, 720 ); + ent.v[ "angles" ] = ( 270, 357.955, 66.0453 ); + ent.v[ "fxid" ] = "mp_smoke_crater"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_crater" ); + ent.v[ "origin" ] = ( -988.947, -259.276, 720 ); + ent.v[ "angles" ] = ( 270, 0.850339, 1.14966 ); + ent.v[ "fxid" ] = "mp_smoke_crater"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_crater" ); + ent.v[ "origin" ] = ( -1934.18, 3563.29, 719 ); + ent.v[ "angles" ] = ( 270, 0, 116 ); + ent.v[ "fxid" ] = "mp_smoke_crater"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -1215.13, 3094.38, 781.538 ); + ent.v[ "angles" ] = ( 290.775, 25.0859, 6.74239 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -2383.68, 1983.38, 808.499 ); + ent.v[ "angles" ] = ( 314.099, 222.542, 170.291 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -1722.85, 1370.68, 800.46 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -1374.97, 2159.17, 762.458 ); + ent.v[ "angles" ] = ( 278.333, 266.159, 7.25901 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -1349.06, 2098.19, 764.936 ); + ent.v[ "angles" ] = ( 309.36, 201.666, 67.1374 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -1470.44, 2464.25, 770.945 ); + ent.v[ "angles" ] = ( 276, 270, 68 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -3179.78, 4182.15, 775 ); + ent.v[ "angles" ] = ( 290.922, 85.9446, -111.135 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -3185.62, 4184.96, 747 ); + ent.v[ "angles" ] = ( 289.877, 51.1691, -78.4189 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_electric_sparks" ); + ent.v[ "origin" ] = ( -1281.85, -816.877, 799.875 ); + ent.v[ "angles" ] = ( 272.028, 273.007, 0.646644 ); + ent.v[ "fxid" ] = "mp_electric_sparks"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1464.28, 546.342, 537 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6798 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1484.28, 299.636, 549 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6798 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -1458.13, 425.24, 790 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6798 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1471.44, 153.932, 494 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1453.72, -140.982, 491 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6798 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_flare_md" ); + ent.v[ "origin" ] = ( -1830.16, -137.728, 782.125 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_flare_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1505.86, 1391.27, 470.37 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1816.41, 1867.52, 879.508 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1788.11, 2046.12, 822.244 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1942.49, 2515.23, 684.989 ); + ent.v[ "angles" ] = ( 289.874, 231.242, -51.9242 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1944.84, 2081.13, 1248.12 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1794.57, 2347.54, 558.059 ); + ent.v[ "angles" ] = ( 284.411, 211.069, -32.6086 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -2566.59, 3898.64, 524.895 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -2706.77, 3978.09, 855.228 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -2228.5, 3129.22, 836 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_sm" ); + ent.v[ "origin" ] = ( -2304.58, 3181.64, 859 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -2140.65, 3038.35, 808 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -2024.5, 2914.51, 703.526 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -3334.04, 1725.87, 601.656 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -3232.47, 1853.19, 687.993 ); + ent.v[ "angles" ] = ( 288.34, 227.319, -48.2176 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -3093.82, 1840.64, 847.125 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_fire_column" ); + ent.v[ "origin" ] = ( -2757.45, 883.946, 1437.63 ); + ent.v[ "angles" ] = ( 270, 0, -150 ); + ent.v[ "fxid" ] = "mp_smoke_fire_column"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -2869.78, 1552.32, 492.469 ); + ent.v[ "angles" ] = ( 288.34, 227.319, -48.2176 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -2805.44, 1614.52, 807.038 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -2830.22, 1585.22, 673.028 ); + ent.v[ "angles" ] = ( 288.34, 227.319, -48.2176 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1773.49, -125.553, 527 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6798 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -2649.46, 982.98, 719.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2768.76, 412.524, 721.092 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2783.52, 389.701, 754.137 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -2788.81, 405.723, 741.137 ); + ent.v[ "angles" ] = ( 344.759, 9.77678, 36.0221 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2422.96, 327.575, 755.336 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small_column_smldr" ); + ent.v[ "origin" ] = ( -2335.01, 56.3006, 677.125 ); + ent.v[ "angles" ] = ( 304.167, 23.2161, -53.2719 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small_column_smldr"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2007.23, 436.165, 720 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2324.58, 784.712, 723 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2186.64, 1348.97, 738.946 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -2425.55, 2002.85, 725.364 ); + ent.v[ "angles" ] = ( 277.909, 129.797, 6.31525 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -2629.4, 2052.36, 777.034 ); + ent.v[ "angles" ] = ( 336.911, 321.105, -18.3937 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2630.54, 2081.92, 752 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2636.46, 2099.98, 719 ); + ent.v[ "angles" ] = ( 270, 1.2946, 14.7054 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -2632.56, 1585.22, 728.125 ); + ent.v[ "angles" ] = ( 270, 3.01279, 44.9872 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -2852.19, 3146.74, 727 ); + ent.v[ "angles" ] = ( 270, 0, 98 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_sm" ); + ent.v[ "origin" ] = ( -3338.51, 3288.81, 702.125 ); + ent.v[ "angles" ] = ( 294.22, 19.216, 15.0712 ); + ent.v[ "fxid" ] = "mp_fire_column_sm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -3344.43, 2629.26, 720.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -3585.47, 2256.32, 761.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -3148.57, 861.621, 757.125 ); + ent.v[ "angles" ] = ( 270, 0.911188, 17.0888 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -3189.35, 924.682, 797.478 ); + ent.v[ "angles" ] = ( 270, 0.911188, 17.0888 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2677.14, 980.76, 719.125 ); + ent.v[ "angles" ] = ( 270, 357.274, -53.2737 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2754.25, 431.534, 719.125 ); + ent.v[ "angles" ] = ( 294, 318, 90 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2087.94, -119.43, 725.232 ); + ent.v[ "angles" ] = ( 295.24, 199.341, -32.2347 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -3169.12, 4424.56, 901.126 ); + ent.v[ "angles" ] = ( 288, 6, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -3605.56, 4922.95, 903.779 ); + ent.v[ "angles" ] = ( 288, 6, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -2821.05, 4693.77, 890 ); + ent.v[ "angles" ] = ( 292.614, 168.07, 17.6503 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_column_xsm" ); + ent.v[ "origin" ] = ( -2733.68, 4675.55, 909.197 ); + ent.v[ "angles" ] = ( 327.58, 225.327, 46.078 ); + ent.v[ "fxid" ] = "mp_fire_column_xsm"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -2569.52, 1191.3, 718 ); + ent.v[ "angles" ] = ( 270, 0.71616, -178.716 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2948.35, 1918.37, 763.57 ); + ent.v[ "angles" ] = ( 296.025, 265.048, -1.15893 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2988.26, 1966.83, 794.827 ); + ent.v[ "angles" ] = ( 296.025, 265.049, 18.8403 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2975.37, 1970.4, 763.668 ); + ent.v[ "angles" ] = ( 296.025, 265.05, 86.8381 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -3311.89, 1753.26, 474.491 ); + ent.v[ "angles" ] = ( 288.34, 227.319, -48.2176 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -3342.63, 1885.12, 541.907 ); + ent.v[ "angles" ] = ( 287.07, 232.406, -53.0635 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_md_smk" ); + ent.v[ "origin" ] = ( -3625.49, 1816.2, 996.125 ); + ent.v[ "angles" ] = ( 328.282, 327.222, 169.119 ); + ent.v[ "fxid" ] = "mp_fire_rubble_md_smk"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small" ); + ent.v[ "origin" ] = ( -2732.88, 1259.63, 1006.95 ); + ent.v[ "angles" ] = ( 321.581, 163.132, -24.962 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_hall" ); + ent.v[ "origin" ] = ( -3566.19, 1776.53, 1031.71 ); + ent.v[ "angles" ] = ( 359.166, 352.043, -5.94199 ); + ent.v[ "fxid" ] = "mp_smoke_hall"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_hall" ); + ent.v[ "origin" ] = ( -2774.83, 1292.5, 1005.07 ); + ent.v[ "angles" ] = ( 359.218, 165.912, 2.50536 ); + ent.v[ "fxid" ] = "mp_smoke_hall"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_falling" ); + ent.v[ "origin" ] = ( -2707.44, 3772.13, 1136.28 ); + ent.v[ "angles" ] = ( 282, 26, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_falling"; + ent.v[ "delay" ] = 3; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_falling" ); + ent.v[ "origin" ] = ( -2196.27, 2953.11, 1196.72 ); + ent.v[ "angles" ] = ( 282, 26, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_falling"; + ent.v[ "delay" ] = 3; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small_column_smldr" ); + ent.v[ "origin" ] = ( -3181.94, 4208.34, 656 ); + ent.v[ "angles" ] = ( 288.96, 41.9015, 61.4428 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small_column_smldr"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -3203.21, 4144.31, 741 ); + ent.v[ "angles" ] = ( 302, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -2041.6, 3808.33, 893 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -1802.62, 3353.7, 888.828 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -1062.17, 1256.95, 892 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -995.208, 547.27, 889 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -994.169, 178.659, 894 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_outdoor_long" ); + ent.v[ "origin" ] = ( -994.266, -459.181, 914.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_outdoor_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -626.214, -610.399, 973.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -2520.07, -622.335, 971.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_outdoor_long" ); + ent.v[ "origin" ] = ( -2179.28, -463.053, 916.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_outdoor_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_outdoor_long" ); + ent.v[ "origin" ] = ( -3387.68, 3779.96, 916.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_outdoor_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -3760.31, 3737.27, 974.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -829.042, 1213.57, 715.125 ); + ent.v[ "angles" ] = ( 344.482, 16.5771, -3.19945 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -489.163, 1216.89, 772.125 ); + ent.v[ "angles" ] = ( 346.826, 39.167, -8.86697 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -558.914, 1400.96, 806.125 ); + ent.v[ "angles" ] = ( 350.168, 6.1537, -0.378062 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_bulb_ceiling" ); + ent.v[ "origin" ] = ( -609.741, 2434.08, 896.875 ); + ent.v[ "angles" ] = ( 270, 5.81897, 20.181 ); + ent.v[ "fxid" ] = "mp_light_corona_bulb_ceiling"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -2632.5, 3934.25, 755.785 ); + ent.v[ "angles" ] = ( 286.752, 221.996, 158.408 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -2010.19, 2985.17, 720 ); + ent.v[ "angles" ] = ( 291.918, 211.041, 168.026 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -1994.77, 2454.88, 816.197 ); + ent.v[ "angles" ] = ( 274.683, 271.401, 108.452 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -1684.58, 1359.05, 822.635 ); + ent.v[ "angles" ] = ( 280.547, 281.815, 98.1158 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -1322.45, 2878.38, 819 ); + ent.v[ "angles" ] = ( 272, 90, -90 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -3357.8, 1680.21, 778.454 ); + ent.v[ "angles" ] = ( 286.752, 221.996, 158.408 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -2899.73, 1517.52, 757.389 ); + ent.v[ "angles" ] = ( 286.752, 221.996, 158.408 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -3105.88, 1878.27, 770.125 ); + ent.v[ "angles" ] = ( 288.626, 219.691, 160.604 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -1485.89, -157.251, 750 ); + ent.v[ "angles" ] = ( 286.752, 221.996, 158.408 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -1468.29, 381.823, 720 ); + ent.v[ "angles" ] = ( 290.523, 217.797, 162.389 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -1485.09, 805.899, 726 ); + ent.v[ "angles" ] = ( 286.752, 221.996, 158.408 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_outdoor_long" ); + ent.v[ "origin" ] = ( -2331.38, 4389.27, 915.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_outdoor_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -170.098, 1422.95, 870.519 ); + ent.v[ "angles" ] = ( 7.53604, 194.373, 91.0594 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -785.427, 1998.83, 775.552 ); + ent.v[ "angles" ] = ( 352.956, 29, -79.3322 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -1084.24, 2668.68, 783.125 ); + ent.v[ "angles" ] = ( 333.387, 18.0303, 80.128 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -1290.41, 3511.73, 828.125 ); + ent.v[ "angles" ] = ( 350.63, 78.8832, 88.9861 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -3391.72, 4449.62, 849.125 ); + ent.v[ "angles" ] = ( 306.227, 192.803, -61.4208 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -3310.63, 4433.09, 899.125 ); + ent.v[ "angles" ] = ( 318.011, 59.4914, 71.5786 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -2952.39, 4649.46, 869.125 ); + ent.v[ "angles" ] = ( 311.581, 197.124, -64.7878 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -2833.79, 4751.84, 875.125 ); + ent.v[ "angles" ] = ( 319.332, 23.2447, 73.6479 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -1983.15, -969.921, 907.694 ); + ent.v[ "angles" ] = ( 309.998, 153.399, 83.0676 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -1299.01, -1017.54, 880.694 ); + ent.v[ "angles" ] = ( 318.011, 215.492, 71.5785 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -1273.07, -1025.68, 832.694 ); + ent.v[ "angles" ] = ( 45.7018, 41.255, -61.9855 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -1982.67, -1018.69, 908.125 ); + ent.v[ "angles" ] = ( 329.053, 318.353, -81.1424 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -2460.74, -836.218, 824.125 ); + ent.v[ "angles" ] = ( 329.334, 357.3, -58.8373 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -2454.32, -286.503, 704.125 ); + ent.v[ "angles" ] = ( 357.958, 357.742, 55.8199 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -3047.63, 845.286, 757.125 ); + ent.v[ "angles" ] = ( 316.23, 336.242, -67.6754 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -3472.06, 2148.2, 772.125 ); + ent.v[ "angles" ] = ( 337.336, 60.3343, 75.3377 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -3349.29, 3239.7, 722.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -1793.71, -106.922, 727.923 ); + ent.v[ "angles" ] = ( 287.584, 228.163, 152.516 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -3666.53, 4878.55, 956.512 ); + ent.v[ "angles" ] = ( 331.346, 331.742, -0.854437 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -2359.16, 2333.78, 794.861 ); + ent.v[ "angles" ] = ( 310.475, 101.369, -171.19 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -2157.87, 1327.13, 767.723 ); + ent.v[ "angles" ] = ( 326.263, 149.619, -2.2707 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_detail_grp" ); + ent.v[ "origin" ] = ( -2189, 1328.74, 728.666 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_rubble_detail_grp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_bulb_ceiling" ); + ent.v[ "origin" ] = ( -867.305, 2365.63, 858.875 ); + ent.v[ "angles" ] = ( 270, 5.81897, 20.181 ); + ent.v[ "fxid" ] = "mp_light_corona_bulb_ceiling"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -1450.66, 2420.62, 769.786 ); + ent.v[ "angles" ] = ( 281.652, 309.712, -61.3225 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_flare_md" ); + ent.v[ "origin" ] = ( -1467.58, 1967.38, 724.853 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_flare_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -1437.78, 1944.32, 835.651 ); + ent.v[ "angles" ] = ( 290.523, 217.797, 162.389 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -162.302, 2564.7, 542.497 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -166.9, 2573.83, 775.971 ); + ent.v[ "angles" ] = ( 291.918, 211.041, 168.026 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_flare_md" ); + ent.v[ "origin" ] = ( -144.182, 2552.18, 760.125 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_flare_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_flare_md" ); + ent.v[ "origin" ] = ( -321.243, 2587.19, 781.675 ); + ent.v[ "angles" ] = ( 282.356, 262.35, -75.2025 ); + ent.v[ "fxid" ] = "mp_ray_flare_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -1145.08, 1634.61, 892.441 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -1662.52, 3056.94, 890 ); + ent.v[ "angles" ] = ( 270, 13.2506, -13.2506 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -1439.86, -1108.41, 915.125 ); + ent.v[ "angles" ] = ( 323.529, 104.243, 72.9314 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -1706.87, -1106.54, 899.125 ); + ent.v[ "angles" ] = ( 317.86, 286.977, 67.8056 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_flare_md" ); + ent.v[ "origin" ] = ( -2179.49, 2290.83, 799.57 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_flare_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -2155.14, 2205.45, 793.241 ); + ent.v[ "angles" ] = ( 286.752, 221.996, 158.408 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -2110.38, 2196.28, 543.84 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -2123.93, 2066.23, 775.455 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_flare_md" ); + ent.v[ "origin" ] = ( -2048.23, 1920.63, 788.596 ); + ent.v[ "angles" ] = ( 285.579, 217.353, -38.6799 ); + ent.v[ "fxid" ] = "mp_ray_flare_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -2039.11, 1994.4, 778.255 ); + ent.v[ "angles" ] = ( 286.752, 221.996, 158.408 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -2761.63, 3683.7, 722.776 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.844 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2162.04, 4663.76, 851.474 ); + ent.v[ "angles" ] = ( 270, 0, 126 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2503.95, 3397.63, 814.875 ); + ent.v[ "angles" ] = ( 344.207, 39.4393, -71.6922 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -1532.33, 2015.13, 1072.09 ); + ent.v[ "angles" ] = ( 272, 344, 36 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2314.14, 2238.11, 1049.97 ); + ent.v[ "angles" ] = ( 270, 356.186, 65.814 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -1506.33, 1831.95, 1099.72 ); + ent.v[ "angles" ] = ( 270, 0, -4 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -1853.56, 2247.12, 1205.18 ); ent.v[ "angles" ] = ( 270, 0, 2 ); - ent.v[ "fxid" ] = "smoke_plume_xlg_slow_blk"; + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -12; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -1973.78, 2535.12, 1176.46 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2328.43, 3308.39, 1086.43 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2117.09, 3009.64, 1096.59 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -1973.07, 2958.02, 1019.66 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -1938.54, 2895.54, 1103.18 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2867.94, 3849.64, 1086.53 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2611.7, 3674.24, 1109.77 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2714.39, 3975.73, 1148.65 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2803.66, 3791.62, 993.499 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -181.318, 2407.41, 1019.91 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3449.36, 1818.34, 1140.63 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3552.9, 1662.51, 1138.88 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3443.38, 1489.59, 1173.79 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3258.32, 1822.4, 1103.88 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3110.8, 1824.61, 1119.88 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2960.47, 1541.64, 1131.89 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2869.94, 1444.57, 1129.24 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2872.28, 1322.53, 1119.88 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3149.4, 1231.93, 1142.88 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3105.95, 1694.52, 1140.88 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill_long" ); + ent.v[ "origin" ] = ( -1496.91, -219.335, 1152.38 ); + ent.v[ "angles" ] = ( 0, 172, 0 ); + ent.v[ "fxid" ] = "mp_water_spill_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1665.47, 82.0162, 1203.88 ); + ent.v[ "angles" ] = ( 272, 90, 96 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1583.9, -360.528, 1211.73 ); + ent.v[ "angles" ] = ( 272, 90, 180 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1638.74, -212.467, 1093.88 ); + ent.v[ "angles" ] = ( 272, 89.9981, 38.0018 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1577.48, -1.37341, 1195.88 ); + ent.v[ "angles" ] = ( 272, 90, 174 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1682.08, 288.491, 1084.88 ); + ent.v[ "angles" ] = ( 272, 90, 96 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1593.44, 531.856, 1087.88 ); + ent.v[ "angles" ] = ( 272, 90, 6 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1490.77, 290.999, 1195.89 ); + ent.v[ "angles" ] = ( 272, 90, -94 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -4; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1593.81, 795.558, 1202.34 ); + ent.v[ "angles" ] = ( 272, 90, 36 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1894.22, 1292.06, 1121.11 ); + ent.v[ "angles" ] = ( 292.497, 16.7384, 84.8815 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1853.64, 1243.5, 1036.45 ); + ent.v[ "angles" ] = ( 300.199, 223.195, 53.7163 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1875.01, 1110.11, 1062.35 ); + ent.v[ "angles" ] = ( 308.67, 273.831, -167.988 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1612.56, 1297.11, 1204.88 ); + ent.v[ "angles" ] = ( 275.119, 145.601, -147.183 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -12; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1631.24, 1618.13, 1083.76 ); + ent.v[ "angles" ] = ( 274.343, 223.907, 150.7 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1824.67, 1514.19, 1081.06 ); + ent.v[ "angles" ] = ( 274.343, 223.908, -31.3003 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -2009.73, 1225.84, 1182.44 ); + ent.v[ "angles" ] = ( 275.119, 145.599, 56.8188 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1558.12, 615.67, 1084.88 ); + ent.v[ "angles" ] = ( 275.119, 145.6, 138.818 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -8; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1482.09, 765.051, 1081.6 ); + ent.v[ "angles" ] = ( 275.119, 145.6, -139.183 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill_long" ); + ent.v[ "origin" ] = ( -1527.13, 702.134, 1156.26 ); + ent.v[ "angles" ] = ( 0, 178, 0 ); + ent.v[ "fxid" ] = "mp_water_spill_long"; + ent.v[ "delay" ] = -12; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1868.86, 1713.96, 1135.18 ); + ent.v[ "angles" ] = ( 0, 8, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1760.78, 2077.98, 1202.51 ); + ent.v[ "angles" ] = ( 274.343, 223.908, 156.699 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -2054.46, 1916.6, 1087.92 ); + ent.v[ "angles" ] = ( 270.163, 82.1579, -63.4841 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -2214.24, 1913.09, 1050.7 ); + ent.v[ "angles" ] = ( 270.163, 82.0809, 134.593 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2938.35, 3732.71, 1033.73 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2400.07, 3445.01, 1083.88 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill_splatter" ); + ent.v[ "origin" ] = ( -1506.44, -220.205, 726 ); + ent.v[ "angles" ] = ( 290, 0, 0 ); + ent.v[ "fxid" ] = "mp_water_spill_splatter"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill_splatter" ); + ent.v[ "origin" ] = ( -1525.82, 703.758, 720 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_water_spill_splatter"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill_splatter" ); + ent.v[ "origin" ] = ( -1863.57, 1712.04, 948.324 ); + ent.v[ "angles" ] = ( 293.197, 328.14, 51.7362 ); + ent.v[ "fxid" ] = "mp_water_spill_splatter"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1586.66, -34.5431, 1087.88 ); + ent.v[ "angles" ] = ( 272, 90, -168 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1571.04, -361.071, 1087.88 ); + ent.v[ "angles" ] = ( 272, 90, 174 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1470.32, -223.473, 1087.81 ); + ent.v[ "angles" ] = ( 272, 90, -90 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1505.8, 59.5648, 1087.88 ); + ent.v[ "angles" ] = ( 272, 90, -114 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1689.82, 704.88, 1127.27 ); + ent.v[ "angles" ] = ( 0, 8, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1979.81, -197.324, 1042.14 ); + ent.v[ "angles" ] = ( 272, 90, 90 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1825.26, -187.631, 1085.47 ); + ent.v[ "angles" ] = ( 272, 90, -88 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1898.87, -303.883, 1069.35 ); + ent.v[ "angles" ] = ( 272, 90, -180 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1929.79, -91.8434, 1060.31 ); + ent.v[ "angles" ] = ( 285.227, 199.393, -83.1408 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2562.69, 1182.13, 747.867 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1646.65, -265.586, 1155.13 ); + ent.v[ "angles" ] = ( 0, 30, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1485.28, 511.356, 1084.02 ); + ent.v[ "angles" ] = ( 0, 192, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1679.81, 295.734, 1093.88 ); + ent.v[ "angles" ] = ( 0, 2, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1629.45, -7.22061, 1214.69 ); + ent.v[ "angles" ] = ( 0, 74, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1880.5, -74.4094, 1087.84 ); + ent.v[ "angles" ] = ( 0, 260, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1490.14, 86.5732, 1214.49 ); + ent.v[ "angles" ] = ( 0, 142, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1496.71, 95.0018, 1096.48 ); + ent.v[ "angles" ] = ( 0, 112, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1993.67, 1233.18, 1212.4 ); + ent.v[ "angles" ] = ( 0, 12, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -1857.81, 1381.33, 1076.74 ); + ent.v[ "angles" ] = ( 0, 284, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -2211.86, -1137.98, 1026.56 ); + ent.v[ "angles" ] = ( 352, 0, 0 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -926.139, -1088.77, 974.882 ); + ent.v[ "angles" ] = ( 347.981, 183.843, 0.568717 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_fire_column" ); + ent.v[ "origin" ] = ( -4442.63, 2835.35, 1780.35 ); + ent.v[ "angles" ] = ( 270, 2.86241, -134.862 ); + ent.v[ "fxid" ] = "mp_smoke_fire_column"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -3603.57, 3083.36, 766.895 ); + ent.v[ "angles" ] = ( 325.924, 294.478, 2.00856 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3343.39, 1575.04, 1130.47 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3098.12, 1267.01, 1114.78 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -3224.64, 1744.41, 1116.88 ); + ent.v[ "angles" ] = ( 270, 0, -2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -748.282, 3443.28, 860.048 ); + ent.v[ "angles" ] = ( 333.424, 181.726, -146.484 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -987.15, 2972, 859.14 ); + ent.v[ "angles" ] = ( 35.1074, 336.738, -142.36 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -647.384, 2930.3, 878.467 ); + ent.v[ "angles" ] = ( 9.75605, 179.061, -154.742 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -1601.35, 4019.2, 818.131 ); + ent.v[ "angles" ] = ( 328.562, 273.875, 161.237 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -1639.75, 3665.44, 819.159 ); + ent.v[ "angles" ] = ( 333.81, 105.227, 8.7482 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -130.825, 2671.75, 902.019 ); + ent.v[ "angles" ] = ( 336.467, 214.762, 167.195 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -382.319, 2344.22, 861.019 ); + ent.v[ "angles" ] = ( 317.63, 96.1434, -145.126 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -261.412, 2056.06, 872.93 ); + ent.v[ "angles" ] = ( 356.252, 90.7683, -1.47433 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -362.085, 1212.01, 866.733 ); + ent.v[ "angles" ] = ( 37.8653, 59.341, -157.243 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -680.174, 1733.31, 835.677 ); + ent.v[ "angles" ] = ( 332.303, 346.563, 24.9872 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -680.008, 959.213, 813.291 ); + ent.v[ "angles" ] = ( 336.379, 28.0889, -8.8005 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -605.087, 394.612, 788.557 ); + ent.v[ "angles" ] = ( 331.377, 79.4156, -18.208 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_electric_sparks" ); + ent.v[ "origin" ] = ( -289.637, 1490.42, 775.255 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_electric_sparks"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -401.695, 2626.17, 812.939 ); + ent.v[ "angles" ] = ( 332.29, 300.519, 5.24692 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -419.21, 2653.89, 839.961 ); + ent.v[ "angles" ] = ( 33.8172, 48.5589, -160.544 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -10; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -370.517, 2356.82, 817.401 ); + ent.v[ "angles" ] = ( 37.5167, 60.6015, 17.9627 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -13; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -3214.06, 1807.87, 768.06 ); + ent.v[ "angles" ] = ( 288.626, 219.691, 160.604 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -11; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -1038.35, -417.782, 758.615 ); + ent.v[ "angles" ] = ( 324, 0, 0 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -407.847, 557.776, 777.125 ); + ent.v[ "angles" ] = ( 329.319, 150.663, -6.39141 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -353.111, 1623.21, 856.475 ); + ent.v[ "angles" ] = ( 329.442, 298.68, -32.2519 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill" ); + ent.v[ "origin" ] = ( -242.263, 2553.58, 1068.85 ); + ent.v[ "angles" ] = ( 0, 268, 0 ); + ent.v[ "fxid" ] = "mp_water_spill"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_spill_splatter" ); + ent.v[ "origin" ] = ( -241.322, 2552.3, 778.336 ); + ent.v[ "angles" ] = ( 282.64, 161.831, -161.411 ); + ent.v[ "fxid" ] = "mp_water_spill_splatter"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -172.882, 2647.01, 1018.88 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -10; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam" ); + ent.v[ "origin" ] = ( -372.576, 2328.82, 856.98 ); + ent.v[ "angles" ] = ( 339.66, 269.863, -167.939 ); + ent.v[ "fxid" ] = "mp_pipe_steam"; + ent.v[ "delay" ] = -9; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -621.97, 3224.59, 861.78 ); + ent.v[ "angles" ] = ( 45.9018, 146.531, -83.3421 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -974.541, 3510.53, 822.782 ); + ent.v[ "angles" ] = ( 348.454, 235.801, -30.4765 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -921.46, 112.26, 882.767 ); + ent.v[ "angles" ] = ( 19.1694, 200.175, 91.312 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_static_small_detail" ); + ent.v[ "origin" ] = ( -2451.56, 419.6, 744.549 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_fire_static_small_detail"; + ent.v[ "delay" ] = -5; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2093.29, 2466.02, 1197.06 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -10; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_falling" ); + ent.v[ "origin" ] = ( -1764.4, 1354.75, 1232.15 ); + ent.v[ "angles" ] = ( 290, 26, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_falling"; + ent.v[ "delay" ] = 3; + + ent = maps\mp\_utility::createOneshotEffect( "mp_water_drips_hvy_long" ); + ent.v[ "origin" ] = ( -1692.53, 1130.82, 1087.88 ); + ent.v[ "angles" ] = ( 308.67, 273.831, -167.988 ); + ent.v[ "fxid" ] = "mp_water_drips_hvy_long"; + ent.v[ "delay" ] = -10; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_falling_windy" ); + ent.v[ "origin" ] = ( -1914.78, 2183.27, 1373.13 ); + ent.v[ "angles" ] = ( 270, 0, 20 ); + ent.v[ "fxid" ] = "mp_ash_falling_windy"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -2239.95, 3138.3, 721 ); + ent.v[ "angles" ] = ( 286.752, 221.996, 158.408 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md" ); + ent.v[ "origin" ] = ( -2500.82, 3560.97, 807 ); + ent.v[ "angles" ] = ( 286.899, 222.731, -43.8439 ); + ent.v[ "fxid" ] = "mp_ray_light_md"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -2016.03, 2802.54, 1030.57 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_spill_runner" ); + ent.v[ "origin" ] = ( -1953.17, 3091.91, 1078.69 ); + ent.v[ "angles" ] = ( 270, 0, 2 ); + ent.v[ "fxid" ] = "mp_dust_spill_runner"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_falling_windy" ); + ent.v[ "origin" ] = ( -1599.56, 878.962, 1354.13 ); + ent.v[ "angles" ] = ( 270, 0.911188, 13.0888 ); + ent.v[ "fxid" ] = "mp_ash_falling_windy"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createLoopEffect( "mp_battlesmoke_falling" ); + ent.v[ "origin" ] = ( -1992.46, 2162.74, 1192.21 ); + ent.v[ "angles" ] = ( 290, 26, 0 ); + ent.v[ "fxid" ] = "mp_battlesmoke_falling"; + ent.v[ "delay" ] = 3; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_falling_windy" ); + ent.v[ "origin" ] = ( -2687.81, 3536.67, 1332.13 ); + ent.v[ "angles" ] = ( 270, 2.26795, 25.732 ); + ent.v[ "fxid" ] = "mp_ash_falling_windy"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_falling_windy" ); + ent.v[ "origin" ] = ( -287.944, 2500.56, 1253.13 ); + ent.v[ "angles" ] = ( 270, 0, 20 ); + ent.v[ "fxid" ] = "mp_ash_falling_windy"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_falling_windy" ); + ent.v[ "origin" ] = ( -3275.03, 1586.24, 1284.13 ); + ent.v[ "angles" ] = ( 270, 0, 20 ); + ent.v[ "fxid" ] = "mp_ash_falling_windy"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -3641.16, 4887.29, 949.529 ); + ent.v[ "angles" ] = ( 332.768, 204.598, 67.2804 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -3423.03, 4419.56, 1003.21 ); + ent.v[ "angles" ] = ( 35.5934, 54.941, 13.802 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -3440.89, 4098.55, 1017.36 ); + ent.v[ "angles" ] = ( 12, 126, 0 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_pipe_steam_random" ); + ent.v[ "origin" ] = ( -3427.02, 4097.18, 1020.91 ); + ent.v[ "angles" ] = ( 33.555, 6.94936, -145.761 ); + ent.v[ "fxid" ] = "mp_pipe_steam_random"; + ent.v[ "delay" ] = -12; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ash_falling_windy" ); + ent.v[ "origin" ] = ( -1675.46, -33.0196, 1357.13 ); + ent.v[ "angles" ] = ( 270, 0.911188, 13.0888 ); + ent.v[ "fxid" ] = "mp_ash_falling_windy"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -2453.81, 3546.49, 751.283 ); + ent.v[ "angles" ] = ( 286.752, 221.996, 158.408 ); + ent.v[ "fxid" ] = "mp_dust_motes"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_plume_lg" ); + ent.v[ "origin" ] = ( -590.544, -249.217, 1208.13 ); + ent.v[ "angles" ] = ( 278, 210, 0 ); + ent.v[ "fxid" ] = "mp_smoke_plume_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -822.479, 1294.98, 819.125 ); + ent.v[ "angles" ] = ( 270, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_lamp" ); + ent.v[ "origin" ] = ( -74.3961, 1539.98, 949.503 ); + ent.v[ "angles" ] = ( 23.1751, 227.709, 12.4564 ); + ent.v[ "fxid" ] = "mp_light_lamp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_lamp" ); + ent.v[ "origin" ] = ( -87.5084, 1514.01, 988.881 ); + ent.v[ "angles" ] = ( 359.672, 223.021, 9.53057 ); + ent.v[ "fxid" ] = "mp_light_lamp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small" ); + ent.v[ "origin" ] = ( -3592.91, 4426.25, 896.125 ); + ent.v[ "angles" ] = ( 270, 1.2946, 30.7054 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_fire_rubble_small" ); + ent.v[ "origin" ] = ( -3543.23, 5183.79, 955.125 ); + ent.v[ "angles" ] = ( 296.072, 36.0927, -4.55456 ); + ent.v[ "fxid" ] = "mp_fire_rubble_small"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_crater" ); + ent.v[ "origin" ] = ( -1104.01, 1412.12, 720.125 ); + ent.v[ "angles" ] = ( 272.969, 207.971, -126.202 ); + ent.v[ "fxid" ] = "mp_smoke_crater"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_cool" ); + ent.v[ "origin" ] = ( -1157.67, -1110.72, 990.721 ); + ent.v[ "angles" ] = ( 0, 182, 0 ); + ent.v[ "fxid" ] = "mp_light_corona_cool"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_cool" ); + ent.v[ "origin" ] = ( -2000.89, -1113.27, 991.076 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_corona_cool"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_fire_ribbon" ); + ent.v[ "origin" ] = ( -3578.28, 4408.6, 904.125 ); + ent.v[ "angles" ] = ( 349.408, 24.5583, 40.7669 ); + ent.v[ "fxid" ] = "mp_ray_fire_ribbon"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_cool" ); + ent.v[ "origin" ] = ( -638.951, 412.464, 807.688 ); + ent.v[ "angles" ] = ( 0, 88, 0 ); + ent.v[ "fxid" ] = "mp_light_corona_cool"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_cool" ); + ent.v[ "origin" ] = ( -663.789, 1762.87, 855.429 ); + ent.v[ "angles" ] = ( 0, 0, 0 ); + ent.v[ "fxid" ] = "mp_light_corona_cool"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_cool" ); + ent.v[ "origin" ] = ( -1200.29, 2247.8, 813.153 ); + ent.v[ "angles" ] = ( 0, 18, 0 ); + ent.v[ "fxid" ] = "mp_light_corona_cool"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_cool" ); + ent.v[ "origin" ] = ( -767.193, 2532.15, 854.923 ); + ent.v[ "angles" ] = ( 0, 122, 0 ); + ent.v[ "fxid" ] = "mp_light_corona_cool"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_cool" ); + ent.v[ "origin" ] = ( -1535.96, 4038.71, 807.248 ); + ent.v[ "angles" ] = ( 0, 296, 0 ); + ent.v[ "fxid" ] = "mp_light_corona_cool"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_fire_ribbon" ); + ent.v[ "origin" ] = ( -3517.47, 5178.76, 993.125 ); + ent.v[ "angles" ] = ( 346.873, 341.142, 88.526 ); + ent.v[ "fxid" ] = "mp_ray_fire_ribbon"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_crater" ); + ent.v[ "origin" ] = ( -2203.04, 4783.8, 816.125 ); + ent.v[ "angles" ] = ( 270, 0.318344, -162.318 ); + ent.v[ "fxid" ] = "mp_smoke_crater"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_lamp" ); + ent.v[ "origin" ] = ( -653.436, 3245.4, 829.349 ); + ent.v[ "angles" ] = ( 29.2498, 136.095, -4.91529 ); + ent.v[ "fxid" ] = "mp_light_lamp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_lamp" ); + ent.v[ "origin" ] = ( -659.376, 3221.27, 830.499 ); + ent.v[ "angles" ] = ( 21.1394, 171.024, 0.100923 ); + ent.v[ "fxid" ] = "mp_light_lamp"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -957.22, 2904.25, 818.125 ); + ent.v[ "angles" ] = ( 7.81783, 317.123, -89.3585 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_cool" ); + ent.v[ "origin" ] = ( -422.166, 2174.63, 868.875 ); + ent.v[ "angles" ] = ( 0, 180, 0 ); + ent.v[ "fxid" ] = "mp_light_corona_cool"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_corona_cool" ); + ent.v[ "origin" ] = ( -423.129, 883.059, 855.636 ); + ent.v[ "angles" ] = ( 0, 180, 0 ); + ent.v[ "fxid" ] = "mp_light_corona_cool"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_light_glow_indoor_short" ); + ent.v[ "origin" ] = ( -1433.45, 3131.15, 821 ); + ent.v[ "angles" ] = ( 272, 90, -90 ); + ent.v[ "fxid" ] = "mp_light_glow_indoor_short"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_crater" ); + ent.v[ "origin" ] = ( -3789.01, 3868.43, 816.125 ); + ent.v[ "angles" ] = ( 270, 0.318344, -162.318 ); + ent.v[ "fxid" ] = "mp_smoke_crater"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -1352.13, 3302.71, 784.125 ); + ent.v[ "angles" ] = ( 356.395, 352.023, -1.80391 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_md_1sd" ); + ent.v[ "origin" ] = ( -1430.01, 3281.36, 717.125 ); + ent.v[ "angles" ] = ( 29.0792, 271.888, -76.0972 ); + ent.v[ "fxid" ] = "mp_ray_light_md_1sd"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_ray_light_lg" ); + ent.v[ "origin" ] = ( -667.426, 1214.1, 682.125 ); + ent.v[ "angles" ] = ( 345.051, 30.5338, -3.0713 ); + ent.v[ "fxid" ] = "mp_ray_light_lg"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_smoke_crater" ); + ent.v[ "origin" ] = ( -625.877, -740.936, 816.125 ); + ent.v[ "angles" ] = ( 270, 0.850339, 1.14966 ); + ent.v[ "fxid" ] = "mp_smoke_crater"; + ent.v[ "delay" ] = -15; + + ent = maps\mp\_utility::createOneshotEffect( "mp_dust_motes" ); + ent.v[ "origin" ] = ( -577.577, 3214.08, 854.125 ); + ent.v[ "angles" ] = ( 354.89, 163.939, 4.62675 ); + ent.v[ "fxid" ] = "mp_dust_motes"; ent.v[ "delay" ] = -15; } diff --git a/raw/maps/mp/gametypes/_class.gsc b/raw/maps/mp/gametypes/_class.gsc index add85e5c9..cd2efd10d 100644 --- a/raw/maps/mp/gametypes/_class.gsc +++ b/raw/maps/mp/gametypes/_class.gsc @@ -513,7 +513,7 @@ getCacDataGroup( statRange, cacRange, numClasses ) // apply the primary grenade details if ( primary_grenade < 100 ) { - iprintln( "^1Warning: (" + self.name + ") primary grenade " + primary_grenade + " is invalid. Setting to frag." ); + println( "^1Warning: (" + self.name + ") primary grenade " + primary_grenade + " is invalid. Setting to frag." ); primary_grenade = 100; } diff --git a/raw/maps/mp/gametypes/_globallogic.gsc b/raw/maps/mp/gametypes/_globallogic.gsc index af65c2162..1b0a07d67 100644 --- a/raw/maps/mp/gametypes/_globallogic.gsc +++ b/raw/maps/mp/gametypes/_globallogic.gsc @@ -168,6 +168,8 @@ SetupCallbacks() level.givePlayerScore = ::givePlayerScore; level.getTimeLimitDvarValue = ::default_getTimeLimitDvarValue; + level.getTeamKillPenalty = ::default_getTeamKillPenalty; + level.getTeamKillScore = ::default_getTeamKillScore; level._setTeamScore = ::_setTeamScore; level._setPlayerScore = ::_setPlayerScore; @@ -338,7 +340,7 @@ default_onOneLeftEvent( team ) continue; // player maps\mp\gametypes\_globallogic::leaderDialogOnPlayer( "last_alive" ); - player maps\mp\gametypes\_globallogic::leaderDialogOnPlayer( "suddendeath" ); + player maps\mp\gametypes\_globallogic::leaderDialogOnPlayer( "sudden_death" ); } } } @@ -1096,14 +1098,14 @@ setThirdPerson( value ) if ( value ) { self setClientDvar( "cg_thirdPerson", "1" ); - self setDepthOfField( 0, 128, 512, 4000, 6, 1.8 ); - self setClientDvar( "cg_fov", "65" ); +// self setDepthOfField( 0, 128, 512, 4000, 6, 1.8 ); +// self setClientDvar( "cg_fov", "65" ); } else { self setClientDvar( "cg_thirdPerson", "0" ); - self setDepthOfField( 0, 0, 512, 4000, 4, 0 ); - self setClientDvar( "cg_fov", "65" ); +// self setDepthOfField( 0, 0, 512, 4000, 4, 0 ); +// self setClientDvar( "cg_fov", "65" ); } } } @@ -1365,26 +1367,61 @@ endGame( winner, endReasonText ) if( level.players[index].cur_kill_streak > level.players[index].pers["best_kill_streak"] ) level.players[index].pers["best_kill_streak"] = level.players[index].cur_kill_streak; + + ////set the client dvars + //It is possible for an other thread to call setClientDvars while this block of code is executing, causing an early exit. + //This is a fix for the stats not being displayed on the AAR on the PS3 + //Bug # 41782 + if( level.ps3 ) + { + level.players[index] setClientDvars( "ns_n", nemesis, + "ns_r", level.players[index].pers["nemesis_rank"], + "ns_ri", level.players[index].pers["nemesis_rankIcon"] ); - //set the client dvars - level.players[index] setClientDvars( "ns_n", nemesis, - "ns_r", level.players[index].pers["nemesis_rank"], - "ns_ri", level.players[index].pers["nemesis_rankIcon"], - "ns_x", level.players[index].pers["nemesis_xp"], - "ns_id", level.players[index].pers["nemesis_xuid"], - "ns_k", level.players[index].pers["killed_players"][nemesis], - "ns_d", level.players[index].pers["killed_by"][nemesis], - "ps_n", level.players[index].name, - "ps_k", level.players[index].kills, - "ps_d", level.players[index].deaths, - "ps_h", level.players[index].headshots, - "ps_kds", spread, - "ps_st", level.players[index].pers["best_kill_streak"], - "ps_r", level.players[index].pers["uav_used"], - "ps_ac", level.players[index].pers["artillery_used"], - "ps_dc", level.players[index].pers["dogs_used"], - "ps_ak", level.players[index].pers["artillery_kills"], - "ps_dk", level.players[index].pers["dog_kills"] ); + level.players[index] setClientDvars( "ns_x", level.players[index].pers["nemesis_xp"], + "ns_id", level.players[index].pers["nemesis_xuid"] ); + + level.players[index] setClientDvars( "ns_k", level.players[index].pers["killed_players"][nemesis], + "ps_k", level.players[index].kills ); + + level.players[index] setClientDvars( "ns_d", level.players[index].pers["killed_by"][nemesis], + "ps_n", level.players[index].name ); + + level.players[index] setClientDvars( "ps_d", level.players[index].deaths, + "ps_h", level.players[index].headshots, + "ps_kds", spread ); + + level.players[index] setClientDvars( "ps_st", level.players[index].pers["best_kill_streak"], + "ps_r", level.players[index].pers["uav_used"], + "ps_ac", level.players[index].pers["artillery_used"] ); + + level.players[index] setClientDvars( "ps_dc", level.players[index].pers["dogs_used"], + "ps_ak", level.players[index].pers["artillery_kills"], + "ps_dk", level.players[index].pers["dog_kills"] ); + } + else + { + //set the client dvars + level.players[index] setClientDvars( "ns_n", nemesis, + "ns_r", level.players[index].pers["nemesis_rank"], + "ns_ri", level.players[index].pers["nemesis_rankIcon"], + "ns_x", level.players[index].pers["nemesis_xp"], + "ns_id", level.players[index].pers["nemesis_xuid"], + "ns_k", level.players[index].pers["killed_players"][nemesis], + "ns_d", level.players[index].pers["killed_by"][nemesis], + "ps_n", level.players[index].name, + "ps_k", level.players[index].kills, + "ps_d", level.players[index].deaths, + "ps_h", level.players[index].headshots, + "ps_kds", spread, + "ps_st", level.players[index].pers["best_kill_streak"], + "ps_r", level.players[index].pers["uav_used"], + "ps_ac", level.players[index].pers["artillery_used"], + "ps_dc", level.players[index].pers["dogs_used"], + "ps_ak", level.players[index].pers["artillery_kills"], + "ps_dk", level.players[index].pers["dog_kills"] ); + + } recordPlayerStats( level.players[index], "highestKillStreak", level.players[index].pers["best_kill_streak"] ); recordPlayerStats( level.players[index], "numUavCalled", level.players[index].pers["uav_used"] ); recordPlayerStats( level.players[index], "numArtilleryCalled", level.players[index].pers["artillery_used"] ); @@ -1563,7 +1600,12 @@ endGame( winner, endReasonText ) if ( !hitRoundLimit() && !hitScoreLimit() ) { - game["state"] = "playing"; + game["state"] = "playing"; + if ( level.teamBalance ) + { + level notify ( "roundSwitching" ); + wait 1; + } level.allowBattleChatter = getdvarint( "scr_allowbattlechatter" ); map_restart( true ); return; @@ -1838,6 +1880,15 @@ updateMatchBonusScores( winner ) continue; } + totalTimePlayed = player.timePlayed["total"]; + + // make sure the players total time played is no + // longer then the game length to prevent exploits + if ( totalTimePlayed > gameLength ) + { + totalTimePlayed = gameLength; + } + // no bonus for hosts who force ends if ( level.hostForcedEnd && player getEntityNumber() == 0 ) continue; @@ -1845,19 +1896,19 @@ updateMatchBonusScores( winner ) spm = player maps\mp\gametypes\_rank::getSPM(); if ( winningTeam == "tie" ) { - playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); + playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) ); player thread giveMatchBonus( "tie", playerScore ); player.matchBonus = playerScore; } else if ( isDefined( player.pers["team"] ) && player.pers["team"] == winningTeam ) { - playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); + playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) ); player thread giveMatchBonus( "win", playerScore ); player.matchBonus = playerScore; } else if ( isDefined(player.pers["team"] ) && player.pers["team"] == losingTeam ) { - playerScore = int( (loserScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); + playerScore = int( (loserScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) ); player thread giveMatchBonus( "loss", playerScore ); player.matchBonus = playerScore; } @@ -1887,6 +1938,15 @@ updateMatchBonusScores( winner ) continue; } + totalTimePlayed = player.timePlayed["total"]; + + // make sure the players total time played is no + // longer then the game length to prevent exploits + if ( totalTimePlayed > gameLength ) + { + totalTimePlayed = gameLength; + } + spm = player maps\mp\gametypes\_rank::getSPM(); isWinner = false; @@ -1899,13 +1959,13 @@ updateMatchBonusScores( winner ) if ( isWinner ) { - playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); + playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) ); player thread giveMatchBonus( "win", playerScore ); player.matchBonus = playerScore; } else { - playerScore = int( (loserScale * ((gameLength/60) * spm)) * (player.timePlayed["total"] / gameLength) ); + playerScore = int( (loserScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) ); player thread giveMatchBonus( "loss", playerScore ); player.matchBonus = playerScore; } @@ -2384,6 +2444,13 @@ menuAutoAssign() if ( !isAlive( self ) ) self.statusicon = "hud_status_dead"; + + lpselfnum = self getEntityNumber(); + lpselfname = self.name; + lpselfteam = self.pers["team"]; + lpselfguid = self getGuid(); + + logPrint( "JT;" + lpselfguid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + "\n" ); self notify("joined_team"); self notify("end_respawn"); @@ -2502,6 +2569,13 @@ menuAllies() self setclientdvar("g_scriptMainMenu", game["menu_class_allies"]); + lpselfnum = self getEntityNumber(); + lpselfname = self.name; + lpselfteam = self.pers["team"]; + lpselfguid = self getGuid(); + + logPrint( "JT;" + lpselfguid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + "\n" ); + self notify("joined_team"); self notify("end_respawn"); } @@ -2545,6 +2619,13 @@ menuAxis() self setclientdvar("g_scriptMainMenu", game["menu_class_axis"]); + lpselfnum = self getEntityNumber(); + lpselfname = self.name; + lpselfteam = self.pers["team"]; + lpselfguid = self getGuid(); + + logPrint( "JT;" + lpselfguid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + "\n" ); + self notify("joined_team"); self notify("end_respawn"); } @@ -3518,6 +3599,10 @@ updateWinStats( winner ) { winner maps\mp\gametypes\_persistence::statSetWithGameType( "win_streak", cur_gamemode_win_streak ); } + + lpselfnum = winner getEntityNumber(); + lpGuid = winner getGuid(); + logPrint("W;" + lpGuid + ";" + lpselfnum + ";" + winner.name + "\n"); } @@ -3526,6 +3611,10 @@ updateLossStats( loser ) { loser maps\mp\gametypes\_persistence::statAdd( "losses", 1 ); loser updatePersRatio( "wlratio", "wins", "losses" ); + + lpselfnum = loser getEntityNumber(); + lpGuid = loser getGuid(); + logPrint("L;" + lpGuid + ";" + lpselfnum + ";" + loser.name + "\n"); } @@ -3535,7 +3624,11 @@ updateTieStats( loser ) loser maps\mp\gametypes\_persistence::statAdd( "ties", 1 ); loser updatePersRatio( "wlratio", "wins", "losses" ); - loser maps\mp\gametypes\_persistence::statSet( "cur_win_streak", 0 ); + loser maps\mp\gametypes\_persistence::statSet( "cur_win_streak", 0 ); + + lpselfnum = loser getEntityNumber(); + lpGuid = loser getGuid(); + logPrint("T;" + lpGuid + ";" + lpselfnum + ";" + loser.name + "\n"); } @@ -3581,7 +3674,11 @@ updateWinLossStats( winner ) else if ( players[i].pers["team"] == winner ) updateWinStats( players[i] ); else + { + if( !level.console ) + updateLossStats( players[i] ); players[i] maps\mp\gametypes\_persistence::statSet( "cur_win_streak", 0 ); + } } } @@ -4313,6 +4410,12 @@ Callback_StartGameType() if ( level.hardcoreMode ) logString( "game mode: hardcore" ); + if ( getdvar( "scr_max_rank" ) == "" ) + setdvar( "scr_max_rank", "0" ); + level.rankCap = getDvarInt( "scr_max_rank" ); + if ( level.rankCap ) + logString( "rank cap: " + level.rankCap ); + // this gets set to false when someone takes damage or a gametype-specific event happens. level.useStartSpawns = true; @@ -4765,7 +4868,16 @@ Callback_PlayerConnect() return; } - updateLossStats( self ); + // don't count losses for CTF and War at each round. + if ( !isDefined( self.pers["lossAlreadyReported"] ) ) + { + if( level.console ) + updateLossStats( self ); + if ( ( level.gameType == "ctf" ) || ( level.gameType == "twar" ) ) + { + self.pers["lossAlreadyReported"] = true; + } + } level endon( "game_ended" ); @@ -5566,7 +5678,6 @@ Callback_ActorDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sW { lpselfnum = self getEntityNumber(); lpselfteam = self.aiteam; - lpattackerteam = ""; if(isPlayer(eAttacker)) { @@ -6112,6 +6223,21 @@ damageShellshockAndRumble( eInflictor, sWeapon, sMeansOfDeath, iDamage ) self PlayRumbleOnEntity( "damage_heavy" ); } +default_getTeamKillPenalty( eInflictor, attacker, sMeansOfDeath, sWeapon ) +{ + teamkill_penalty = 1; + + if ( sWeapon == "artillery_mp" ) + { + teamkill_penalty = maps\mp\gametypes\_tweakables::getTweakableValue( "team", "artilleryTeamKillPenalty" ); + } + return teamkill_penalty; +} + +default_getTeamKillScore( eInflictor, attacker, sMeansOfDeath, sWeapon ) +{ + return maps\mp\gametypes\_rank::getScoreInfoValue( "kill" ); +} Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration) { @@ -6258,7 +6384,10 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi lpselfname = self.name; lpattackGuid = ""; lpattackname = ""; - lpselfteam = ""; + if( isdefined( self.pers["team"] ) ) + lpselfteam = self.pers["team"]; + else + lpselfteam = ""; lpselfguid = self getGuid(); lpattackerteam = ""; @@ -6271,6 +6400,11 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi { lpattackGuid = attacker getGuid(); lpattackname = attacker.name; + if( isdefined( attacker.pers["team"] ) ) + lpattackerteam = attacker.pers["team"]; + else + lpattackerteam = ""; + if ( attacker == self ) // killed himself { @@ -6333,21 +6467,17 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi { attacker thread [[level.onXPEvent]]( "teamkill" ); - teamkill_penalty = 1; - if ( sWeapon == "artillery_mp" ) - { - teamkill_penalty = maps\mp\gametypes\_tweakables::getTweakableValue( "team", "artilleryTeamKillPenalty" ); - } - - if ( !IgnoreTeamKills( sWeapon ) ) + if ( !IgnoreTeamKills( sWeapon, sMeansOfDeath ) ) { + teamkill_penalty = self [[level.getTeamKillPenalty]]( eInflictor, attacker, sMeansOfDeath, sWeapon); + attacker incPersStat( "teamkills_nostats", teamkill_penalty, false ); attacker incPersStat( "teamkills", 1 ); //save team kills to player stats attacker.teamkillsThisRound++; if ( maps\mp\gametypes\_tweakables::getTweakableValue( "team", "teamkillpointloss" ) ) { - scoreSub = maps\mp\gametypes\_rank::getScoreInfoValue( "kill" ); + scoreSub = self [[level.getTeamKillScore]]( eInflictor, attacker, sMeansOfDeath, sWeapon); _setPlayerScore( attacker, _getPlayerScore( attacker ) - scoreSub ); } @@ -7602,8 +7732,11 @@ threadedSetStatLBByName( name, value, columnname, suffix ) } } -IgnoreTeamKills( sWeapon ) +IgnoreTeamKills( sWeapon, sMeansOfDeath ) { + if ( sMeansOfDeath == "MOD_MELEE" ) + return false; + if ( isSubStr( sWeapon, "mine_bouncing_betty_" ) || sWeapon == "briefcase_bomb_mp" ) return true; diff --git a/raw/maps/mp/gametypes/_menus.gsc b/raw/maps/mp/gametypes/_menus.gsc index 7bea45179..aebfb6586 100644 --- a/raw/maps/mp/gametypes/_menus.gsc +++ b/raw/maps/mp/gametypes/_menus.gsc @@ -252,7 +252,7 @@ onMenuResponse() continue; } - if ( response == "endround" ) + if ( response == "endround" && level.console ) { if ( !level.gameEnded ) { diff --git a/raw/maps/mp/gametypes/_missions.gsc b/raw/maps/mp/gametypes/_missions.gsc index 419245e4e..53ea92a8f 100644 --- a/raw/maps/mp/gametypes/_missions.gsc +++ b/raw/maps/mp/gametypes/_missions.gsc @@ -174,7 +174,27 @@ processChallenge( baseName, progressInc ) if ( level.challengeInfo[refString]["attachment"] != "" ) self maps\mp\gametypes\_rank::unlockAttachment( level.challengeInfo[refString]["attachment"] ); - self setStatLBByName( level.challengeInfo[refString]["fullname"], 1 ); + + + statName = level.challengeInfo[refString]["fullname"]; + + statLen = statName.size; + + postShipStatsFix = getdvarint("ffotd_stats_fix"); + + if ( ( postShipStatsFix == 0 ) || ( statLen < 2 ) || ( getSubStr( statName , statLen - 2 , statLen - 1 ) != "_" ) ) + { + self setStatLBByName( statName, 1 ); + } + else + { + columnName = getSubStr( statName , statLen - 1 , statLen ); + statName = getSubStr( level.challengeInfo[refString]["fullname"] , 0, statLen - 2 ); + self setStatLBByName( statName, 1, columnName ); + } + + + if ( missionStatus == numLevels ) { @@ -1615,13 +1635,16 @@ monitorGameEnded() if ( isdefined ( players[i].squadid ) ) { + // cap it at 30 minutes to avoid exploiting + totalTimePlayed = int( min( players[i].timePlayed["total"], level.timeplayedcap ) ); + if ( players[i].squadid == 0 ) { - players[i] setStatLBByName( mapname2, players[i].timePlayed["total"], "Time as Lone Wolf" ); + players[i] setStatLBByName( mapname2, totalTimePlayed, "Time as Lone Wolf" ); } else { - players[i] setStatLBByName( mapname2, players[i].timePlayed["total"], "Time In Squad" ); + players[i] setStatLBByName( mapname2, totalTimePlayed, "Time In Squad" ); } } } diff --git a/raw/maps/mp/gametypes/_rank.gsc b/raw/maps/mp/gametypes/_rank.gsc index bd6fb8dfd..3b05df660 100644 --- a/raw/maps/mp/gametypes/_rank.gsc +++ b/raw/maps/mp/gametypes/_rank.gsc @@ -117,11 +117,7 @@ registerScoreInfo( type, value ) getScoreInfoValue( type ) { - overrideDvar = "scr_" + level.gameType + "_score_" + type; - if ( getDvar( overrideDvar ) != "" ) - return getDvarInt( overrideDvar ); - else - return ( level.scoreInfo[type]["value"] ); + return ( level.scoreInfo[type]["value"] ); } getScoreInfoLabel( type ) @@ -231,6 +227,21 @@ verifyUnlocks( rankId ) } } +shouldKickByRank() +{ + if ( self getEntityNumber() == 0 ) + { + // don't try to kick the host + return false; + } + + if (level.rankCap > 0 && self.pers["rank"] > level.rankCap) + { + return true; + } + + return false; +} onPlayerConnect() { @@ -242,6 +253,12 @@ onPlayerConnect() rankId = player getRankForXp( player getRankXP() ); player.pers["rank"] = rankId; + if ( player shouldKickByRank() ) + { + kick( player getEntityNumber() ); + continue; + } + // dont reset participation in War when going into final fight, this is used for calculating match bonus if ( !isDefined( player.pers["participation"] ) || !( (level.gameType == "twar") && (0 < game["roundsplayed"]) && (0 < player.pers["participation"]) ) ) player.pers["participation"] = 0; diff --git a/raw/maps/mp/gametypes/_spawning.gsc b/raw/maps/mp/gametypes/_spawning.gsc index 9769a6e19..b5520a2b1 100644 --- a/raw/maps/mp/gametypes/_spawning.gsc +++ b/raw/maps/mp/gametypes/_spawning.gsc @@ -75,6 +75,15 @@ init() level thread onPlayerConnect(); + if ( getdvar("scr_spawn_visibility_check_max") == "" ) + { + level.spawn_visibility_check_max = 15; + } + else + { + level.spawn_visibility_check_max = getdvarint("scr_spawn_visibility_check_max"); + } + /# // this dvar stores the name for whom to display debug spawning information @@ -1155,14 +1164,33 @@ get_best_spawnpoint( point_team, influencer_team, player ) scored_spawn_points = getsortedspawnpoints( point_team, influencer_team, player ); assert(scored_spawn_points.size > 0 ); + if (level.teambased ) + { + other_team = GetOtherTeam(point_team); + } + else + { + other_team = "free"; + } + + prof_begin("get_best_spawnpoint__"); for (i = 0 ; i < scored_spawn_points.size; i++) { scored_spawn = scored_spawn_points[i]; if (PositionWouldTelefrag(scored_spawn_points[i].origin)) continue; - - return scored_spawn_points[i]; + + if ( level.spawn_visibility_check_max > i && isspawnpointvisible(scored_spawn_points[i].origin, scored_spawn_points[i].angles, other_team, player ) ) + { + continue; } + + prof_end("get_best_spawnpoint__"); + + return scored_spawn_points[i]; + } + + prof_end("get_best_spawnpoint__"); // could not find anything return scored_spawn_points[0]; diff --git a/raw/maps/mp/gametypes/_teams.gsc b/raw/maps/mp/gametypes/_teams.gsc index 6831ccccb..1ccc3e522 100644 --- a/raw/maps/mp/gametypes/_teams.gsc +++ b/raw/maps/mp/gametypes/_teams.gsc @@ -21,9 +21,23 @@ init() if(getdvar("scr_teambalance") == "") setdvar("scr_teambalance", "0"); + if(getDvar( "scr_" + level.gameType + "_teamBalanceEndOfRound" ) == "" ) + { + dvarString = ("scr_" + level.gameType + "_teamBalanceEndOfRound"); + if( level.gameType == "sd" ) + setdvar(dvarString, "1"); + else + setdvar(dvarString, "0"); + } + level.teamBalance = getdvarInt("scr_teambalance"); + level.teamBalanceEndOfRound = getdvarInt("scr_" + level.gameType + "_teamBalanceEndOfRound"); level.maxClients = getDvarInt( "sv_maxclients" ); + if(getdvar("scr_timeplayedcap") == "") + setdvar("scr_timeplayedcap", "1800"); + level.timeplayedcap = int(getdvarInt("scr_timeplayedcap")); + setPlayerModels(); level.freeplayers = []; @@ -161,20 +175,20 @@ updatePlayedTime() { if ( self.timePlayed["allies"] ) { - self maps\mp\gametypes\_persistence::statAdd( "time_played_allies", self.timePlayed["allies"] ); - self maps\mp\gametypes\_persistence::statAdd( "time_played_total", self.timePlayed["allies"] ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_allies", int( min( self.timePlayed["allies"], level.timeplayedcap ) ) ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_total", int( min( self.timePlayed["allies"], level.timeplayedcap ) ) ); } if ( self.timePlayed["axis"] ) { - self maps\mp\gametypes\_persistence::statAdd( "time_played_opfor", self.timePlayed["axis"] ); - self maps\mp\gametypes\_persistence::statAdd( "time_played_total", self.timePlayed["axis"] ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_opfor", int( min( self.timePlayed["axis"], level.timeplayedcap ) ) ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_total", int( min( self.timePlayed["axis"], level.timeplayedcap ) ) ); } if ( self.timePlayed["other"] ) { - self maps\mp\gametypes\_persistence::statAdd( "time_played_other", self.timePlayed["other"] ); - self maps\mp\gametypes\_persistence::statAdd( "time_played_total", self.timePlayed["other"] ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_other", int( min( self.timePlayed["other"], level.timeplayedcap ) ) ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_total", int( min( self.timePlayed["other"], level.timeplayedcap ) ) ); } if ( game["state"] == "postgame" ) @@ -194,43 +208,47 @@ updateTeamTime() self.pers["teamTime"] = getTime(); } -updateTeamBalanceDvar() +updateTeamBalanceDvars() { - for(;;) - { - teambalance = getdvarInt("scr_teambalance"); - if(level.teambalance != teambalance) - level.teambalance = getdvarInt("scr_teambalance"); + teambalance = getdvarInt("scr_teambalance"); + if(level.teambalance != teambalance) + level.teambalance = teambalance; - wait 1; - } + timeplayedcap = getdvarInt("scr_timeplayedcap"); + if(level.timeplayedcap != timeplayedcap) + level.timeplayedcap = int(getdvarInt("scr_timeplayedcap")); } - +updateTeamBalanceWarning() +{ + level endon ( "roundSwitching" ); + + for(;;) + { + if( !getTeamBalance() ) + { + iPrintLnBold( &"MP_AUTOBALANCE_NEXT_ROUND" ); + wait 15.0; + } + wait 15.0; + } +} updateTeamBalance() { level.teamLimit = level.maxclients / 2; - level thread updateTeamBalanceDvar(); - + updateTeamBalanceDvars(); + wait .15; - if ( level.teamBalance && (level.roundLimit > 1 || (!level.roundLimit && level.scoreLimit != 1)) ) + if ( level.teamBalance && level.teamBalanceEndOfRound ) { - if( isDefined( game["BalanceTeamsNextRound"] ) ) - iPrintLnbold( &"MP_AUTOBALANCE_NEXT_ROUND" ); + level thread updateTeamBalanceWarning(); + level waittill( "roundSwitching" ); - // TODO: add or change - level waittill( "restarting" ); - - if( isDefined( game["BalanceTeamsNextRound"] ) ) + if( !getTeamBalance() ) { level balanceTeams(); - game["BalanceTeamsNextRound"] = undefined; - } - else if( !getTeamBalance() ) - { - game["BalanceTeamsNextRound"] = true; } } else @@ -238,6 +256,7 @@ updateTeamBalance() level endon ( "game_ended" ); for( ;; ) { + wait 10.0; if( level.teamBalance ) { if( !getTeamBalance() ) @@ -248,11 +267,9 @@ updateTeamBalance() if( !getTeamBalance() ) level balanceTeams(); } - - wait 59.0; } - wait 1.0; + updateTeamBalanceDvars(); } } @@ -353,42 +370,53 @@ balanceTeams() changeTeam( team ) { - if (self.sessionstate != "dead") + self [[level.leavesquad]](); + + teams[0] = "allies"; + teams[1] = "axis"; + assignment = team; + + if ( assignment != self.pers["team"] && (self.sessionstate == "playing" || self.sessionstate == "dead") ) { - self maps\mp\gametypes\_globallogic::menuLeaveSquad(); - // Set a flag on the player to they aren't robbed points for dying - the callback will remove the flag self.switching_teams = true; - self.joining_team = team; + self.joining_team = assignment; self.leaving_team = self.pers["team"]; - - // Suicide the player so they can't hit escape and fail the team balance self suicide(); } - self.pers["team"] = team; - self.team = team; + self.pers["team"] = assignment; + self.team = assignment; self.pers["weapon"] = undefined; self.pers["spawnweapon"] = undefined; self.pers["savedmodel"] = undefined; self.pers["teamTime"] = undefined; self.sessionteam = self.pers["team"]; + self maps\mp\gametypes\_globallogic::updateObjectiveText(); - - // update spectator permissions immediately on change of team - self maps\mp\gametypes\_spectating::setSpectatePermissions(); - - if(self.pers["team"] == "allies") - { - self setclientdvar("g_scriptMainMenu", game["menu_class_allies"]); - self openMenu(game["menu_class_allies"]); - } + + if ( level.teamBased ) + self.sessionteam = assignment; else { - self setclientdvar("g_scriptMainMenu", game["menu_class_axis"]); - self openMenu(game["menu_class_axis"]); + self.sessionteam = "none"; } + if ( !isAlive( self ) ) + self.statusicon = "hud_status_dead"; + + lpselfnum = self getEntityNumber(); + lpselfname = self.name; + lpselfteam = self.pers["team"]; + lpselfguid = self getGuid(); + + logPrint( "JT;" + lpselfguid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + "\n" ); + + self notify("joined_team"); self notify("end_respawn"); + + self maps\mp\gametypes\_globallogic::beginClassChoice(); + + self setclientdvar( "g_scriptMainMenu", game[ "menu_class_" + self.pers["team"] ] ); } @@ -696,20 +724,20 @@ updateFreePlayedTime() { if ( self.timePlayed["allies"] ) { - self maps\mp\gametypes\_persistence::statAdd( "time_played_allies", self.timePlayed["allies"] ); - self maps\mp\gametypes\_persistence::statAdd( "time_played_total", self.timePlayed["allies"] ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_allies", int( min( self.timePlayed["allies"], level.timeplayedcap ) ) ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_total", int( min( self.timePlayed["allies"], level.timeplayedcap ) ) ); } if ( self.timePlayed["axis"] ) { - self maps\mp\gametypes\_persistence::statAdd( "time_played_opfor", self.timePlayed["axis"] ); - self maps\mp\gametypes\_persistence::statAdd( "time_played_total", self.timePlayed["axis"] ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_opfor", int( min( self.timePlayed["axis"], level.timeplayedcap ) ) ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_total", int( min( self.timePlayed["axis"], level.timeplayedcap ) ) ); } if ( self.timePlayed["other"] ) { - self maps\mp\gametypes\_persistence::statAdd( "time_played_other", self.timePlayed["other"] ); - self maps\mp\gametypes\_persistence::statAdd( "time_played_total", self.timePlayed["other"] ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_other", int( min( self.timePlayed["other"], level.timeplayedcap ) ) ); + self maps\mp\gametypes\_persistence::statAdd( "time_played_total", int( min( self.timePlayed["other"], level.timeplayedcap ) ) ); } if ( game["state"] == "postgame" ) @@ -718,4 +746,4 @@ updateFreePlayedTime() self.timePlayed["allies"] = 0; self.timePlayed["axis"] = 0; self.timePlayed["other"] = 0; -} \ No newline at end of file +} diff --git a/raw/maps/mp/gametypes/_weapons.gsc b/raw/maps/mp/gametypes/_weapons.gsc index cdf11b0b7..b8465af10 100644 --- a/raw/maps/mp/gametypes/_weapons.gsc +++ b/raw/maps/mp/gametypes/_weapons.gsc @@ -94,9 +94,15 @@ init() // thread maps\mp\_teargrenades::main(); thread maps\mp\_entityheadicons::init(); + if ( !isdefined(level.grenadeLauncherDudTime) ) + level.grenadeLauncherDudTime = 0; + level.bettyDetonateRadius = weapons_get_dvar_int ( "bettyDetonateRadius", "150"); level.bettyUpVelocity = weapons_get_dvar_int ( "bettyUpVelocity", "296" ); level.bettyTimeBeforeDetonate = weapons_get_dvar ( "bettyTimeBeforeDetonate", "0.45" ); + level.bettyTriggerDamageTraceEnabled = weapons_get_dvar_int ( "scr_bettyTriggerDamageTraceEnabled", "1"); + level.bettyTriggerLoopWait = weapons_get_dvar ( "scr_bettyTriggerLoopWait" , 0.1); + level.tabunInitialGasShockDuration = weapons_get_dvar_int( "tabunInitialGasShockDuration", "7"); level.tabunWalkInGasShockDuration = weapons_get_dvar_int( "tabunWalkInGasShockDuration", "4"); @@ -730,6 +736,8 @@ watchGrenadeUsage() self thread beginSpecialGrenadeTracking(); self thread watchForThrowbacks(); + thread watchForGrenadeDuds(); + thread watchForGrenadeLauncherDuds(); for ( ;; ) { @@ -868,6 +876,40 @@ watchSatchel() } } +turnGrenadeIntoADud(weapname) +{ + if ( level.grenadeLauncherDudTime >= (maps\mp\gametypes\_globallogic::getTimePassed() / 1000) ) + { + if ( isSubStr( weapname, "gl_" ) ) + { + self makeGrenadeDud(); + } + } +} +watchForGrenadeDuds() +{ + self endon( "spawned_player" ); + self endon( "disconnect" ); + + while(1) + { + self waittill( "grenade_fire", grenade, weapname ); + grenade turnGrenadeIntoADud(weapname); + } +} + +watchForGrenadeLauncherDuds() +{ + self endon( "spawned_player" ); + self endon( "disconnect" ); + + while(1) + { + self waittill( "grenade_launncher_fire", grenade, weapname ); + grenade turnGrenadeIntoADud(weapname); + } +} + watchBettys() { @@ -930,7 +972,19 @@ bettyDetonation() if ( triggerer.origin[2] < rangeOrigin[2] - 24 ) continue; } - break; + + if ( (weapons_get_dvar_int ( "scr_bettyTriggerDamageTraceEnabled", level.bettyTriggerDamageTraceEnabled)) == 1 ) + { + + if ( triggerer damageConeTrace( self.origin + (0,0,12), self ) > 0 ) + break; + + wait(weapons_get_dvar ( "scr_bettyTriggerLoopWait" , level.bettyTriggerLoopWait)); // as the damage cone trace is CPU intensive + } + else + { + break; + } } // check if triggerer has survived the betty for the challenges diff --git a/raw/maps/mp/gametypes/ctf.gsc b/raw/maps/mp/gametypes/ctf.gsc index 1315ba701..a1a6d2da0 100644 --- a/raw/maps/mp/gametypes/ctf.gsc +++ b/raw/maps/mp/gametypes/ctf.gsc @@ -236,7 +236,7 @@ onStartGameType() level.spawn_axis_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_ctf_spawn_axis_start" ); level.spawn_allies_start = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_ctf_spawn_allies_start" ); - maps\mp\gametypes\_rank::registerScoreInfo( "capture", 50 ); + maps\mp\gametypes\_rank::registerScoreInfo( "capture", 100 ); maps\mp\gametypes\_rank::registerScoreInfo( "defend", 10 ); maps\mp\gametypes\_rank::registerScoreInfo( "kill_carrier", 10 ); @@ -689,7 +689,13 @@ onPickup( player ) self returnFlag(); self maps\mp\gametypes\_gameobjects::returnHome(); if ( isDefined( player ) ) - player logString( team + " flag returned" ); + { + player logString( team + " flag returned" ); + + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + logPrint("FR;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); + } else logString( team + " flag returned" ); return; @@ -735,6 +741,10 @@ onPickup( player ) update_hints(); player logString( team + " flag taken" ); + + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + logPrint("FT;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); } } @@ -797,6 +807,10 @@ onCapture( player ) player logString( enemyTeam + " flag captured" ); + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + logPrint("FC;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); + flag = player.carryObject; flag.dontAnnounceReturn = true; @@ -811,12 +825,11 @@ onCapture( player ) player.isFlagCarrier = false; player deleteBaseIcon(); + // execution will stop on this line on last flag cap of a level [[level._setTeamScore]]( team, [[level._getTeamScore]]( team ) + 1 ); if( game["teamScores"]["allies"] == level.scoreLimit - 1 || game["teamScores"]["axis"] == level.scoreLimit - 1 ) setMusicState( "MATCH_END" ); - - thread giveFlagCaptureXP( player ); } giveFlagCaptureXP( player ) diff --git a/raw/maps/mp/gametypes/dom.gsc b/raw/maps/mp/gametypes/dom.gsc index ac52cfb17..28c2f29bf 100644 --- a/raw/maps/mp/gametypes/dom.gsc +++ b/raw/maps/mp/gametypes/dom.gsc @@ -583,6 +583,10 @@ onUse( player ) label = self maps\mp\gametypes\_gameobjects::getLabel(); player logString( "flag captured: " + self.label ); + + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + logPrint("FC;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); self maps\mp\gametypes\_gameobjects::setOwnerTeam( team ); self maps\mp\gametypes\_gameobjects::set2DIcon( "enemy", "compass_waypoint_capture" + label ); diff --git a/raw/maps/mp/gametypes/koth.gsc b/raw/maps/mp/gametypes/koth.gsc index 1f0a2bfd6..76aa45f48 100644 --- a/raw/maps/mp/gametypes/koth.gsc +++ b/raw/maps/mp/gametypes/koth.gsc @@ -496,6 +496,10 @@ onRadioCapture( player ) player setStatLBByName( "headquarters", 1, "radios captured"); + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + logPrint("RC;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); + oldTeam = maps\mp\gametypes\_gameobjects::getOwnerTeam(); self maps\mp\gametypes\_gameobjects::setOwnerTeam( team ); if ( !level.kothMode ) @@ -533,6 +537,10 @@ onRadioDestroy( player ) player setStatLBByName( "headquarters", 1, "radios destroyed"); + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + logPrint("RD;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); + if ( level.kothmode ) { thread printOnTeamArg( &"MP_HQ_CAPTURED_BY", team, player ); diff --git a/raw/maps/mp/gametypes/sab.gsc b/raw/maps/mp/gametypes/sab.gsc index 671f15bba..847af36ed 100644 --- a/raw/maps/mp/gametypes/sab.gsc +++ b/raw/maps/mp/gametypes/sab.gsc @@ -632,11 +632,17 @@ onUse( player ) team = player.pers["team"]; otherTeam = level.otherTeam[team]; // planted the bomb + + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + if ( !self maps\mp\gametypes\_gameobjects::isFriendlyTeam( player.pers["team"] ) ) { player notify ( "bomb_planted" ); player playSound( "mp_bomb_plant" ); player logString( "bomb planted" ); + logPrint("BP;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); + if ( !level.hardcoreMode ) { printBoldOnTeamArg( &"MP_EXPLOSIVES_PLANTED_BY", team, player ); @@ -676,6 +682,9 @@ onUse( player ) { player notify ( "bomb_defused" ); player logString( "bomb defused" ); + + logPrint("BD;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); + if ( !level.hardcoreMode ) iPrintLn( &"MP_EXPLOSIVES_DEFUSED_BY", player ); thread playSoundOnPlayers( "mx_SAB_defused"+"_"+level.teamPrefix[team] ); diff --git a/raw/maps/mp/gametypes/sd.gsc b/raw/maps/mp/gametypes/sd.gsc index e92466c4d..be78b36a2 100644 --- a/raw/maps/mp/gametypes/sd.gsc +++ b/raw/maps/mp/gametypes/sd.gsc @@ -98,6 +98,8 @@ main() maps\mp\gametypes\_globallogic::registerRoundLimitDvar( level.gameType, 0, 0, 12 ); maps\mp\gametypes\_globallogic::registerNumLivesDvar( level.gameType, 1, 0, 10 ); + registerGrenadeLauncherDudDvar( level.gameType, 15, 0, 1440 ); + level.teamBased = true; level.overrideTeamScore = true; level.onPrecacheGameType = ::onPrecacheGameType; @@ -110,6 +112,8 @@ main() level.onOneLeftEvent = ::onOneLeftEvent; level.onTimeLimit = ::onTimeLimit; level.onRoundSwitch = ::onRoundSwitch; + level.getTeamKillPenalty = ::sd_getTeamKillPenalty; + level.getTeamKillScore = ::sd_getTeamKillScore; level.endGameOnScoreLimit = false; @@ -119,7 +123,6 @@ main() game["dialog"]["sudden_death"] = "suddendeath_boost"; } - onPrecacheGameType() { game["bombmodelname"] = "weapon_explosives"; @@ -161,6 +164,31 @@ onPrecacheGameType() precacheString( &"MP_DEFUSING_EXPLOSIVE" ); } +sd_getTeamKillPenalty( eInflictor, attacker, sMeansOfDeath, sWeapon ) +{ + teamkill_penalty = maps\mp\gametypes\_globallogic::default_getTeamKillPenalty( eInflictor, attacker, sMeansOfDeath, sWeapon ); + + if ( ( isdefined( self.isDefusing ) && self.isDefusing ) || ( isdefined( self.isPlanting ) && self.isPlanting ) ) + { + teamkill_penalty = teamkill_penalty * level.teamKillPenaltyMultiplier; + } + + return teamkill_penalty; +} + +sd_getTeamKillScore( eInflictor, attacker, sMeansOfDeath, sWeapon ) +{ + teamkill_score = maps\mp\gametypes\_rank::getScoreInfoValue( "kill" ); + + if ( ( isdefined( self.isDefusing ) && self.isDefusing ) || ( isdefined( self.isPlanting ) && self.isPlanting ) ) + { + teamkill_score = teamkill_score * level.teamKillScoreMultiplier; + } + + return int(teamkill_score); +} + + onRoundSwitch() { if ( !isdefined( game["switchedsides"] ) ) @@ -514,6 +542,9 @@ updateGametypeDvars() level.defuseTime = dvarFloatValue( "defusetime", 5, 0, 20 ); level.bombTimer = dvarFloatValue( "bombtimer", 45, 1, 300 ); level.multiBomb = dvarIntValue( "multibomb", 0, 0, 1 ); + + level.teamKillPenaltyMultiplier = dvarFloatValue( "teamkillpenalty", 2, 0, 10 ); + level.teamKillScoreMultiplier = dvarFloatValue( "teamkillscore", 4, 0, 40 ); } @@ -683,6 +714,10 @@ onUsePlantObject( player ) { level thread bombPlanted( self, player ); player logString( "bomb planted: " + self.label ); + + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + logPrint("BP;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); // disable all bomb zones except this one for ( index = 0; index < level.bombZones.size; index++ ) @@ -712,6 +747,10 @@ onUseDefuseObject( player ) player logString( "bomb defused: " + self.label ); level thread bombDefused(); + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + logPrint("BD;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); + // disable this bomb zone self maps\mp\gametypes\_gameobjects::disableObject(); @@ -918,4 +957,21 @@ bombDefused() sd_endGame( game["defenders"], game["strings"]["bomb_defused"] ); } +registerGrenadeLauncherDudDvar( dvarString, defaultValue, minValue, maxValue ) +{ + dvarString = ("scr_" + dvarString + "_grenadeLauncherDudTime"); + if ( getDvar( dvarString ) == "" ) + setDvar( dvarString, defaultValue ); + + if ( getDvarInt( dvarString ) > maxValue ) + setDvar( dvarString, maxValue ); + else if ( getDvarInt( dvarString ) < minValue ) + setDvar( dvarString, minValue ); + + level.grenadeLauncherDudTimeDvar = dvarString; + level.grenadeLauncherDudTimeMin = minValue; + level.grenadeLauncherDudTimeMax = maxValue; + level.grenadeLauncherDudTime = getDvarInt( level.grenadeLauncherDudTimeDvar ); +} + diff --git a/raw/maps/mp/gametypes/twar.gsc b/raw/maps/mp/gametypes/twar.gsc index 57d34837c..b37bad451 100644 --- a/raw/maps/mp/gametypes/twar.gsc +++ b/raw/maps/mp/gametypes/twar.gsc @@ -2137,6 +2137,10 @@ onUse( player ) label = self maps\mp\gametypes\_gameobjects::getLabel(); player logString( "flag captured: " + self.label ); + + lpselfnum = player getEntityNumber(); + lpGuid = player getGuid(); + logPrint("FC;" + lpGuid + ";" + lpselfnum + ";" + player.name + "\n"); self setFlagOwner( team ); diff --git a/raw/maps/mp/mp_asylum.gsc b/raw/maps/mp/mp_asylum.gsc index 9c905236a..2730b2cc7 100644 --- a/raw/maps/mp/mp_asylum.gsc +++ b/raw/maps/mp/mp_asylum.gsc @@ -7,6 +7,10 @@ main() maps\mp\mp_asylum_fx::main(); maps\mp\createart\mp_asylum_art::main(); + precachemodel("collision_geo_128x128x128"); + precachemodel("collision_wall_256x256x10"); + precachemodel("collision_wall_512x512x10"); + maps\mp\_load::main(); maps\mp\mp_asylum_amb::main(); @@ -29,6 +33,17 @@ main() setdvar( "r_specularcolorscale", "1" ); setdvar("compassmaxrange","2100"); + + //Spawned Collision + spawncollision("collision_geo_128x128x128","collider",(-1337, -771, 395.5), (0, 0, 0)); + + //fix for people getting on ledge + spawncollision("collision_wall_256x256x10","collider",(-368, -52, 320), (0, 0, 0)); + //fix for people getting on roof + spawncollision("collision_wall_512x512x10","collider",(872, 1747, 596), (0, 270, 0)); + //Fix for stuck spot that was introduced between TU1 and TU2 + spawncollision("collision_wall_256x256x10","collider",(1160, 965, 74), (0, 0, 0)); + game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_ASYLUM_A"; game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_ASYLUM_B"; diff --git a/raw/maps/mp/mp_bd_test.gsc b/raw/maps/mp/mp_bd_test.gsc new file mode 100644 index 000000000..181871078 --- /dev/null +++ b/raw/maps/mp/mp_bd_test.gsc @@ -0,0 +1,50 @@ +main() +{ + + //maps\mp\mp_dome_fx::main(); + //maps\mp\createart\mp_dome_art::main(); + + // spawn influencer tuning values. Set before _load::main() is called + setdvar ("scr_spawn_twar_linked_flag_influencer_score_falloff_percentage", "1"); + + maps\mp\_load::main(); + + //maps\mp\mp_dome_amb::main(); + + maps\mp\_compass::setupMiniMap("compass_map_mp_dome"); + + //setExpFog(300, 1400, 0.5, 0.5, 0.5, 0); + //VisionSetNaked( "mp_cargoship" ); + //ambientPlay("ambient_cargoshipmp_ext"); + + // If the team nationalites change in this file, + // you must update the team nationality in the level's csc file as well! + game["allies"] = "russian"; + game["axis"] = "german"; + game["attackers"] = "allies"; + game["defenders"] = "axis"; + game["allies_soldiertype"] = "german"; + game["axis_soldiertype"] = "german"; + + setdvar( "r_specularcolorscale", "1" ); + + setdvar("compassmaxrange","2100"); + + game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_DOME_A"; + game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_DOME_B"; + game["strings"]["war_callsign_c"] = &"MPUI_CALLSIGN_DOME_C"; + game["strings"]["war_callsign_d"] = &"MPUI_CALLSIGN_DOME_D"; + game["strings"]["war_callsign_e"] = &"MPUI_CALLSIGN_DOME_E"; + + game["strings_menu"]["war_callsign_a"] = "@MPUI_CALLSIGN_DOME_A"; + game["strings_menu"]["war_callsign_b"] = "@MPUI_CALLSIGN_DOME_B"; + game["strings_menu"]["war_callsign_c"] = "@MPUI_CALLSIGN_DOME_C"; + game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_DOME_D"; + game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_DOME_E"; + + + // enable new spawning system + maps\mp\gametypes\_spawning::level_use_unified_spawning(true); + + +} diff --git a/raw/maps/mp/mp_brandenburg.gsc b/raw/maps/mp/mp_brandenburg.gsc new file mode 100644 index 000000000..e829d79c6 --- /dev/null +++ b/raw/maps/mp/mp_brandenburg.gsc @@ -0,0 +1,43 @@ +main() +{ + //maps\mp\mp_brandenburg_fx::main(); + + precachemodel("collision_geo_128x128x128"); + + maps\mp\_load::main(); + + //maps\mp\mp_brandenburg_amb::main(); + + //maps\mp\_compass::setupMiniMap("compass_map_mp_brandenburg"); + + // If the team nationalites change in this file, + // you must update the team nationality in the level's csc file as well! + game["allies"] = "russian"; + game["axis"] = "german"; + game["attackers"] = "axis"; + game["defenders"] = "allies"; + game["allies_soldiertype"] = "german"; + game["axis_soldiertype"] = "german"; + + game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_brandenburg_A"; + game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_brandenburg_B"; + game["strings"]["war_callsign_c"] = &"MPUI_CALLSIGN_brandenburg_C"; + game["strings"]["war_callsign_d"] = &"MPUI_CALLSIGN_brandenburg_D"; + game["strings"]["war_callsign_e"] = &"MPUI_CALLSIGN_brandenburg_E"; + + game["strings_menu"]["war_callsign_a"] = "@MPUI_CALLSIGN_brandenburg_A"; + game["strings_menu"]["war_callsign_b"] = "@MPUI_CALLSIGN_brandenburg_B"; + game["strings_menu"]["war_callsign_c"] = "@MPUI_CALLSIGN_brandenburg_C"; + game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_brandenburg_D"; + game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_brandenburg_E"; + + setdvar( "r_specularcolorscale", "1" ); + + setdvar("compassmaxrange","2100"); + + spawncollision("collision_geo_128x128x128","collider",(2964, 9470, -113), (0, 348.6, 0)); + + // enable new player spawning system + maps\mp\gametypes\_spawning::level_use_unified_spawning(true); + +} diff --git a/raw/maps/mp/mp_cassino.gsc b/raw/maps/mp/mp_cassino.gsc new file mode 100644 index 000000000..bc639fd5c --- /dev/null +++ b/raw/maps/mp/mp_cassino.gsc @@ -0,0 +1,16 @@ + +main() +{ + maps\mp\_load::main(); + + maps\mp\_compass::setupMiniMap("compass_map_mp_temp"); + + game["allies"] = "russian"; + game["axis"] = "german"; + game["attackers"] = "axis"; + game["defenders"] = "allies"; + game["allies_soldiertype"] = "russian"; + game["axis_soldiertype"] = "german"; + + +} \ No newline at end of file diff --git a/raw/maps/mp/mp_castle.gsc b/raw/maps/mp/mp_castle.gsc index abfba360f..2e15025fb 100644 --- a/raw/maps/mp/mp_castle.gsc +++ b/raw/maps/mp/mp_castle.gsc @@ -6,7 +6,9 @@ main() maps\mp\mp_castle_fx::main(); precachemodel("collision_geo_256x256x10"); - + precachemodel("collision_wall_256x256x10"); + precachemodel("collision_geo_32x32x128"); + precachemodel("collision_geo_32x32x32"); maps\mp\_load::main(); maps\mp\mp_castle_amb::main(); @@ -30,6 +32,8 @@ main() setdvar("compassmaxrange","2100"); + thread trigger_killer( (2166,-604, -556), 125, 10 ); + game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_CASTLE_A"; game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_CASTLE_B"; game["strings"]["war_callsign_c"] = &"MPUI_CALLSIGN_CASTLE_C"; @@ -42,10 +46,45 @@ main() game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_CASTLE_D"; game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_CASTLE_E"; - // cave blocker - spawncollision("collision_geo_256x256x10","collider",(145, -2080, 49), (270, 90, 0)); + // Spawned Collision + + //prevents players from getting on top of the stone building south of rock garden + spawncollision("collision_geo_256x256x10","collider",(145, -2080, 49), (270, 90, 0)); + //fix for map hole west of pond, next to storage building + spawncollision("collision_wall_256x256x10","collider",(2169, -568, -456), (0, 270, 0)); + //fix for map hole in east pond wall + spawncollision("collision_wall_256x256x10","collider",(2409, -1333, -473), (0, 0, 0)); + //fix for map hole in north pond wall + spawncollision("collision_wall_256x256x10","collider",(2230, -1232, -522), (0, 270, 0)); + //fix for rooftop access through dojo window using two players + spawncollision("collision_wall_256x256x10","collider",(3320, -2459, 59), (0, 0, 0)); + //prevents players from hiding in tree by red bridge + spawncollision("collision_geo_32x32x128","collider",(2471, -835, -329), (0, 0, 0)); + //stuck spot between red trims on a the southernmost wall, accessible by jumping on barrels + spawncollision("collision_geo_32x32x32","collider",(542.5, -1939.5, -96), (0, 0, 0)); + //fix for sticky spot by barrel at south end of rock garden + spawncollision("collision_geo_32x32x32","collider",(363, -2547.5, -202.5), (0, 0, 0)); + + + + // enable new spawning system maps\mp\gametypes\_spawning::level_use_unified_spawning(true); + } + +trigger_killer( position, width, height ) +{ + kill_trig = spawn("trigger_radius", position, 0, width, height); + + while(1) + { + kill_trig waittill("trigger",player); + if ( isplayer( player ) ) + { + player suicide(); + } + } +} \ No newline at end of file diff --git a/raw/maps/mp/mp_docks.gsc b/raw/maps/mp/mp_docks.gsc index 0550deb0e..57593d171 100644 --- a/raw/maps/mp/mp_docks.gsc +++ b/raw/maps/mp/mp_docks.gsc @@ -17,12 +17,12 @@ main() // If the team nationalites change in this file, // you must update the team nationality in the level's csc file as well! - game["allies"] = "russian"; - game["axis"] = "german"; + game["allies"] = "marines"; + game["axis"] = "japanese"; game["attackers"] = "allies"; game["defenders"] = "axis"; - game["allies_soldiertype"] = "german"; - game["axis_soldiertype"] = "german"; + game["allies_soldiertype"] = "pacific"; + game["axis_soldiertype"] = "pacific"; setdvar( "r_specularcolorscale", "1" ); diff --git a/raw/maps/mp/mp_downfall.gsc b/raw/maps/mp/mp_downfall.gsc index f0ac4e440..56c9a1ea4 100644 --- a/raw/maps/mp/mp_downfall.gsc +++ b/raw/maps/mp/mp_downfall.gsc @@ -2,6 +2,9 @@ main() { maps\mp\mp_downfall_fx::main(); + precachemodel("collision_geo_128x128x128"); + precachemodel("collision_geo_64x64x64"); + maps\mp\_load::main(); maps\mp\mp_downfall_amb::main(); @@ -33,6 +36,13 @@ main() setdvar("compassmaxrange","2100"); + spawncollision("collision_geo_128x128x128","collider",(2964, 9470, -113), (0, 348.6, 0)); + +//stuck spot at boxes by truck + spawncollision("collision_geo_64x64x64","collider",(-1214, 8213, -50.5), (0, 348.6, 0)); + + + // enable new player spawning system maps\mp\gametypes\_spawning::level_use_unified_spawning(true); diff --git a/raw/maps/mp/mp_encampment.gsc b/raw/maps/mp/mp_encampment.gsc new file mode 100644 index 000000000..fb1536d0f --- /dev/null +++ b/raw/maps/mp/mp_encampment.gsc @@ -0,0 +1,41 @@ +main() +{ +// maps\mp\mp_encampment_fx::main(); +// maps\mp\createart\mp_encampment_art::main(); + + + maps\mp\_load::main(); + +// thread maps\mp\mp_encampment_amb::main(); + + // uncomment this when you have your own mini-map for this map +// maps\mp\_compass::setupMiniMap("compass_map_mp_encampment"); + + // If the team nationalites change in this file, + // you must update the team nationality in the level's csc file as well! + game["allies"] = "russian"; + game["axis"] = "german"; + game["attackers"] = "axis"; + game["defenders"] = "allies"; + game["allies_soldiertype"] = "german"; + game["axis_soldiertype"] = "german"; + + game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_SEELOW_A"; + game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_SEELOW_B"; + game["strings"]["war_callsign_c"] = &"MPUI_CALLSIGN_SEELOW_C"; + game["strings"]["war_callsign_d"] = &"MPUI_CALLSIGN_SEELOW_D"; + game["strings"]["war_callsign_e"] = &"MPUI_CALLSIGN_SEELOW_E"; + + game["strings_menu"]["war_callsign_a"] = "@MPUI_CALLSIGN_SEELOW_A"; + game["strings_menu"]["war_callsign_b"] = "@MPUI_CALLSIGN_SEELOW_B"; + game["strings_menu"]["war_callsign_c"] = "@MPUI_CALLSIGN_SEELOW_C"; + game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_SEELOW_D"; + game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_SEELOW_E"; + + setdvar( "r_specularcolorscale", "1" ); + + setdvar("compassmaxrange","2100"); + + // enable new player spawning system + maps\mp\gametypes\_spawning::level_use_unified_spawning(true); +} diff --git a/raw/maps/mp/mp_hangar.gsc b/raw/maps/mp/mp_hangar.gsc index 34869837a..391874ef8 100644 --- a/raw/maps/mp/mp_hangar.gsc +++ b/raw/maps/mp/mp_hangar.gsc @@ -1,6 +1,11 @@ main() { maps\mp\mp_hangar_fx::main(); + + precachemodel("collision_wall_512x512x10"); + precachemodel("collision_wall_128x128x10"); + precachemodel("collision_wall_32x32x10"); + maps\mp\_load::main(); maps\mp\mp_hangar_amb::main(); @@ -31,6 +36,19 @@ main() game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_HANGAR_D"; game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_HANGAR_E"; + // Spawned Collision + spawncollision("collision_wall_512x512x10","collider",(-949.5, 22, 1045.25), (0, 270, 0)); + spawncollision("collision_wall_128x128x10","collider",(-41, -136, 908), (0, 270, 0)); + spawncollision("collision_wall_512x512x10","collider",(-384, -2451, 1136), (0, 0, 0)); + //keep people from leaving the map by using a partner + spawncollision("collision_wall_512x512x10","collider",(-1613, -842, 852), (0, 270, 0)); + //prevent players from going under the stairs in the admin bldg + spawncollision("collision_wall_32x32x10","collider",(-366, -2026, 652), (0, 270, 0)); + //keep people from accessing the lamp which can be used to access the roof + spawncollision("collision_geo_32x32x128","collider",(-320, -2480, 892), (0, 0, 0)); + + + // enable new spawning system maps\mp\gametypes\_spawning::level_use_unified_spawning(true); diff --git a/raw/maps/mp/mp_kneedeep.gsc b/raw/maps/mp/mp_kneedeep.gsc index 5cadf5239..cd5bb9022 100644 --- a/raw/maps/mp/mp_kneedeep.gsc +++ b/raw/maps/mp/mp_kneedeep.gsc @@ -1,11 +1,13 @@ main() { + //needs to be first for create fx + maps\mp\mp_kneedeep_fx::main(); + maps\mp\_load::main(); maps\mp\_compass::setupMiniMap("compass_map_mp_kneedeep"); // maps\mp\mp_kneedeep_amb::main(); - // maps\mp\mp_kneedeep_fx::main(); // If the team nationalites change in this file, @@ -17,19 +19,23 @@ main() game["allies_soldiertype"] = "pacific"; game["axis_soldiertype"] = "pacific"; - game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_KNEEDEEP_A"; - game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_KNEEDEEP_B"; - game["strings"]["war_callsign_c"] = &"MPUI_CALLSIGN_KNEEDEEP_C"; - game["strings"]["war_callsign_d"] = &"MPUI_CALLSIGN_KNEEDEEP_D"; - game["strings"]["war_callsign_e"] = &"MPUI_CALLSIGN_KNEEDEEP_E"; + game["strings"]["war_callsign_a"] = &"PATCH_CALLSIGN_KNEEDEEP_A"; + game["strings"]["war_callsign_b"] = &"PATCH_CALLSIGN_KNEEDEEP_B"; + game["strings"]["war_callsign_c"] = &"PATCH_CALLSIGN_KNEEDEEP_C"; + game["strings"]["war_callsign_d"] = &"PATCH_CALLSIGN_KNEEDEEP_D"; + game["strings"]["war_callsign_e"] = &"PATCH_CALLSIGN_KNEEDEEP_E"; - game["strings_menu"]["war_callsign_a"] = "@MPUI_CALLSIGN_KNEEDEEP_A"; - game["strings_menu"]["war_callsign_b"] = "@MPUI_CALLSIGN_KNEEDEEP_B"; - game["strings_menu"]["war_callsign_c"] = "@MPUI_CALLSIGN_KNEEDEEP_C"; - game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_KNEEDEEP_D"; - game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_KNEEDEEP_E"; + game["strings_menu"]["war_callsign_a"] = "@PATCH_CALLSIGN_KNEEDEEP_A"; + game["strings_menu"]["war_callsign_b"] = "@PATCH_CALLSIGN_KNEEDEEP_B"; + game["strings_menu"]["war_callsign_c"] = "@PATCH_CALLSIGN_KNEEDEEP_C"; + game["strings_menu"]["war_callsign_d"] = "@PATCH_CALLSIGN_KNEEDEEP_D"; + game["strings_menu"]["war_callsign_e"] = "@PATCH_CALLSIGN_KNEEDEEP_E"; setdvar( "r_specularcolorscale", "1" ); setdvar("compassmaxrange","2100"); + + // enable new spawning system + maps\mp\gametypes\_spawning::level_use_unified_spawning(true); + } diff --git a/raw/maps/mp/mp_kneedeep_amb.gsc b/raw/maps/mp/mp_kneedeep_amb.gsc new file mode 100644 index 000000000..f2943a279 --- /dev/null +++ b/raw/maps/mp/mp_kneedeep_amb.gsc @@ -0,0 +1,24 @@ +// +// file: mp_kneedeep_amb.gsc +// description: level ambience script for kneedeep +// + +include maps\mp\_utility; +include maps\mp\_ambientpackage; + +main() +{ + + + + //************************************************************************************************ + // ACTIVATE DEFAULT AMBIENT SETTINGS + //************************************************************************************************ + + //activateAmbientPackage( "outdoor_pkg", 0 ); + //activateAmbientRoom( "outdoor_room", 0 ); + + //************************************************************************************************* + // START SCRIPTS + //************************************************************************************************* +} \ No newline at end of file diff --git a/raw/maps/mp/mp_kneedeep_fx.gsc b/raw/maps/mp/mp_kneedeep_fx.gsc new file mode 100644 index 000000000..b006cffd7 --- /dev/null +++ b/raw/maps/mp/mp_kneedeep_fx.gsc @@ -0,0 +1,57 @@ +#include maps\mp\_utility; + +main() +{ + maps\mp\createart\mp_kneedeep_art::main(); + precacheFX(); + spawnFX(); +} + +precacheFX() +{ + level._effect["mp_fire_small_detail"] = loadfx("maps/mp_maps/fx_mp_fire_small_detail"); + level._effect["mp_fire_small"] = loadfx("maps/mp_maps/fx_mp_fire_small"); + level._effect["mp_fire_medium"] = loadfx("maps/mp_maps/fx_mp_fire_medium"); + level._effect["mp_fire_large"] = loadfx("maps/mp_maps/fx_mp_fire_large"); + level._effect["mp_fire_tree_trunk"] = loadfx("maps/mp_maps/fx_mp_fire_tree_trunk"); + level._effect["mp_insects_swarm"] = loadfx("maps/mp_maps/fx_mp_insect_swarm"); + level._effect["mp_battlesmoke_large"] = loadfx("maps/mp_maps/fx_mp_battlesmoke_thick_large_area"); + level._effect["mp_battlesmoke_small"] = loadfx("maps/mp_maps/fx_mp_battlesmoke_brown_thick_small_area"); + level._effect["mp_fog_rolling_large"] = loadfx("maps/mp_maps/fx_mp_fog_rolling_thick_large_area"); + level._effect["mp_fog_rolling_small"] = loadfx("maps/mp_maps/fx_mp_fog_rolling_thick_small_area"); + level._effect["mp_smoke_ambiance_indoor"] = loadfx("maps/mp_maps/fx_mp_smoke_ambiance_indoor"); + level._effect["mp_smoke_column_tall"] = loadfx("maps/mp_maps/fx_mp_smoke_column_tall"); + level._effect["mp_smoke_column_short"] = loadfx("maps/mp_maps/fx_mp_smoke_column_short"); + level._effect["mp_smoke_ambiance_indoor_misty"] = loadfx("maps/mp_maps/fx_mp_smoke_ambiance_indoor_misty"); + level._effect["mp_light_glow_indoor_short"] = loadfx("maps/mp_maps/fx_mp_light_glow_indoor_short"); + level._effect["mp_water_splash_small"] = loadfx("maps/mp_maps/fx_mp_water_splash_small"); + level._effect["mp_water_wake_flow"] = loadfx("maps/mp_maps/fx_mp_water_wake_flow"); + level._effect["mp_light_glow_lantern"] = loadfx("maps/mp_maps/fx_mp_light_glow_lantern"); + level._effect["mp_falling_leaves_elm"] = loadfx("maps/mp_maps/fx_mp_falling_leaves_elm"); + level._effect["mp_fire_rubble_small_column_smldr"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_small_column_smldr"); + level._effect["smoke_chimney_med"] = loadfx("maps/mak/fx_smoke_chimney_med"); + level._effect["fx_mp_electric_sparks"] = loadfx("maps/mp_maps/fx_mp_electric_sparks"); + level._effect["fx_mp_water_wake_flow_slow"] = loadfx("maps/mp_maps/fx_mp_water_wake_flow_slow"); + level._effect["fx_mp_seagulls_circling"] = loadfx("maps/mp_maps/fx_mp_seagulls_circling"); + level._effect["fx_mp_flies_carcass"] = loadfx("maps/mp_maps/fx_mp_flies_carcass"); + level._effect["fx_mp_fire_window_smk_lf"] = loadfx("maps/mp_maps/fx_mp_fire_window_smk_lf"); + level._effect["fx_mp_fire_column_xsm"] = loadfx("maps/mp_maps/fx_mp_fire_column_close"); + level._effect["fx_mp_fire_column_sm"] = loadfx("maps/mp_maps/fx_mp_fire_column_sm"); + level._effect["fx_mp_fire_column_lg"] = loadfx("maps/mp_maps/fx_mp_fire_column_lg"); + level._effect["fx_mp_smoke_brush_smolder_sm"] = loadfx("maps/mp_maps/fx_mp_smoke_brush_smolder_sm"); + level._effect["fx_mp_smoke_brush_smolder_md"] = loadfx("maps/mp_maps/fx_mp_smoke_brush_smolder_md"); + level._effect["fx_mp_ray_sun_xsm"] = loadfx("maps/mp_maps/fx_mp_ray_sun_xsm"); + level._effect["fx_mp_ray_sun_md"] = loadfx("maps/mp_maps/fx_mp_ray_sun_md"); + level._effect["fx_mp_ray_sun_xsm_near"] = loadfx("maps/mp_maps/fx_mp_ray_sun_xsm_near"); + level._effect["fx_mp_embers_patch"] = loadfx("maps/mp_maps/fx_mp_embers_patch"); + level._effect["fx_mp_embers_patch_sm"] = loadfx("maps/mp_maps/fx_mp_embers_patch_sm"); + level._effect["fx_mp_dlight_fire_glow"] = loadfx("maps/mp_maps/fx_mp_dlight_fire_glow"); + level._effect["fx_mp_debris_hall_ash_embers_sm"] = loadfx("maps/mp_maps/fx_mp_debris_hall_ash_embers_sm"); + level._effect["fx_mp_smoke_sm_slow"] = loadfx("maps/mp_maps/fx_mp_smoke_sm_slow"); +} + +spawnFX() +{ + maps\mp\createfx\mp_kneedeep_fx::main(); +} + diff --git a/raw/maps/mp/mp_kwai.gsc b/raw/maps/mp/mp_kwai.gsc new file mode 100644 index 000000000..cf60de5d0 --- /dev/null +++ b/raw/maps/mp/mp_kwai.gsc @@ -0,0 +1,46 @@ +main() +{ + maps\mp\mp_kwai_fx::main(); + //maps\mp\createart\mp_kwai_art::main(); + + maps\mp\_load::main(); + + //maps\mp\mp_kwai_amb::main(); + + //maps\mp\_compass::setupMiniMap("compass_map_mp_kwai"); + + //setExpFog(300, 1400, 0.5, 0.5, 0.5, 0); + //VisionSetNaked( "mp_cargoship" ); + //ambientPlay("ambient_cargoshipmp_ext"); + + // If the team nationalites change in this file, + // you must update the team nationality in the level's csc file as well! + game["allies"] = "marines"; + game["axis"] = "japanese"; + game["attackers"] = "allies"; + game["defenders"] = "axis"; + game["allies_soldiertype"] = "pacific"; + game["axis_soldiertype"] = "pacific"; + + setdvar( "r_specularcolorscale", "1" ); + + setdvar("compassmaxrange","2100"); + + //game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_DOME_A"; + //game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_DOME_B"; + //game["strings"]["war_callsign_c"] = &"MPUI_CALLSIGN_DOME_C"; + //game["strings"]["war_callsign_d"] = &"MPUI_CALLSIGN_DOME_D"; + //game["strings"]["war_callsign_e"] = &"MPUI_CALLSIGN_DOME_E"; + + //game["strings_menu"]["war_callsign_a"] = "@MPUI_CALLSIGN_DOME_A"; + //game["strings_menu"]["war_callsign_b"] = "@MPUI_CALLSIGN_DOME_B"; + //game["strings_menu"]["war_callsign_c"] = "@MPUI_CALLSIGN_DOME_C"; + //game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_DOME_D"; + //game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_DOME_E"; + + + // enable new spawning system + maps\mp\gametypes\_spawning::level_use_unified_spawning(true); + + +} diff --git a/raw/maps/mp/mp_kwai_fx.gsc b/raw/maps/mp/mp_kwai_fx.gsc new file mode 100644 index 000000000..54a454d35 --- /dev/null +++ b/raw/maps/mp/mp_kwai_fx.gsc @@ -0,0 +1,35 @@ +#include maps\mp\_utility; + +main() +{ + maps\mp\createart\mp_kwai_art::main(); + precacheFX(); + spawnFX(); +} + +precacheFX() +{ + + level._effect["a_wtrfall_sm"] = loadfx("env/water/fx_wtrfall_sm"); + level._effect["a_wtrfall_splash_sm"] = loadfx("env/water/fx_wtrfall_splash_sm"); + level._effect["a_wtrfall_splash_sm_puddle"] = loadfx("env/water/fx_wtrfall_splash_sm_puddle"); + level._effect["a_wtrfall_md"] = loadfx("env/water/fx_wtrfall_md"); + level._effect["a_wtr_spill_sm"] = loadfx("env/water/fx_wtr_spill_sm"); + level._effect["a_wtr_spill_sm_int"] = loadfx("env/water/fx_wtr_spill_sm_int"); + level._effect["a_wtr_spill_sm_splash"] = loadfx("env/water/fx_wtr_spill_sm_splash"); + level._effect["a_wtr_spill_sm_splash_puddle"] = loadfx("env/water/fx_wtr_spill_sm_splash_puddle"); + level._effect["a_wtr_flow_sm"] = loadfx("env/water/fx_wtr_flow_sm"); + level._effect["a_wtr_flow_md"] = loadfx("env/water/fx_wtr_flow_md"); + level._effect["a_water_wake_flow_sm"] = loadfx("env/water/fx_water_wake_flow_sm"); + level._effect["a_water_wake_flow_md"] = loadfx("env/water/fx_water_wake_flow_md"); + level._effect["a_water_ripple"] = loadfx("env/water/fx_water_splash_ripple_puddle"); + level._effect["a_water_ripple_md"] = loadfx("env/water/fx_water_splash_ripple_puddle_med"); + level._effect["a_water_ripple_aisle"] = loadfx("env/water/fx_water_splash_ripple_puddle_aisle"); + level._effect["a_water_ripple_line"] = loadfx("env/water/fx_water_splash_ripple_line"); + level._effect["a_rain_cave_ceiling_hole"] = loadfx("maps/oki2/fx_rain_cave_ceiling_hole"); +} + +spawnFX() +{ + maps\mp\createfx\mp_kwai_fx::main(); +} \ No newline at end of file diff --git a/raw/maps/mp/mp_lagoon.gsc b/raw/maps/mp/mp_lagoon.gsc new file mode 100644 index 000000000..d2eba5153 --- /dev/null +++ b/raw/maps/mp/mp_lagoon.gsc @@ -0,0 +1,33 @@ +main() +{ + //maps\mp\mp_cargoship_fx::main(); + //maps\createart\mp_cargoship_art::main(); + //needs to be first for create fx + //maps\mp\mp_shrine_fx::main(); + + + maps\mp\createart\mp_lagoon_art::main(); + + maps\mp\_load::main(); + + //maps\mp\mp_lagoon_amb::main(); + + maps\mp\_compass::setupMiniMap("compass_map_mp_lagoon"); + + //setExpFog(300, 1400, 0.5, 0.5, 0.5, 0); + //VisionSetNaked( "mp_cargoship" ); + //ambientPlay("ambient_cargoshipmp_ext"); + + // If the team nationalites change in this file, + // you must update the team nationality in the level's csc file as well! + game["allies"] = "marines"; + game["axis"] = "japanese"; + game["attackers"] = "allies"; + game["defenders"] = "axis"; + game["allies_soldiertype"] = "pacific"; + game["axis_soldiertype"] = "pacific"; + + setdvar( "r_specularcolorscale", "1" ); + + setdvar("compassmaxrange","2100"); +} diff --git a/raw/maps/mp/mp_makin.gsc b/raw/maps/mp/mp_makin.gsc index e078c0ae4..3cd8ead63 100644 --- a/raw/maps/mp/mp_makin.gsc +++ b/raw/maps/mp/mp_makin.gsc @@ -8,6 +8,9 @@ main() precachemodel("collision_wall_256x256x10"); precachemodel("collision_geo_128x128x128"); precachemodel("collision_geo_64x64x256"); + precachemodel("collision_wall_64x64x10"); + precachemodel("collision_geo_64x64x64"); + maps\mp\_load::main(); @@ -59,6 +62,25 @@ main() spawncollision("collision_wall_256x256x10","collider",(-10072, -16352, 185), (0, 0, 0)); spawncollision("collision_wall_256x256x10","collider",(-9617, -17242, 407), (0, 25, 0)); + + // L-shaped hut windows blocking prone entry + spawncollision("collision_wall_64x64x10","collider",(-9961, -14426, 172), (0, 12.8, 0)); + spawncollision("collision_wall_64x64x10","collider",(-9720, -14613, 182), (0, 284.8, 0)); + //rock blocker to stop user from enetering geo in jungle area + spawncollision("collision_geo_64x64x64","collider",(-7967.5, -16214, 270.5), (0, 14.5, 0)); + + //hut water blocker to stop user from getting stuck on geo when crouched + spawncollision("collision_wall_256x256x10","collider",(-11892, -16454, -68), (0, 180, 0)); + spawncollision("collision_wall_256x256x10","collider",(-12015, -16587, -68), (0, 270, 0)); + + + //stuck spot underr hut A + spawncollision("collision_wall_64x64x10","collider",(-11054, -15549, 23), (0, 30.6, 0)); + + //stuck spot by round hut + spawncollision("collision_wall_256x256x10","collider",(-9895.5, -16100, 223.5), (0, 256.2, 0)); + + createSpawnpoint( "mp_ctf_spawn_allies", (-8330, -17715, 170.5), 51.2 ); createSpawnpoint( "mp_ctf_spawn_allies", (-9531.5, -17443.5, 99), 29 ); createSpawnpoint( "mp_ctf_spawn_allies", (-9856, -17313.5, 85.5), 175.6 ); diff --git a/raw/maps/mp/mp_makin_day.gsc b/raw/maps/mp/mp_makin_day.gsc new file mode 100644 index 000000000..59e654faa --- /dev/null +++ b/raw/maps/mp/mp_makin_day.gsc @@ -0,0 +1,123 @@ +main() +{ + //maps\mp\mp_cargoship_fx::main(); + //maps\createart\mp_cargoship_art::main(); + //needs to be first for create fx + maps\mp\mp_makin_day_fx::main(); + + precachemodel("collision_wall_256x256x10"); + precachemodel("collision_geo_128x128x128"); + precachemodel("collision_geo_64x64x256"); + + maps\mp\_load::main(); + + maps\mp\mp_makin_day_amb::main(); + + maps\mp\_compass::setupMiniMap("compass_map_mp_makin_day"); + + //setExpFog(300, 1400, 0.5, 0.5, 0.5, 0); + //VisionSetNaked( "mp_cargoship" ); + //ambientPlay("ambient_cargoshipmp_ext"); + + // If the team nationalites change in this file, + // you must update the team nationality in the level's csc file as well! + game["allies"] = "marines"; + game["axis"] = "japanese"; + game["attackers"] = "allies"; + game["defenders"] = "axis"; + game["allies_soldiertype"] = "pacific"; + game["axis_soldiertype"] = "pacific"; + + setdvar( "r_specularcolorscale", "1" ); + + setdvar("compassmaxrange","2100"); + + game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_MAKIN_A"; + game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_MAKIN_B"; + game["strings"]["war_callsign_c"] = &"MPUI_CALLSIGN_MAKIN_C"; + game["strings"]["war_callsign_d"] = &"MPUI_CALLSIGN_MAKIN_D"; + game["strings"]["war_callsign_e"] = &"MPUI_CALLSIGN_MAKIN_E"; + + game["strings_menu"]["war_callsign_a"] = "@MPUI_CALLSIGN_MAKIN_A"; + game["strings_menu"]["war_callsign_b"] = "@MPUI_CALLSIGN_MAKIN_B"; + game["strings_menu"]["war_callsign_c"] = "@MPUI_CALLSIGN_MAKIN_C"; + game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_MAKIN_D"; + game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_MAKIN_E"; + + + // enable new spawning system + maps\mp\gametypes\_spawning::level_use_unified_spawning(true); + + // round hut + thread trigger_killer( (-9824, -16816, 328), 475, 227 ); // large and thin + + // tree blocker + spawncollision("collision_geo_64x64x256","collider",(-7608.5, -16543, 371), (0, 135, 0)); + // hut blocker + spawncollision("collision_geo_128x128x128","collider",(-10085, -14817, 129), (0, 120, 0)); + // round hut fence blockers + spawncollision("collision_wall_256x256x10","collider",(-10072, -16352, 185), (0, 0, 0)); + spawncollision("collision_wall_256x256x10","collider",(-9617, -17242, 407), (0, 25, 0)); + + //stuck spot by round hut + spawncollision("collision_wall_256x256x10","collider",(-9895.5, -16100, 223.5), (0, 256.2, 0)); + + createSpawnpoint( "mp_ctf_spawn_allies", (-8330, -17715, 170.5), 51.2 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-9531.5, -17443.5, 99), 29 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-9856, -17313.5, 85.5), 175.6 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-10628.5, -17469.5, 19), 21 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-10747.7, -18077.8, 116), 91.8 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-10404, -18163, 9), 45.4 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-9997, -18329, 110), 20.1 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-9977, -18506, 79), 18.1 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-9214.7, -18796.2, 113.7), 108 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-10721.2, -18509.8, -30.5), 107.5 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-10468, -18794, 110), 107.6 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-9671, -18904, 93.5), 150.7 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-10663, -18993, 37.5), 356 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-10695, -19459.5, 71.5), 62.9 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-10648, -19867, 74.5), 99.4 ); + createSpawnpoint( "mp_ctf_spawn_allies", (-9964, -19974, 117.5), 102 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-9593.1, -15799.5, 124.8), 353.8 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-9725.5, -14858.1, 123.2), 205 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-10169, -14368, 118), 283 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-10294.9, -14998.5, 89.7), 300 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-10708, -14189, 131.5), 0 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-10778, -15942, 110), 75.4 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-10820, -15331, 110), 26.2 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-10872, -15219, 59.5), 33.8 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-10907, -14504, 121), 270 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-11269, -14180, 68), 270 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-11595, -14108, 54.5), 306.6 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-11462, -14617, 46), 30 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-11308, -15132, 22.5), 22.6 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-11312, -15563, 20.5), 303.8 ); + createSpawnpoint( "mp_ctf_spawn_axis", (-11392, -15720, 106), 341.4 ); +} + +createSpawnpoint( classname, origin, yaw ) +{ + spawnpoint = spawn( "script_origin", origin ); + spawnpoint.angles = (0,yaw,0); + + if ( !isdefined( level.extraSpawnpoints ) ) + level.extraSpawnpoints = []; + if ( !isdefined( level.extraSpawnpoints[classname] ) ) + level.extraSpawnpoints[classname] = []; + level.extraSpawnpoints[classname][ level.extraSpawnpoints[classname].size ] = spawnpoint; +} + +trigger_killer( position, width, height ) +{ + kill_trig = spawn("trigger_radius", position, 0, width, height); + + while(1) + { + kill_trig waittill("trigger",player); + if ( isplayer( player ) ) + { + player suicide(); + } + } +} + diff --git a/raw/maps/mp/mp_makin_day_amb.gsc b/raw/maps/mp/mp_makin_day_amb.gsc new file mode 100644 index 000000000..41ff88aec --- /dev/null +++ b/raw/maps/mp/mp_makin_day_amb.gsc @@ -0,0 +1,24 @@ +// +// file: mp_cavern_amb.gsc +// description: level ambience script for subway +// + +#include maps\mp\_utility; +#include maps\mp\_ambientpackage; + +main() +{ + + + + //************************************************************************************************ + // ACTIVATE DEFAULT AMBIENT SETTINGS + //************************************************************************************************ + + //activateAmbientPackage( "none", 0 ); + //activateAmbientRoom( "none", 0 ); + + //************************************************************************************************* + // START SCRIPTS + //************************************************************************************************* +} \ No newline at end of file diff --git a/raw/maps/mp/mp_makin_day_fx.gsc b/raw/maps/mp/mp_makin_day_fx.gsc new file mode 100644 index 000000000..249557661 --- /dev/null +++ b/raw/maps/mp/mp_makin_day_fx.gsc @@ -0,0 +1,42 @@ +#include maps\mp\_utility; + +main() +{ + maps\mp\createart\mp_makin_day_art::main(); + precacheFX(); + spawnFX(); +} + +precacheFX() +{ +// level._effect["mp_fire_small_detail"] = loadfx("maps/mp_maps/fx_mp_fire_small_detail"); + level._effect["mp_insects_swarm"] = loadfx("maps/mp_maps/fx_mp_insect_swarm"); + level._effect["mp_water_splash_small"] = loadfx("maps/mp_maps/fx_mp_water_splash_small"); + level._effect["mp_water_wake_flow"] = loadfx("maps/mp_maps/fx_mp_water_wake_flow"); + level._effect["mp_light_glow_indoor_short_loop"] = loadfx("maps/mp_maps/fx_mp_light_glow_indoor_short_loop"); + level._effect["mp_light_glow_lantern"] = loadfx("maps/mp_maps/fx_mp_light_glow_lantern_day"); + level._effect["mp_ray_sun_xsm"] = loadfx("maps/mp_maps/fx_mp_ray_sun_xsm"); + level._effect["mp_ray_sun_sm"] = loadfx("maps/mp_maps/fx_mp_ray_sun_sm"); + level._effect["mp_ray_sun_md"] = loadfx("maps/mp_maps/fx_mp_ray_sun_md"); +// level._effect["mp_ray_sun_lg"] = loadfx("maps/mp_maps/fx_mp_ray_sun_lg"); + level._effect["mp_ray_sun_md_1sd"] = loadfx("maps/mp_maps/fx_mp_ray_sun_md_1sd"); + level._effect["mp_smoke_crater"] = loadfx("maps/mp_maps/fx_mp_smoke_crater"); +// level._effect["mp_smoke_brush_smolder_sm"] = loadfx("maps/mp_maps/fx_mp_smoke_brush_smolder_sm"); +// level._effect["mp_smoke_brush_smolder_md"] = loadfx("maps/mp_maps/fx_mp_smoke_brush_smolder_md"); + + + ////////////////////////////////////////////////////////////////////////////////////// + // Alex Section: + + //level._effect["distant_muzzleflash"] = loadfx("weapon/muzzleflashes/heavy"); + + //level._effect["flak_flash"] = loadfx("weapon/flak/fx_flak_cloudflash_night"); + + +} + +spawnFX() +{ + maps\mp\createfx\mp_makin_day_fx::main(); +} + diff --git a/raw/maps/mp/mp_nachtfeuer_fx.gsc b/raw/maps/mp/mp_nachtfeuer_fx.gsc index e5ee74f22..e7b43c510 100644 --- a/raw/maps/mp/mp_nachtfeuer_fx.gsc +++ b/raw/maps/mp/mp_nachtfeuer_fx.gsc @@ -9,45 +9,57 @@ main() precacheFX() { - ////////////////////////////////////////////////////////////////////////////////////// - //FX_DEPT - level._effect["smoke_hallway_thick_dark"] = loadfx ("env/smoke/fx_smoke_hall_ceiling_600"); - level._effect["smoke_hallway_faint_dark"] = loadfx ("env/smoke/fx_smoke_hallway_faint_dark"); - level._effect["smoke_window_out"] = loadfx ("env/smoke/fx_smoke_door_top_exit_drk"); + //---------------------------------------FX_DEPT--------------------------------------------------------- - level._effect["smoke_plume_xlg_slow_blk"] = loadfx ("maps/mp_maps/fx_mp_smoke_plume_xlg_slow_blk"); - level._effect["smoke_plume_lg_slow_def"] = loadfx ("maps/mp_maps/fx_mp_smoke_plume_lg_slow_def"); - level._effect["smoke_plume_md_slow_def"] = loadfx ("maps/mp_maps/fx_mp_smoke_plume_med_slow_def"); - level._effect["smoke_plume_sm_fast_blk_w"] = loadfx ("maps/mp_maps/fx_mp_smoke_plume_sm_fast_blk"); - - level._effect["smoke_bank"] = loadfx ("maps/mp_maps/fx_mp_battlesmoke_thick_large_area"); - level._effect["battlefield_smokebank_sm_tan_w"] = loadfx ("maps/mp_maps/fx_mp_battlesmoke_thick_small_area"); - level._effect["brush_smoke_smolder_sm"] = loadfx ("maps/mp_maps/fx_mp_smoke_brush_smolder_md"); - level._effect["brush_fire_smolder_sm"] = loadfx ("maps/mp_maps/fx_mp_fire_medium"); + level._effect["mp_battlesmoke_lg"] = loadfx("maps/mp_maps/fx_mp_battlesmoke_thin_lg"); + level._effect["mp_fire_distant_150_150"] = loadfx("maps/mp_maps/fx_mp_fire_150x150_tall_distant"); + level._effect["mp_fire_distant_150_600"] = loadfx("maps/mp_maps/fx_mp_fire_150x600_tall_distant"); + level._effect["mp_fire_static_small_detail"] = loadfx("maps/mp_maps/fx_mp_fire_small_detail"); + level._effect["mp_fire_window_smk_rt"] = loadfx("maps/mp_maps/fx_mp_fire_window_smk_rt"); + level._effect["mp_fire_window_smk_lf"] = loadfx("maps/mp_maps/fx_mp_fire_window_smk_lf"); + level._effect["mp_fire_window"] = loadfx("maps/mp_maps/fx_mp_fire_window"); + level._effect["mp_fire_rubble_small"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_small"); + level._effect["mp_fire_rubble_small_column_smldr"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_small_column_smldr"); + level._effect["mp_fire_rubble_md_smk"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_md_smk"); + level._effect["mp_fire_rubble_md_lowsmk"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_md_lowsmk"); + level._effect["mp_fire_rubble_detail_grp"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_detail_grp"); + level._effect["mp_ray_spotlight_lg"] = loadfx("maps/mp_maps/fx_mp_ray_spotlight_lg"); + level._effect["mp_ray_fire_thin"] = loadfx("maps/mp_maps/fx_mp_ray_fire_thin"); + level._effect["mp_ray_fire_ribbon"] = loadfx("maps/mp_maps/fx_mp_ray_fire_ribbon"); + level._effect["mp_fire_column_xsm"] = loadfx("maps/mp_maps/fx_mp_fire_column_xsm"); + level._effect["mp_fire_column_sm"] = loadfx("maps/mp_maps/fx_mp_fire_column_sm"); + level._effect["mp_fire_column_lg"] = loadfx("maps/mp_maps/fx_mp_fire_column_lg"); - level._effect["fire_xlarge_distant"] = loadfx ("maps/mp_maps/fx_mp_fire_xlarge_distant"); - level._effect["car_fire_large"] = loadfx ("maps/mp_maps/fx_mp_fire_large"); - level._effect["fire_static_blk_smk"] = loadfx ("maps/mp_maps/fx_mp_fire_large"); - level._effect["fire_static_small"] = loadfx ("maps/mp_maps/fx_mp_fire_small"); - level._effect["fire_tree"] = loadfx ("maps/mp_maps/fx_mp_fire_tree_trunk"); + level._effect["mp_ray_light_xsm"] = loadfx("maps/mp_maps/fx_mp_ray_moon_xsm"); + level._effect["mp_ray_light_sm"] = loadfx("maps/mp_maps/fx_mp_ray_moon_sm"); + level._effect["mp_ray_light_md"] = loadfx("maps/mp_maps/fx_mp_ray_moon_md"); + level._effect["mp_ray_light_lg"] = loadfx("maps/mp_maps/fx_mp_ray_moon_lg"); + level._effect["mp_ray_light_lg_1sd"] = loadfx("maps/mp_maps/fx_mp_ray_moon_lg_1sd"); - level._effect["fire_smoke_med"] = loadfx ("maps/mp_maps/fx_mp_fire_large"); - - level._effect["falling_lf_elm"] = loadfx ("maps/mp_maps/fx_mp_falling_leaves_elm"); - level._effect["ash_and_embers"] = loadfx ("maps/mp_maps/fx_mp_ash_falling_large"); + level._effect["mp_smoke_fire_column"] = loadfx("maps/mp_maps/fx_mp_smoke_fire_column"); + level._effect["mp_smoke_plume_lg"] = loadfx("maps/mp_maps/fx_mp_smoke_plume_lg"); + level._effect["mp_smoke_hall"] = loadfx("maps/mp_maps/fx_mp_smoke_hall"); + level._effect["mp_ash_and_embers"] = loadfx("maps/mp_maps/fx_mp_ash_falling_large"); + level._effect["mp_light_glow_indoor_short"] = loadfx("maps/mp_maps/fx_mp_light_glow_indoor_short_loop"); + level._effect["mp_light_glow_outdoor_long"] = loadfx("maps/mp_maps/fx_mp_light_glow_outdoor_long_loop"); + level._effect["mp_insects_lantern"] = loadfx("maps/mp_maps/fx_mp_insects_lantern"); - level._effect["mp_light_glow_indoor_short"] = loadfx ("maps/mp_maps/fx_mp_light_glow_indoor_short"); - level._effect["mp_smoke_ambiance_indoor_misty"] = loadfx ("maps/mp_maps/fx_mp_smoke_ambiance_indoor_misty"); + level._effect["mp_electric_sparks"] = loadfx("maps/mp_maps/fx_mp_electric_sparks"); + level._effect["mp_water_spill"] = loadfx("maps/mp_maps/fx_mp_water_spill"); + level._effect["mp_water_spill_splash"] = loadfx("maps/mp_maps/fx_mp_water_spill_splash"); - level._effect["mp_smoke_column_tall"] = loadfx("maps/mp_maps/fx_mp_smoke_column_tall"); - level._effect["mp_smoke_column_short"] = loadfx("maps/mp_maps/fx_mp_smoke_column_short"); - - level._effect["mp_electric_sparks"] = loadfx("maps/mp_maps/fx_mp_electric_sparks"); + level._effect["a_fire_ceiling_100_100"] = loadfx("env/fire/fx_fire_ceiling_100x100"); + level._effect["a_smokebank_thick_dist1"] = loadfx("maps/ber3/fx_smokebank_thick_dist1"); + level._effect["a_debris_papers_windy"] = loadfx("maps/mp_maps/fx_mp_debris_papers_windy"); + level._effect["a_embers_falling_sm"] = loadfx("env/fire/fx_embers_falling_sm"); + level._effect["a_tracers_flak88_amb"] = loadfx("maps/ber3/fx_tracers_flak88_amb"); + level._effect["mp_flak_field"] = loadfx("maps/mp_maps/fx_mp_flak_field"); + level._effect["mp_flak_field_flash"] = loadfx("maps/mp_maps/fx_mp_flak_field_flash"); } spawnFX() { maps\mp\createfx\mp_nachtfeuer_fx::main(); -} \ No newline at end of file +} \ No newline at end of file diff --git a/raw/maps/mp/mp_outskirts.gsc b/raw/maps/mp/mp_outskirts.gsc index d7adac1cc..1649638c5 100644 --- a/raw/maps/mp/mp_outskirts.gsc +++ b/raw/maps/mp/mp_outskirts.gsc @@ -5,8 +5,11 @@ main() maps\mp\_load::main(); - // maps\mp\mp_outskirts_amb::main(); - + precachemodel("collision_geo_128x128x128"); + precachemodel("collision_wall_512x512x10"); + precachemodel("collision_geo_512x512x512"); + + maps\mp\_compass::setupMiniMap("compass_map_mp_outskirts"); // If the team nationalites change in this file, @@ -34,6 +37,17 @@ main() setdvar("compassmaxrange","2100"); + + //small rubble room accross from church tower + spawncollision("collision_geo_128x128x128","collider",(834, 1282, -1276), (0, 350, 0)); + //prevents crazy jump from church tower to telephone pole + spawncollision("collision_geo_32x32x128","collider",(-408, 408, -1440), (0, 0, 0)); + //prevents players from getting on top of burned out rooftop caddycorner to church tower + spawncollision("collision_geo_512x512x512","collider",(1002, 350, -1064), (0, 0, 0)); + //prevents tank bounce + spawncollision("collision_wall_512x512x10","collider",(19, 2112, -1003), (0, 0, 0)); + + // enable new spawning system maps\mp\gametypes\_spawning::level_use_unified_spawning(true); diff --git a/raw/maps/mp/mp_roundhouse.gsc b/raw/maps/mp/mp_roundhouse.gsc index bb82f02f1..f00d35f76 100644 --- a/raw/maps/mp/mp_roundhouse.gsc +++ b/raw/maps/mp/mp_roundhouse.gsc @@ -6,7 +6,11 @@ main() precachemodel("collision_geo_ramp"); precachemodel("collision_geo_32x32x128"); - + precachemodel("collision_wall_512x512x10"); + precachemodel("collision_wall_256x256x10"); + precachemodel("collision_geo_64x64x64"); + precachemodel("collision_geo_256x256x256"); + maps\mp\_load::main(); // If the team nationalites change in this file, @@ -45,12 +49,36 @@ main() maps\mp\gametypes\_spawning::level_use_unified_spawning(true); thread trigger_killer( (1646,-3590, -518), 500, 10 ); // large and thin + + spawncollision("collision_geo_256x256x256.map","collider",(1124, -1735, -375), (0,0,0)); + - // original map hole - spawncollision("collision_geo_ramp","collider",(1616,-3592,-416), (0,0,0)); + //the one, the only, the original map hole + spawncollision("collision_geo_ramp","collider",(1616, -3592, -416), (0,0,0)); //lamp jump spawncollision("collision_geo_32x32x128","collider",(-463, -874, -277), (0,0,0)); - + + //wall climbing out of map + spawncollision("collision_wall_512x512x10","collider",(-63, 1080, -218), (0,32.3,0)); + spawncollision("collision_wall_256x256x10","collider",(-386, 876, -346), (0,32.3,0)); + + //Stuck Spot in boxes + spawncollision("collision_geo_64x64x64","collider",(-798, -932, -432), (0,0,0)); + + //stuck spot at ovens + spawncollision("collision_wall_128x128x10","collider",(-895.5, -1825, -300), (0,270,0)); + + //Garage Door + spawncollision("collision_wall_512x512x10","collider",(-583, 727, -218), (0,40.1,0)); + + //Jumping Puzzle + spawncollision("collision_wall_512x512x10","collider",(2701, -2239, 8), (0,44.9,0)); + + //prevent players from getting under the train car with the crane on it + spawncollision("collision_geo_256x256x256","collider",(3179, -1017, -555), (0,0,0)); + spawncollision("collision_geo_256x256x256","collider",(3049, -1017, -555), (0,0,0)); + + return; } diff --git a/raw/maps/mp/mp_seelow.gsc b/raw/maps/mp/mp_seelow.gsc index e96e96105..3a9393c03 100644 --- a/raw/maps/mp/mp_seelow.gsc +++ b/raw/maps/mp/mp_seelow.gsc @@ -5,6 +5,8 @@ main() maps\mp\mp_seelow_fx::main(); maps\mp\createart\mp_seelow_art::main(); + precachemodel("collision_wall_256x256x10"); + maps\mp\_load::main(); thread maps\mp\mp_seelow_amb::main(); @@ -37,6 +39,13 @@ main() setdvar("compassmaxrange","2100"); + + //Spawned collision + //fix for exiting map through rock wall + spawncollision("collision_wall_256x256x10","collider",(632, -20.5, -229), (0, 300, 0)); + spawncollision("collision_wall_256x256x10","collider",(645, -240.5, -229), (0, 235, 0)); + + //setVolFog(512, 1028, 1360, -448, 0.38, 0.45, 0.58, 0); // enable new player spawning system diff --git a/raw/maps/mp/mp_shrine.gsc b/raw/maps/mp/mp_shrine.gsc index 5034665a1..016f5bf8c 100644 --- a/raw/maps/mp/mp_shrine.gsc +++ b/raw/maps/mp/mp_shrine.gsc @@ -5,6 +5,11 @@ main() //needs to be first for create fx //maps\mp\mp_shrine_fx::main(); + precachemodel("collision_wall_128x128x10"); + precachemodel("collision_geo_128x128x128"); + precachemodel("collision_wall_512x512x10"); + precachemodel("collision_geo_32x32x128"); + maps\mp\mp_shrine_fx::main(); maps\mp\createart\mp_shrine_art::main(); @@ -46,6 +51,22 @@ main() game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_SHRINE_E"; + thread trigger_killer( (-1494.5, -2054, -246.5), 1000, 10 ); + thread trigger_killer( (-3712.5, -2311.5, -323), 2000, 10 ); + + + spawncollision("collision_wall_128x128x10","collider",(-760, -1073, 15.5), (0, 350, 0)); + spawncollision("collision_wall_128x128x10","collider",(-2116, 937.5, -135), (0, 30.5, 0)); + spawncollision("collision_geo_128x128x128","collider",(-3808, 845.5, -92), (0, 206, 0)); + spawncollision("collision_geo_128x128x128","collider",(-2163, 707, -301.5), (0, 0, 0)); + spawncollision("collision_geo_128x128x128","collider",(-72, 496, -248), (0, 0, 0)); + spawncollision("collision_geo_128x128x128","collider",(-2451, -72.5, -409.5), (0, 0, 0)); + spawncollision("collision_wall_256x256x10","collider",(-1464, 1329, -17), (0, 130, 0)); + spawncollision("collision_wall_256x256x10","collider",(-1259, 1279, -17), (0, 203, 0)); + +//fix for getting onto hilltop by sniper nest window + spawncollision("collision_geo_32x32x128","collider",(-1880.5, 672, -152), (0, 346.8, 0)); + // enable new player spawning system maps\mp\gametypes\_spawning::level_use_unified_spawning(true); @@ -102,3 +123,18 @@ createSpawnpoint( classname, origin, yaw ) level.extraSpawnpoints[classname] = []; level.extraSpawnpoints[classname][ level.extraSpawnpoints[classname].size ] = spawnpoint; } + + +trigger_killer( position, width, height ) +{ + kill_trig = spawn("trigger_radius", position, 0, width, height); + + while(1) + { + kill_trig waittill("trigger",player); + if ( isplayer( player ) ) + { + player suicide(); + } + } +} \ No newline at end of file diff --git a/raw/maps/mp/mp_stalingrad.gsc b/raw/maps/mp/mp_stalingrad.gsc new file mode 100644 index 000000000..a5ce28f22 --- /dev/null +++ b/raw/maps/mp/mp_stalingrad.gsc @@ -0,0 +1,50 @@ +main() +{ + + //maps\mp\mp_stalingrad_fx::main(); + //maps\mp\createart\mp_stalingrad_art::main(); + + // spawn influencer tuning values. Set before _load::main() is called + //setdvar ("scr_spawn_twar_linked_flag_influencer_score_falloff_percentage", "1"); + + maps\mp\_load::main(); + + // maps\mp\mp_stalingrad_amb::main(); + + maps\mp\_compass::setupMiniMap("compass_map_mp_stalingrad"); + + //setExpFog(300, 1400, 0.5, 0.5, 0.5, 0); + //VisionSetNaked( "mp_cargoship" ); + //ambientPlay("ambient_cargoshipmp_ext"); + + // If the team nationalites change in this file, + // you must update the team nationality in the level's csc file as well! + game["allies"] = "russian"; + game["axis"] = "german"; + game["attackers"] = "allies"; + game["defenders"] = "axis"; + game["allies_soldiertype"] = "german"; + game["axis_soldiertype"] = "german"; + + setdvar( "r_specularcolorscale", "1" ); + + setdvar("compassmaxrange","2100"); + + //game["strings"]["war_callsign_a"] = &"MPUI_CALLSIGN_DOME_A"; + //game["strings"]["war_callsign_b"] = &"MPUI_CALLSIGN_DOME_B"; + //game["strings"]["war_callsign_c"] = &"MPUI_CALLSIGN_DOME_C"; + //game["strings"]["war_callsign_d"] = &"MPUI_CALLSIGN_DOME_D"; + //game["strings"]["war_callsign_e"] = &"MPUI_CALLSIGN_DOME_E"; + + //game["strings_menu"]["war_callsign_a"] = "@MPUI_CALLSIGN_DOME_A"; + //game["strings_menu"]["war_callsign_b"] = "@MPUI_CALLSIGN_DOME_B"; + //game["strings_menu"]["war_callsign_c"] = "@MPUI_CALLSIGN_DOME_C"; + //game["strings_menu"]["war_callsign_d"] = "@MPUI_CALLSIGN_DOME_D"; + //game["strings_menu"]["war_callsign_e"] = "@MPUI_CALLSIGN_DOME_E"; + + + // enable new spawning system + maps\mp\gametypes\_spawning::level_use_unified_spawning(true); + + +} diff --git a/raw/maps/mp/mp_suburban.gsc b/raw/maps/mp/mp_suburban.gsc index 8a89c4e6e..966aea6a4 100644 --- a/raw/maps/mp/mp_suburban.gsc +++ b/raw/maps/mp/mp_suburban.gsc @@ -5,6 +5,7 @@ main() //needs to be first for create fx //maps\mp\mp_suburban_fx::main(); + precachemodel("collision_wall_128x128x10"); maps\mp\mp_suburban_fx::main(); @@ -46,6 +47,12 @@ main() setdvar("compassmaxrange","2100"); + spawncollision("collision_wall_128x128x10","collider",(-43.5, -2952, -272), (0, 90, 0)); + + //stuck spot on the north side of the creek house + spawncollision("collision_wall_128x128x10","collider",(2043, -3014.5, -427), (0, 270, 0)); + + // enable new player spawning system maps\mp\gametypes\_spawning::level_use_unified_spawning(true); diff --git a/raw/maps/mp/mp_subway.gsc b/raw/maps/mp/mp_subway.gsc index 3f6d50a28..217e569d1 100644 --- a/raw/maps/mp/mp_subway.gsc +++ b/raw/maps/mp/mp_subway.gsc @@ -1,5 +1,10 @@ main() { + // enable new spawning system + + maps\mp\gametypes\_spawning::level_use_unified_spawning(true); + + maps\mp\mp_subway_fx::main(); maps\mp\_load::main(); maps\mp\mp_subway_amb::main(); @@ -15,6 +20,18 @@ main() game["allies_soldiertype"] = "russian"; game["axis_soldiertype"] = "german"; + game["strings"]["war_callsign_a"] = &"PATCH_CALLSIGN_SUBWAY_A"; + game["strings"]["war_callsign_b"] = &"PATCH_CALLSIGN_SUBWAY_B"; + game["strings"]["war_callsign_c"] = &"PATCH_CALLSIGN_SUBWAY_C"; + game["strings"]["war_callsign_d"] = &"PATCH_CALLSIGN_SUBWAY_D"; + game["strings"]["war_callsign_e"] = &"PATCH_CALLSIGN_SUBWAY_E"; + + game["strings_menu"]["war_callsign_a"] = "@PATCH_CALLSIGN_SUBWAY_A"; + game["strings_menu"]["war_callsign_b"] = "@PATCH_CALLSIGN_SUBWAY_B"; + game["strings_menu"]["war_callsign_c"] = "@PATCH_CALLSIGN_SUBWAY_C"; + game["strings_menu"]["war_callsign_d"] = "@PATCH_CALLSIGN_SUBWAY_D"; + game["strings_menu"]["war_callsign_e"] = "@PATCH_CALLSIGN_SUBWAY_E"; + setdvar( "r_specularcolorscale", "1" ); setdvar("compassmaxrange","2100"); diff --git a/raw/maps/mp/mp_subway_fx.gsc b/raw/maps/mp/mp_subway_fx.gsc index e895a352b..387aebd84 100644 --- a/raw/maps/mp/mp_subway_fx.gsc +++ b/raw/maps/mp/mp_subway_fx.gsc @@ -2,38 +2,63 @@ main() { + maps\mp\createart\mp_subway_art::main(); precacheFX(); spawnFX(); } precacheFX() { - ////////////////////////////////////////////////////////////////////////////////////// - //FX_DEPT - level._effect["smoke_hallway_thick_dark"] = loadfx ("env/smoke/fx_smoke_hall_ceiling_600"); - level._effect["smoke_hallway_faint_dark"] = loadfx ("env/smoke/fx_smoke_hallway_faint_dark"); - level._effect["smoke_window_out"] = loadfx ("env/smoke/fx_smoke_door_top_exit_drk"); - - level._effect["smoke_plume_xlg_slow_blk"] = loadfx ("env/smoke/fx_smoke_plume_xlg_slow_blk"); - level._effect["smoke_plume_lg_slow_def"] = loadfx ("env/smoke/fx_smoke_plume_lg_slow_def"); - level._effect["smoke_plume_md_slow_def"] = loadfx ("env/smoke/fx_smoke_plume_md_slow_def"); - level._effect["smoke_plume_sm_fast_blk_w"] = loadfx ("env/smoke/fx_smoke_plume_sm_fast_blk_w"); + ////////////////////////////////////////FX_DEPT/////////////////////////////////////// +// level._effect["mp_fire_distant_150_150"] = loadfx("maps/mp_maps/fx_mp_fire_150x150_tall_distant"); +// level._effect["mp_fire_distant_150_600"] = loadfx("maps/mp_maps/fx_mp_fire_150x600_tall_distant"); + level._effect["mp_fire_static_small_detail"] = loadfx("maps/mp_maps/fx_mp_fire_small_detail"); + level._effect["mp_fire_rubble_small"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_small"); + level._effect["mp_fire_rubble_small_column"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_small_column"); + level._effect["mp_fire_rubble_small_column_smldr"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_small_column_smldr"); + level._effect["mp_fire_rubble_md_smk"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_md_smk"); +// level._effect["mp_fire_rubble_md_lowsmk"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_md_lowsmk"); + level._effect["mp_fire_rubble_detail_grp"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_detail_grp"); + level._effect["mp_fire_column_xsm"] = loadfx("maps/mp_maps/fx_mp_fire_column_xsm"); + level._effect["mp_fire_column_sm"] = loadfx("maps/mp_maps/fx_mp_fire_column_sm"); +// level._effect["mp_ray_fire_thin"] = loadfx("maps/mp_maps/fx_mp_ray_fire_thin"); + level._effect["mp_ray_fire_ribbon"] = loadfx("maps/mp_maps/fx_mp_ray_fire_ribbon"); - level._effect["smoke_bank"] = loadfx ("env/smoke/fx_battlefield_smokebank_ling_lg_w"); - level._effect["battlefield_smokebank_sm_tan_w"] = loadfx ("env/smoke/fx_battlefield_smokebank_ling_sm_w"); - level._effect["brush_smoke_smolder_sm"] = loadfx ("env/smoke/fx_smoke_brush_smolder_md"); - level._effect["brush_fire_smolder_sm"] = loadfx ("env/fire/fx_fire_brush_smolder_sm"); + level._effect["mp_ray_light_sm"] = loadfx("env/light/fx_light_godray_overcast_sm"); + level._effect["mp_ray_light_md"] = loadfx("maps/mp_maps/fx_mp_ray_overcast_md"); + level._effect["mp_ray_light_lg"] = loadfx("env/light/fx_light_godray_overcast_lg"); + level._effect["mp_ray_light_md_1sd"] = loadfx("env/light/fx_light_godray_overcast_md_1sd"); + level._effect["mp_smoke_fire_column"] = loadfx("maps/mp_maps/fx_mp_smoke_fire_column"); + level._effect["mp_smoke_plume_lg"] = loadfx("maps/mp_maps/fx_mp_smoke_plume_lg"); +// level._effect["mp_smoke_plume_lg_shadow"] = loadfx("maps/mp_maps/fx_mp_smoke_plume_lg_shd"); + level._effect["mp_smoke_hall"] = loadfx("maps/mp_maps/fx_mp_smoke_hall"); + level._effect["mp_electric_sparks"] = loadfx("maps/mp_maps/fx_mp_electric_sparks_dlight"); - level._effect["fire_xlarge_distant"] = loadfx ("env/fire/fx_fire_xlarge_distant"); - level._effect["car_fire_large"] = loadfx ("env/fire/fx_fire_blown_md_blk_smk"); - level._effect["fire_static_blk_smk"] = loadfx ("env/fire/fx_static_fire_md_ndlight"); - level._effect["fire_static_small"] = loadfx ("env/fire/fx_static_fire_sm_ndlight"); - level._effect["fire_tree"] = loadfx ("env/fire/fx_fire_smoke_tree_trunk_med"); + level._effect["mp_water_spill"] = loadfx("maps/mp_maps/fx_mp_water_spill"); +// level._effect["mp_water_spill_splash"] = loadfx("maps/mp_maps/fx_mp_water_spill_splash"); + level._effect["mp_water_spill_long"] = loadfx("maps/mp_maps/fx_mp_water_spill_long"); + level._effect["mp_water_drips_hvy_long"] = loadfx("maps/mp_maps/fx_mp_water_drips_hvy_long"); + level._effect["mp_water_spill_splatter"] = loadfx("maps/mp_maps/fx_mp_water_spill_splatter"); - level._effect["fire_smoke_med"] = loadfx("env/fire/fx_fire_smoke_house_wood_med"); - - level._effect["falling_lf_elm"] = loadfx("env/foliage/fx_leaves_fall_elm"); - level._effect["ash_and_embers"] = loadfx ("env/fire/fx_ash_embers_light"); + level._effect["mp_ash_falling_windy"] = loadfx("maps/mp_maps/fx_mp_ash_falling_windy"); + + level._effect["mp_dust_motes"] = loadfx("maps/mp_maps/fx_mp_ray_motes_lg"); + + level._effect["mp_ray_flare_md"] = loadfx("maps/mp_maps/fx_mp_ray_flare_md"); + level._effect["mp_battlesmoke_falling"] = loadfx("maps/mp_maps/fx_mp_battlesmoke_falling"); + level._effect["mp_smoke_crater"] = loadfx("maps/mp_maps/fx_mp_smoke_crater"); + level._effect["mp_pipe_steam"] = loadfx("maps/mp_maps/fx_mp_pipe_steam"); + level._effect["mp_pipe_steam_random"] = loadfx("maps/mp_maps/fx_mp_pipe_steam_random"); + + level._effect["mp_light_glow_indoor_short"] = loadfx("maps/mp_maps/fx_mp_light_glow_indoor_short_loop"); +// level._effect["mp_light_glow_indoor_short_blinky"] = loadfx("maps/mp_maps/fx_mp_light_glow_indoor_short_blinky"); + level._effect["mp_light_glow_outdoor_long"] = loadfx("maps/mp_maps/fx_mp_light_glow_outdoor_long_loop"); + + level._effect["mp_dust_spill_runner"] = loadfx("maps/mp_maps/fx_mp_dust_spill_runner"); + + level._effect["mp_light_corona_cool"] = loadfx("maps/mp_maps/fx_mp_light_corona_cool"); + level._effect["mp_light_lamp"] = loadfx("maps/mp_maps/fx_mp_light_lamp"); + level._effect["mp_light_corona_bulb_ceiling"] = loadfx("maps/mp_maps/fx_mp_light_corona_bulb_ceiling"); } spawnFX() diff --git a/raw/maps/nazi_zombie_asylum.gsc b/raw/maps/nazi_zombie_asylum.gsc index e04a3cb05..1e1363734 100644 --- a/raw/maps/nazi_zombie_asylum.gsc +++ b/raw/maps/nazi_zombie_asylum.gsc @@ -1,27 +1,615 @@ #include common_scripts\utility; #include maps\_utility; +#include maps\_zombiemode_utility; +#include maps\_music; +#using_animtree("generic_human"); main() { - maps\_destructible_opel_blitz::init(); - - include_weapons(); - include_powerups(); + // enable for dog rounds + level.dogs_enabled = true; - maps\nazi_zombie_asylum_fx::main(); - maps\_zombiemode::main(); + maps\_destructible_opel_blitz::init(); + precacheshellshock("electrocution"); + + //add_zombie_hint( "default_buy_door_2500", &"ZOMBIE_BUTTON_BUY_OPEN_DOOR_2500" ); + maps\_zombiemode_weapons::add_zombie_weapon( "mine_bouncing_betty",&"ZOMBIE_WEAPON_SATCHEL_2000", 2000 ); + + precachemodel("tag_origin"); + precachemodel("zombie_zapper_power_box"); + precachemodel("zombie_zapper_power_box_on"); + precachemodel("zombie_zapper_cagelight_red"); + precachemodel("zombie_zapper_cagelight_green"); + precachemodel("lights_tinhatlamp_off"); + precachemodel("lights_tinhatlamp_on"); + precachemodel("lights_indlight_on"); + precachemodel("lights_indlight"); + + level.valve_hint_north = (&"ZOMBIE_BUTTON_NORTH_FLAMES"); + level.valve_hint_south = (&"ZOMBIE_BUTTON_NORTH_FLAMES"); + + precachestring(level.valve_hint_north); + precachestring(level.valve_hint_south); + precachestring(&"ZOMBIE_BETTY_ALREADY_PURCHASED"); + precachestring(&"ZOMBIE_BETTY_HOWTO"); + precachestring(&"ZOMBIE_FLAMES_UNAVAILABLE"); + precachestring(&"ZOMBIE_USE_AUTO_TURRET"); + precachestring(&"ZOMBIE_ELECTRIC_SWITCH"); + precachestring(&"ZOMBIE_INTRO_ASYLUM_LEVEL_BERLIN"); + precachestring(&"ZOMBIE_INTRO_ASYLUM_LEVEL_HIMMLER"); + precachestring(&"ZOMBIE_INTRO_ASYLUM_LEVEL_SEPTEMBER"); + + include_weapons(); + include_powerups(); + maps\nazi_zombie_asylum_fx::main(); + + if(getdvar("light_mode") != "") + { + return; + } + //init the perk machines + maps\_zombiemode_perks::init(); + maps\_zombiemode::main(); + level.burning_zombies = []; + level.electrocuted_zombies = []; init_sounds(); - + + //the electric switch in the control room + level thread master_electric_switch(); + + //keeps track of the buyable doors surroundong the control room + level thread watch_magic_doors(); + + //special spawn point logic for the map + level thread spawn_point_override(); + + //zombie asylum custom stuff + init_zombie_asylum(); + + //hide the turret + mgs = getentarray( "fountain_mg", "targetname" ); + //hide the real mg's + for(i=0;i 95) + { + zombie playsound ("behind_vocals"); + } + } + } +} + +//debug_health() +//{ +// players = get_players(); +// hud = newHudElem(); +// hud.foreground = true; +// hud.sort = 1; +// hud.hidewheninmenu = false; +// hud.alignX = "left"; +// hud.alignY = "top"; +// hud.horzAlign = "left"; +// hud.vertAlign = "top"; +// hud.x = 0; +// hud.y = 0; +// hud.alpha = 1; +// //hud SetShader( shader, 24, 24 ); +// +// while(true) +// { +// +// wait(0.5); +// +// hud settext(players[0].maxhealth + ": " + players[0].health); +// //iprintlnbold(players[0].maxhealth + ": " + players[0].health); +// } +//} +intro_screen() +{ + + flag_wait( "all_players_connected" ); + wait(2); + level.intro_hud = []; + for(i = 0; i < 3; i++) + { + level.intro_hud[i] = newHudElem(); + level.intro_hud[i].x = 0; + level.intro_hud[i].y = 0; + level.intro_hud[i].alignX = "left"; + level.intro_hud[i].alignY = "bottom"; + level.intro_hud[i].horzAlign = "left"; + level.intro_hud[i].vertAlign = "bottom"; + level.intro_hud[i].foreground = true; + + if ( level.splitscreen && !level.hidef ) + { + level.intro_hud[i].fontScale = 2.75; + } + else + { + level.intro_hud[i].fontScale = 1.75; + } + level.intro_hud[i].alpha = 0.0; + level.intro_hud[i].color = (1, 1, 1); + level.intro_hud[i].inuse = false; + } + level.intro_hud[0].y = -110; + level.intro_hud[1].y = -90; + level.intro_hud[2].y = -70; + + + level.intro_hud[0] settext(&"ZOMBIE_INTRO_ASYLUM_LEVEL_BERLIN"); + level.intro_hud[1] settext(&"ZOMBIE_INTRO_ASYLUM_LEVEL_HIMMLER"); + level.intro_hud[2] settext(&"ZOMBIE_INTRO_ASYLUM_LEVEL_SEPTEMBER"); + + for(i = 0 ; i < 3; i++) + { + level.intro_hud[i] FadeOverTime( 1.5 ); + level.intro_hud[i].alpha = 1; + wait(1.5); + + + } + wait(1.5); + for(i = 0 ; i < 3; i++) + { + level.intro_hud[i] FadeOverTime( 1.5 ); + level.intro_hud[i].alpha = 0; + wait(1.5); + + + } + //wait(1.5); + for(i = 0 ; i < 3; i++) + { + level.intro_hud[i] destroy(); + + } + + + level thread magic_box_limit_location_init(); + +} + +/* Moved sound to the loudspeaker */ +play_pa_system() +{ + //level notify(""); + clientnotify("switch_flipped_generator"); + speakerA = getstruct("loudspeaker", "targetname"); + playsoundatposition("alarm", speakerA.origin); + + level thread play_comp_sounds(); + + generator_arc = getent("generator_arc", "targetname"); + generator_arc playloopsound("gen_arc_loop"); + + wait(4.0); + generator = getent("generator_origin", "targetname"); + generator playloopsound("generator_loop"); + + + wait(8.0); + playsoundatposition ("amb_pa_system", speakerA.origin); + +} +play_comp_sounds() +{ + computer = getent("comp", "targetname"); + computer playsound ("comp_start"); + wait(6); + computer playloopsound("comp_loop"); +} + +/*------------------------------------ +Zombie Asylum special sauce +------------------------------------*/ +init_zombie_asylum() +{ + level.magic_box_uses = 1; + + //flags + flag_init("both_doors_opened"); //keeps track of the players opening the 'magic box' room doors + flag_init("electric_switch_used"); //when the players use the electric switch in the control room + + flag_set("spawn_point_override"); + + //custom spawner function for respawning from spec mode + //level.custom_spawnPlayer = ::respawn_from_spectator_new; + + //bouncing betties + level thread purchase_bouncing_betties(); + + //electric traps + level thread init_elec_trap_trigs(); + + //activate the initial exterior goals + north_ext_goals = getstructarray("north_init_goal","script_noteworthy"); + south_ext_goals = getstructarray("south_init_goal","script_noteworthy"); + + for(i=0;i 0 && isDefined(door[0].target)) + { + spawners = getentarray(door[0].target,"targetname"); + for(i=0;i= self.zombie_cost ) + { + if(!isDefined(who.has_betties)) + { + who.has_betties = 1; + play_sound_at_pos( "purchase", self.origin ); + betty_model show(); + //set the score + who maps\_zombiemode_score::minus_to_player_score( self.zombie_cost ); + who thread bouncing_betty_setup(); + //who thread show_betty_hint("betty_purchased"); + + trigs = getentarray("betty_purchase","targetname"); + for(i = 0; i < trigs.size; i++) + { + trigs[i] SetInvisibleToPlayer(who); + } + } + + } + } + } +} + +set_betty_visible() +{ + players = getplayers(); + trigs = getentarray("betty_purchase","targetname"); + + while(1) + { + for(j = 0; j < players.size; j++) + { + if( !isdefined(players[j].has_betties)) + { + for(i = 0; i < trigs.size; i++) + { + trigs[i] SetInvisibleToPlayer(players[j], false); + } + } + } + + wait(1); + } +} + +bouncing_betty_watch() +{ + + while(1) + { + self waittill("grenade_fire",betty,weapname); + if(weapname == "mine_bouncing_betty") + { + betty.owner = self; + betty thread betty_think(); + self thread betty_death_think(); + } + } +} + +betty_death_think() +{ + self waittill("death"); + + if(isDefined(self.trigger)) + { + self.trigger delete(); + } + + self delete(); + +} + +bouncing_betty_setup() +{ + self thread bouncing_betty_watch(); + + self giveweapon("mine_bouncing_betty"); + self setactionslot(4,"weapon","mine_bouncing_betty"); + self setweaponammostock("mine_bouncing_betty",5); +} + +betty_loadout() +{ + flag_wait("all_players_connected"); + //players = get_players(); + //array_thread(players,::bouncing_betty_setup); +} + +betty_think() +{ + wait(2); + trigger = spawn("trigger_radius",self.origin,9,80,64); + trigger waittill( "trigger" ); + trigger = trigger; + self playsound("betty_activated"); + wait(.1); + fake_model = spawn("script_model",self.origin); + fake_model setmodel(self.model); + self hide(); + tag_origin = spawn("script_model",self.origin); + tag_origin setmodel("tag_origin"); + tag_origin linkto(fake_model); + temp_origin = self.origin; + playfxontag(level._effect["betty_trail"],tag_origin,"tag_origin"); + fake_model moveto (self.origin + (0,0,32),.2); + fake_model waittill("movedone"); + playfx(level._effect["betty_explode"],fake_model.origin); + earthquake(1,.4, temp_origin, 512); + + //CHris_P - betties do no damage to the players + zombs = getaiarray("axis"); + for(i=0;i 70*70) + { + timer = 0; + continue; + } + if(dist < 70*70 && timer < 3) + { + wait(0.5); + timer ++; + } + if(dist < 70*70 && timer == 3) + { + + players[i] thread do_player_vo("vox_start", 5); + wait(3); + self notify ("warning_dialog"); + //iprintlnbold("warning_given"); + } + } + } +} + + +/*------------------------------------ +self = use trigger associated with the gas valve +------------------------------------*/ +electric_trap_think() +{ + self sethintstring(&"ZOMBIE_FLAMES_UNAVAILABLE"); + self.is_available = undefined; + self.zombie_cost = 1000; + self.in_use = 0; + + while(1) + { + valve_trigs = getentarray(self.script_noteworthy ,"script_noteworthy"); + + //wait until someone uses the valve + self waittill("trigger",who); + if( who in_revive_trigger() ) + { + continue; + } + + if(!isDefined(self.is_available)) + { + continue; + } + + if( is_player_valid( who ) ) + { + if( who.score >= self.zombie_cost ) + { + if(!self.in_use) + { + self.in_use = 1; + play_sound_at_pos( "purchase", who.origin ); + self thread electric_trap_move_switch(self); + //need to play a 'woosh' sound here, like a gas furnace starting up + self waittill("switch_activated"); + //set the score + who maps\_zombiemode_score::minus_to_player_score( self.zombie_cost ); + + //turn off the valve triggers associated with this valve until the gas is available again + array_thread (valve_trigs,::trigger_off); + + //this trigger detects zombies walking thru the flames + self.zombie_dmg_trig = getent(self.target,"targetname"); + self.zombie_dmg_trig trigger_on(); + + //play the flame FX and do the actual damage + self thread activate_electric_trap(); + + //wait until done and then re-enable the valve for purchase again + self waittill("elec_done"); + + clientnotify(self.script_string +"off"); + + //delete any FX ents + if(isDefined(self.fx_org)) + { + self.fx_org delete(); + } + if(isDefined(self.zapper_fx_org)) + { + self.zapper_fx_org delete(); + } + if(isDefined(self.zapper_fx_switch_org)) + { + self.zapper_fx_switch_org delete(); + } + + + //turn the damage detection trigger off until the flames are used again + self.zombie_dmg_trig trigger_off(); + wait(25); + array_thread (valve_trigs,::trigger_on); + + //Play the 'alarm' sound to alert players that the traps are available again (playing on a temp ent in case the PA is already in use. + speakerA = getstruct("loudspeaker", "targetname"); + playsoundatposition("warning", speakera.origin); + self notify("available"); + + self.in_use = 0; + } + } + } + } +} + +//this used to be a gas valve, now it's a throw switch +electric_trap_move_switch(parent) +{ + tswitch = getent(parent.script_linkto,"script_linkname"); + if(tswitch.script_linkname == "4") + { + //turn the light above the door red + north_zapper_light_red(); + //machine = getent("zap_machine_north","targetname"); + + tswitch rotatepitch(-180,.5); + tswitch playsound("amb_sparks_l_b"); + tswitch waittill("rotatedone"); + self notify("switch_activated"); + self waittill("available"); + tswitch rotatepitch(180,.5); + + //turn the light back green once the trap is available again + north_zapper_light_green(); + } + else + { + south_zapper_light_red(); + + tswitch rotatepitch(180,.5); + tswitch playsound("amb_sparks_l_b"); + tswitch waittill("rotatedone"); + self notify("switch_activated"); + self waittill("available"); + tswitch rotatepitch(-180,.5); + + south_zapper_light_green(); + + + } + +} + +activate_electric_trap() +{ + //the trap on the north side is kinda busted, so it has a sparky wire. + if(isDefined(self.script_string) && self.script_string == "north") + { + + machine = getent("zap_machine_north","targetname"); + machine setmodel("zombie_zapper_power_box_on"); + clientnotify("north"); + } + else + { + + machine = getent("zap_machine_south","targetname"); + machine setmodel("zombie_zapper_power_box_on"); + clientnotify("south"); + } + + clientnotify(self.target); + + fire_points = getstructarray(self.target,"targetname"); + + for(i=0;i 90 && level.burning_zombies.size < 6) + { + level.burning_zombies[level.burning_zombies.size] = self; + self thread zombie_flame_watch(); + self playsound("ignite"); + self thread animscripts\death::flame_death_fx(); + wait(randomfloat(1.25)); + } + else + { + + refs[0] = "guts"; + refs[1] = "right_arm"; + refs[2] = "left_arm"; + refs[3] = "right_leg"; + refs[4] = "left_leg"; + refs[5] = "no_legs"; + refs[6] = "head"; + self.a.gib_ref = refs[randomint(refs.size)]; + + playsoundatposition("zombie_arc", self.origin); + if(randomint(100) > 50 ) + { + self thread electroctute_death_fx(); + self thread play_elec_vocals(); + } + wait(randomfloat(1.25)); + self playsound("zombie_arc"); + } + + self dodamage(self.health + 666, self.origin); +} + +zombie_flame_watch() +{ + self waittill("death"); + self stoploopsound(); + level.burning_zombies = array_remove_nokeys(level.burning_zombies,self); +} + + +/*------------------------------------ + SPAWN POINT OVERRIDE + +- special asylum spawning hotness +------------------------------------*/ +spawn_point_override() +{ + flag_wait( "all_players_connected" ); + + players = get_players(); + + //spawn points are split, so grab them both seperately + north_structs = getstructarray("north_spawn","script_noteworthy"); + south_structs = getstructarray("south_spawn","script_noteworthy"); + + side1 = north_structs; + side2 = south_structs; + if(randomint(100)>50) + { + side1 = south_structs; + side2 = north_structs; + } + + //spawn players on a specific side, but randomize it up a bit + for( i = 0; i < players.size; i++ ) + { + + //track zombies for sounds + players[i] thread player_zombie_awareness(); + players[i] thread player_killstreak_timer(); + + + if(i<2) + { + players[i] setorigin( side1[i].origin ); + players[i] setplayerangles( side1[i].angles ); + players[i].respawn_point = side1[i]; + players[i].spawn_side = side1[i].script_noteworthy; + } + else + { + players[i] setorigin( side2[i].origin); + players[i] setplayerangles( side2[i].angles); + players[i].respawn_point = side2[i]; + players[i].spawn_side = side2[i].script_noteworthy; + } + } +} + +//betty hint stuff +init_hint_hudelem(x, y, alignX, alignY, fontscale, alpha) +{ + self.x = x; + self.y = y; + self.alignX = alignX; + self.alignY = alignY; + self.fontScale = fontScale; + self.alpha = alpha; + self.sort = 20; + //self.font = "objective"; +} + +setup_client_hintelem() +{ + self endon("death"); + self endon("disconnect"); + + if(!isDefined(self.hintelem)) + { + self.hintelem = newclienthudelem(self); + } + self.hintelem init_hint_hudelem(320, 220, "center", "bottom", 1.6, 1.0); +} + + +show_betty_hint(string) +{ + self endon("death"); + self endon("disconnect"); + + if(string == "betty_purchased") + text = &"ZOMBIE_BETTY_HOWTO"; + else + text = &"ZOMBIE_BETTY_ALREADY_PURCHASED"; + + self setup_client_hintelem(); + self.hintelem setText(text); + wait(3.5); + self.hintelem settext(""); +} + + +/*------------------------------------ +Temp stuff for the automated turret in the courtyard + +------------------------------------*/ +Fountain_Mg42_Activate() +{ + trig = getent("trig_courtyard_mg","targetname"); + trig sethintstring(&"ZOMBIE_USE_AUTO_TURRET"); + + mgs = getentarray( "fountain_mg", "targetname" ); + fake_mgs = getentarray("fake_mg","script_noteworthy"); + + //hide the real mg's + for(i=0;i= trig.zombie_cost ) + { + play_sound_at_pos( "purchase", trig.origin ); + //set the score + who maps\_zombiemode_score::minus_to_player_score( trig.zombie_cost ); + trig.is_activated = true; + trig trigger_off(); + trig sethintstring(&"ZOMBIE_FLAMES_UNAVAILABLE"); + + //the fountain top sinks down + fountain_top = getent("fountain_top","targetname"); + + fountain_top moveto(fountain_top.origin + (0,0,-200),3); + fountain_top waittill("movedone"); + trig trigger_on(); + + fountain_mg = getentarray( "fountain_turret", "targetname" ); + + for(i=0;i= 3 ) + { + wait( 5 ); + cheat = true; + } +#/ + + if ( cheat != true ) + { + trig waittill("trigger",user); + } + + array_thread(door_trigs,::trigger_off); + master_switch rotateroll(-90,.3); + + //TO DO (TUEY) - kick off a 'switch' on client script here that operates similiarly to Berlin2 subway. + master_switch playsound("switch_flip"); + + //level thread electric_current_open_middle_door(); + //level thread electric_current_revive_machine(); + //level thread electric_current_reload_machine(); + //level thread electric_current_doubletap_machine(); + //level thread electric_current_juggernog_machine(); + + clientnotify("revive_on"); + clientnotify("middle_door_open"); + clientnotify("fast_reload_on"); + clientnotify("doubletap_on"); + clientnotify("jugger_on"); + level notify("switch_flipped"); + maps\_audio::disable_bump_trigger("switch_door_trig"); + level thread play_the_numbers(); + left_org = getent("audio_swtch_left", "targetname"); + right_org = getent("audio_swtch_right", "targetname"); + left_org_b = getent("audio_swtch_b_left", "targetname"); + right_org_b = getent("audio_swtch_b_right", "targetname"); + + if( isdefined (left_org)) + { + left_org playsound("amb_sparks_l"); + } + if( isdefined (left_org_b)) + { + left_org playsound("amb_sparks_l_b"); + } + if( isdefined (right_org)) + { + right_org playsound("amb_sparks_r"); + } + if( isdefined (right_org_b)) + { + right_org playsound("amb_sparks_r_b"); + } + // TUEY - Sets the "ON" state for all electrical systems via client scripts + SetClientSysState("levelNotify","start_lights"); + level thread play_pa_system(); + + //cut for now :( + //enable the MG fountain + //level thread fountain_mg42_activate(); + + //set the trigger hint on the fountain + //getent("trig_courtyard_mg","targetname") sethintstring(&"ZOMBIE_FLAMES_UNAVAILABLE"); + + flag_set("electric_switch_used"); + trig delete(); + + //enable the electric traps + traps = getentarray("gas_access","targetname"); + for(i=0;i 70*70) + { + timer =0; + continue; + } + while(dist < 70*70 && timer < 3) + { + wait(0.5); + timer++; + } + if(dist > 70*70 && timer >= 3) + { + self playsound("door_deny"); + players[i] thread do_player_vo("vox_start", 5); + wait(3); + self notify ("warning_dialog"); + //iprintlnbold("warning_given"); + } + + + } + } +} +set_door_unusable() +{ + + self sethintstring(&"ZOMBIE_FLAMES_UNAVAILABLE"); + self UseTriggerRequireLookAt(); + +} + +/*------------------------------------ +this keeps track of when booth doorrs to the 'magic box' room are purchased +and then sets a flag ( used for spawning ) +------------------------------------*/ +watch_magic_doors() +{ + level thread magic_door_flags(); + trigs = getentarray("magic_door","script_noteworthy"); + array_thread (trigs,::magic_door_monitor); + + used = 0; + while(1) + { + level waittill("magic_door_used"); + used++; + if( used >1 ) + { + break; + } + } + flag_Set("both_doors_opened"); +} + + +/*------------------------------------ +waits for someone to buy a door +leading into the magic box/control room +------------------------------------*/ +magic_door_monitor() +{ + self waittill("trigger"); + + level notify("magic_door_used"); +} + + +/*------------------------------------ +waits for some flags to be set, and +------------------------------------*/ +magic_door_flags() +{ + + north_vol = getent("magic_room_north_volume","targetname"); + south_vol = getent("magic_room_south_volume","targetname"); + north_vol trigger_off(); + south_vol trigger_off(); + north_vol thread waitfor_flag("north"); + south_vol thread waitfor_flag("south"); + +} + +waitfor_flag(which) +{ + + if(which == "south") + { + flag_wait("magic_box_south"); + flag_wait("south_access_1"); + self trigger_on(); + } + else + { + flag_wait("upstairs_north_door1"); + flag_wait("upstairs_north_door2"); + flag_wait("magic_box_north"); + //iprintlnbold("north_enabled"); + self trigger_on(); + + } + +} + +/*------------------------------------ +This opens the bottom 'divider' doors +once the electric swtich is activated +------------------------------------*/ +open_bottom_doors(doors) +{ + + time = 1; + + for(i=0;i= trig.zombie_cost ) + { + if(!trig.in_use) + { + trig.in_use = 1; + trig.is_available = 0; + + trig trigger_off(); + + //play_sound_at_pos( "purchase", who.origin ); + level thread moveCrusherLeverDown(); + + level waittill("crusherLeverDown"); + + //set the score + who maps\_zombiemode_score::minus_to_player_score( trig.zombie_cost ); + + level thread moveCrusher("crusher_top", "top_dest", "bottom_dest", 5, 0, 0); + + level waittill("crusher_off"); + + level thread moveCrusherLeverUp(); + level waittill("crusherLeverUp"); + + trig trigger_on(); + + trig.is_available = 1; + trig.in_use = 0; + } + } + } + } + } +} + +moveCrusher(string, top, bottom, time, accel, decel) { + + //always want to make sure it finishes in the up position, this makes it easier + iter = 0; + + moveEntity = getent( string , "targetname" ); + topDest = getent( top, "targetname" ); + bottomDest = getent( bottom, "targetname" ); + + trig = getent("crusher_kill_trigger", "targetname"); + trig trigger_on(); + + thread crusherKill(); + + while (iter < 4) + { + moveEntity moveto( (bottomDest getorigin()), time, accel, decel ); + + wait (time - 0.1); + + moveEntity moveto( (topDest getorigin()), time, accel, decel ); + + wait (time - 0.1); + + iter++; + } + + // turn the kill trigger off and quit monitoring zombies touching the trigger + trig trigger_off(); + level notify ("crusher_off"); +} + +crusherKill() +{ + level endon("crusher_off"); + + trig = getent( "crusher_kill_trigger", "targetname" ); + + while (1) + { + trigger_wait( "crusher_kill_trigger", "targetname" ); + + // get all the zombies and work out which ones are within the trigger + zombs = getaiarray("axis"); + + if( isdefined(zombs) ) + { + for( i=0; idistance checks and volume checks +disable_stances_in_zones() +{ + players = get_players(); + + for (i = 0; i < players.size; i++) + { + players[i] thread fix_hax(); + players[i] thread fix_couch_stuckspot(); + players[i] thread in_bad_zone_watcher(); + players[i] thread out_of_bounds_watcher(); + } +} + + + + +//Chris_P - added additional checks for some hax/exploits on the stairs, by the grenade bag and on one of the columns/pillars +fix_hax() +{ + self endon("disconnect"); + self endon("death"); + + check = 15; + check1 = 10; + + while(1) + { + + //stairs + wait(.5); + if( distance2d(self.origin,( 101, -100, 40)) < check ) + { + self setorigin ( (101, -90, self.origin[2])); + } + + //grenade bag + else if( distance2d(self.origin, (-139, -107, 165) ) < check ) + { + self setorigin ( (-139, -98, self.origin[2]) ); + } + + else if( distance2d( self.origin, (203, 158, 79) ) < check ) + { + self setorigin ( (181, 161, self.origin[2]) ); + } + + //crates/boxes + else if( distance2d(self.origin, ( 816, 645, 12) ) < check ) + { + self setorigin ( (816, 666, self.origin[2]) ); + + } + + else if( distance2d( self.origin, (376, 643, 184) ) < check ) + { + self setorigin( (376, 665, self.origin[2]) ); + } + + //by grandfather clock + else if(distance2d(self.origin,(519 ,765, 155)) < check1) + { + self setorigin( (516, 793,self.origin[2]) ); + } + + //broken pillar + else if( distance2d(self.origin,(315 ,346, 79)) no_prone_zones.size) + { + array_check = no_prone_and_crouch_zones.size; + } + else + { + array_check = no_prone_zones.size; + } + + for(i = 0; i < array_check; i++) + { + if (isdefined(no_prone_and_crouch_zones[i]) && + self is_within_volume(no_prone_and_crouch_zones[i]["min"][0], no_prone_and_crouch_zones[i]["max"][0], + no_prone_and_crouch_zones[i]["min"][1], no_prone_and_crouch_zones[i]["max"][1], + no_prone_and_crouch_zones[i]["min"][2], no_prone_and_crouch_zones[i]["max"][2])) + { + self allowprone(false); + self allowcrouch(false); + break; + } + else if (isdefined(no_prone_zones[i]) && + self is_within_volume(no_prone_zones[i]["min"][0], no_prone_zones[i]["max"][0], + no_prone_zones[i]["min"][1], no_prone_zones[i]["max"][1], + no_prone_zones[i]["min"][2], no_prone_zones[i]["max"][2])) + { + self allowprone(false); + break; + } + else + { + self allowprone(true); + self allowcrouch(true); + } + + + } + wait 0.05; + } +} + + +is_within_volume(min_x, max_x, min_y, max_y, min_z, max_z) +{ + if (self.origin[0] > max_x || self.origin[0] < min_x) + { + return false; + } + else if (self.origin[1] > max_y || self.origin[1] < min_y) + { + return false; + } + else if (self.origin[2] > max_z || self.origin[2] < min_z) + { + return false; + } + + return true; +} + + + + init_sounds() { maps\_zombiemode_utility::add_sound( "break_stone", "break_stone" ); @@ -102,4 +329,112 @@ include_weapon( weapon_name ) include_powerup( powerup_name ) { maps\_zombiemode_powerups::include_zombie_powerup( powerup_name ); +} + +above_couches_death() +{ + level endon ("junk purchased"); + + while (1) + { + wait 0.2; + + players = get_players(); + + for (i = 0; i < players.size; i++) + { + if (players[i].origin[2] > 145) + { + setsaveddvar("player_deathInvulnerableTime", 0); + players[i] DoDamage( players[i].health + 1000, players[i].origin, undefined, undefined, "riflebullet" ); + setsaveddvar("player_deathInvulnerableTime", level.startInvulnerableTime); + } + } + } +} + +above_roof_death() +{ + while (1) + { + wait 0.2; + + players = get_players(); + + for (i = 0; i < players.size; i++) + { + if (players[i].origin[2] > 235) + { + setsaveddvar("player_deathInvulnerableTime", 0); + players[i] DoDamage( players[i].health + 1000, players[i].origin, undefined, undefined, "riflebullet" ); + setsaveddvar("player_deathInvulnerableTime", level.startInvulnerableTime); + } + } + } +} + +below_ground_death() +{ + while (1) + { + wait 0.2; + + players = get_players(); + + for (i = 0; i < players.size; i++) + { + if (players[i].origin[2] < -11) + { + setsaveddvar("player_deathInvulnerableTime", 0); + players[i] DoDamage( players[i].health + 1000, players[i].origin, undefined, undefined, "riflebullet" ); + setsaveddvar("player_deathInvulnerableTime", level.startInvulnerableTime); + } + } + } +} + + +out_of_bounds_watcher() +{ + self endon ("disconnect"); + + outside_of_map = []; + + outside_of_map[0]["min"] = (361, 591, -11); + outside_of_map[0]["max"] = (1068, 1031, 235); + + outside_of_map[1]["min"] = (-288, 591, -11); + outside_of_map[1]["max"] = (361, 1160, 235); + + outside_of_map[2]["min"] = (-272, 120, -11); + outside_of_map[2]["max"] = (370, 591, 235); + + outside_of_map[3]["min"] = (-272, -912, -11); + outside_of_map[3]["max"] = (273, 120, 235); + + while (1) + { + array_check = outside_of_map.size; + + kill_player = true; + for(i = 0; i < array_check; i++) + { + if (self is_within_volume( outside_of_map[i]["min"][0], outside_of_map[i]["max"][0], + outside_of_map[i]["min"][1], outside_of_map[i]["max"][1], + outside_of_map[i]["min"][2], outside_of_map[i]["max"][2])) + { + kill_player = false; + + } + } + + if (kill_player) + { + setsaveddvar("player_deathInvulnerableTime", 0); + self DoDamage( self.health + 1000, self.origin, undefined, undefined, "riflebullet" ); + setsaveddvar("player_deathInvulnerableTime", level.startInvulnerableTime); + } + + wait 0.2; + } } \ No newline at end of file diff --git a/raw/maps/nazi_zombie_sumpf.gsc b/raw/maps/nazi_zombie_sumpf.gsc new file mode 100644 index 000000000..35fef7e54 --- /dev/null +++ b/raw/maps/nazi_zombie_sumpf.gsc @@ -0,0 +1,381 @@ +#include common_scripts\utility; +#include maps\_utility; + +main() +{ + // enable for dog rounds + level.dogs_enabled = true; + + + level thread maps\_callbacksetup::SetupCallbacks(); + + include_weapons(); + include_powerups(); + + maps\nazi_zombie_sumpf_fx::main(); + maps\_zombiemode::main(); + + // JMA - setting flags for treasure chest +/* + flag_init("magic_box_south"); + flag_init("south_access_1"); + flag_init("north_door1"); + flag_init("north_upstairs_blocker"); + flag_init("south_upstairs_blocker"); +*/ + + init_sounds(); + + // If you want to modify/add to the weapons table, please copy over the _zombiemode_weapons init_weapons() and paste it here. + // I recommend putting it in it's own function... + // If not a MOD, you may need to provide new localized strings to reflect the proper cost. + + randomize_vending_machines(); + activate_zones(); + + level thread magic_box_limit_location_init(); +} + +activate_zones() +{ + //managed zones are areas in the map that have associated spawners/goals that are turned on/off + //depending on where the players are in the map + volume_entity = getent("center_spawners","targetname"); + volume_entity thread manage_zone(); +} + +init_sounds() +{ + maps\_zombiemode_utility::add_sound( "break_stone", "break_stone" ); +} + +// Include the weapons that are only inr your level so that the cost/hints are accurate +// Also adds these weapons to the random treasure chest. +include_weapons() +{ + // Pistols + //include_weapon( "colt" ); + //include_weapon( "colt_dirty_harry" ); + //include_weapon( "walther" ); + include_weapon( "sw_357" ); + + // Semi Auto + include_weapon( "m1carbine" ); + include_weapon( "m1garand" ); + include_weapon( "gewehr43" ); + + // Full Auto + include_weapon( "stg44" ); + include_weapon( "thompson" ); + include_weapon( "mp40" ); + + // Bolt Action + + include_weapon( "kar98k" ); + include_weapon( "springfield" ); + + // Scoped + include_weapon( "ptrs41_zombie" ); + include_weapon( "kar98k_scoped_zombie" ); + + // Grenade + include_weapon( "molotov" ); + // JESSE: lets go all german grenades for consistency and to reduce annoyance factor + // include_weapon( "fraggrenade" ); + include_weapon( "stielhandgranate" ); + + // Grenade Launcher + include_weapon( "m1garand_gl" ); + include_weapon( "m7_launcher" ); + + // Flamethrower + include_weapon( "m2_flamethrower_zombie" ); + + // Shotgun + include_weapon( "doublebarrel" ); + include_weapon( "doublebarrel_sawed_grip" ); + include_weapon( "shotgun" ); + + // Bipod + include_weapon( "fg42_bipod" ); + include_weapon( "mg42_bipod" ); + include_weapon( "30cal_bipod" ); + + // Heavy MG + include_weapon( "bar" ); + + // Rocket Launcher + include_weapon( "panzerschrek" ); + + // Special + include_weapon( "ray_gun" ); +} + +include_powerups() +{ + include_powerup( "nuke" ); + include_powerup( "insta_kill" ); + include_powerup( "double_points" ); + include_powerup( "full_ammo" ); +} + +include_weapon( weapon_name ) +{ + maps\_zombiemode_weapons::include_zombie_weapon( weapon_name ); +} + +include_powerup( powerup_name ) +{ + maps\_zombiemode_powerups::include_zombie_powerup( powerup_name ); +} + +/*------------------------------------ +have a info_volume target spawners +to turn them on/off - probably the best way to handle this + +TODO: switch over the previous script_string stuff in the other function +------------------------------------*/ +manage_zone() +{ + spawners = undefined; + + // JMA - here we separate the dog spawn points from the zombie spawn points +/* JMA - Dogs not implemented yet + dog_spawners = []; +*/ + + // JMA - if the zone is pointing to specific spawners + if(isDefined(self.target)) + { + spawners = getentarray(self.target,"targetname"); + + /* JMA - Dogs not implemented yet + for (i = 0; i < spawners.size; i++) + { + if ( issubstr(spawners[i].classname, "dog") ) + { + dog_spawners = array_add( dog_spawners, spawners[i] ); + spawners = array_remove( spawners, spawners[i] ); + } + } + */ + } + + // JMA - here we gather all the barriers + //goals = getstructarray(self.targetname + "_goal","script_string"); // put all barriers into goals array + goals = getstructarray("exterior_goal","targetname"); + + while(1) + { + //test to see if any players are in the volume + zone_active = false; + players = get_players(); + + for(i=0;i