MeleeRandomHeroLoc
- Parameters
-
p player
id1 integer
id2 integer
id3 integer
id4 integer
loc location
- comment
- note
-
It does not touch the passed
loc
location, you must remove it manually to avoid leaks. - bug
-
Leaks handle
hero
: In Jass you must set local variables that hold agents (or any child type) tonull
at the end of functions to avoid reference counter leaks. - bug
-
Leaks handle
v
: In Jass you must set local variables that hold agents (or any child type) tonull
at the end of functions to avoid reference counter leaks. - patch
-
1.00
- Source
- Blizzard.j (suggest an edit or discuss on Github)
- return type
-
unit
- Source code
-
function MeleeRandomHeroLoc takes player p, integer id1, integer id2, integer id3, integer id4, location loc returns unit
local unit hero = null
local integer roll
local integer pick
local version v
// The selection of heroes is dependant on the game version.
set v = VersionGet()
if (v == VERSION_REIGN_OF_CHAOS) then
set roll = GetRandomInt(1,3)
else
set roll = GetRandomInt(1,4)
endif
// Translate the roll into a unitid.
if roll == 1 then
set pick = id1
elseif roll == 2 then
set pick = id2
elseif roll == 3 then
set pick = id3
elseif roll == 4 then
set pick = id4
else
// Unrecognized id index - pick the first hero in the list.
set pick = id1
endif
// Create the hero.
set hero = CreateUnitAtLoc(p, pick, loc, bj_UNIT_FACING)
if bj_meleeGrantHeroItems then
call MeleeGrantItemsToHero(hero)
endif
return hero
endfunction