Array
(
[scriptVersion] => 7
[oeValues] => Array
(
[Ubertip] => Array
(
)
[Art] => ReplaceableTextures\CommandButtons\BTNBlackMarket.blp
[abilList] => Array
(
)
[Name] => Pocket Emporium
)
[settings] => Array
(
[balanceTip] => Array
(
)
[goldcost] => 777
[author] => ShyGnome
[authorDisplay] => ShyGnome
[version] => 1.0
[rarity] => unique
)
[dmgTable] => Array
(
)
[triggers] => Array
(
[0] => Array
(
[name] => On Item Drop
[code] => call checkLevel(itm)
[values] => Array
(
[explain] =>
[visible] => false
[goldcost] => 0
[name] =>
)
)
[1] => Array
(
[name] => On Item Creation
[code] => call itm.setCharges(1)
set itm.userInt = 0
set itm.userInt2 = 1
set itm.userInt3 = itm.getOwner().getTeam().getLevel()
[values] => Array
(
[explain] =>
[visible] => false
[goldcost] => 0
[name] =>
)
)
[2] => Array
(
[name] => Header
[code] => globals
endglobals
function checkLevel takes Item itm returns nothing
local integer curLevel = itm.getOwner().getTeam().getLevel()
if curLevel > itm.userInt3 then
set itm.userInt = itm.userInt + (curLevel-itm.userInt3)
set itm.userInt3 = curLevel
endif
loop
exitwhen itm.userInt < 5 or itm.userInt2 >= 5
set itm.userInt = itm.userInt - 5
set itm.userInt2 = itm.userInt2 + 1
endloop
call itm.setCharges(itm.userInt2)
endfunction
//Do not remove or rename this function!
//Put your initialization tasks here, this function will be called on map init
private function init takes nothing returns nothing
endfunction
[values] => Array
(
[explain] =>
[visible] => false
[goldcost] => 0
[name] =>
)
)
[3] => Array
(
[name] => On Item Pickup
[code] => call checkLevel(itm)
[values] => Array
(
[explain] =>
[visible] => false
[goldcost] => 0
[name] =>
)
)
[4] => Array
(
[name] => Periodic
[code] => call checkLevel(itm)
[values] => Array
(
[explain] =>
[visible] => false
[goldcost] => 0
[PERIODIC_period] => 10
[name] =>
)
)
[5] => Array
(
[name] => Autocast
[code] => local integer i = itm.getCharges()
local Tower tower = itm.getCarrier()
local Playor p = itm.getOwner()
local Item new
local real rnd = GetRandomInt(0,24) //25 cases total
local integer rarity = 1 //0-1 unique, 2-5 rare, 6-24 uncommon
if rnd < 2 then
set rarity = 3
elseif rnd < 6 then
set rarity = 2
endif
if i > 0 and GetPlayerState(p.getThePlayer(), PLAYER_STATE_RESOURCE_GOLD) >= 500 then
set itm.userInt2 = itm.userInt2-1
call p.giveGold(-500,tower.getUnit(),false,true)
set new = Item.create(p,RandomItemSet.permanent.getRandomItemAtRarityBounded(rarity,14,25),tower.getX(),tower.getY())
call new.flyToStash(0.0)
endif
call checkLevel(itm)
[values] => Array
(
[explain] => Spend a charge to buy a random item for |cffFFFF80500|r gold. The item will be of level |cffFFFF8014-25|r and |cff0080FFuncommon|r or higher rarity.|n|nGains a charge every |cffFFFF805th|r wave, up to a maximum of |cffFFFF805|r charges.|nThis ability is not affected by item quality.
[AUTOCAST_cooldown] => 1
[AUTOCAST_autoRange] => 0
[AUTOCAST_manacost] => 0
[goldcost] => 777
[AUTOCAST_range] => 0
[AUTOCAST_targetType] => 0
[AUTOCAST_numBuffsBeforeIdle] => 0
[caster_art] =>
[target_art] =>
[AUTOCAST_autocastType] => AC_TYPE_NOAC_IMMEDIATE
[AUTOCAST_buffType] => 0
[AUTOCAST_isExtended] => false
[name] => Purchase an Item
[AUTOCAST_targetSelf] => true
)
)
)
[abilities] => Array
(
)
[buffs] => Array
(
)
[units] => Array
(
)
[references] => Array
(
)
)