Front-End Changes

MAPS

Reintroduced Train, which has been added to the Operation Vanguard map group (available for free to all CS:GO players). For more information, visit www.counter-strike.net/reintroducing_train



GAMEPLAY

CZ75-Auto adjustments Magazine size has been reduced to 8 and reserve ammo is now 16 (3 mags total). Damage has been reduced slightly. Firing rate has been reduced slightly The CZ75-Auto takes nearly twice as long to draw, and has an updated draw animation. Kill reward is now 1/3. Updated the weapon description.

Increased price of M4A1-S to $3100

Reduced price of Desert Eagle to $700

Updated the Tec-9 firing sound.

Fixed M4A1-S muzzle flash showing through smoke.

Fixed not being able to defuse the bomb in some cases where it was planted on a ledge and the player attempting to defuse was standing next to it on the ground (e.g. the fountain in Cobblestone).

Fixed a case on community servers where a player would get income after the first round when they should not.

UI

Team equipment value now correctly accounts for cost of CZ75-Auto and for two flashbangs.

“Assists” on teammate kills no longer get counted in scoreboard.

Added some new holiday freeze-cam borders and the holiday cheer has been re-enabled – Happy holidays!

MISC

Gifts have been re-enabled.

Released a new set of stickers (available now as offers), and put some music kits on sale.

Fixed a few localization errors

Fixed a typo in the game mode descriptions.

Fixed several exploits in the engine.

Train is Back! Valve has just released a new and upgraded version of the map for Counter-Strike: Global Offensive. They rebuilt the map from the ground up “in order to improve both the visual appearance and competitive gameplay balance of this iconic location.” Not much more to say… Other than look at the comparisons!





Player\\\’s Perspective

Spectator\\\’s Perspective

Game play – Weapon Changes -

Within the weapon change log – the Desert Eagle was reduced in price while the Tec-9 had some slight buffs to it\\\’s values.

Weapon Before Patch After Patch Desert Eagle Weapon Price – $800 $700 Tec-9 Weapon characteristics – Range Modifier 0.831 0.861 Accuracy Model Parameters – Spread 2 1.8 Inaccuracy Crouch 7.57 7.27 Inaccuracy Stand 9.43 9.03 Inaccuracy Fire 36.88 32.88 Inaccuracy Move 3.81 3.21 Recovery Time Stand 0.386834 0.376834

Additional Community Stickers -

Valve has once again released another set of community made stickers with this latest update.

Blood Broiler

– High Grade



Bomb Squad (Foil)

– High Grade



Dinked

– High Grade



Drug War Veteran

– High Grade



Ho Ho Ho

– High Grade



Massive Pear

– High Grade



My Little Friend

– High Grade



Pandamonium

– High Grade



Phoenix (Foil)

– High Grade



SAS Chicken

– High Grade



Thug Life

– High Grade



T-Rekt

– High Grade



Warowl

– High Grade



Work For Ammo

– High Grade



Back-End Changes

Version Released -

Client Version = 151 Server Version = 151 Patch Version = 1.34.6.2

Skin Modified ~ Tribute AK47 -

The texture for the \\\’Tribute\\\’ AK47 skin has been slightly modified by having one of the “8” removed. A comparison of the texture difference is located below :



Updated/Added Audio Effects -

Warning: The following sound player level\\\’s default at the maximum volume. This is a reminder to turn down the volume with the slider before playing.



Tec-9

Old

The Tec-9 bullet sound effect have been reworked with this patch release. Also new map sound effects have been added with the release of the revamp De_Train.

https://www.maxreiger.net/wp-content/uploads/2014/12/10/tec9-1old.wav



New

Map Sound Effects

De_Train – Radio

De_Train – Train Loop

Tech Room – Server Loop

Tech Room – SFX 1

Tech Room – SFX 2

Tech Room – SFX 3

Tech Room – SFX 4

Tech Room – SFX 5

Tech Room – SFX 6

Tech Room – SFX 7

Tech Room – SFX 8

Tech Room – SFX 9

Tech Room – Ambient Sound

There is evidence that the developers are working on a new sound effect for footsteps on concrete. A key example of the current issue with footsteps on concrete takes place on Nuke; in many different situations the player is mislead by the current sound effects. Located below is the current version of the footsteps on concrete and after that is the \\\’WIP\\\’ version – to most people at the moment they will sound almost identically :

Concrete1.wav ~ Current Version

Concrete1_test.wav

Texture Modified ~ Water Heater -

The following texture for a water heater model has been modified with the release of the new De_Train. Since the theme of the revamp De_Train is for certain in a ex-soviet location; the English writing on the water heater has been removed.



Particle Modifications -

The remodeling of Train has added two new particles that are related to the effect of a TV impact.

Old Particles





New Particles – TV Impacts

Weapon Muzzle Flash -

The particle effect from shooting the M4A1-S behind smoke has been fixed. There was a glitch where the muzzle flash would be highlighted through the smoke, and it would give away the enemy position.



Weapon Muzzle Flash ~ Values -

Train\\\’s Map Placements -

The remodeling of De_Train has moved around the placement of all the usual positions and the loading screen icons.

Location of these modifications are represented in de_train.txt

// HLTV overview description file for de_train.bsp "de_train" { "material" "overviews/de_train" // texture file - "pos_x" "-2050" // upper left world coordinate - "pos_y" "2300" - "scale" "4.0" + "pos_x" "-2477" // upper left world coordinate + "pos_y" "2392" + "scale" "4.7" // loading screen icons and positions - "CTSpawn_x" "0.88" - "CTSpawn_y" "0.86" - "TSpawn_x" "0.06" - "TSpawn_y" "0.18" - "bombA_x" "0.60" - "bombA_y" "0.52" - "bombB_x" "0.50" - "bombB_y" "0.88" + "CTSpawn_x" "0.86" + "CTSpawn_y" "0.77" + "TSpawn_x" "0.12" + "TSpawn_y" "0.25" + "bombA_x" "0.59" + "bombA_y" "0.49" + "bombB_x" "0.52" + "bombB_y" "0.76"

Audio Modifications -

The \\\’physics cannister – thruster loop\\\’ had it\\\’s dBs turned down slightly; while the original value one was added as a test value alongside the test footsteps.

Location of these modifications are represented in game_sounds_ambient_generic.txt

"PhysicsCannister.ThrusterLoop" { "channel" "CHAN_STATIC" "volume" "VOL_NORM" "pitch" "100" - "soundlevel" "SNDLVL_100DB" + "soundlevel" "SNDLVL_90DB" "wave" "ambient/gas/cannister_loop.wav" } "Test.Footstep" { "channel" "CHAN_STATIC" "volume" "VOL_NORM" "pitch" "100" "soundlevel" "SNDLVL_90DB" "wave" "player/footsteps/concrete1_test.wav" } "Test.ThrusterLoop" { "channel" "CHAN_STATIC" "volume" "VOL_NORM" "pitch" "100" "soundlevel" "SNDLVL_90DB" "wave" "ambient/gas/cannister_loop.wav" } "de_train.RadioLoop" { "channel" "CHAN_STATIC" "volume" "0.5" "pitch" "100" "soundlevel" "SNDLVL_70DB" "wave" "*ambient/de_train_radio.wav" }



The sound scape for De_Train needed to be updated with the revamp of the map.

Location of these additions are represented in soundscapes_train_new.txt

// new de_train soundscapes //------------------------------------------------ // // Generic outdoors ambience // "train_new.Outside" { "dsp" "1" "fadetime" "1.75" // underlying area "tone" "playlooping" { "volume" "0.6" "pitch" "100" "wave" "ambient\\\\wind\\\\tree_sway_wind_lp_02.wav" } "playlooping" { "volume" "0.6" "pitch" "100" "wave" "ambient\\\\wind\\\\csgo_dust_wind_lp_01.wav" } "playrandom" { "time" "15,30" "volume" "0.1" "pitch" "90,110" "rndwave" { "wave" "ambient/wind/wind_gust_8.wav" "wave" "ambient/wind/wind_gust_10.wav" } } // position this around the outskirts of the map - distant train sounds "playrandom" { "time" "5,30" "volume" "0.1,0.3" "pitch" "90,100" "soundlevel" "SNDLVL_90dB" "position" "1" "rndwave" { "wave" "(ambient/playonce/machines/train_pass_1.wav" "wave" "(ambient/playonce/machines/train_pass_2.wav" "wave" "(ambient/playonce/machines/train_pass_3.wav" "wave" "(ambient/playonce/machines/train_pass_1.wav" "wave" "(ambient/playonce/machines/train_pass_2.wav" "wave" "(ambient/playonce/machines/train_pass_3.wav" "wave" "(ambient/machines/train_horn_1.wav" "wave" "(ambient/machines/train_horn_2.wav" "wave" "(ambient/machines/train_horn_3.wav" } } "playrandom" { "time" "20,45" "volume" "0.04,0.09" "pitch" "80,100" "rndwave" { "wave" "ambient/playonce/machines/train_pass_far.wav" } } "playrandom" { "time" "15,40" "volume" "0.15,0.20" "pitch" "80,100" "soundlevel" "SNDLVL_95dB" "rndwave" { "wave" "ambient/playonce/misc/garbage_truck1.wav" "wave" "ambient/playonce/misc/truck_backup1.wav" "wave" "ambient/playonce/misc/truck_drive1.wav" "wave" "ambient/playonce/misc/truck_drive2.wav" "wave" "ambient/playonce/misc/crane_move1.wav" } } "playrandom" { "time" "6,20" "volume" "0.20,0.40" "pitch" "80,100" "soundlevel" "SNDLVL_95dB" "rndwave" { "wave" "ambient/misc/carhonk1.wav" "wave" "ambient/misc/carhonk2.wav" "wave" "ambient/misc/carhonk3.wav" } } // planes flying overhead "playrandom" { "time" "60,90" "volume" "0.05,0.1" "pitch" "90,100" "rndwave" { "wave" "ambient/overhead/plane1.wav" "wave" "ambient/overhead/plane2.wav" "wave" "ambient/playonce/overhead/plane3.wav" } } // Flies from behind fence "playrandom" { "time" "3,15" "volume" "0.2" "pitch" "90,110" "soundlevel" "SNDLVL_55dB" "position" "2" "rndwave" { "wave" "ambient/animal/flies1.wav" "wave" "ambient/animal/flies2.wav" "wave" "ambient/animal/flies3.wav" "wave" "ambient/animal/flies4.wav" "wave" "ambient/animal/flies5.wav" } //--------------------------------------------------------- // // Generic outdoors ambience // "train_new.Outside_TSpawn" { "dsp" "1" "fadetime" "1.75" // underlying area "tone" "playlooping" { "volume" "0.5" "pitch" "100" "wave" "ambient\\\\wind\\\\tree_sway_wind_lp_02.wav" } "playlooping" { "volume" "0.6" "pitch" "100" "wave" "ambient\\\\wind\\\\csgo_dust_wind_lp_01.wav" } "playrandom" { "time" "15,30" "volume" "0.1" "pitch" "90,110" "rndwave" { "wave" "ambient/wind/wind_gust_8.wav" "wave" "ambient/wind/wind_gust_10.wav" } } // position this around the outskirts of the map - distant train sounds "playrandom" { "time" "5,30" "volume" "0.1,0.3" "pitch" "90,100" "soundlevel" "SNDLVL_90dB" "position" "1" "rndwave" { "wave" "(ambient/playonce/machines/train_pass_1.wav" "wave" "(ambient/playonce/machines/train_pass_2.wav" "wave" "(ambient/playonce/machines/train_pass_3.wav" "wave" "(ambient/playonce/machines/train_pass_1.wav" "wave" "(ambient/playonce/machines/train_pass_2.wav" "wave" "(ambient/playonce/machines/train_pass_3.wav" "wave" "(ambient/machines/train_horn_1.wav" "wave" "(ambient/machines/train_horn_2.wav" "wave" "(ambient/machines/train_horn_3.wav" } } "playrandom" { "time" "20,45" "volume" "0.04,0.09" "pitch" "80,100" "rndwave" { "wave" "ambient/playonce/machines/train_pass_far.wav" } } "playrandom" { "time" "15,40" "volume" "0.15,0.20" "pitch" "80,100" "soundlevel" "SNDLVL_95dB" "rndwave" { "wave" "ambient/playonce/misc/garbage_truck1.wav" "wave" "ambient/playonce/misc/truck_backup1.wav" "wave" "ambient/playonce/misc/truck_drive1.wav" "wave" "ambient/playonce/misc/truck_drive2.wav" "wave" "ambient/playonce/misc/crane_move1.wav" } } "playrandom" { "time" "6,20" "volume" "0.20,0.40" "pitch" "80,100" "soundlevel" "SNDLVL_95dB" "rndwave" { "wave" "ambient/misc/carhonk1.wav" "wave" "ambient/misc/carhonk2.wav" "wave" "ambient/misc/carhonk3.wav" } } // planes flying overhead "playrandom" { "time" "60,90" "volume" "0.05,0.1" "pitch" "90,100" "rndwave" { "wave" "ambient/overhead/plane1.wav" "wave" "ambient/overhead/plane2.wav" "wave" "ambient/playonce/overhead/plane3.wav" } } // Flies from dumpster "playrandom" { "time" "3,15" "volume" "0.2" "pitch" "90,110" "soundlevel" "SNDLVL_55dB" "position" "2" "rndwave" { "wave" "ambient/animal/flies1.wav" "wave" "ambient/animal/flies2.wav" "wave" "ambient/animal/flies3.wav" "wave" "ambient/animal/flies4.wav" "wave" "ambient/animal/flies5.wav" } } // Info Node on Truck "playlooping" { "position" "3" "volume" "0.4" "wave" "ambient/machines/truck_idle_lp_01.wav" "soundlevel" "SNDLVL_65dB" } // Info Node on Train "playlooping" { "position" "4" "volume" "0.8" "wave" "ambient/de_train_trainloop.wav" "soundlevel" "SNDLVL_85dB" } } //------------------------------------------------- // // Generic outdoors ambience // "train_new.Outside_CTSpawn" { "dsp" "1" "fadetime" "1.75" // underlying area "tone" "playlooping" { "volume" "0.5" "pitch" "100" "wave" "ambient\\\\wind\\\\tree_sway_wind_lp_02.wav" } "playlooping" { "volume" "0.6" "pitch" "100" "wave" "ambient\\\\wind\\\\csgo_dust_wind_lp_01.wav" } "playrandom" { "time" "15,30" "volume" "0.1" "pitch" "90,110" "rndwave" { "wave" "ambient/wind/wind_gust_8.wav" "wave" "ambient/wind/wind_gust_10.wav" } } // position this around the outskirts of the map - distant train sounds "playrandom" { "time" "5,30" "volume" "0.1,0.3" "pitch" "90,100" "soundlevel" "SNDLVL_90dB" "position" "1" "rndwave" { "wave" "(ambient/playonce/machines/train_pass_1.wav" "wave" "(ambient/playonce/machines/train_pass_2.wav" "wave" "(ambient/playonce/machines/train_pass_3.wav" "wave" "(ambient/playonce/machines/train_pass_1.wav" "wave" "(ambient/playonce/machines/train_pass_2.wav" "wave" "(ambient/playonce/machines/train_pass_3.wav" "wave" "(ambient/machines/train_horn_1.wav" "wave" "(ambient/machines/train_horn_2.wav" "wave" "(ambient/machines/train_horn_3.wav" } } "playrandom" { "time" "20,45" "volume" "0.04,0.09" "pitch" "80,100" "rndwave" { "wave" "ambient/playonce/machines/train_pass_far.wav" } } "playrandom" { "time" "15,40" "volume" "0.15,0.20" "pitch" "80,100" "soundlevel" "SNDLVL_95dB" "rndwave" { "wave" "ambient/playonce/misc/garbage_truck1.wav" "wave" "ambient/playonce/misc/truck_backup1.wav" "wave" "ambient/playonce/misc/truck_drive1.wav" "wave" "ambient/playonce/misc/truck_drive2.wav" "wave" "ambient/playonce/misc/crane_move1.wav" } } "playrandom" { "time" "6,20" "volume" "0.20,0.40" "pitch" "80,100" "soundlevel" "SNDLVL_95dB" "rndwave" { "wave" "ambient/misc/carhonk1.wav" "wave" "ambient/misc/carhonk2.wav" "wave" "ambient/misc/carhonk3.wav" } } // planes flying overhead "playrandom" { "time" "60,90" "volume" "0.05,0.1" "pitch" "90,100" "rndwave" { "wave" "ambient/overhead/plane1.wav" "wave" "ambient/overhead/plane2.wav" "wave" "ambient/playonce/overhead/plane3.wav" } } // Info Node on Truck "playlooping" { "position" "3" "volume" "0.4" "wave" "ambient/machines/big_truck.wav" "soundlevel" "SNDLVL_65dB" } } //------------------------------------------ "train_new.Warehouse" { "dsp" "1" "fadetime" "1.75" "playlooping" { "pitch" "100" "volume" "0.1" "wave" "ambient/atmosphere/factory_loop_1.wav" } "playlooping" { "volume" "0.5" "pitch" "100" "wave" "ambient/atmosphere/mill_bigwarehouseamb_loop.wav" } "playrandom" { "position" "random" "time" "10,20" "volume" "0.2,0.3" "pitch" "95,110" "soundlevel" "SNDLVL_75dB" "rndwave" { "wave" "ambient/atmosphere/cs_metalscrapeverb01.wav" "wave" "ambient/atmosphere/cs_metalscrapeverb02.wav" "wave" "ambient/atmosphere/cs_metalscrapeverb03.wav" "wave" "ambient/atmosphere/cs_metalscrapeverb04.wav" "wave" "ambient/atmosphere/cs_metalscrapeverb05.wav" "wave" "ambient/atmosphere/cs_metalscrapeverb06.wav" "wave" "ambient/atmosphere/cs_metalscrapeverb07.wav" "wave" "ambient/atmosphere/cs_metalscrapeverb08.wav" "wave" "ambient/atmosphere/cs_metalscrapeverb09.wav" "wave" "ambient/atmosphere/cs_metalscrapeverb10.wav" } } // the positions correspond to each window along the catwalk "playrandom" { "time" "20,40" "volume" "0.2,0.3" "pitch" "90,100" "position" "1" "soundlevel" "SNDLVL_75dB" "rndwave" { "wave" "(ambient/playonce/machines/train_pass_1.wav" "wave" "(ambient/playonce/machines/train_pass_2.wav" "wave" "(ambient/playonce/machines/train_pass_3.wav" } //--------------------------------------------------- "train_new.InteriorGeneric" { "dsp" "1" "fadetime" "1.75" "playlooping" { "pitch" "100" "volume" "0.9" "wave" "ambient/atmosphere/csgo_dust_indoors_lp_01.wav" } "playrandom" { "time" "50,60" "volume" "0.05,0.1" "pitch" "90,100" "position" "random" "rndwave" { "wave" "(ambient/playonce/machines/train_pass_1.wav" "wave" "(ambient/playonce/machines/train_pass_2.wav" "wave" "(ambient/playonce/machines/train_pass_3.wav" } } // vents 1 "playlooping" { "position" "1" "volume" "0.2" "soundlevel" "SNDLVL_70dB" "wave" "ambient/machines/air_conditioner_loop_1.wav" } } //----------------------------------------------- "train_new.Breakroom" { "dsp" "1" "fadetime" "1" "playlooping" { "pitch" "100" "volume" "0.4" "wave" "ambient/tones/office_room_tone_02.wav" } // Info Node on Fridge "playlooping" { "position" "0" "volume" "0.2" "wave" "ambient/misc/flour_light_loud.wav" "soundlevel" "SNDLVL_65dB" } } //----------------------------------------- "train_new.Showers" { "dsp" "1" "fadetime" "1" "playlooping" { "pitch" "100" "volume" "0.7" "wave" "ambient/tones/office_room_tone_01.wav" } // Position 1: Water pipes "playlooping" { "position" "1" "volume" "0.2" "wave" ")ambient/atmosphere/amb_water_drip_01.wav" "soundlevel" "SNDLVL_50dB" } } //--------------------------------------------- "train_new.Outside_Ivy" { "dsp" "1" "fadetime" "1.5" "playsoundscape" { "name" "train_new.Outside" } "playlooping" { "pitch" "100" "volume" "0.7" "position" "1" "soundlevel" "SNDLVL_90dB" "wave" "ambient/tones/industrial2_loop.wav" } } //---------------------------------------------- "train_new.OfficeRoom" { "dsp" "1" "fadetime" "1.75" // underlying area "tone" "playlooping" { "volume" "0.1" "pitch" "100" "wave" "ambient/atmosphere/indoor1.wav" } } //------------------------------------------ "train_new.TechRoom" { "dsp" "1" "fadetime" "1.75" // underlying area "tone" "playlooping" { "volume" "0.2" "pitch" "100" "wave" "ambient/office/tech_room.wav" } // Power hum playing from server outside tech room "playlooping" { "position" "1" "pitch" "100" "volume" "0.8" "soundlevel" "SNDLVL_60dB" "wave" "ambient/office/tech_loop_server.wav" } "playrandom" { "position" "2" "time" "3,15" "volume" "0.5,0.9" "pitch" "95,110" "soundlevel" "SNDLVL_75dB" "rndwave" { "wave" "ambient/office/tech_oneshot_01.wav" "wave" "ambient/office/tech_oneshot_02.wav" "wave" "ambient/office/tech_oneshot_03.wav" "wave" "ambient/office/tech_oneshot_04.wav" "wave" "ambient/office/tech_oneshot_05.wav" "wave" "ambient/office/tech_oneshot_06.wav" "wave" "ambient/office/tech_oneshot_07.wav" "wave" "ambient/office/tech_oneshot_08.wav" "wave" "ambient/office/tech_oneshot_09.wav" } //---------------------------------------------- "train_new.Alley" { "dsp" "1" "fadetime" "1.5" "playlooping" { "pitch" "100" "volume" "0.6" "wave" "ambient/atmosphere/factory_loop_1.wav" } // Steam behind fence "playlooping" { "position" "1" "pitch" "90" "volume" "0.5" "soundlevel" "SNDLVL_50dB" "wave" "ambient/gas/steam_loop1.wav" } // Power hum from lights "playlooping" { "position" "2" "pitch" "100" "volume" "0.4" "soundlevel" "SNDLVL_60dB" "wave" "ambient/machines/power_transformer_loop_1.wav" } // Flies from behind fence "playrandom" { "time" "3,15" "volume" "0.4" "pitch" "90,110" "soundlevel" "SNDLVL_75dB" "position" "random" "rndwave" { "wave" "ambient/animal/flies1.wav" "wave" "ambient/animal/flies2.wav" "wave" "ambient/animal/flies3.wav" "wave" "ambient/animal/flies4.wav" "wave" "ambient/animal/flies5.wav" }

New Holiday Borders -

Last year\\\’s holiday update only came with one featured border; this year there has been an addition of three more borders.

Updated Store Images -

With the new Store UI being introduced in the following patch, bar images had to be redone for the gift packages display.

Gift – 1 Player

Gift – 9 Player

Gift – 25 Spectators

Updated Strings -

Added text for the call outs/positions of the remolded de_train.

Location of these additions are represented in the navplace.db + csgo_english.txt

//Train Ivy PopDog TMain Tunnel1 Tunnel2 ElectricalBox



With De_Train being taken out of the reserve map pool and moved to the operation map pool for the revamp – this put a question mark on De_Shorttrain for the game type \\\’Demolition\\\’. The answer is De_Shorttrain has been completely removed for the game modes \\\’Demolition\\\’ and \\\’Deathmatch\\\’.

Location of these modifications are represented in the gamemodes.txt

"mg_demolition" { "imagename" "mapgroup-demolition" "nameID" "#SFUI_Mapgroup_demolition" "tooltipID" "#SFUI_MapGroup_Tooltip_Desc_demo" - "tooltipMaps" "de_lake,de_stmarc,de_sugarcane,de_bank,de_safehouse,de_shorttrain,de_shortdust" + "tooltipMaps" "de_lake,de_stmarc,de_sugarcane,de_bank,de_safehouse,de_shortdust" "name" "mg_demolition" "maps" { "de_lake" "" "de_stmarc" "" "de_sugarcane" "" "de_bank" "" "de_safehouse" "" - "de_shorttrain" "" "de_shortdust" "" - "mg_de_train" - { - "imagename" "map-train-overall" - "nameID" "#SFUI_Map_de_train" - "tooltipID" "#SFUI_Map_Tooltip_Desc_Reserves" - "name" "mg_de_train" - "icontag" "bomb" - "grouptype" "reserves" - "maps" - { - "de_train" "" + "mg_de_train" + { + "imagename" "map-train-overall" + "nameID" "#SFUI_Map_de_train" + "tooltipID" "#SFUI_Map_Tooltip_Desc_Train" + "name" "mg_de_train" + "icontag" "bomb" + "requires_attr" "season access" + "requires_attr_value" "4" + "requires_attr_reward" "minutes played" + "show_medal_icon" "5Operation$Community Season Five Summer 2014" + "show_rich_presence" "_vanguard" + "grouptype" "op_op05" + "maps" + { + "de_train" ""



The Tec-9 and Desert Eagle had their values modified within their assigned config while the CZ-75 and M4A1-S had their modifications within the prefab values.

Location of these modifications are represented in the items_game.txt

"weapon_cz75a_prefab" { "prefab" "weapon_p250_prefab" "item_name" "#SFUI_WPNHUD_CZ75" "item_description" "#CSGO_Item_Desc_cz75a" "model_player" "models/weapons/v_pist_cz_75.mdl" "model_world" "models/weapons/w_pist_cz_75.mdl" "icon_default_image" "materials/icons/inventory_icon_weapon_cz75a.vtf" "image_inventory" "econ/weapons/base_weapons/weapon_cz75a" "attributes" { + "damage" "33" "is full auto" "1" "in game price" "500" - "cycletime" "0.100000" + "cycletime" "0.110000" "recoil angle" "0" "recoil angle variance" "180" - "recoil magnitude" "25" - "recoil magnitude variance" "10" + "recoil magnitude" "27" + "recoil magnitude variance" "12" "spread" "3" - "primary clip size" "12" + "primary clip size" "8" - "inaccuracy fire" "25.000000" "magazine model" "models/weapons/w_pist_cz_75_mag.mdl" "inaccuracy stand" "10.430000" + "inaccuracy fire" "25.000000" "inaccuracy crouch" "7.600000" + "kill award" "100" } "weapon_m4a1_silencer_prefab" { "prefab" "rifle" "item_class" "weapon_m4a1" "item_name" "#SFUI_WPNHUD_M4_SILENCER" "item_description" "#CSGO_Item_Desc_m4a1_silencer" "item_rarity" "uncommon" "image_inventory" "econ/weapons/base_weapons/weapon_m4a1_silencer" "model_player" "models/weapons/v_rif_m4a1_s.mdl" "model_world" "models/weapons/w_rif_m4a1_s.mdl" "icon_default_image" "materials/icons/inventory_icon_weapon_m4a1_silencer.vtf" } "attributes" { - "in game price" "2900" + "in game price" "3100"

There has been a new attribute placed in the item\\\’s config.

Location of these additions are represented in the items_game.txt

"197" { "name" "kill award" "attribute_class" "kill_award" "description_format" "value_is_additive" "hidden" "0" "effect_type" "positive" "attribute_type" "uint32" }



The string containing the description about the CZ-75 was modified to match the current update.

Location of these modifications are represented in the csgo_english.txt

- "CSGO_Item_Desc_CZ75a" "A fully automatic variant of the CZ75, the CZ75-Auto is another inexpensive choice against armored opponents. But with very little ammo provided, strong trigger discipline is required." + "CSGO_Item_Desc_CZ75a" "A fully automatic variant of the CZ75, the CZ75-Auto is the ideal short-term choice for turning the tables and gaining your opponents weapon. But with very little ammo in the magazine, strong trigger discipline is required."



The correct text has been placed in the descriptions for the competitive game mode.

Location of these modifications are represented in the csgo_english.txt

- "SFUI_GameModeCompetitiveDescSPList" "· Friendly fire is ON\\\

· Team collision is OF\\\

· Armor and defuse kits are purchasable\\\

· Best out of 30 rounds" - "SFUI_GameModeCompetitiveDescList" "· Friendly fire is ON\\\

· Team collision is OF\\\

· Armor and defuse kits are purchasable\\\

· Best out of 30 rounds" + "SFUI_GameModeCompetitiveDescSPList" "· Friendly fire is ON\\\

· Team collision is ON\\\

· Armor and defuse kits are purchasable\\\

· Best out of 30 rounds" + "SFUI_GameModeCompetitiveDescList" "· Friendly fire is ON\\\

· Team collision is ON\\\

· Armor and defuse kits are purchasable\\\

· Best out of 30 rounds"



Display text was added for the description about having De_Train in the Vanguard Operation pool.

Location of this addition is represented in the csgo_english.txt

"SFUI_Map_Tooltip_Desc_Train" "This map is part of the Operation Vanguard Group. \\\

\\\

This map is available to everyone on Official Matchmaking for the duration of the current operation."



The display text for the gifting system has been slightly reworded compared with the system last year.

Location of these modifications are represented in the csgo_english.txt

- "SFUI_Store_Hint_Gift_-_1_Player" "Gift an item to a random player. Item expiring soon" - "SFUI_Store_Hint_Gift_-_9_Players" "Gift items to 9 other players. Item expiring soon" - "SFUI_Store_Hint_Gift_-_25_Spectators" "Gift items to 25 viewers. Item expiring soon" - "SFUIHUD_Spec_Event_DroppingItemsFor" "NOW DROPPING ITEMS FOR:" + "SFUI_Store_Hint_Gift_-_1_Player" "Gift an item to a random player in your match" + "SFUI_Store_Hint_Gift_-_9_Players" "Gift items to 9 other players in your match" + "SFUI_Store_Hint_Gift_-_25_Spectators" "Gift items to 25 GOTV viewers watching your match" + "SFUIHUD_Spec_Event_DroppingItemsFor" "DROPPING ITEMS FOR:"

Strings needed to be added for the attributes and details of the coupons associated with these stickers.

Location of these additions are represented in the items_game.txt

"10035" { "name" "coupon - blood_broiler" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - blood_broiler" "tool" { "restriction" "coupon_blood_broiler" } "associated_item" "20035" } "20035" { "name" "coupon key - blood_broiler" "item_name" "#coupon_key_blood_broiler" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_blood_broiler" } "associated_item" "10035" } "10036" { "name" "coupon - dinked" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - dinked" "tool" { "restriction" "coupon_dinked" } "associated_item" "20036" } "20036" { "name" "coupon key - dinked" "item_name" "#coupon_key_dinked" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_dinked" } "associated_item" "10036" } "10037" { "name" "coupon - drugwarveteran" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - drugwarveteran" "tool" { "restriction" "coupon_drugwarveteran" } "associated_item" "20037" } "20037" { "name" "coupon key - drugwarveteran" "item_name" "#coupon_key_drugwarveteran" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_drugwarveteran" } "associated_item" "10037" } "10038" { "name" "coupon - hohoho" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - hohoho" "tool" { "restriction" "coupon_hohoho" } "associated_item" "20038" } "20038" { "name" "coupon key - hohoho" "item_name" "#coupon_key_hohoho" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_hohoho" } "associated_item" "10038" } "10039" { "name" "coupon - massivepear" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - massivepear" "tool" { "restriction" "coupon_massivepear" } "associated_item" "20039" } "20039" { "name" "coupon key - massivepear" "item_name" "#coupon_key_massivepear" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_massivepear" } "associated_item" "10039" } "10040" { "name" "coupon - mylittlefriend" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - mylittlefriend" "tool" { "restriction" "coupon_mylittlefriend" } "associated_item" "20040" } "20040" { "name" "coupon key - mylittlefriend" "item_name" "#coupon_key_mylittlefriend" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_mylittlefriend" } "associated_item" "10040" } "10041" { "name" "coupon - pandamonium" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - pandamonium" "tool" { "restriction" "coupon_pandamonium" } "associated_item" "20041" } "20041" { "name" "coupon key - pandamonium" "item_name" "#coupon_key_pandamonium" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_pandamonium" } "associated_item" "10041" } "10042" { "name" "coupon - pieceofcake" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - pieceofcake" "tool" { "restriction" "coupon_pieceofcake" } "associated_item" "20042" } "20042" { "name" "coupon key - pieceofcake" "item_name" "#coupon_key_pieceofcake" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_pieceofcake" } "associated_item" "10042" } "10043" { "name" "coupon - saschicken" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - saschicken" "tool" { "restriction" "coupon_saschicken" } "associated_item" "20043" } "20043" { "name" "coupon key - saschicken" "item_name" "#coupon_key_saschicken" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_saschicken" } "associated_item" "10043" } "10044" { "name" "coupon - thuglife" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - thuglife" "tool" { "restriction" "coupon_thuglife" } "associated_item" "20044" } "20044" { "name" "coupon key - thuglife" "item_name" "#coupon_key_thuglife" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_thuglife" } "associated_item" "10044" } "10045" { "name" "coupon - trekt" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - trekt" "tool" { "restriction" "coupon_trekt" } "associated_item" "20045" } "20045" { "name" "coupon key - trekt" "item_name" "#coupon_key_trekt" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_trekt" } "associated_item" "10045" } "10046" { "name" "coupon - warowl" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - warowl" "tool" { "restriction" "coupon_warowl" } "associated_item" "20046" } "20046" { "name" "coupon key - warowl" "item_name" "#coupon_key_warowl" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_warowl" } "associated_item" "10046" } "10047" { "name" "coupon - workforfood" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - workforfood" "tool" { "restriction" "coupon_workforfood" } "associated_item" "20047" } "20047" { "name" "coupon key - workforfood" "item_name" "#coupon_key_workforfood" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_workforfood" } "associated_item" "10047" } "10048" { "name" "coupon - phoenix_foil" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - phoenix_foil" "tool" { "restriction" "coupon_phoenix_foil" } "associated_item" "20048" } "20048" { "name" "coupon key - phoenix_foil" "item_name" "#coupon_key_phoenix_foil" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_phoenix_foil" } "associated_item" "10048" } "10049" { "name" "coupon - bombsquad_foil" "item_name" "#coupon" "item_description" "#coupon_desc" "image_inventory" "econ/coupon/offer" "prefab" "coupon_crate_prefab" "loot_list_name" "coupon loot list - bombsquad_foil" "tool" { "restriction" "coupon_bombsquad_foil" } "associated_item" "20049" } "20049" { "name" "coupon key - bombsquad_foil" "item_name" "#coupon_key_bombsquad_foil" "item_description" "#coupon_key_desc" "prefab" "coupon_key_prefab" "tool" { "restriction" "coupon_bombsquad_foil" } "associated_item" "10049"

The needed attributes and description strings for the actual stickers.

Location of these additions are represented in the items_game.txt

"258" { "name" "blood_broiler" "item_name" "#StickerKit_comm02_blood_broiler" "description_string" "#StickerKit_desc_comm02_blood_broiler" "sticker_material" "community02/blood_broiler" "item_rarity" "rare" } "259" { "name" "dinked" "item_name" "#StickerKit_comm02_dinked" "description_string" "#StickerKit_desc_comm02_dinked" "sticker_material" "community02/dinked" "item_rarity" "rare" } "260" { "name" "drugwarveteran" "item_name" "#StickerKit_comm02_drugwarveteran" "description_string" "#StickerKit_desc_comm02_drugwarveteran" "sticker_material" "community02/drugwarveteran" "item_rarity" "rare" } "261" { "name" "hohoho" "item_name" "#StickerKit_comm02_hohoho" "description_string" "#StickerKit_desc_comm02_hohoho" "sticker_material" "community02/hohoho" "item_rarity" "rare" } "262" { "name" "massivepear" "item_name" "#StickerKit_comm02_massivepear" "description_string" "#StickerKit_desc_comm02_massivepear" "sticker_material" "community02/massivepear" "item_rarity" "rare" } "263" { "name" "mylittlefriend" "item_name" "#StickerKit_comm02_mylittlefriend" "description_string" "#StickerKit_desc_comm02_mylittlefriend" "sticker_material" "community02/mylittlefriend" "item_rarity" "rare" } "264" { "name" "pandamonium" "item_name" "#StickerKit_comm02_pandamonium" "description_string" "#StickerKit_desc_comm02_pandamonium" "sticker_material" "community02/pandamonium" "item_rarity" "rare" } "265" { "name" "pieceofcake" "item_name" "#StickerKit_comm02_pieceofcake" "description_string" "#StickerKit_desc_comm02_pieceofcake" "sticker_material" "community02/pieceofcake" "item_rarity" "rare" } "266" { "name" "saschicken" "item_name" "#StickerKit_comm02_saschicken" "description_string" "#StickerKit_desc_comm02_saschicken" "sticker_material" "community02/saschicken" "item_rarity" "rare" } "267" { "name" "thuglife" "item_name" "#StickerKit_comm02_thuglife" "description_string" "#StickerKit_desc_comm02_thuglife" "sticker_material" "community02/thuglife" "item_rarity" "rare" } "268" { "name" "trekt" "item_name" "#StickerKit_comm02_trekt" "description_string" "#StickerKit_desc_comm02_trekt" "sticker_material" "community02/trekt" "item_rarity" "rare" } "269" { "name" "warowl" "item_name" "#StickerKit_comm02_warowl" "description_string" "#StickerKit_desc_comm02_warowl" "sticker_material" "community02/warowl" "item_rarity" "rare" } "270" { "name" "workforfood" "item_name" "#StickerKit_comm02_workforfood" "description_string" "#StickerKit_desc_comm02_workforfood" "sticker_material" "community02/workforfood" "item_rarity" "rare" } "271" { "name" "phoenix_foil" "item_name" "#StickerKit_comm02_phoenix_foil" "description_string" "#StickerKit_desc_comm02_phoenix_foil" "sticker_material" "community02/phoenix_foil" "item_rarity" "rare" } "272" { "name" "bombsquad_foil" "item_name" "#StickerKit_comm02_bombsquad_foil" "description_string" "#StickerKit_desc_comm02_bombsquad_foil" "sticker_material" "community02/bombsquad_foil" "item_rarity" "rare"

Strings added for the contents of the coupon loot list to receive the claim to purchase one of the new stickers.

Location of these additions are represented in the items_game.txt

"coupon loot list - blood_broiler" { "public_list_contents" "1" "[blood_broiler]sticker" "1" } "coupon loot list - dinked" { "public_list_contents" "1" "[dinked]sticker" "1" } "coupon loot list - drugwarveteran" { "public_list_contents" "1" "[drugwarveteran]sticker" "1" } "coupon loot list - hohoho" { "public_list_contents" "1" "[hohoho]sticker" "1" } "coupon loot list - massivepear" { "public_list_contents" "1" "[massivepear]sticker" "1" } "coupon loot list - mylittlefriend" { "public_list_contents" "1" "[mylittlefriend]sticker" "1" } "coupon loot list - pandamonium" { "public_list_contents" "1" "[pandamonium]sticker" "1" } "coupon loot list - pieceofcake" { "public_list_contents" "1" "[pieceofcake]sticker" "1" } "coupon loot list - saschicken" { "public_list_contents" "1" "[saschicken]sticker" "1" } "coupon loot list - thuglife" { "public_list_contents" "1" "[thuglife]sticker" "1" } "coupon loot list - trekt" { "public_list_contents" "1" "[trekt]sticker" "1" } "coupon loot list - warowl" { "public_list_contents" "1" "[warowl]sticker" "1" } "coupon loot list - workforfood" { "public_list_contents" "1" "[workforfood]sticker" "1" } "coupon loot list - phoenix_foil" { "public_list_contents" "1" "[phoenix_foil]sticker" "1" } "coupon loot list - bombsquad_foil" { "public_list_contents" "1" "[bombsquad_foil]sticker" "1"

The strings added for the sticker’s description display and it’s associated coupon key claim.

Location of these additions are represented in the items_game.txt

"StickerKit_comm02_blood_broiler" "Blood Boiler" "StickerKit_desc_comm02_blood_broiler" "" "coupon_key_blood_broiler" "Claim: Sticker | Blood Boiler" "StickerKit_comm02_dinked" "Dinked" "StickerKit_desc_comm02_dinked" "" "coupon_key_dinked" "Claim: Sticker | Dinked" "StickerKit_comm02_drugwarveteran" "Drug War Veteran" "StickerKit_desc_comm02_drugwarveteran" "" "coupon_key_drugwarveteran" "Claim: Sticker | Drug War Veteran" "StickerKit_comm02_hohoho" "Ho Ho Ho" "StickerKit_desc_comm02_hohoho" "" "coupon_key_hohoho" "Claim: Sticker | Ho Ho Ho" "StickerKit_comm02_massivepear" "Massive Pear" "StickerKit_desc_comm02_massivepear" "" "coupon_key_massivepear" "Claim: Sticker | Massive Pear" "StickerKit_comm02_mylittlefriend" "My Little Friend" "StickerKit_desc_comm02_mylittlefriend" "" "coupon_key_mylittlefriend" "Claim: Sticker | My Little Friend" "StickerKit_comm02_pandamonium" "Pandamonium" "StickerKit_desc_comm02_pandamonium" "" "coupon_key_pandamonium" "Claim: Sticker | Pandamonium" "StickerKit_comm02_pieceofcake" "Piece Of Cake" "StickerKit_desc_comm02_pieceofcake" "" "coupon_key_pieceofcake" "Claim: Sticker | Piece Of Cake" "StickerKit_comm02_saschicken" "SAS Chicken" "StickerKit_desc_comm02_saschicken" "" "coupon_key_saschicken" "Claim: Sticker | SAS Chicken" "StickerKit_comm02_thuglife" "Thug Life" "StickerKit_desc_comm02_thuglife" "" "coupon_key_thuglife" "Claim: Sticker | Thug Life" "StickerKit_comm02_trekt" "T-Rekt" "StickerKit_desc_comm02_trekt" "" "coupon_key_trekt" "Claim: Sticker | T-Rekt" "StickerKit_comm02_warowl" "Warowl" "StickerKit_desc_comm02_warowl" "" "coupon_key_warowl" "Claim: Sticker | Warowl" "StickerKit_comm02_workforfood" "Work For Ammo" "StickerKit_desc_comm02_workforfood" "" "coupon_key_workforfood" "Claim: Sticker | Work For Ammo" "StickerKit_comm02_phoenix_foil" "Phoenix (Foil)" "StickerKit_desc_comm02_phoenix_foil" "" "coupon_key_phoenix_foil" "Claim: Sticker | Phoenix (Foil)" "StickerKit_comm02_bombsquad_foil" "Bomb Squad (Foil)" "StickerKit_desc_comm02_bombsquad_foil" "" "coupon_key_bombsquad_foil" "Claim: Sticker | Bomb Squad (Foil)"

The revamped De_Train map showcases some of the new scripts the developers have added. There is a whole brand new script system that gives the ability of having functionally animals within the maps. These new scripts are unrelated to the chickens that are already within the game. Located below shows the scripts that have been currently added for the system :

Location of these contents is represented in util.nut

//Squirrel Utilities //Constants Pi ma) return ma; return v; } //Return the biggest of two numbers. function max(v1,v2) { if(v1 > v2) return v1; return v2; } //Return the smallest of two numbers. function min(v1,v2) { if(v1 < v2) return v1; return v2; } //Vector multiplication fix function Mul(v1,v2) { local typ = typeof(v2); if(typ == "integer" || typ == "float") { return Vector(v1.x*v2,v1.y*v2,v1.z*v2); } if(typ == "Vector") { return Vector(v1.x*v2.x,v1.y*v2.y,v1.z*v2.z); } return null; } //=================// //--Trace Helpers--// //=================// class TraceInfo { constructor(h,d) { Hit = h; Dist = d; } Hit = null; Dist = null; } //Returns the hit position of a trace between two points. function TraceVec(start, end, filter) { local dir = (end-start); local frac = TraceLine(start,end,filter); //return start+(dir*frac); return TraceInfo(start+(dir*frac),dir.Length()); } //Returns the hit position of a trace along a normalized direction vector. function TraceDir(orig, dir, maxd, filter) { local frac = TraceLine(orig,orig+dir*maxd,filter); if(frac == 1.0) { return TraceInfo(orig+(dir*maxd),0.0);} return TraceInfo(orig+(dir*(maxd*frac)),maxd*frac); } //=================// //--Debug Helpers--// //=================// //Draws a cross showing the X, Y, and Z axes. function DrawAxis(pos,s,nocull,time) { DebugDrawLine(Vector(pos.x-s,pos.y,pos.z), Vector(pos.x+s,pos.y,pos.z), 255, 0, 0, nocull, time); DebugDrawLine(Vector(pos.x,pos.y-s,pos.z), Vector(pos.x,pos.y+s,pos.z), 0, 255, 0, nocull, time); DebugDrawLine(Vector(pos.x,pos.y,pos.z-s), Vector(pos.x,pos.y,pos.z+s), 0, 0, 255, nocull, time); } //Draw the bounding box of a given entity. function DrawEntityBBox(ent,r,g,b,a,time) { DebugDrawBox(ent.GetOrigin(),ent.GetBoundingMins(), ent.GetBoundingMaxs(), r, g, b, a, time) } //Draws a line along a given normal. function DrawNormal(pos,norm,s,time) { local ns = norm*s; DebugDrawLine(Vector(pos.x,pos.y,pos.z), Vector(pos.x+ns.x,pos.y+ns.y,pos.z+ns.z), 0, 255, 255, false, time); }

Location of these contents is represented in pigeonspawner.nut

m_bIsBirdMasterSpawner = MAX_BIRDS_SPAWNED ) return; if ( m_flLastSpawnTime == 0 ) { if ( m_BirdSpawnEnts.len() <= 0 ) return; local nStartPos = RandomInt( 0, m_BirdSpawnEnts.len()-1 ); m_nCurBirdArrayPos = nStartPos; local nDistance = 1600; // find any players close by local bFoundPlayer = false; local bNearOtherBirds = false; ent

Location of these contents is represented in master_bird_spawner.nut

m_bIsBirdMasterSpawner Time() ) return; m_flLastThink = Time(); if ( m_nNumBirdsInMap >= MAX_BIRDS_SPAWNED ) return; if ( m_flLastSpawnTime == 0 || m_flLastSpawnTime + SPAWN_FREQUENCY < Time() ) { if ( m_BirdSpawnEnts.len() <= 0 ) return; local nStartPos = RandomInt( 0, m_BirdSpawnEnts.len()-1 ); m_nCurBirdArrayPos = nStartPos; local nDistance = 1600; // find any players close by local bFoundPlayer = false; local bNearOtherBirds = false; ent

Location of these contents is represented in birdspawner.nut

m_bIsBirdSpawner

Location of these contents is represented in birds.nut