• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Dota 2 Beta Thread: [Brewmaster]

Status
Not open for further replies.
He's super fun early levels though. I really want IceFrog to buff him up, making more valuable. And I think he's the worst initiator atm for a reason.

I think if the AoE of Call would scale with levels, he would be better off. He is an initiator who falls off too soon.
 
maybe if they made his spin scale with strength or something like that he would be more viable late game or made it less random then it is kind of how it works in HoN.
 
swag is trash yo

nice no boots 20 min in
Such a big problem when you don't give the support any farm in lane and you can't ( or don't ) play aggressively. Between warding, upgrading courier, I was so broke, and we didn't start winning fights till around 14 minutes, such a shitty game.
 

I swear to everything I hold dear, I did not double press the blink dagger hotkey, I clearly ppressed the hotkey once and then pressed on roshan but for some reason no he decides to go straight into the fucking forest...


Should have just stunned in, but I'm wondering how it ported you up there.

Tried that aswell, you can see my mouse icon going "active" for the burrow strike, over and over again but I was out of range I guess...
 
Test updating now!?

Mine is, 100.2MB update.

Dota 2 Test Build Update - April 11, 2012
Product Update - Valve
GAMEPLAY
- Enabled Random Draft mode!
- Enabled Lone Druid in Captain's Mode.
- Ancient Apparition: Fixed Ice Blast impact damage not hurting illusions.
- Ancient Apparition: Fixed Chilling Touch affecting Spirit Bear and Warlock's Golem.
- Axe: Fixed Culling Blade ending after death effects like Diabolic Edict and Epicenter.
- Bane: Fixed Nightmare putting Juggernaut to sleep while Omnislashing.
- Bane: Fixed Fiend's Grip doing one tick less damage than it should have.
- Batrider: Fixed Firefly destroying trees in a bigger aoe than intended.
- Batrider: Fixed Flamebreak hitting magic immune units (6.74b change).
- Bloodseeker: Fixed Rupture interaction with spells like Omnislash, Ball Lightning, etc.
- Faceless Void: Fixed Chronosphere not freezing invulnerable towers.
- Juggernaut: Fixed Omnislash considering ancients as valid targets.
- Juggernaut: Fixed Omnislash ending prematurely if a target becomes invulnerable.
- Lifestealer: Fixed being able to hide inside an enemy Spirit Bear/Golem with Infest (wasn't doing damage to it though)
- Lifestealer: Fixed Infest not removing buffs before jumping in.
- Lifestealer: Fixed Feast bonus damage type allowing it to critical strike.
- Lion: Fixed Mana Drain missing its last 1/4 tick.
- Lone Druid: Fixed Entangle not affecting magic immune units.
- Lone Druid: Fixed Entangle not interrupting channeling spells.
- Mirana: Fixed Moonlight Shadow not affecting allied units sometimes (Disrupted, Phase Shifted, etc).
- Morphling: Fixed Replicate being castable on Spirit Bear and Warlock Golem.
- Outworld Destroyer: Fixed Sanity's Eclipse mana drain logic.
- Puck: Fixed Ethereal Jaunt not dodging projectiles properly.
- Pudge: Reduced the delay before being able to issue orders after Meat Hook.
- Razor: Fixed some bugs with Unstable Current killing a target after its ability starts (like Omnislashing while dead).
- Razor: Fixed Plasma Field not giving aoe vision following Razor.
- Slardar: Fixed Slithereen Crush affecting couriers.
- Silencer: Fixed Global Silences affecting couriers abilities.
- Spectre: Fixed permanently losing the ability to block creeps after the first Spectral Dagger use.
- Spirit Breaker: Fixed being unable to target magic immune units with Netherstrike.
- Sven: Fixed Great Cleave working on denies.
- Tinker: Fixed March of the Machines spawn per second from 30 to 24.
- Tinker: Fixed March of the Machines movement speed from 500 to 400.
- Tinker: Fixed Heat Seeking Missle hitting Spirit Bear and Warlock's Golem.
- Tinker: Fixed March of the Machines killing couriers.
- Tiny: Fixed Aghanim tree doing too much damage to buildings.
- Tiny: Fixed Aghanim tree cleaving when attacking buildings.
- Vengeful Spirit: Fixed Vengeful Spirit's Wave of Terror affecting couriers.
- Viper: Fixed Viper Strike being an instant effect instead of a dodgeable projectile.
- Weaver: Fixed Weaver's Swarm getting one shotted by attack spells like Impetus and Arcane Orb.
- Weaver: Fixed bug where Swarm bugs would cause some heroes to spin when attacking them, or not be able to attack them at all.
- Windrunner: Fixed being able to Shackleshot onto Ancients/Roshan.
- Fixed units/wards being unable to attack animation cancel if they are unable to move.
- Fixed abilities going into cooldown if the target dies while paying manacost (ie. from Nether Ward).
- Fixed Alchemist's Unstable Concoction and Bounty Hunter's Track being castable on Spirit Bear/Golem.
- Fixed cleave damage not waking up Nightmared units.
- Fixed Mjollnir and Maelstrom having orb selection priorty when attacking buildings.
- Fixed Armlet lifedraining on Illusions.
- Fixed DisableHelp not working for Chen's Persuasion.
- Fixed Roshan not disabling Blink Dagger.
- Fixed Tranquil Boots going into a short cooldown whenever you took damage.
- Reordered Mekansm recipe list to have Headdress first.
- Fixed Pudge's Meat Hook and Mirana's Arrow not hitting Spirit Bear.
- Fixed Vampiric Aura showing buff on things it does not affect.
- Fixed neutral units being able to cast their spells while disabled/silenced when they aren't player controlled.
- Fixed Double Damage rune not granting a fake buff to nearby illusions.
- Fixed neutral Centaur attack speed aura increasing speed by percentages instead of constant amounts
- Fixed being unable to purge an offensive Decrepify
- Fixed Ethereal Blade interaction with Spirit Bear.
- Fixed a bug where if Nature's Prophet cast Sprout on Lycan in wolf form while he was running, Lycan could run through the trees and escape the sprout.

UI
- Illusions now fake display the same crit overhead values as the real hero.
- A global message is now displayed when you random a hero.
- There is now a 2 second cooldown on unpausing a paused game, to prevent two people trying to pause the game at the same time and accidently unpausing.
- Fixed being unable to Glyph while disabled.
- Fixed printing the wrong kill message when an illusion kills a tower
- Fixed spectator FOW keys broken.
- Fixed the courier failing to pick up an item from the stash resulting in the item teleporting to the hero's feet.
- Items that are dropped on the ground as a result of a full inventory will now always be usable in item combines, even if they cannot be dropped right next to a hero.
- While watching a replay, you can now click on the pips (Hero/Tower Kills) on the XP and Gold panels to jump to 5 seconds before that moment happens.
- Fixed team-only chat in games created via private lobbies.

VISUALS
- Updated Nevermore's animations.
- Updated Shadow Demon's Shadow Poison projectile effect.
- Updated Faceless Void's Backtrack effect.

BOTS
- Bots will no longer attempt to use a Tango when being attacked or when defending an ally.
- Adjusted some numbers to hopefully make it less likely for bots to try to TP out of a gank attempt when they were obviously going to die before it finished.
- Fixed bug where Zeus would killsteal when his target thought they were safe, even if they weren't.
- Cleaned up sellability of a bunch of bot items, should prevent cases where bots buy recipes for components they've previously sold.
- Added additional items in the builds for Sniper and Juggernaut, they should no longer run out of items to buy in long matches.
- Fixed bug where bots wouldn't realize that Antimage was a hard carry for lane selection purposes.
- Fixed bug where any players in spectate/broadcast slots would prevent bots from picking a hero.
- Bots will now wait to activate until all hero picking is completed.
- Fixed bug where the matchmaker wouldn't try to match bot difficulties when finding a Coop game.
- Fixed bug where bots might still pick up Aegis/Rapier immediately upon them dropping rather than waiting a couple seconds for humans to have a shot at them.
- Added generic attack desire bonus to any enemy hero that is currently stunned.
 
Such a big problem when you don't give the support any farm in lane and you can't ( or don't ) play aggressively. Between warding, upgrading courier, I was so broke, and we didn't start winning fights till around 14 minutes, such a shitty game.

I love it when your non support players shout at the support for being under leveled, have no items and when you try to kill one creep you get shouted at, get poor.
 
Socialize tab now works, can create a team with 7 friends and have a logo for team matchmaking it says.

Didn't make a team yet so dunno if that works, but you can click on make a team and pick a name/logo etc. Wonder if it carries over to the normal client.
 
Socialize tab now works, can create a team with 7 friends and have a logo for team matchmaking it says.

Didn't make a team yet so dunno if that works, but you can click on make a team and pick a name/logo etc. Wonder if it carries over to the normal client.

I made a GAF team and nobody is invited! Also when you make a team it creates a chat channel for your team.
 
This is what it shows:

61A08AC8F01151414E9D66BD15426BD4A4C37E47
 
Ok, going to go though the files outside of the vpk files first, and see what I find.


First, Brewmaster has recommended items now:
"itembuilds/test_axe.txt"
{
"author" "Valve"
"hero" "npc_dota_hero_brewmaster"
"Title" "Recommended items for Brewmaster"

"Items"
{ "#DOTA_Item_Build_Starting_Items"
{
"item" "item_tango"
"item" "item_flask"
"item" "item_stout_shield"
"item" "item_branches"
"item" "item_branches"
"item" "item_branches"
}

"#DOTA_Item_Build_Early_Game"
{
"item" "item_boots"
"item" "item_magic_stick"
"item" "item_bracer"
}

"#DOTA_Item_Build_Core_Items"
{
"item" "item_phase_boots"
"item" "item_magic_wand"
"item" "item_ancient_janggo"
"item" "item_blink"
}

"#DOTA_Item_Build_Luxury"
{
"item" "item_ultimate_scepter"
"item" "item_assault"
"item" "item_shivas_guard"
"item" "item_heart"
"item" "item_sange_and_yasha"
"item" "item_vladmir"
}
}
}


Sounds:
"Hero_Brewmaster.PreAttack"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"pitch" "95, 105"
"soundlevel" "SNDLVL_75dB"
"pitch" "95,105"
"rndwave"
{
"wave" "weapons/hero/earthshaker/fist_swing1.wav"
"wave" "weapons/hero/earthshaker/fist_swing2.wav"
"wave" "weapons/hero/earthshaker/fist_swing3.wav"
}
"soundentry_version" "2"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_preattack_block_dist"
}
}
}

"Hero_Brewmaster.Attack"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"soundlevel" "SNDLVL_75dB"
"pitch" "95,105"
"rndwave"
{
"wave" "weapons/hero/earthshaker/fist_swing_impact1.wav"
"wave" "weapons/hero/earthshaker/fist_swing_impact2.wav"
"wave" "weapons/hero/earthshaker/fist_swing_impact3.wav"
}
"soundentry_version" "2"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
}
}
}

"Hero_Brewmaster.ThunderClap"
{
"channel" "CHAN_STATIC"
"volume" "1"
"soundlevel" "SNDLVL_84dB"
"wave" ")weapons/hero/earthshaker/echo_slam_small.wav"
"soundentry_version" "2"
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Weapons"
}
"speakers_spatialize"
{
"input_radius" "600"
}
}
}
}

"Hero_Brewmaster.DrunkenHaze.Cast"
{
"channel" "CHAN_STATIC"
"volume" "1"
"soundlevel" "SNDLVL_81dB"
"pitch" "95,105"
"wave" ")weapons/hero/dazzle/poison_cast.wav"
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Weapons"
}
"speakers_spatialize"
{
"input_radius" "300"
}
}
}
}


"Hero_Brewmaster.DrunkenHaze.Target"
{
"channel" "CHAN_STATIC"
"volume" "1"
"soundlevel" "SNDLVL_81dB"
"pitch" "95,105"
"wave" ")weapons/hero/dazzle/poison_impact.wav"
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Weapons"
}
"speakers_spatialize"
{
"input_radius" "300"
}
}
}
}

"Hero_Brewmaster.Brawler.Crit"
{
"channel" "CHAN_STATIC"
"volume" "0.7, 1.0"
"soundlevel" "SNDLVL_78dB"
"pitch" "95,105"
"wave" ")weapons/hero/juggernaut/sword_swing_special.wav"

"soundentry_version" "2"
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Weapons"
}
"speakers_spatialize"
{
"input_radius" "150"
}
}
}
}

"Hero_Brewmaster.PrimalSplit.Cast"
{
"channel" "CHAN_STATIC"
"volume" "0.5"
"soundlevel" "SNDLVL_90dB"
"pitch" "150"
"rndwave"
{
"wave" "weapons/hero/earthshaker/echo01.wav"
"wave" "weapons/hero/earthshaker/echo02.wav"
"wave" "weapons/hero/earthshaker/echo03.wav"
}
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Ultimates"
}
"speakers_spatialize"
{
"input_radius" "300"
}
}
}
}

"Hero_Brewmaster.PrimalSplit.Spawn"
{
"channel" "CHAN_STATIC"
"volume" "0.5"
"soundlevel" "SNDLVL_90dB"
"pitch" "100"
"rndwave"
{
"wave" "weapons/hero/earthshaker/echo01.wav"
"wave" "weapons/hero/earthshaker/echo02.wav"
"wave" "weapons/hero/earthshaker/echo03.wav"
}
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Ultimates"
}
"speakers_spatialize"
{
"input_radius" "300"
}
}
}
}

"Hero_Brewmaster.PrimalSplit.Return"
{
"channel" "CHAN_STATIC"
"volume" "0.5"
"soundlevel" "SNDLVL_90dB"
"pitch" "75"
"rndwave"
{
"wave" "weapons/hero/earthshaker/echo01.wav"
"wave" "weapons/hero/earthshaker/echo02.wav"
"wave" "weapons/hero/earthshaker/echo03.wav"
}
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Ultimates"
}
"speakers_spatialize"
{
"input_radius" "300"
}
}
}
}


"Hero_Brewmaster.Footsteps"
{
"channel" "CHAN_BODY"
"volume" "0.4, 0.5"
"soundlevel" "SNDLVL_75dB"
"pitch" "80, 90"
"rndwave"
{
"wave" "physics/footsteps/hero/shared/general01.wav"
"wave" "physics/footsteps/hero/shared/general02.wav"
"wave" "physics/footsteps/hero/shared/general03.wav"
"wave" "physics/footsteps/hero/shared/general04.wav"
"wave" "physics/footsteps/hero/shared/general05.wav"
"wave" "physics/footsteps/hero/shared/general06.wav"
"wave" "physics/footsteps/hero/shared/general07.wav"
}
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
"play_second_layer"
{
"input_execute" "1"
"entry_name" "Hero_Brewmaster.Foley"
}
"block_dist"
{
"input2" "2000"
}
}
}
}


"Hero_Brewmaster.Foley"
{
"channel" "CHAN_ITEM"
"volume" "0.4, 0.8"
"soundlevel" "SNDLVL_75dB"
"pitch" "95, 105"
"rndwave"
{
"wave" "physics/movement/hero/brewmaster/slosh01.wav"
"wave" "physics/movement/hero/brewmaster/slosh02.wav"
"wave" "physics/movement/hero/brewmaster/slosh03.wav"
"wave" "physics/movement/hero/brewmaster/slosh04.wav"
"wave" "physics/movement/hero/brewmaster/slosh05.wav"
}
"operator_stacks"
{
"start_stack"
{
"import_stack" "start_block_at_distance"
"import_stack" "sfx_random_delay_start"
"block_dist"
{
"input2" "2000"
}
"get_random_delay"
{
"input_min" "0.1"
"input_max" "0.2"
}
}
}
}


"Hero_Brewmaster.Death"
{
"channel" "CHAN_BODY"
"soundlevel" "SNDLVL_NORM"
"wave" "null.wav"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_null_start"
}
}
}

///////////////////////////////////////////////////////////////////////////////

"Brewmaster_Earth.PreAttack"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"pitch" "95, 105"
"soundlevel" "SNDLVL_75dB"
"pitch" "95,105"
"rndwave"
{
"wave" "weapons/hero/earthshaker/fist_swing1.wav"
"wave" "weapons/hero/earthshaker/fist_swing2.wav"
"wave" "weapons/hero/earthshaker/fist_swing3.wav"
}
"soundentry_version" "2"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_preattack_block_dist"
}
}
}

"Brewmaster_Earth.Attack"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"soundlevel" "SNDLVL_75dB"
"pitch" "95,105"
"rndwave"
{
"wave" "weapons/hero/earthshaker/fist_swing_impact1.wav"
"wave" "weapons/hero/earthshaker/fist_swing_impact2.wav"
"wave" "weapons/hero/earthshaker/fist_swing_impact3.wav"
}
"soundentry_version" "2"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
}
}
}

"Brewmaster_Earth.Boulder.Cast"
{
"channel" "CHAN_STATIC"
"volume" "1"
"soundlevel" "SNDLVL_81dB"
"wave" ")weapons/hero/tiny/tiny_toss_throw.wav"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
}
}
}

"Brewmaster_Earth.Boulder.Target"
{
"channel" "CHAN_STATIC"
"volume" "1"
"soundlevel" "SNDLVL_81dB"
"wave" ")weapons/hero/tiny/tiny_toss_impact.wav"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
}
}
}

"Brewmaster_Storm.PreAttack"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"pitch" "95, 105"
"soundlevel" "SNDLVL_75dB"
"pitch" "95,105"
"rndwave"
{
"wave" "weapons/hero/earthshaker/fist_swing1.wav"
"wave" "weapons/hero/earthshaker/fist_swing2.wav"
"wave" "weapons/hero/earthshaker/fist_swing3.wav"
}
"soundentry_version" "2"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_preattack_block_dist"
}
}
}

"Brewmaster_Storm.Attack"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"soundlevel" "SNDLVL_75dB"
"pitch" "95,105"
"rndwave"
{
"wave" "weapons/hero/earthshaker/fist_swing1.wav"
"wave" "weapons/hero/earthshaker/fist_swing2.wav"
"wave" "weapons/hero/earthshaker/fist_swing3.wav"
}
"soundentry_version" "2"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
}
}
}

"Brewmaster_Storm.ProjectileImpact"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"soundlevel" "SNDLVL_75dB"
"pitch" "95,105"
"rndwave"
{
"wave" "weapons/hero/earthshaker/fist_swing_impact1.wav"
"wave" "weapons/hero/earthshaker/fist_swing_impact2.wav"
"wave" "weapons/hero/earthshaker/fist_swing_impact3.wav"
}
"soundentry_version" "2"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
}
}
}

"Brewmaster_Storm.DispelMagic"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"soundlevel" "SNDLVL_81dB"
"pitch" "95,105"
"wave" ")weapons/hero/furion/force_cast.wav"
"soundentry_version" "2"
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Weapons"
}
"speakers_spatialize"
{
"input_radius" "600"
}
}
}
}

"Bremaster_Storm.Cyclone"
{
"channel" "CHAN_STATIC"
"volume" "0.8"
"soundlevel" "SNDLVL_81dB"
"pitch" "95, 105"
"rndwave"
{
"wave" "weapons/hero/invoker/mini_tornado01.wav"
"wave" "weapons/hero/invoker/mini_tornado02.wav"
"wave" "weapons/hero/invoker/mini_tornado03.wav"
"wave" "weapons/hero/invoker/mini_tornado04.wav"
"wave" "weapons/hero/invoker/mini_tornado05.wav"
}
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Weapons"
}
"speakers_spatialize"
{
"input_radius" "150"
}
"volume_fade_out"
{
"input_max" "1.0"
}
}
}
}

"Bremaster_Storm.WindWalk"
{
"channel" "CHAN_WEAPON"
"volume" "0.5"
"soundlevel" "SNDLVL_81dB"
"pitch" "90, 110"
"wave" ")weapons/hero/clinkz/windwalk.wav"
"soundentry_version" "2"
"operator_stacks"
{
"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Weapons"
}
"speakers_spatialize"
{
"input_radius" "300"
}
}
}
}

"Brewmaster_Fire.PreAttack"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"pitch" "95, 105"
"soundlevel" "SNDLVL_75dB"
"pitch" "95,105"
"rndwave"
{
"wave" "weapons/hero/earthshaker/fist_swing1.wav"
"wave" "weapons/hero/earthshaker/fist_swing2.wav"
"wave" "weapons/hero/earthshaker/fist_swing3.wav"
}
"soundentry_version" "2"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_preattack_block_dist"
}
}
}

"Brewmaster_Fire.Attack"
{
"channel" "CHAN_WEAPON"
"volume" "1"
"soundlevel" "SNDLVL_75dB"
"pitch" "95,105"
"rndwave"
{
"wave" "weapons/hero/earthshaker/fist_swing_impact1.wav"
"wave" "weapons/hero/earthshaker/fist_swing_impact2.wav"
"wave" "weapons/hero/earthshaker/fist_swing_impact3.wav"
}
"soundentry_version" "2"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
}
}
}

For the sound cache Binary File, Gyrocopter has some hooks to sounds, and Lone Druid and Riki have had some changes to what sounds they play, and some more new music.


The new Strings:
"DOTA_Chat_Random" "%s1 has randomed %s2"
"DOTA_Chat_RD_YourTurn" "%s1's turn to pick"

"OS_Default_Device" "Windows Default Device"
"UI_DEFAULT_SPEAKERS" "Windows Speaker Config"
"UI_Speaker_Device" "SOUND DEVICE"

"DOTA_Tooltip_ability_warlock_fatal_bonds_duration"

"ui_teammatchmaking_view_team_button" "View Team"

"DOTA_Tooltip_modifier_luna_lunar_blessing_aura" "Lunar Blessing"
"DOTA_Tooltip_modifier_luna_lunar_blessing_aura_Description" "Increasing damage by %dMODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE%."

"DOTA_Hero_Selection_Filter_Suggestions" "TEAM'S SUGGESTIONS (%s1)"

"DOTA_Hero_Selection_PipTooltip_Carry" "Carry"
"DOTA_Hero_Selection_PipTooltip_Disabler" "Disabler"
"DOTA_Hero_Selection_PipTooltip_Babysitter" "Babysitter"
"DOTA_Hero_Selection_PipTooltip_Initiator" "Initiator"
"DOTA_Hero_Selection_PipTooltip_Jungler" "Jungler"
"DOTA_Hero_Selection_PipTooltip_Roamer" "Roamer"
"DOTA_Hero_Selection_PipTooltip_Tank" "Tank"

"DOTA_Hero_Selection_PipTooltip_Carry_Sub" "Very powerful in the later stages of the game."
"DOTA_Hero_Selection_PipTooltip_Disabler_Sub" "Can prevent enemy heroes from taking actions."
"DOTA_Hero_Selection_PipTooltip_Babysitter_Sub" "Good at protecting your team's Carries."
"DOTA_Hero_Selection_PipTooltip_Initiator_Sub" "Good at initiating combat with enemy heroes."
"DOTA_Hero_Selection_PipTooltip_Jungler_Sub" "Can farm effectively from neutral creeps inside the jungle."
"DOTA_Hero_Selection_PipTooltip_Roamer_Sub" "Good at roaming between lanes to assist in killing enemy heroes."
"DOTA_Hero_Selection_PipTooltip_Tank_Sub" "Able to withstand a significant amount of damage."

"pb_area_0" "1"
"pb_area_1" "2"
"pb_area_2" "3"
"pb_area_3" "4"
"pb_area_4" "5"

"UI_Speaker_Config" "SPEAKER CONFIG"

"loot_dropped" "Loot Dropped"

Minor updates to Lore


Lone Druid: 'Through the eons' changed to 'For millenia'

Weaver: Changed Keep to Keeping
 
So apparently there was a change to the MM algorithm last night. Anyone notice any differences?


Eric Tams
I made some changes to the matchmaker about an hour ago to try and improve game quality. Please let me know if you encounter any problems finding a match.

A few little things but the main change is trying to match tighter based on number of games played. We have a lot of new players so this should help new and established players have better games.
 
Gryocopters Script:
"lang"
{
"Language" "English"
"Tokens"
{
"gyrocopter_gyro_spawn_01" "gyrocopter: Gyrocopter!"
"gyrocopter_gyro_spawn_02" "gyrocopter: Let's go for a spin!"
"gyrocopter_gyro_spawn_03" "gyrocopter: Got 'er oiled up and loaded!"
"gyrocopter_gyro_spawn_04" "gyrocopter: I'll start the checklist."
"gyrocopter_gyro_spawn_05" "gyrocopter: Spin 'em up!"
"gyrocopter_gyro_spawn_06" "gyrocopter: Get yer rotors running!"
"gyrocopter_gyro_begins_01" "gyrocopter: So much for my reitrement!"
"gyrocopter_gyro_begins_02" "gyrocopter: So much for being retired..."
"gyrocopter_gyro_first_01" "gyrocopter: First blood! Now that's how it's done, kids! He he he he he!"
"gyrocopter_gyro_move_01" "gyrocopter: Sir!"
"gyrocopter_gyro_move_02" "gyrocopter: Sir!"
"gyrocopter_gyro_move_03" "gyrocopter: Yes, sir!"
"gyrocopter_gyro_move_04" "gyrocopter: Yes, sir!"
"gyrocopter_gyro_move_05" "gyrocopter: C'mon."
"gyrocopter_gyro_move_06" "gyrocopter: Yeah, yeah..."
"gyrocopter_gyro_move_07" "gyrocopter: Rotating!"
"gyrocopter_gyro_move_08" "gyrocopter: All systems nominal."
"gyrocopter_gyro_move_09" "gyrocopter: Got my bearings."
"gyrocopter_gyro_move_10" "gyrocopter: Trajectory confirmed."
"gyrocopter_gyro_move_11" "gyrocopter: Maneuvering."
"gyrocopter_gyro_move_12" "gyrocopter: Deploying."
"gyrocopter_gyro_move_13" "gyrocopter: Affirmative."
"gyrocopter_gyro_move_14" "gyrocopter: Affirmative!"
"gyrocopter_gyro_move_15" "gyrocopter: Bingo!"
"gyrocopter_gyro_move_16" "gyrocopter: Roger!"
"gyrocopter_gyro_move_17" "gyrocopter: Repositioning!"
"gyrocopter_gyro_move_18" "gyrocopter: Diverting!"
"gyrocopter_gyro_move_19" "gyrocopter: Wilco!"
"gyrocopter_gyro_move_20" "gyrocopter: Whassat?"
"gyrocopter_gyro_move_21" "gyrocopter: Whassat?"
"gyrocopter_gyro_move_22" "gyrocopter: Whassat?"
"gyrocopter_gyro_move_23" "gyrocopter: Whassat?"
"gyrocopter_gyro_move_24" "gyrocopter: Speak up!"
"gyrocopter_gyro_move_25" "gyrocopter: Quit yer mumblin'!"
"gyrocopter_gyro_move_26" "gyrocopter: What?"
"gyrocopter_gyro_move_27" "gyrocopter: Ahhyewewowewowilot…"
"gyrocopter_gyro_move_28" "gyrocopter: Bahsupizah…"
"gyrocopter_gyro_move_29" "gyrocopter: Meeeeoooooooowwwwnnn!"
"gyrocopter_gyro_move_30" "gyrocopter: Eeeooooownnn!"
"gyrocopter_gyro_move_31" "gyrocopter: Sshhhhhhzzzoooo!"
"gyrocopter_gyro_move_32" "gyrocopter: Mmmmmw!"
"gyrocopter_gyro_attack_01" "gyrocopter: Attack!"
"gyrocopter_gyro_attack_02" "gyrocopter: Attack!"
"gyrocopter_gyro_attack_03" "gyrocopter: Fangs out!"
"gyrocopter_gyro_attack_04" "gyrocopter: C'mon you whippersnapper!"
"gyrocopter_gyro_attack_05" "gyrocopter: Turn and burn!"
"gyrocopter_gyro_attack_06" "gyrocopter: Expect some turbulence."
"gyrocopter_gyro_attack_07" "gyrocopter: Got 'em!"
"gyrocopter_gyro_attack_08" "gyrocopter: Open fire!"
"gyrocopter_gyro_attack_09" "gyrocopter: I have visual!"
"gyrocopter_gyro_attack_10" "gyrocopter: Hostile identified."
"gyrocopter_gyro_attack_11" "gyrocopter: Cleared hot!"
"gyrocopter_gyro_attack_12" "gyrocopter: Engaging!"
"gyrocopter_gyro_attack_13" "gyrocopter: Engaging!"
"gyrocopter_gyro_attack_14" "gyrocopter: Locked and loaded!"
"gyrocopter_gyro_attack_15" "gyrocopter: C'mere you!"
"gyrocopter_gyro_attack_16" "gyrocopter: Ahyesuflaym…"
"gyrocopter_gyro_attack_17" "gyrocopter: Frasaquacker…"
"gyrocopter_gyro_attack_18" "gyrocopter: Gagagagagagaga!"
"gyrocopter_gyro_attack_19" "gyrocopter: Bang! Bang! Bang!"
"gyrocopter_gyro_cast_01" "gyrocopter: Gonna break your beak!"
"gyrocopter_gyro_cast_02" "gyrocopter: Incoming!"
"gyrocopter_gyro_cast_03" "gyrocopter: Heads up!"
"gyrocopter_gyro_rocket_barrage_01" "gyrocopter: Rocket barrage!"
"gyrocopter_gyro_rocket_barrage_02" "gyrocopter: Fireworks!"
"gyrocopter_gyro_rocket_barrage_03" "gyrocopter: A light show!"
"gyrocopter_gyro_rocket_barrage_04" "gyrocopter: Raining hell!"
"gyrocopter_gyro_rocket_barrage_05" "gyrocopter: Fire everything!"
"gyrocopter_gyro_rocket_barrage_06" "gyrocopter: Hah ha ha ha ha ha ha ha ha ha ha hah!"
"gyrocopter_gyro_homing_missile_fire_01" "gyrocopter: Sic 'em boy!"
"gyrocopter_gyro_homing_missile_fire_02" "gyrocopter: Firing and forgetting!"
"gyrocopter_gyro_homing_missile_fire_03" "gyrocopter: Fox two!"
"gyrocopter_gyro_homing_missile_fire_04" "gyrocopter: Here goes nothin'!"
"gyrocopter_gyro_homing_missile_fire_05" "gyrocopter: It caught the scent!"
"gyrocopter_gyro_homing_missile_fire_06" "gyrocopter: Dodge this!"
"gyrocopter_gyro_homing_missile_fire_07" "gyrocopter: I dare you to run!"
"gyrocopter_gyro_homing_missile_impact_01" "gyrocopter: Bullseye!"
"gyrocopter_gyro_homing_missile_impact_02" "gyrocopter: Bullseye!"
"gyrocopter_gyro_homing_missile_impact_03" "gyrocopter: Like thunder!"
"gyrocopter_gyro_homing_missile_impact_04" "gyrocopter: Contact!"
"gyrocopter_gyro_homing_missile_impact_05" "gyrocopter: Bet that hurt!"
"gyrocopter_gyro_homing_missile_impact_06" "gyrocopter: Boom! Ha ha!"
"gyrocopter_gyro_homing_missile_impact_07" "gyrocopter: That's what you get for running!"
"gyrocopter_gyro_homing_missile_impact_08" "gyrocopter: That's gotta hurt!"
"gyrocopter_gyro_homing_missile_impact_09" "gyrocopter: Next time hold still, it'll hurt less."
"gyrocopter_gyro_homing_missile_destroyed_01" "gyrocopter: Hmm, guess it was a dud!"
"gyrocopter_gyro_homing_missile_destroyed_02" "gyrocopter: Lucky!"
"gyrocopter_gyro_homing_missile_destroyed_03" "gyrocopter: Not the boom I was hoping for!"
"gyrocopter_gyro_homing_missile_destroyed_04" "gyrocopter: Worthless."
"gyrocopter_gyro_homing_missile_destroyed_05" "gyrocopter: Ah, keep it."
"gyrocopter_gyro_homing_missile_destroyed_06" "gyrocopter: Eh, fox five."
"gyrocopter_gyro_flak_cannon_01" "gyrocopter: Got enough bullets for all a'ya!"
"gyrocopter_gyro_flak_cannon_02" "gyrocopter: Weapons free!"
"gyrocopter_gyro_flak_cannon_03" "gyrocopter: Here, have some holes!"
"gyrocopter_gyro_flak_cannon_04" "gyrocopter: Making it rain."
"gyrocopter_gyro_flak_cannon_05" "gyrocopter: It's raining bullets!"
"gyrocopter_gyro_flak_cannon_06" "gyrocopter: I'm the rainmaker!"
"gyrocopter_gyro_flak_cannon_07" "gyrocopter: Bullet time."
"gyrocopter_gyro_flak_cannon_08" "gyrocopter: The meatgrinder."
"gyrocopter_gyro_flak_cannon_09" "gyrocopter: Something for everybody!"
"gyrocopter_gyro_call_down_01" "gyrocopter: And a one! And a… two!"
"gyrocopter_gyro_call_down_02" "gyrocopter: Meet my friends: Pain... And Agony!"
"gyrocopter_gyro_call_down_03" "gyrocopter: Wait for it... There we go!"
"gyrocopter_gyro_call_down_04" "gyrocopter: Take that! … And that!"
"gyrocopter_gyro_call_down_05" "gyrocopter: Launch!"
"gyrocopter_gyro_call_down_06" "gyrocopter: Detect this!"
"gyrocopter_gyro_call_down_07" "gyrocopter: The sky is falling!"
"gyrocopter_gyro_call_down_08" "gyrocopter: Look up!"
"gyrocopter_gyro_call_down_09" "gyrocopter: Fore!"
"gyrocopter_gyro_call_down_10" "gyrocopter: Ha! Frozen like a deer on the road!"
"gyrocopter_gyro_call_down_11" "gyrocopter: What happened? Your legs not working?"
"gyrocopter_gyro_call_down_12" "gyrocopter: Well that'll teach you to hold still!"
"gyrocopter_gyro_call_down_13" "gyrocopter: How did I miss them twice?"
"gyrocopter_gyro_call_down_14" "gyrocopter: Eh? Where'd they go?"
"gyrocopter_gyro_call_down_15" "gyrocopter: Oughtta lead the target next time!"
"gyrocopter_gyro_failure_01" "gyrocopter: Dammit!"
"gyrocopter_gyro_failure_02" "gyrocopter: Aw, they broke lock!"
"gyrocopter_gyro_failure_03" "gyrocopter: Aaah phooey."
"gyrocopter_gyro_level_01" "gyrocopter: Think I caught an updraft!"
"gyrocopter_gyro_level_02" "gyrocopter: Smooth sailing!"
"gyrocopter_gyro_level_03" "gyrocopter: Flying the friendly skies."
"gyrocopter_gyro_level_04" "gyrocopter: And they call me old timer."
"gyrocopter_gyro_level_05" "gyrocopter: I ain't old yet!"
"gyrocopter_gyro_level_06" "gyrocopter: Hey! I fixed that knocking sound!"
"gyrocopter_gyro_level_07" "gyrocopter: I think I can raise my altitude now!"
"gyrocopter_gyro_level_08" "gyrocopter: The sky's the limit! I think..."
"gyrocopter_gyro_level_09" "gyrocopter: Up and away!"
"gyrocopter_gyro_level_10" "gyrocopter: This bucket of bolts still has a few surprises in her!"
"gyrocopter_gyro_level_11" "gyrocopter: Caught my second wind!"
"gyrocopter_gyro_level_12" "gyrocopter: Ah, I wonder if this thing can do a barrel roll."
"gyrocopter_gyro_level_13" "gyrocopter: He he he he he he he he he he he he he he!"
"gyrocopter_gyro_kill_01" "gyrocopter: Stay outta my skies!"
"gyrocopter_gyro_kill_02" "gyrocopter: I belong in the sky, and you belong in the ground."
"gyrocopter_gyro_kill_03" "gyrocopter: I am dangerous!"
"gyrocopter_gyro_kill_04" "gyrocopter: And stay down."
"gyrocopter_gyro_kill_05" "gyrocopter: Enjoy your nap!"
"gyrocopter_gyro_kill_06" "gyrocopter: Pfft. Kids."
"gyrocopter_gyro_kill_07" "gyrocopter: Ratatatatatatat!"
"gyrocopter_gyro_kill_08" "gyrocopter: Ha! Let's do that again!"
"gyrocopter_gyro_kill_09" "gyrocopter: Throttle back, hotshot."
"gyrocopter_gyro_kill_10" "gyrocopter: That worked? That worked!"
"gyrocopter_gyro_kill_11" "gyrocopter: Force me into retirement will they?"
"gyrocopter_gyro_kill_12" "gyrocopter: Ha ha haaaah!"
"gyrocopter_gyro_kill_13" "gyrocopter: Ha-ha haaah!"
"gyrocopter_gyro_kill_14" "gyrocopter: You remind of someone."
"gyrocopter_gyro_kill_15" "gyrocopter: That'll learn ya!"
"gyrocopter_gyro_kill_16" "gyrocopter: You remind me of my old boss. Rot in hell!"
"gyrocopter_gyro_kill_17" "gyrocopter: He he he he! I still got it!"
"gyrocopter_gyro_rival_01" "gyrocopter: Only enough room in these skies for one lunatic, Bats!"
"gyrocopter_gyro_rival_02" "gyrocopter: Shame you didn't have two crash helmets!"
"gyrocopter_gyro_rival_03" "gyrocopter: And they call me a buzzard!"
"gyrocopter_gyro_rival_04" "gyrocopter: Did your arms get tired, Dragon Knight?"
"gyrocopter_gyro_rival_05" "gyrocopter: Ah go waste your omens on someone younger."
"gyrocopter_gyro_rival_06" "gyrocopter: So that's what you were warning me about."
"gyrocopter_gyro_rival_07" "gyrocopter: Ha! Beat you to it Phoenix!"
"gyrocopter_gyro_rival_08" "gyrocopter: Those scopes are no match for my view!"
"gyrocopter_gyro_rival_09" "gyrocopter: Too bad Tinker. You're my kind of nut!"
"gyrocopter_gyro_rival_10" "gyrocopter: All those gears don't work so well with rockets lodged in 'em, huh?"
"gyrocopter_gyro_rival_11" "gyrocopter: Hey Techies, next time try launching your explosives!"
"gyrocopter_gyro_rival_12" "gyrocopter: Next time try launching your explosives!"
"gyrocopter_gyro_rival_13" "gyrocopter: A hundred times my age and you're still a fool!"
"gyrocopter_gyro_rival_14" "gyrocopter: Consider that an intervention!"
"gyrocopter_gyro_rival_15" "gyrocopter: Ah keep your sparks to yourself!"
"gyrocopter_gyro_rival_16" "gyrocopter: Well I suppose that's one way to clear the air."
"gyrocopter_gyro_rival_17" "gyrocopter: Slither your way outta that!"
"gyrocopter_gyro_rival_18" "gyrocopter: Your hair gives me the creeps!"
"gyrocopter_gyro_ally_01" "gyrocopter: Holy shit, it's Viper!"
"gyrocopter_gyro_ally_02" "gyrocopter: Be my wingman, Batrider!"
"gyrocopter_gyro_ally_03" "gyrocopter: Heh hey, it's Jakiro! And Jakiro's copilot."
"gyrocopter_gyro_ally_04" "gyrocopter: Hell of a flying machine you got there Dragon Knight!"
"gyrocopter_gyro_ally_05" "gyrocopter: Outworld eh? Ah, can't say as I've been there."
"gyrocopter_gyro_ally_06" "gyrocopter: Whatever you do Phoenix, don't sneeze."
"gyrocopter_gyro_ally_07" "gyrocopter: Pour on the heat, Phoenix!"
"gyrocopter_gyro_ally_08" "gyrocopter: Can I borrow some powder, Sniper."
"gyrocopter_gyro_lasthit_01" "gyrocopter: Flying ain't cheap!"
"gyrocopter_gyro_lasthit_02" "gyrocopter: Kill confirmed."
"gyrocopter_gyro_lasthit_03" "gyrocopter: Kill confirmed."
"gyrocopter_gyro_lasthit_04" "gyrocopter: Hot damn!"
"gyrocopter_gyro_lasthit_05" "gyrocopter: They're like ants from up here."
"gyrocopter_gyro_lasthit_06" "gyrocopter: Youngin'."
"gyrocopter_gyro_lasthit_07" "gyrocopter: C'mon, I barely breezd you."
"gyrocopter_gyro_lasthit_08" "gyrocopter: That wasn't even the good ammo!"
"gyrocopter_gyro_lasthit_09" "gyrocopter: There's my pension."
"gyrocopter_gyro_lasthit_10" "gyrocopter: Boola-boola!"
"gyrocopter_gyro_death_01" "gyrocopter: No!"
"gyrocopter_gyro_death_02" "gyrocopter: No!"
"gyrocopter_gyro_death_03" "gyrocopter: Uha uha hh, uuha uha hh…"
"gyrocopter_gyro_death_04" "gyrocopter: Got a loose nut behind the cyclic..."
"gyrocopter_gyro_death_05" "gyrocopter: Mayday! Mayday!"
"gyrocopter_gyro_death_06" "gyrocopter: Grounded."
"gyrocopter_gyro_death_07" "gyrocopter: Lost rotor control!"
"gyrocopter_gyro_death_08" "gyrocopter: Rough air ahead!"
"gyrocopter_gyro_death_09" "gyrocopter: We have uh oh, over."
"gyrocopter_gyro_death_10" "gyrocopter: Damn kids!"
"gyrocopter_gyro_death_11" "gyrocopter: I think I swallowed a bug. Oh!"
"gyrocopter_gyro_death_12" "gyrocopter: I regret nothing!"
"gyrocopter_gyro_death_13" "gyrocopter: Oh no! Not again!"
"gyrocopter_gyro_death_14" "gyrocopter: Um. Shit."
"gyrocopter_gyro_death_15" "gyrocopter: Eject! Eject!"
"gyrocopter_gyro_death_16" "gyrocopter: Um. Shit!"
"gyrocopter_gyro_death_17" "gyrocopter: Ah! You sons of bitches!"
"gyrocopter_gyro_fastres_01" "gyrocopter: You can't keep me grounded!"
"gyrocopter_gyro_respawn_01" "gyrocopter: You can't keep a good pilot down!"
"gyrocopter_gyro_respawn_02" "gyrocopter: Back in the air!"
"gyrocopter_gyro_respawn_03" "gyrocopter: All patched up."
"gyrocopter_gyro_respawn_04" "gyrocopter: Hey, any crash you can walk away from is a good one!"
"gyrocopter_gyro_respawn_05" "gyrocopter: Dustoff!"
"gyrocopter_gyro_respanw_06" "gyrocopter: Back from retirement!"
"gyrocopter_gyro_respawn_07" "gyrocopter: Sky-worthy once more!"
"gyrocopter_gyro_respawn_08" "gyrocopter: Ancient, this is Gyrocopter requesting a flyby."
"gyrocopter_gyro_respawn_09" "gyrocopter: At home in the clouds."
"gyrocopter_gyro_respawn_10" "gyrocopter: Whew! I was on the ground for a second there."
"gyrocopter_gyro_respawn_11" "gyrocopter: Reloaded and ready."
"gyrocopter_gyro_respawn_12" "gyrocopter: I'm getting too old for this horse shit."
"gyrocopter_gyro_purch_01" "gyrocopter: Well it's nice, but it's not a beanie."
"gyrocopter_gyro_purch_02" "gyrocopter: There goes my pension."
"gyrocopter_gyro_purch_03" "gyrocopter: Huh. Stuff costs more than it used to."
"gyrocopter_gyro_blink_01" "gyrocopter: Blink Dagger!"
"gyrocopter_gyro_blink_02" "gyrocopter: The skies are mine!"
"gyrocopter_gyro_scepter_01" "gyrocopter: Ah! Scepter!"
"gyrocopter_gyro_scepter_02" "gyrocopter: A new airstrike beacon!"
"gyrocopter_gyro_bottle_01" "gyrocopter: Stowed for later!"
"gyrocopter_gyro_bottle_02" "gyrocopter: Luggage."
"gyrocopter_gyro_bottle_03" "gyrocopter: I love souvineers."
"gyrocopter_gyro_deny_01" "gyrocopter: Denied!"
"gyrocopter_gyro_deny_02" "gyrocopter: Denied!"
"gyrocopter_gyro_deny_03" "gyrocopter: Uh-uh-uh!"
"gyrocopter_gyro_deny_04" "gyrocopter: Uh-uh!"
"gyrocopter_gyro_deny_05" "gyrocopter: Get off my lawn!"
"gyrocopter_gyro_deny_06" "gyrocopter: You can't have it!"
"gyrocopter_gyro_deny_07" "gyrocopter: Mine!"
"gyrocopter_gyro_deny_08" "gyrocopter: Mine I say! It's mine!"
"gyrocopter_gyro_deny_09" "gyrocopter: This ain't yours!"
"gyrocopter_gyro_deny_10" "gyrocopter: Ha ha ha!"
"gyrocopter_gyro_deny_11" "gyrocopter: Denied."
"gyrocopter_gyro_deny_12" "gyrocopter: Denied!"
"gyrocopter_gyro_deny_13" "gyrocopter: Mahhh denied!"
"gyrocopter_gyro_deny_14" "gyrocopter: Denied!"
"gyrocopter_gyro_defeat_01" "gyrocopter: No!"
"gyrocopter_gyro_defeat_02" "gyrocopter: Defeated!"
"gyrocopter_gyro_defeat_03" "gyrocopter: Well, back to the drawing board..."
"gyrocopter_gyro_victory_01" "gyrocopter: Yes!"
"gyrocopter_gyro_victory_02" "gyrocopter: Victory!"
"gyrocopter_gyro_victory_03" "gyrocopter: Great! We won! Now leave me alone."
"gyrocopter_gyro_victory_04" "gyrocopter: He he! Mission accomplished!"
"gyrocopter_gyro_missing_01" "gyrocopter: Missing top!"
"gyrocopter_gyro_missing_02" "gyrocopter: Missing middle!"
"gyrocopter_gyro_missing_03" "gyrocopter: Missing bottom!"
"gyrocopter_gyro_immort_01" "gyrocopter: Immortality!"
"gyrocopter_gyro_immort_02" "gyrocopter: Engineering genius!"
"gyrocopter_gyro_haste_01" "gyrocopter: Haste!"
"gyrocopter_gyro_haste_02" "gyrocopter: Afterburners!"
"gyrocopter_gyro_regen_01" "gyrocopter: Regeneration!"
"gyrocopter_gyro_regen_02" "gyrocopter: Repairs in a jiff!"
"gyrocopter_gyro_illus_01" "gyrocopter: Illusion!"
"gyrocopter_gyro_illus_02" "gyrocopter: As fragged, plus three!"
"gyrocopter_gyro_illus_03" "gyrocopter: Attack formation!"
"gyrocopter_gyro_invis_01" "gyrocopter: Invisibility!"
"gyrocopter_gyro_invis_02" "gyrocopter: Silent running."
"gyrocopter_gyro_notyet_01" "gyrocopter: Not yet."
"gyrocopter_gyro_notyet_02" "gyrocopter: Not yet."
"gyrocopter_gyro_notyet_03" "gyrocopter: Not yet!"
"gyrocopter_gyro_notyet_04" "gyrocopter: I'm not ready."
"gyrocopter_gyro_notyet_05" "gyrocopter: I'm not ready."
"gyrocopter_gyro_notyet_06" "gyrocopter: I'm not ready!"
"gyrocopter_gyro_notyet_07" "gyrocopter: It is not time yet."
"gyrocopter_gyro_notyet_08" "gyrocopter: It's not time yet!"
"gyrocopter_gyro_notyet_09" "gyrocopter: It's not time yet!"
"gyrocopter_gyro_nomana_01" "gyrocopter: Out of mana."
"gyrocopter_gyro_nomana_02" "gyrocopter: Out of mana."
"gyrocopter_gyro_nomana_03" "gyrocopter: Out of mana!"
"gyrocopter_gyro_nomana_04" "gyrocopter: No mana."
"gyrocopter_gyro_nomana_05" "gyrocopter: Eh no mana."
"gyrocopter_gyro_nomana_06" "gyrocopter: No mana!"
"gyrocopter_gyro_nomana_07" "gyrocopter: Not enough mana."
"gyrocopter_gyro_nomana_08" "gyrocopter: Not enough mana."
"gyrocopter_gyro_nomana_09" "gyrocopter: Not enough mana!"
"gyrocopter_gyro_thanks_01" "gyrocopter: Thanks!"
"gyrocopter_gyro_thanks_02" "gyrocopter: Thanks from above."
"gyrocopter_gyro_underattack_01" "gyrocopter: I'm under attack!"
"gyrocopter_gyro_inthebag_01" "gyrocopter: It's in the bag. Then I'm going home."
"gyrocopter_gyro_crumwiz_01" "gyrocopter: Crummy wizard!"
"gyrocopter_gyro_pain_01" "gyrocopter: Neh!"
"gyrocopter_gyro_pain_02" "gyrocopter: Doh!"
"gyrocopter_gyro_pain_03" "gyrocopter: Ey!"
"gyrocopter_gyro_pain_04" "gyrocopter: Ah!"
"gyrocopter_gyro_pain_05" "gyrocopter: Huh!"
"gyrocopter_gyro_pain_06" "gyrocopter: Ooo!"
"gyrocopter_gyro_pain_07" "gyrocopter: Dah!"
"gyrocopter_gyro_pain_08" "gyrocopter: Eeaah!"
"gyrocopter_gyro_pain_09" "gyrocopter: Hoooh no!"
"gyrocopter_gyro_pain_10" "gyrocopter: Aaaaoow!"
"gyrocopter_gyro_anger_01" "gyrocopter: Nyeehh."
"gyrocopter_gyro_anger_02" "gyrocopter: Mmmmmph!"
"gyrocopter_gyro_anger_03" "gyrocopter: Eysupenmbans!"
"gyrocopter_gyro_anger_04" "gyrocopter: Yaah!"
"gyrocopter_gyro_anger_05" "gyrocopter: Huh."
"gyrocopter_gyro_anger_06" "gyrocopter: Rrrr!"
"gyrocopter_gyro_anger_07" "gyrocopter: Why you rrr!"
"gyrocopter_gyro_anger_08" "gyrocopter: Yeooooww!"
"gyrocopter_gyro_anger_09" "gyrocopter: Heyurbrz!"
"gyrocopter_gyro_happy_01" "gyrocopter: Ooooahhh!"
"gyrocopter_gyro_happy_02" "gyrocopter: Eh he heeooo!"
"gyrocopter_gyro_happy_03" "gyrocopter: Ahh!"
"gyrocopter_gyro_happy_04" "gyrocopter: Ah that's the stuff."
"gyrocopter_gyro_happy_05" "gyrocopter: Ohh!"
"gyrocopter_gyro_happy_06" "gyrocopter: Aaah!"
"gyrocopter_gyro_happy_07" "gyrocopter: Aaahh!"
"gyrocopter_gyro_laugh_01" "gyrocopter: He he he!"
"gyrocopter_gyro_laugh_02" "gyrocopter: He he he he!"
"gyrocopter_gyro_laugh_03" "gyrocopter: Ah he he he!"
"gyrocopter_gyro_laugh_04" "gyrocopter: Ah ha!"
"gyrocopter_gyro_laugh_05" "gyrocopter: Wah ha!"
"gyrocopter_gyro_laugh_06" "gyrocopter: Ha!"
"gyrocopter_gyro_laugh_07" "gyrocopter: Ho!"
"gyrocopter_gyro_laugh_08" "gyrocopter: Ha ha!"
"gyrocopter_gyro_laugh_09" "gyrocopter: Ho ho ho!"
"gyrocopter_gyro_laugh_10" "gyrocopter: Eh he he he he he he he!"
"gyrocopter_gyro_laugh_11" "gyrocopter: Ah ha! Wah haha ha ha! Ah ha hhuh."
"gyrocopter_gyro_laugh_12" "gyrocopter: Ahh huh! Eh! Ah ha ha!"
}
}
 
Good to see you can now change sound device in game, and now it mutes the game again when you alt tab.
 
More new strings in text file:
"General.Illusion.Create"
{
"channel" "CHAN_STATIC"
"volume" "0.4"
"soundlevel" "SNDLVL_81dB"
"pitch" "95, 105"
"wave" ")misc/morph_in.wav"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
}
}
}

"General.Illusion.Destroy"
{
"channel" "CHAN_STATIC"
"volume" "1.0"
"soundlevel" "SNDLVL_81dB"
"wave" ")misc/morph_out.wav"
"operator_stacks"
{
"start_stack"
{
"import_stack" "dota_attack_block_dist"
}
}
}

"DOTAMusic.gamestartup" //this entry is just to make sure the wav file gets refernced in the manifest
{
"channel" "CHAN_AUTO"
"volume" "1"
"soundlevel" "SNDLVL_NONE"
"wave" "music\gamestartup1.wav"
}

"state_gank_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_ganker"
}

"gank_music_delta"
{
"operator" "math_delta"
"input" "@state_gank_music_request_opvar.output"
}

"gank_music_delta_compare"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "not_equal"
"input1" "@gank_music_delta.output"
"input2" "0.0"
}

"gank_music_delta_compare_and"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "min"
"input1" "@gank_music_delta_compare.output"
"input2" "@get_debug_printing_opvar.output"
}

//Gank Player

"gank_music_value_compare"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "greater_than"
"input1" "@state_gank_music_request_opvar.output"
"input2" "0.15"
}

"gank_music_player_compare_and"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "min"
"input1" "@gank_music_delta_compare.output"
"input2" "@gank_music_value_compare.output"
}

"gank_music_player" //play
{
"input_execute" "@gank_music_player_compare_and.output"
"operator" "sys_start_entry"
"execute_once" "false"
"input_start" "1"
"entry_name" "DOTAMusic.StateGankMusic" //Replace with the sound you want to play.
}

"**************GANK_MUSIC_PRCT**************" //print the smooth val
{
"input_execute" "@gank_music_delta_compare_and.output"
"operator" "util_print_float"
"input" "@state_gank_music_request_opvar.output"
}
//BLOCKEND

//BLOCKSTART //GANKED MUSIC STATE
////////////////////////////////////
// STATE: Ganked Music /////////////
////////////////////////////////////
"state_ganked_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_gank"
}

"ganked_music_delta"
{
"operator" "math_delta"
"input" "@state_ganked_music_request_opvar.output"
}

"ganked_music_delta_compare"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "not_equal"
"input1" "@ganked_music_delta.output"
"input2" "0.0"
}

"ganked_music_delta_compare_and"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "min"
"input1" "@ganked_music_delta_compare.output"
"input2" "@get_debug_printing_opvar.output"
}

//Ganked Player

"ganked_music_value_compare"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "greater_than"
"input1" "@state_ganked_music_request_opvar.output"
"input2" "0.15"
}

"ganked_music_player_compare_and"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "min"
"input1" "@ganked_music_delta_compare.output"
"input2" "@ganked_music_value_compare.output"
}

"ganked_music_player" //play
{
"input_execute" "@ganked_music_player_compare_and.output"
"operator" "sys_start_entry"
"execute_once" "false"
"input_start" "1"
"entry_name" "DOTAMusic.StateGankedMusic" //Replace with the sound you want to play.
}



"**************GANKED_MUSIC_PRCT**************" //print the smooth val
{
"input_execute" "@ganked_music_delta_compare_and.output"
"operator" "util_print_float"
"input" "@state_ganked_music_request_opvar.output"
}


"stop_death_track"
{
"operator" "track_stop"
"track_name" "dead"
}



"DOTAMusic_Hero.BuyBackOther" //other buys back
{
"channel" "CHAN_AUTO"
"volume" ".75"
"soundlevel" "SNDLVL_NONE"
"pitch" "PITCH_NORM"

"wave" "#music/stingers/DotA2_Music_Stinger_010.mp3"
"soundentry_version" "2"
"operator_stacks"
{
"soundentry_operator_data"
{
"track_data"
{
"start_point" "0.00"
"track_name" "buyback"
"track_priority" "60"
}
}

"start_stack"
{

"get_debug_printing_opvar"
{
"operator" "get_opvar_float"
"opvar" "debug_print_music"
}

"**************BUYBACK OTHER MUSIC STARTED**************"
{
"execute_once" "false"
"input_execute" "@get_debug_printing_opvar.output"
"operator" "util_print_float"
"input" "1.0"
}
}

"update_stack"
{
"import_stack" "dota_update_default"
"mixer"
{
"mixgroup" "Stingers"
}
"speakers_spatialize"
{
"input_radius" "1000"
}
"update_track"
{
"operator" "track_update"
// "autoqueue_entry_at_end_point" "DOTAMusic.StateExploreMusic"
"stop_channel_on_track" "true"
}
}

"stop_stack"
{
"get_debug_printing_opvar"
{
"operator" "get_opvar_float"
"opvar" "debug_print_music"
}

"**************BUYBACK OTHER MUSIC KILLED**************"
{
"execute_once" "false"
"input_execute" "@get_debug_printing_opvar.output"
"operator" "util_print_float"
"input" "1.0"
}
}
}
}


"DOTAMusic.StateGankedMusic"
{
"channel" "CHAN_STATIC"
"volume" "0.1"
"soundlevel" "SNDLVL_NONE"
"wave" "music\null.wav"

"operator_stacks"
{
"start_stack"
{

"gank_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_gank"
}

"gank_music_sm_compare_less"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "less_than"
"input1" "@gank_music_request_opvar.output"
"input2" "0.45"
}

"gank_music_md_compare_greater"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "greater_than_or_equal"
"input1" "@gank_music_request_opvar.output"
"input2" "0.45"
}

"gank_music_md_compare_less"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "less_than"
"input1" "@gank_music_request_opvar.output"
"input2" "0.8"
}

"gank_music_md_compare_min"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "min"
"input1" "@gank_music_md_compare_greater.output"
"input2" "@gank_music_md_compare_less.output"
}

"gank_music_lg_compare_greater"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "greater_than_or_equal"
"input1" "@gank_music_request_opvar.output"
"input2" "0.8"
}

"play_ganked_entry_sm" //play
{
"input_execute" "@gank_music_sm_compare_less.output"
"operator" "sys_start_entry"
"execute_once" "false"
"input_start" "1"
"entry_name" "DOTAMusic.GankedMusicSm" //Replace with the sound you want to play.
}

"play_ganked_entry_md" //play
{
"input_execute" "@gank_music_md_compare_min.output"
"operator" "sys_start_entry"
"execute_once" "false"
"input_start" "1"
"entry_name" "DOTAMusic.GankedMusicMd" //Replace with the sound you want to play.
}

"play_ganked_entry_lg" //play
{
"input_execute" "@gank_music_lg_compare_greater.output"
"operator" "sys_start_entry"
"execute_once" "false"
"input_start" "1"
"entry_name" "DOTAMusic.GankedMusicLg" //Replace with the sound you want to play.
}

"get_debug_printing_opvar"
{
"operator" "get_opvar_float"
"opvar" "debug_print_music"
}

"**************GANKED_MUSIC_REQUESTED**************" //print the smooth val
{
"input_execute" "@get_debug_printing_opvar.output"
"operator" "util_print_float"
"input" "@gank_music_request_opvar.output"
}

"block_ganked_entries"
{
"operator" "sys_block_entries"
"input_active" "1.0"
"input_duration" "10.0"
"match_substring" "false"
"match_entry" "DOTAMusic.StateGankedMusic"
"match_channel" "false"
"match_entity" "false"
}
}
}
}

"DOTAMusic.GankedMusicSm"
{
"channel" "CHAN_STATIC"
"volume" "1.0"
"soundlevel" "SNDLVL_NONE"
"rndwave"
{
"wave" "music\stingers\gank_sm_01.mp3"
"wave" "music\stingers\gank_sm_02.mp3"
}

"operator_stacks"
{
"update_stack"
{
"gank_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_gank"
}

"remap_gank_opvar_value"
{
"operator" "math_curve_2d_4knot"
"curve_type" "linear"
"input" "@gank_music_request_opvar.output"
"input_X1" "0.0"
"input_Y1" "0.0"
"input_X2" "0.15"
"input_Y2" "0.25"
"input_X3" "0.3"
"input_Y3" "0.6"
"input_X4" "0.45"
"input_Y4" "1.0"
}

"import_stack" "dota_update_default"

"volume_accumulate"
{
"input12" "@remap_gank_opvar_value.output"
}
}
}
}

"DOTAMusic.GankedMusicMd"
{
"channel" "CHAN_STATIC"
"volume" "1.0"
"soundlevel" "SNDLVL_NONE"
"wave" "music\null.wav"
"wave" "music\stingers\gank_md_01.mp3"

"operator_stacks"
{
"update_stack"
{
"gank_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_gank"
}

"remap_gank_opvar_value"
{
"operator" "math_curve_2d_4knot"
"curve_type" "linear"
"input" "@gank_music_request_opvar.output"
"input_X1" "0.45"
"input_Y1" "0.25"
"input_X2" "0.65"
"input_Y2" "0.5"
"input_X3" "0.7"
"input_Y3" "0.7"
"input_X4" "0.8"
"input_Y4" "1.0"
}

"import_stack" "dota_update_default"

"volume_accumulate"
{
"input12" "@remap_gank_opvar_value.output"
}
}
}
}

"DOTAMusic.GankedMusicLg"
{
"channel" "CHAN_STATIC"
"volume" "1.0"
"soundlevel" "SNDLVL_NONE"
"wave" "music\stingers\gank_lg_01.mp3"

"operator_stacks"
{
"update_stack"
{
"gank_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_ganker"
}

"remap_gank_opvar_value"
{
"operator" "math_curve_2d_4knot"
"curve_type" "linear"
"input" "@gank_music_request_opvar.output"
"input_X1" "0.8"
"input_Y1" "0.25"
"input_X2" "0.9"
"input_Y2" "0.5"
"input_X3" "1.0"
"input_Y3" "1.0"
"input_X4" "1.0"
"input_Y4" "1.0"
}

"import_stack" "dota_update_default"

"volume_accumulate"
{
"input12" "@remap_gank_opvar_value.output"
}
}
}
}

"DOTAMusic.StateGankMusic"
{
"channel" "CHAN_STATIC"
"volume" "0.1"
"soundlevel" "SNDLVL_NONE"
"wave" "music\null.wav"

"operator_stacks"
{
"start_stack"
{

"gank_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_ganker"
}

"gank_music_sm_compare_less"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "less_than"
"input1" "@gank_music_request_opvar.output"
"input2" "0.45"
}

"gank_music_md_compare_greater"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "greater_than_or_equal"
"input1" "@gank_music_request_opvar.output"
"input2" "0.45"
}

"gank_music_md_compare_less"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "less_than"
"input1" "@gank_music_request_opvar.output"
"input2" "0.8"
}

"gank_music_md_compare_min"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "min"
"input1" "@gank_music_md_compare_greater.output"
"input2" "@gank_music_md_compare_less.output"
}

"gank_music_lg_compare_greater"
{
"input_execute" "1.0"
"operator" "math_float"
"apply" "greater_than_or_equal"
"input1" "@gank_music_request_opvar.output"
"input2" "0.8"
}

"play_ganked_entry_sm" //play
{
"input_execute" "@gank_music_sm_compare_less.output"
"operator" "sys_start_entry"
"execute_once" "false"
"input_start" "1"
"entry_name" "DOTAMusic.GankMusicSm" //Replace with the sound you want to play.
}

"play_ganked_entry_md" //play
{
"input_execute" "@gank_music_md_compare_min.output"
"operator" "sys_start_entry"
"execute_once" "false"
"input_start" "1"
"entry_name" "DOTAMusic.GankMusicMd" //Replace with the sound you want to play.
}

"play_ganked_entry_lg" //play
{
"input_execute" "@gank_music_lg_compare_greater.output"
"operator" "sys_start_entry"
"execute_once" "false"
"input_start" "1"
"entry_name" "DOTAMusic.GankMusicLg" //Replace with the sound you want to play.
}

"get_debug_printing_opvar"
{
"operator" "get_opvar_float"
"opvar" "debug_print_music"
}

"**************GANK_MUSIC_REQUESTED**************" //print the smooth val
{
"input_execute" "@get_debug_printing_opvar.output"
"operator" "util_print_float"
"input" "@gank_music_request_opvar.output"
}

"block_gank_entries"
{
"operator" "sys_block_entries"
"input_active" "1.0"
"input_duration" "10.0"
"match_substring" "false"
"match_entry" "DOTAMusic.StateGankMusic"
"match_channel" "false"
"match_entity" "false"
}
}
}
}

"DOTAMusic.GankMusicSm" //0.15 - 0.45
{
"channel" "CHAN_STATIC"
"volume" "1.0"
"soundlevel" "SNDLVL_NONE"
"rndwave"
{
"wave" "music\stingers\gank_sm_01.mp3"
"wave" "music\stingers\gank_sm_02.mp3"
}

"operator_stacks"
{
"update_stack"
{
"gank_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_ganker"
}

"remap_gank_opvar_value"
{
"operator" "math_curve_2d_4knot"
"curve_type" "linear"
"input" "@gank_music_request_opvar.output"
"input_X1" "0.0"
"input_Y1" "0.0"
"input_X2" "0.15"
"input_Y2" "0.25"
"input_X3" "0.3"
"input_Y3" "0.6"
"input_X4" "0.45"
"input_Y4" "1.0"
}

"import_stack" "dota_update_default"

"volume_accumulate"
{
"input12" "@remap_gank_opvar_value.output"
}
}
}
}

"DOTAMusic.GankMusicMd" //0.45 - 0.8
{
"channel" "CHAN_STATIC"
"volume" "1.0"
"soundlevel" "SNDLVL_NONE"
"wave" "music\stingers\gank_md_01.mp3"

"operator_stacks"
{
"update_stack"
{
"gank_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_ganker"
}

"remap_gank_opvar_value"
{
"operator" "math_curve_2d_4knot"
"curve_type" "linear"
"input" "@gank_music_request_opvar.output"
"input_X1" "0.45"
"input_Y1" "0.25"
"input_X2" "0.65"
"input_Y2" "0.5"
"input_X3" "0.7"
"input_Y3" "0.7"
"input_X4" "0.8"
"input_Y4" "1.0"
}

"import_stack" "dota_update_default"

"volume_accumulate"
{
"input12" "@remap_gank_opvar_value.output"
}
}
}
}

"DOTAMusic.GankMusicLg" //0.8 - 1.0
{
"channel" "CHAN_STATIC"
"volume" "1.0"
"soundlevel" "SNDLVL_NONE"
"wave" "music\stingers\gank_lg_01.mp3"

"operator_stacks"
{
"update_stack"
{
"gank_music_request_opvar"
{
"operator" "get_opvar_float"
"opvar" "music_probability_ganker"
}

"remap_gank_opvar_value"
{
"operator" "math_curve_2d_4knot"
"curve_type" "linear"
"input" "@gank_music_request_opvar.output"
"input_X1" "0.8"
"input_Y1" "0.25"
"input_X2" "0.9"
"input_Y2" "0.5"
"input_X3" "1.0"
"input_Y3" "1.0"
"input_X4" "1.0"
"input_Y4" "1.0"
}

"import_stack" "dota_update_default"

"volume_accumulate"
{
"input12" "@remap_gank_opvar_value.output"
}
}
}
}

Look like now if someone is saying "It not a gank if x", we can use "Did the ganking music play" as a way to determine who is correct :o


Also, some minor changes to SK's sounds, not sure if we would be able to notice them or not though.
 
New strings related to cosmetic items (Mostly the defalut stuff):
"104"
{
"name" "Meepo weapon"
"prefab" "dota_default_item"
"item_type_name" "#DOTA_WearableType_weapon"
"item_name" "#DOTA_Item_Meepo_weapon"
"item_description" "#DOTA_Item_Desc_Unnamed_New_Item"
"image_inventory" "econ/testitem_slot_empty"
"used_by_heroes"
{
"npc_dota_hero_meepo" "1"
}
"model_player" "models/heroes/meepo/meepo_weapon.mdl"
}
"105"
{
"name" "Ogremagi weapon"
"prefab" "dota_default_item"
"item_type_name" "#DOTA_WearableType_Unnamed_New_Item"
"item_name" "#DOTA_Item_Ogremagi_weapon"
"item_description" "#DOTA_Item_Desc_Copy_of_weapon"
"image_inventory" "econ/testitem_slot_empty"
"model_player" "models/heroes/ogre_magi/ogre_magi_weapon.mdl"
"used_by_heroes"
{
"npc_dota_hero_ogre_magi" "1"
}
}
"107"
{
"name" "Lone Druid's Hair"
"prefab" "dota_default_item"
"item_type_name" "#DOTA_WearableType_head"
"item_name" "#DOTA_Item_Lone_Druids_Hair"
"item_description" "#DOTA_Item_Desc_head"
"image_inventory" "econ/testitem_slot_empty"
"used_by_heroes"
{
"npc_dota_hero_lone_druid" "1"
}
"model_player" "models/heroes/lone_druid/head.mdl"
}
"108"
{
"name" "Lone Druid's Shoulder Armor"
"prefab" "dota_default_item"
"item_type_name" "#DOTA_WearableType_shoulder"
"item_name" "#DOTA_Item_Lone_Druids_Shoulder_Armor"
"item_slot" "shoulder"
"item_description" "#DOTA_Item_Desc_Lone_Druids_Shoulder_Armor"
"image_inventory" "econ/testitem_slot_empty"
"used_by_heroes"
{
"npc_dota_hero_lone_druid" "1"
}
"model_player" "models/heroes/lone_druid/shoulder.mdl"
}
"109"
{
"name" "Lone Druid's Bracers"
"prefab" "dota_default_item"
"item_type_name" "#DOTA_WearableType_Arms"
"item_name" "#DOTA_Item_Lone_Druids_Bracers"
"item_slot" "arms"
"item_description" "#DOTA_Item_Desc_Lone_Druids_Bracers"
"image_inventory" "econ/testitem_slot_empty"
"used_by_heroes"
{
"npc_dota_hero_lone_druid" "1"
}
"model_player" "models/heroes/lone_druid/arms.mdl"
}
"110"
{
"name" "Lone Druid's Poncho"
"prefab" "dota_default_item"
"item_type_name" "#DOTA_WearableType_body"
"item_name" "#DOTA_Item_Lone_Druids_Poncho"
"item_slot" "back"
"item_description" "#DOTA_Item_Desc_Lone_Druids_Poncho"
"image_inventory" "econ/testitem_slot_empty"
"used_by_heroes"
{
"npc_dota_hero_lone_druid" "1"
}
"model_player" "models/heroes/lone_druid/body.mdl"
}


Oh, I was about to comment on that, that they now have info on their portrait.


Also, the Badger Courier has Portrait info, I'll see if I can get an image if someone else doesn't.


Bunch of changes in the npc_dota file, going to see if there is anything important.
 
Gyrocopter has responce rules now, and the rules for Windrunner, Ursa, Shadow Demon, Night Stalker, Broodmother, Viper, Venomancer, Tinker, Omniknight, and Lycan have been updated.

Lycan: Has info for Gyrocopter Rivalry line.

Omni: Bunch of Rare lines will now have normal change to play,

Tinker: Rules for what to say when killing a Spiderling

Venomancer: Made some hero specific kill lines less likely to play

Viper: Made some hero specific kill lines less likely to play

Brood: Hooked up sheep stick line

Nightstalker: Hooked up line for killing Lycan

SD: Changed his received pain line rules some

Ursa: Rules for killing LD bear

Wind Runner: Made some hero specific kill lines less likely to play

Shared Files: Rules for killing a Rival's minion's set up (Right now, the Spiderlings and the LD Bear)
 
Status
Not open for further replies.
Top Bottom