Array
(
[scriptVersion] => 8
[oeValues] => Array
(
[auto] => Array
(
)
[Art] => ReplaceableTextures\CommandButtons\BTNIceboundFortitude.blp
[turnRate] => 3
[dmgplus1] => 595
[bldtm] => 1
[goldcost] => 1200
[unitSound] => Array
(
)
[sides1] => 1
[manaN] => 100
[acquire] => 900
[upgrades] => Array
(
)
[Upgrade] => Array
(
)
[Name] => Frost Acolyte
[red] => 155
[weapTp1] => missile
[impactZ] => 60
[file] => units\creeps\HumanMage\HumanMage.mdl
[MissileHoming] => 1
[uberSplat] => YTDN
[Missilespeed] => 1600
[Missileart] => Abilities\Weapons\LichMissile\LichMissile.mdl
[dice1] => 1
[RngBuff1] => 250
[regenMana] => 3
[green] => 155
[modelScale] => 0.8
[rangeN1] => 900
[propWin] => 10
[atkType1] => pierce
[cool1] => 1.75
[Ubertip] => First comes the frostbite. Then comes the silence.
[scaleBull] => 0
[abilList] => @@0@@
[moveHeight] => 26
[buildingShadow] => Array
(
)
[targs1] => Array
(
)
[weapsOn] => 1
[teamColor] => 2
)
[settings] => Array
(
[balanceTip] => |cffFFFF0010%|r spell crit chance (|cffFFFF00+0.5%|r/lvl)
[abil_factor] => 0.25
[author] => Ashbringer
[alpha] => 255
[authorDisplay] => |cffff6600Ashbringer|r
[version] => 1.0
[element] => ice
[rarity] => rare
)
[effects] => Array
(
[0] => Array
(
[x] => -0.026281
[y] => -0.011641
[z] => -6.4
[scale] => 0.25
[rot] => 1.5708
[file] => Doodads\Cityscape\Props\FountainRuined\FountainRuined.mdl
[red] => 35
[green] => 45
[blue] => 65
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[1] => Array
(
[x] => 0.387515
[y] => 13.4517
[z] => -19.2
[scale] => 0.1
[rot] => 4.71239
[file] => Doodads\Cityscape\Structures\City_ColumnSemiCircle\City_ColumnSemiCircle.mdl
[red] => 35
[green] => 45
[blue] => 65
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[2] => Array
(
[x] => -0.451131
[y] => -13.9923
[z] => -19.2
[scale] => 0.1
[rot] => 1.5708
[file] => Doodads\Cityscape\Structures\City_ColumnSemiCircle\City_ColumnSemiCircle.mdl
[red] => 35
[green] => 45
[blue] => 65
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[3] => Array
(
[x] => -0.162384
[y] => 3.77082
[z] => 38.4
[scale] => 0.9
[rot] => 4.71239
[file] => Abilities\Spells\Other\FrostBolt\FrostBoltMissile.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => -1.57
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[4] => Array
(
[x] => -0.0665632
[y] => 0.0320587
[z] => 12.8
[scale] => 0.9
[rot] => 0.890118
[file] => war3mapImported\GeneralAuraTargetWhite.mdl
[red] => 35
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[5] => Array
(
[x] => -13.4875
[y] => -9.46462
[z] => 12.8
[scale] => 0.09
[rot] => 4.04288
[file] => Doodads\Icecrown\Rocks\Icecrown_Crystal\Icecrown_Crystal0.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => -1.57
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[6] => Array
(
[x] => 9.04862
[y] => -7.40089
[z] => 12.8
[scale] => 0.12
[rot] => 5.40423
[file] => Doodads\Icecrown\Rocks\Icecrown_Crystal\Icecrown_Crystal1.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => -1.57
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[7] => Array
(
[x] => 11.8372
[y] => 11.2718
[z] => 12.8
[scale] => 0.09
[rot] => 0.901279
[file] => Doodads\Icecrown\Rocks\Icecrown_Crystal\Icecrown_Crystal0.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => -1.57
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[8] => Array
(
[x] => -10.6988
[y] => 9.20806
[z] => 12.8
[scale] => 0.12
[rot] => 2.26264
[file] => Doodads\Icecrown\Rocks\Icecrown_Crystal\Icecrown_Crystal1.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => -1.57
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[9] => Array
(
[x] => -28.6031
[y] => 2.89476
[z] => 0
[scale] => 0.3
[rot] => 1.56495
[file] => Doodads\Icecrown\Rocks\Ice_SnowRock\Ice_SnowRock5.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[10] => Array
(
[x] => -5.12148
[y] => -31.735
[z] => -6.4
[scale] => 0.2
[rot] => 2.34813
[file] => Doodads\Icecrown\Rocks\Ice_SnowRock\Ice_SnowRock4.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[11] => Array
(
[x] => 29.4356
[y] => -0.222329
[z] => 0
[scale] => 0.15
[rot] => 1.27322
[file] => Doodads\Icecrown\Rocks\Ice_SnowRock\Ice_SnowRock4.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
)
[dmgTable] => Array
(
[0] => Array
(
[id] => MOD_SPELL_CRIT_CHANCE
[base] => 0.0875
[add] => 0.005
)
)
[triggers] => Array
(
[0] => Array
(
[name] => On Level Up
[code] => set tower.userReal = 500 + (tower.getLevel() * 20)
set tower.userReal2 = 100 + (tower.getLevel() * 4)
set tower.userReal3 = 0.25 + (tower.getLevel() * 0.01)
[values] => Array
(
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[long_explain] =>
)
)
[1] => Array
(
[name] => Header
[code] => globals
//@export
BuffType ashbringer_shattering_buff
endglobals
//@export
function ashbringer_howling_blast takes Tower tower, Unit target, real damage, real area returns nothing
local Iterate i = Iterate.overUnitsInRangeOfUnit(tower, TARGET_TYPE_CREEPS, target, area)
local Unit next
local real crit = tower.calcSpellCritNoBonus()
if crit > 1 then
set damage = damage * (1 + tower.userReal3)
endif
call Effect.createScaled("war3mapImported\\WarStompCasterFrost.mdx", target.getX(), target.getY(), target.getZ(), 270, 1 + (tower.getLevel() * 0.015)).setLifetime(1)
loop
set next = i.next()
exitwhen next == 0
call tower.doSpellDamage(next, damage, crit)
if crit > 1 then
call cb_freeze.applyOnlyTimed(tower, next, 1.5)
endif
endloop
endfunction
function ashbringer_shattering_hitted takes Buff b returns nothing
local Tower tower = b.getCaster()
local Unit attacker = Event.getTarget()
local Unit target = b.getBuffedUnit()
local real chance
local boolean is_crit = false
local real crit = tower.calcSpellCritNoBonus()
local real damage
if not Event.isSpellDamage() then
if Event.isAttackDamageCritical() then
set is_crit = true
else
set chance = (b.userInt * 0.02) / (1.0 - attacker.getProp_AtkCritChance())
if GetRandomReal(0.0, 1.0) <= chance then
set is_crit = true
call Event.forceAttackMulticrit(tower, b.userInt * 0.02, 0, 0)
endif
endif
if is_crit then
if tower.calcChance(b.userInt * 0.02) then
set crit = tower.calcSpellCritNoBonus()
set damage = tower.userReal + (b.userInt * tower.userReal2)
if crit > 1 then
set damage = damage * (1 + tower.userReal3)
endif
call b.removeBuff()
call tower.doSpellDamage(target, damage, tower.calcSpellCritNoBonus())
call Effect.createSimpleAtUnit("war3mapImported\\AnimateDeadTargetFrost.mdx", target).setLifetime(0.3)
endif
endif
endif
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
local Modifier mod = Modifier.create()
set ashbringer_shattering_buff = BuffType.create(-1, 0, false)
call ashbringer_shattering_buff.setBuffIcon('@@1@@')
call ashbringer_shattering_buff.addEventOnDamaged(EventHandler.ashbringer_shattering_hitted, 1.0, 0.0)
endfunction
[values] => Array
(
[visible] => true
[icon] => ReplaceableTextures\CommandButtons\BTNSpell_Frost_IceShard.blp
[name] => Piercing Frost
[short_explain] => Critical hits with abilities do more damage.
[long_explain] => Critical hits with Howling Blast and Shattering Shards do |cffFFFF8025%|r more damage.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+1%|r damage multiplier
)
)
[2] => Array
(
[name] => On Damage
[code] => local Unit target = Event.getTarget()
local Buff b = target.getBuffOfType(ashbringer_shattering_buff)
if b != 0 then
set b.userInt = b.userInt + 1
else
set b = ashbringer_shattering_buff.apply(tower, target, 0)
set b.userInt = 1
endif
[values] => Array
(
[ONDAMAGE_chance] => 1.0
[visible] => false
[icon] => ReplaceableTextures\CommandButtons\BTNBlizzard.blp
[name] => Shattering Shards
[short_explain] => Attacks hit |cffFFFF802|r additional enemies and apply a debuff which increases chance to be crit by attacks and deals spell damage when crit.
[ONDAMAGE_chanceLevelAdd] => 0
[long_explain] => Attacks hit |cffFFFF802|r additional enemies and embed ice shards on hit. Shards can stack, and give attacks against the target |cffFFFF802%|r increased critical strike chance per stack. Critical hits against the target have a |cffFFFF802%|r chance per stack to shatter the shards, dealing |cffFFFF80500|r spell damage plus |cffFFFF80100|r spell damage per stack.|n|nSpell damage is dealt by this tower.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+20|r base spell damage|n|cffFFFF80+4|r spell damage per stack
)
)
[3] => Array
(
[name] => Autocast
[code] => local integer level = tower.getLevel()
call ashbringer_howling_blast(tower, Event.getTarget(), 2500 + (level * 100), 175 + (level * 3))
[values] => Array
(
[AUTOCAST_cooldown] => 3
[AUTOCAST_autoRange] => 900
[AUTOCAST_manacost] => 50
[icon] => ReplaceableTextures\CommandButtons\BTNHowlingBlast.blp
[AUTOCAST_range] => 900
[AUTOCAST_targetType] => 0
[AUTOCAST_numBuffsBeforeIdle] => 0
[caster_art] =>
[long_explain] => Blast a target enemy with a wave of frost, dealing |cffFFFF802500|r spell damage to enemies in |cffFFFF80175|r area. Critical hits will freeze enemies in place for |cffFFFF801.5|r seconds.|n|nThis ability rolls for a critical hit once to apply to all targets.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+100|r spell damage|n|cffFFFF80+3|r area
[target_art] =>
[AUTOCAST_autocastType] => AC_TYPE_OFFENSIVE_UNIT
[AUTOCAST_buffType] => 0
[AUTOCAST_isExtended] => false
[name] => Howling Blast
[AUTOCAST_targetSelf] => false
[short_explain] => Deals spell damage to enemies around a target. Critical hits will stun.
)
)
[4] => Array
(
[name] => On Tower Creation
[code] => call SetUnitColor(tower.getUnit(), ConvertPlayerColor(2))
set tower.userInt = 0
set tower.userReal = 500 + (tower.getLevel() * 20)
set tower.userReal2 = 100 + (tower.getLevel() * 4)
set tower.userReal3 = 0.25 + (tower.getLevel() * 0.01)
[values] => Array
(
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[long_explain] =>
)
)
)
[abilities] => Array
(
[0] => Array
(
[id] => @@0@@
[derivedFrom] => Aroc
[oeValues] => Array
(
[Buttonpos] => 1
[Art] => ReplaceableTextures\CommandButtons\BTNBlizzard.blp
[Untip] => Shattering Shards
[HeroDur1] => 0.1
[Missilearc] => 0
[DataA1] => 0
[Cool1] => 0.1
[Area1] => 900
[DataC1] => 1
[Name] => Shattering Shards
[DataB1] => 99999
[Ubertip] => Attacks hit |cffFFFF802|r additional enemies and embed ice shards on hit. Shards can stack, and give attacks against the target |cffFFFF802%|r increased critical strike chance per stack.|n|nCritical hits have a |cffFFFF802%|r chance per stack to shatter the shards, dealing |cffFFFF80500|r spell damage plus |cffFFFF80100|r spell damage per stack.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+20|r base spell damage|n|cffFFFF80+4|r spell damage per stack
[Dur1] => 0.1
[Buttonpos1] => 1
[Missileart] => Abilities\Weapons\LichMissile\LichMissile.mdl
[Missilespeed] => 1600
[Tip] => Shattering Shards
[Unubertip] => Attacks hit |cffFFFF802|r additional enemies and apply a debuff which increases chance to be crit by attacks and deals spell damage when crit.
[targs1] => enemies
)
)
)
[buffs] => Array
(
[0] => Array
(
[id] => @@1@@
[derivedFrom] => BNrd
[oeValues] => Array
(
[Targetattach] => origin
[Buffubertip] => Increased chance to be crit.
[TargetArt] => war3mapImported\BanishTargetFrost.mdx
[Bufftip] => Shattering Shards
[Buffart] => ReplaceableTextures\CommandButtons\BTNBlizzard.blp
)
)
)
[units] => Array
(
)
[references] => Array
(
[0] => Array
(
[export] => true
[category] => global
[typ] => BuffType
[name] => ashbringer_shattering_buff
)
)
[lightning] => Array
(
)
)