Warcraft 3's huge update leaves PTR, adds widescreen support
Warcraft 3 patch 1.29 has left the PTR and is now available to all players.
The Warcraft 3 patch is available for download now, after being in testing since early this year.
Patch 1.29 contains a huge amount of hero changes, widescreen support, mana bars and tons more.
There are a few known issues to keep in mind, though. For one, fixed aspect ratio in video options has been disabled, and there's an issue with the enGB and other install related issues.
Blizzard is working on a hotfix to address the install issues. For the time being, here's instructions on how to use the enUS installer as a temporary workaround.
Full patch notes are below.
Warcraft 3 Patch 1.29
Specific Changes & Improvements
Widescreen support added. To prevent stretching there have been changes to the interfaces:
- Added bookends to the in-game interface
- Added black pillars in menus
Game lobbies expanded to support 24 players. We’ve added 12 new team colors. Thanks to Erkan and others for contributing to the new palette:
- Player 13 - Maroon
- Player 14 - Navy
- Player 15 - Turquoise
- Player 16 - Violet
- Player 17 - Wheat
- Player 18 - Peach
- Player 19 - Mint
- Player 20 - Lavender
- Player 21 - Coal
- Player 22 - Snow
- Player 23 - Emerald
- Player 24 - Peanut
Notes
- Ladder standings have been reset; good luck and have fun on the climb
- Replays are incompatible between major game versions
- This will be the last version to support Windows XP
- Automated tournaments will resume next week
Bug Fixes
- Clans can be created
- Mac launches
- Korean locale launches
- Various missing textures located (Thanks to TriggerHappy for the test map)
- Default resolution no longer resembles Felwood
- Ladder maps cleansed of sneaky tower locations near starting mines
Known Issues
- Temporarily disabled Fixed Aspect Ratio in Video Options
- Chaos Kodo Beasts are showing as idle workers in campaign missions
- Unable to input text while keyboard settings are under different languages in zhCN and koKR locales
- Certain elements in World Editor overlap
- Set/GetAbilityOnXXXX functions are renamed to Set/GetAbilityActivatedXXXX
- SetUnitNameAll is disabled for now
- PlaySpecialEffect is disabled for now
- PlaySpecialEffectWithTimeScale is disabled for now
- Crash: With an ability that has "Disabled"=false, attempting to set "Disabled" to false again will crash the World Editor
- UnitDisableAbility does not hide an ability with Hide=true and Disabled=false
- Default map directory is for from maps when creating custom games
- Resolution does not change properly when switching between windowed and full screen
- Tooltips for hero abilities may not be updated
Hero Balance Changes
Mountain King
Movement Speed
- Increased base speed from 270 to 290
Stormbolt
- Level 2: Reduce damage from 225 to 210
- Level 3: Reduce damage from 350 to 325
Thunder Clap
- Level 1: Increased damage from 60 to 65; Increased area of effect from 25 to 30
- Level 2: Increased damage from 100 to 125; Increased area of effect from 30 to 35
- Level 3: Increased damage from 140 to 175; Increased area of effect from 35 to 40
Paladin
Attack Speed
- Reduced cooldown from 2.2 to 2.0 seconds
Movement Speed
- Increased base speed from 270 to 290
Divine Shield
- Level 2: Reduced duration from 30 to 25
- Level 3: Reduced duration from 45 to 35
Blademaster
Mirror Image
- Reduced Mana cost from 115 to 100 for all levels
Critical Strike
- Removed + damage item interaction from multiplier calculation: (Avg Damage + Item Damage)*Critical Multiplier = Total Damage
- Prior calculation: (Avg Damage *Critical Multiplier) + Item Damage = Total Damage
Far Seer
Feral Spirit
- Level 1: Increased unit healths from 200 to 250
- Level 2: Increased unit healths from 300 to 350; Reduced unit level from 4 to 3 to reduce enemy experience reward
- Level 3: Reduced unit level from 5 to 4 to reduce enemy experience reward
Chain Lightning
- Reduced damage reduction from 15% to 10% per jump for all levels
Far Sight
- Level 1: Removed mana cost; Added a cooldown of 60 seconds
- Level 2: Removed mana cost; Added a cooldown of 45 seconds
- Level 3: Removed mana cost; Added a cooldown of 30 seconds
Shadow Hunter
Serpent Wards
- Level 1: Increased damage from 11-13 to 14-16; Increased health from 75 to 90
- Level 2: Increased damage from 23-26 to 27-30; Increased health from 135 to 165
- Level 3: Increased damage from 41-45 to 48-52; Increased health from 135 to 200
Tauren Chieftain
Movement Speed
- Increased base speed from 270 to 290
War Stomp
- Level 1: Increased damage from 25 to 30
- Level 2: Increased damage from 50 to 60
- Level 3: Increased damage from 75 to 90
Reincarnation
- Reduced spellcast from 7 seconds to 5 seconds
Crypt Lord
Movement Speed
- Increased base speed from 270 to 290
Carrion Beetles
- Level 1: Increased health from 140 to 170; Increase movement speed from 270 to 290
- Level 2: Increased health from 275 to 330; Increase movement speed from 270 to 290
- Level 3: Increased health from 410 to 490; Increase movement speed from 270 to 290
Impale
- Level 1: Increased damage from 50 to 75
- Level 2: Increased damage from 80 to 120
- Level 3: Increased damage from 110 to 165
Dread Lord
Movement Speed
- Increased base speed from 270 to 290
Carrion Swarm
- Level 1: Increased maximum damage from 300 to 400
- Level 2: Increased maximum damage from 600 to 700
- Level 3: Increased maximum damage from 1000 to 1200
- Mana Cost reduced from 110 to 100 for all levels
- Now damages mechanical units
Sleep
- Cooldown reduced from 6 seconds to 4 seconds for all levels
- Level 1: Reduced duration from 20 (5) sec to 15 (4) sec; Reduced mana cost from 100 to 80
- Level 2: Reduced duration from 40 (10) sec to 35 (8) sec; Reduced mana cost from 75 to 65
- Level 3: Reduced duration from 60 (15) sec to 55 (12) sec
Vampiric Aura
- Level 1: Increased life steal from 15% to 20%
- Level 2: Increased life steal from 30% to 35%
- Level 3: Increased life steal from 45% to 50%
Lich
Movement Speed
- Increased base speed from 270 to 290
Demon Hunter
Mana Burn
- Increased mana cost from 50 to 60 for all levels
Keeper of the Grove
Intelligence
- Increased default value from 18 to 19
Tranquility
- Added 3 seconds of invulnerability on spellcast
- Reduced duration from 30 seconds to 15 seconds
- Increased healing per second from 20 to 40
Entangling Roots
- Level 2: Reduced duration on units from 24 seconds to 18 seconds; Increased duration on heroes from 3 seconds to 5 seconds; Increased damage per second from 15 damage to 20 damage
- Level 3: Reduced duration on units from 36 seconds to 30 seconds; Increased duration on heroes from 5 seconds to 7 seconds; Increased damage per second from 25 Damage to 30 Damage
Force of Nature
- Increased Treant attack damage from 14 to 16
Priestess of the Moon
Attack Speed
- Reduced cooldown from 2.46 to 2.33 seconds
Scout
- Increased speed from 270 to 300
- Level 1: Reduced mana cost from 100 to 50
- Level 2: Reduced mana cost from 75 to 50
Warden
Blink
- Level 2: Reduced cooldown from 10 seconds to 7 seconds
- Level 3: Increased cooldown from 1 second to 4 seconds
Dark Ranger
Life Drain
- Increase damage done per second and lower mana cost
- Level 1: Increase damage per second from 25 to 30; Reduce Mana cost from 75 to 50
- Level 2: Increase damage per second from 40 to 45, Reduce Mana cost from 75 to 50
- Level 3: Increase damage per second from 55 to 60, Reduce Mana cost from 75 to 50
Firelord
Incinerate
- Level 1: Increased bonus damage multiplier per stack from 1 to 2; Increased death by incineration damage full area from 90 to 120; Increased death by incineration damage half area from 180 to 240; Increased duration from 2 to 4
- Level 2: Increased bonus damage multiplier per stack from 2 to 3; Increased death by incineration damage full area from 90 to 120; Increased death by incineration damage half area from 180 to 240; Increased duration from 2 to 4
- Level 3: Increased bonus damage multiplier per stack from 3 to 4; Increased death by incineration damage full area from 100 to 120; Increased death by incineration damage half area from 180 to 240; Increased duration from 2 to 4
Soul Burn
- Level 1: Increased duration on units from 14 seconds to 16 seconds; Increased duration on heroes from 6 seconds to 7 seconds; Increased damage from 100 to 125
- Level 2: Increased duration on units from 16 seconds to 18 seconds; Increased duration on heroes from 7 seconds to 8 seconds; Increased damage from 225 to 270
- Level 3: Increased duration on units from 18 seconds to 20 seconds; Increased duration on heroes from 8 seconds to 9 seconds; Increased damage from 375 to 450
Goblin Alchemist
Movement Speed
- Increased base speed from 270 to 290
Healing Spray
- No longer heals enemy units
- Heals Alchemist
Acid Bomb
- Level 1: Increased Damage from 5 to 8 (total damage 75 to 120; Secondary damage 3 to 5)
- Level 2: Increased Damage from 10 to 13 (total damage 150 to 195; Secondary damage 6.5 to 8.5)
- Level 3: Increased Damage from 15 to 18 (total damage 225 to 270; Secondary damage 10 to 12)
Goblin Tinker
Movement Speed
- Increased base speed from 270 to 290
Cluster Rockets
- Now targets air units
- Level 1: Increased damage from 35 to 45 damage per second
- Level 2: Increased damage from 65 to 75 damage per second
- Level 3: Increased damage from 100 to 110 damage per second
Naga Sea Witch
Movement Speed
- Increased base speed from 270 to 290
Pandaren Brewmaster
Movement Speed
- Increased base speed from 270 to 290
Map Pool
1v1
- (2)TerenasStand_LV
- (2)Plunderisle_LV
- (2)TheTwoRivers_LV
- (2)RoadToStratholme_LV
- (2)EchoIsle
- (2)TirisfalGlades_LV
- (2)Amazonia(COMMUNITY)
- (2)LastRefuge-1.3(COMMUNITY)
- (4)Floodplains1v1_LV
- (4)TwistedMeadows
- (4)TurtleRock
2v2
- (4)PhantomGrove_LV
- (4)Avalanche_LV
- (4)TurtleRock
- (4)Duskwood_LV
- (4)BridgeTooNear_LV
- (4)FrozenClover_LV
- (4)TidewaterGlades_LV
- (4)LostTemple
- (4)TwistedMeadows
- (6)Duststorm_LV
- (6)GnollWood
3v3
- (6)ThunderLake_LV
- (6)GnollWood
- (6)Monsoon_LV
- (6)DarkForest
- (6)UpperKingdom
- (6)RuinsOfStratholme
- (8)Mur’gulOasis_LV
- (6)RollingHills
- (6)TimbermawHold
- (6)StranglethornVale
- (8)Battleground_LV
4v4
- (8)Feralas_LV
- (8)Northshire_LV
- (8)Sanctuary_LV
- (8)TwilightRuins_LV
- (8)Battleground_LV
- (8)Deadlock_LV
- (8)GolemsInTheMist_LV
- (8)Mur’gulOasis_LV
- (8)MarketSquare
- (8)GoldRush
- (8)Friends
- (8)BlastedLands
FFA
- (4)Deathrose
- (6)Duststorm_LV
- (6)EmeraldShores
- (6)StranglethornVale
- (6)Monsoon_LV
- (6)ThunderLake_LV
- (8)Deadlock_LV
- (8)Mur’gulOasis_LV
- (8)TwilightRuins_LV
- (8)Battleground_LV
World Editor Upgrades
- Object Limit: 30,000
- Neutral Units: 2,048
- Neutral Buildings: 384
- Player Units: 4,320
- Player Buildings: 2,400
- Items: 1,024
- Map Size Limit: 480 x 480
- Tile Slot Limit: 16
- Max Execution Limit: 3,000,000
- Max Food Limit: 999
- Max Resource Limit: 9,999,999
- Array Size Limit: 32,768
- "Always show Health Bars" now shows Mana Bars as well
New Natives
- native GetTriggerPlayerMouseX: takes nothing returns real
- native GetTriggerPlayerMouseY: takes nothing returns real
- native GetTriggerPlayerMousePosition: takes nothing returns location
- native GetTriggerPlayerMouseButton: takes nothing returns mousebuttontype
- native SetAbilityTooltip: takes integer abilCode, string tooltip, integer level returns nothing
- native SetAbilityActivatedTooltip: takes integer abilCode, string tooltip, integer level returns nothing
- native SetAbilityExtendedTooltip: takes integer abilCode, string ExtendedTooltip, integer level returns nothing
- native SetAbilityActivatedExtendedTooltip: takes integer abilCode, string ExtendedTooltip, integer level returns nothing
- native SetAbilityResearchTooltip: takes integer abilCode, string researchTooltip, integer level returns nothing
- native SetAbilityResearchExtendedTooltip: takes integer abilCode, string researchExtendedTooltip, integer level returns nothing
- native GetAbilityTooltip: takes integer abilCode, integer level returns string
- native GetAbilityActivatedTooltip: takes integer abilCode, integer level returns string
- native GetAbilityExtendedTooltip: takes integer abilCode, integer level returns string
- native GetAbilityActivatedExtendedTooltip: takes integer abilCode, integer level returns string
- native GetAbilityResearchTooltip: takes integer abilCode, integer level returns string
- native GetAbilityResearchExtendedTooltip: takes integer abilCode, integer level returns string
- native SetAbilityIcon: takes integer abilCode, string iconPath returns nothing
- native GetAbilityIcon: takes integer abilCode returns string
- native SetAbilityActivatedIcon: takes integer abilCode, string iconPath returns nothing
- native GetAbilityActivatedIcon: takes integer abilCode returns string
- native GetAbilityPosX: takes integer abilCode returns integer
- native GetAbilityPosY: takes integer abilCode returns integer
- native SetAbilityPosX: takes integer abilCode, integer x returns nothing
- native SetAbilityPosY: takes integer abilCode, integer y returns nothing
- native GetAbilityActivatedPosX: takes integer abilCode returns integer
- native GetAbilityActivatedPosY: takes integer abilCode returns integer
- native SetAbilityActivatedPosX: takes integer abilCode, integer x returns nothing
- native SetAbilityActivatedPosY: takes integer abilCode, integer y returns nothing
- native GetUnitMaxHP: takes unit whichUnit returns integer
- native SetUnitMaxHP: takes unit whichUnit, integer hp returns nothing
- native GetUnitMaxMana: takes unit whichUnit returns integer
- native SetUnitMaxMana: takes unit whichUnit, integer mana returns nothing
- native DeleteHeroAbility: takes unit whichUnit, integer abilCode returns nothing
- native SetItemName: takes item whichItem, string name returns nothing
- native SetItemDescription: takes item whichItem, string name returns nothing
- native GetItemDescription: takes item whichItem returns string
- native SetItemTooltip: takes item whichItem, string name returns nothing
- native GetItemTooltip: takes item whichItem returns string
- native SetItemExtendedTooltip: takes item whichItem, string name returns nothing
- native GetItemExtendedTooltip: takes item whichItem returns string
- native SetItemIconPath: takes item whichItem, string name returns nothing
- native GetItemIconPath: takes item whichItem returns string
- native SetUnitName: takes unit whichUnit, string name returns nothing
- native SetHeroProperName: takes unit whichUnit, string name returns nothing
- native GetUnitBaseDamage: takes unit whichUnit, integer weaponIndex returns integer
- native SetUnitBaseDamage: takes unit whichUnit, integer baseDamage, integer weaponIndex returns nothing
- native GetUnitDiceNumber: takes unit whichUnit, integer weaponIndex returns integer
- native SetUnitDiceNumber: takes unit whichUnit, integer diceNumber, integer weaponIndex returns nothing
- native GetUnitDiceSides: takes unit whichUnit, integer weaponIndex returns integer
- native SetUnitDiceSides: takes unit whichUnit, integer diceSides, integer weaponIndex returns nothing
- native GetUnitAttackCooldown: takes unit whichUnit, integer weaponIndex returns real
- native SetUnitAttackCooldown: takes unit whichUnit, real cooldown, integer weaponIndex returns nothing
- native SetSpecialEffectColorByPlayer: takes effect whichEffect, player whichPlayer returns nothing
- native SetSpecialEffectColor: takes effect whichEffect, integer r, integer g, integer b returns nothing
- native SetSpecialEffectAlpha: takes effect whichEffect, integer alpha returns nothing
- native SetSpecialEffectScale: takes effect whichEffect, real scale returns nothing
- native SetSpecialEffectPosition: takes effect whichEffect, real x, real y, real z returns nothing
- native SetSpecialEffectHeight: takes effect whichEffect, real height returns nothing
- native SetSpecialEffectTimeScale: takes effect whichEffect, real timeScale returns nothing
- native SetSpecialEffectTime: takes effect whichEffect, real time returns nothing
- native SetSpecialEffectOrientation: takes effect whichEffect, real yaw, real pitch, real roll returns nothing
- native SetSpecialEffectYaw: takes effect whichEffect, real yaw returns nothing
- native SetSpecialEffectPitch: takes effect whichEffect, real pitch returns nothing
- native SetSpecialEffectRoll: takes effect whichEffect, real roll returns nothing
- native SetSpecialEffectX: takes effect whichEffect, real x returns nothing
- native SetSpecialEffectY: takes effect whichEffect, real y returns nothing
- native SetSpecialEffectZ: takes effect whichEffect, real z returns nothing
- native SetSpecialEffectPositionLoc: takes effect whichEffect, location loc returns nothing
- native GetLocalSpecialEffectX: takes effect whichEffect returns real
- native GetLocalSpecialEffectY: takes effect whichEffect returns real
- native GetLocalSpecialEffectZ: takes effect whichEffect returns real
- native GetUnitArmor: takes unit whichUnit returns real
- native SetUnitArmor: takes unit whichUnit, real armorAmount returns nothing
- native UnitHideAbility: takes unit whichUnit, integer abilId, boolean flag returns nothing
- native UnitDisableAbility: takes unit whichUnit, integer abilId, boolean flag, boolean hideUI returns nothing
- native UnitCancelTimedLife: takes unit whichUnit returns nothing
- native IsUnitSelectable: takes unit whichUnit returns boolean
- native IsUnitInvulnerable: takes unit whichUnit returns boolean
- native UnitInterruptAttack: takes unit whichUnit returns nothing
- native GetUnitCollisionSize: takes unit whichUnit returns real
- native GetAbilityManaCost: takes integer abilId, integer level returns integer
- native GetAbilityCooldown: takes integer abilId, integer level returns real
- native SetUnitAbilityCooldown: takes unit whichUnit, integer abilId, integer level, real cooldown returns nothing
- native GetUnitAbilityCooldown: takes unit whichUnit, integer abilId, integer level returns real
- native GetUnitAbilityCooldownRemaining: takes unit whichUnit, integer abilId returns real
- native EndUnitAbilityCooldown: takes unit whichUnit, integer abilCode returns nothing
- native GetUnitAbilityManaCost: takes unit whichUnit, integer abilId, integer level returns integer
- native GetLocalUnitZ: takes unit whichUnit returns real
- native DecPlayerTechResearched: takes player whichPlayer, integer techid, integer levels returns nothing
- native SetEventDamage: takes real damage returns nothing