WarCraft III

Patch notes tracker and viewer

1523394000000
Our sincere thanks to the Classic forums, the pros, the mapmakers, the players, r/WC3, Discord (Warcraft 3 United), and all the fans who reached out to help make this patch Rexxar approved. Classic is by your side on this journey.

Specific Changes & Improvements

Widescreen support added. To prevent stretching their have been changes to the interfaces:

  • Added bookends to the in-game interface
  • Added black pillars in menus

Game lobbies revised 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

  • Replays are incompatible between major game versions
  • This will be the last version to support Windows XP

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
  • Malfunctioning servers will no longer interrupt gateway connectivity

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 increased to 30,000
  • Neutral Units 2,048
  • Neutral Buildings - 384
  • Player Units      - 4,320
  • Player Buildings  - 2,400
  • Items      - 1,024
  • Map size limit increased to 480 x 480
  • Tile slot limit increased to 16
  • Max execution number increased to 3,000,000
  • Max food limit increased to 999
  • Max resource limit increased to 9,999,999
  • Array size increased from 8,192 to 32,768
  • Now "Always show Health Bars" option will always show mana bar as well

New Natives

  • native BlzGetTriggerPlayerMouseX   takes nothing returns real
  • native BlzGetTriggerPlayerMouseY   takes nothing returns real
  • native BlzGetTriggerPlayerMousePosition            takes nothing returns location
  • native BlzGetTriggerPlayerMouseButton              takes nothing returns mousebuttontype
  • native BlzSetAbilityTooltip takes integer abilCode, string tooltip, integer level returns nothing
  • native BlzSetAbilityActivatedTooltip               takes integer abilCode, string tooltip, integer level returns nothing
  • native BlzSetAbilityExtendedTooltiptakes integer abilCode, string ExtendedTooltip, integer level returns nothing
  • native BlzSetAbilityActivatedExtendedTooltip       takes integer abilCode, string ExtendedTooltip, integer level returns nothing
  • native BlzSetAbilityResearchTooltiptakes integer abilCode, string researchTooltip, integer level returns nothing
  • native BlzSetAbilityResearchExtendedTooltip        takes integer abilCode, string researchExtendedTooltip, integer level returns nothing
  • native BlzGetAbilityTooltip takes integer abilCode, integer level returns string
  • native BlzGetAbilityActivatedTooltip               takes integer abilCode, integer level returns string
  • native BlzGetAbilityExtendedTooltiptakes integer abilCode, integer level returns string
  • native BlzGetAbilityActivatedExtendedTooltip       takes integer abilCode, integer level returns string
  • native BlzGetAbilityResearchTooltiptakes integer abilCode, integer level returns string
  • native BlzGetAbilityResearchExtendedTooltip        takes integer abilCode, integer level returns string
  • native BlzSetAbilityIcon    takes integer abilCode, string iconPath returns nothing
  • native BlzGetAbilityIcon    takes integer abilCode returns string
  • native BlzSetAbilityActivatedIcon  takes integer abilCode, string iconPath returns nothing
  • native BlzGetAbilityActivatedIcon  takes integer abilCode returns string
  • native BlzGetAbilityPosX    takes integer abilCode returns integer
  • native BlzGetAbilityPosY    takes integer abilCode returns integer
  • native BlzSetAbilityPosX    takes integer abilCode, integer x returns nothing
  • native BlzSetAbilityPosY    takes integer abilCode, integer y returns nothing
  • native BlzGetAbilityActivatedPosX  takes integer abilCode returns integer
  • native BlzGetAbilityActivatedPosY  takes integer abilCode returns integer
  • native BlzSetAbilityActivatedPosX  takes integer abilCode, integer x returns nothing
  • native BlzSetAbilityActivatedPosY  takes integer abilCode, integer y returns nothing
  • native BlzGetUnitMaxHP      takes unit whichUnit returns integer
  • native BlzSetUnitMaxHP      takes unit whichUnit, integer hp returns nothing
  • native BlzGetUnitMaxMana    takes unit whichUnit returns integer
  • native BlzSetUnitMaxMana    takes unit whichUnit, integer mana returns nothing
  • native BlzDeleteHeroAbility takes unit whichUnit, integer abilCode returns nothing
  • native BlzSetItemName       takes item whichItem, string name returns nothing
  • native BlzSetItemDescriptiontakes item whichItem, string name returns nothing
  • native BlzGetItemDescriptiontakes item whichItem returns string
  • native BlzSetItemTooltip    takes item whichItem, string name returns nothing
  • native BlzGetItemTooltip    takes item whichItem returns string
  • native BlzSetItemExtendedTooltip   takes item whichItem, string name returns nothing
  • native BlzGetItemExtendedTooltip   takes item whichItem returns string
  • native BlzSetItemIconPath   takes item whichItem, string name returns nothing
  • native BlzGetItemIconPath   takes item whichItem returns string
  • native BlzSetUnitName       takes unit whichUnit, string name returns nothing
  • native BlzSetHeroProperName takes unit whichUnit, string name returns nothing
  • native BlzGetUnitBaseDamage takes unit whichUnit, integer weaponIndex returns integer
  • native BlzSetUnitBaseDamage takes unit whichUnit, integer baseDamage, integer weaponIndex returns nothing
  • native BlzGetUnitDiceNumber takes unit whichUnit, integer weaponIndex returns integer
  • native BlzSetUnitDiceNumber takes unit whichUnit, integer diceNumber, integer weaponIndex returns nothing
  • native BlzGetUnitDiceSides  takes unit whichUnit, integer weaponIndex returns integer
  • native BlzSetUnitDiceSides  takes unit whichUnit, integer diceSides, integer weaponIndex returns nothing
  • native BlzGetUnitAttackCooldown    takes unit whichUnit, integer weaponIndex returns real
  • native BlzSetUnitAttackCooldown    takes unit whichUnit, real cooldown, integer weaponIndex returns nothing
  • native BlzSetSpecialEffectColorByPlayer            takes effect whichEffect, player whichPlayer returns nothing
  • native BlzSetSpecialEffectColor    takes effect whichEffect, integer r, integer g, integer b returns nothing
  • native BlzSetSpecialEffectAlpha    takes effect whichEffect, integer alpha returns nothing
  • native BlzSetSpecialEffectScale    takes effect whichEffect, real scale returns nothing
  • native BlzSetSpecialEffectPosition takes effect whichEffect, real x, real y, real z returns nothing
  • native BlzSetSpecialEffectHeight   takes effect whichEffect, real height returns nothing
  • native BlzSetSpecialEffectTimeScaletakes effect whichEffect, real timeScale returns nothing
  • native BlzSetSpecialEffectTime     takes effect whichEffect, real time returns nothing
  • native BlzSetSpecialEffectOrientation              takes effect whichEffect, real yaw, real pitch, real roll returns nothing
  • native BlzSetSpecialEffectYaw      takes effect whichEffect, real yaw returns nothing
  • native BlzSetSpecialEffectPitch    takes effect whichEffect, real pitch returns nothing
  • native BlzSetSpecialEffectRoll     takes effect whichEffect, real roll returns nothing
  • native BlzSetSpecialEffectX takes effect whichEffect, real x returns nothing
  • native BlzSetSpecialEffectY takes effect whichEffect, real y returns nothing
  • native BlzSetSpecialEffectZ takes effect whichEffect, real z returns nothing
  • native BlzSetSpecialEffectPositionLoc              takes effect whichEffect, location loc returns nothing
  • native BlzGetLocalSpecialEffectX   takes effect whichEffect returns real
  • native BlzGetLocalSpecialEffectY   takes effect whichEffect returns real
  • native BlzGetLocalSpecialEffectZ   takes effect whichEffect returns real
  • native BlzGetUnitArmor      takes unit whichUnit returns real
  • native BlzSetUnitArmor      takes unit whichUnit, real armorAmount returns nothing
  • native BlzUnitHideAbility   takes unit whichUnit, integer abilId, boolean flag returns nothing
  • native BlzUnitDisableAbilitytakes unit whichUnit, integer abilId, boolean flag, boolean hideUI returns nothing
  • native BlzUnitCancelTimedLife      takes unit whichUnit returns nothing
  • native BlzIsUnitSelectable  takes unit whichUnit returns boolean
  • native BlzIsUnitInvulnerabletakes unit whichUnit returns boolean
  • native BlzUnitInterruptAttack      takes unit whichUnit returns nothing
  • native BlzGetUnitCollisionSize     takes unit whichUnit returns real
  • native BlzGetAbilityManaCosttakes integer abilId, integer level returns integer
  • native BlzGetAbilityCooldowntakes integer abilId, integer level returns real
  • native BlzSetUnitAbilityCooldown   takes unit whichUnit, integer abilId, integer level, real cooldown returns nothing
  • native BlzGetUnitAbilityCooldown   takes unit whichUnit, integer abilId, integer level returns real
  • native BlzGetUnitAbilityCooldownRemaining          takes unit whichUnit, integer abilId returns real
  • native BlzEndUnitAbilityCooldown   takes unit whichUnit, integer abilCode returns nothing
  • native BlzGetUnitAbilityManaCost   takes unit whichUnit, integer abilId, integer level returns integer
  • native BlzGetLocalUnitZ     takes unit whichUnit returns real   
  • native BlzDecPlayerTechResearched  takes player whichPlayer, integer techid, integer levels returns nothing
  • native BlzSetEventDamage    takes real damage returns nothing