Array
(
[scriptVersion] => 8
[oeValues] => Array
(
[auto] => Array
(
)
[Art] => ReplaceableTextures\CommandButtons\BTNLava Pit.blp
[dmgplus1] => 5439
[bldtm] => 1
[unitSound] => ElvenGuardTower
[goldcost] => 3750
[sides1] => 1
[Missilearc] => 0.1
[launchZ] => 70
[acquire] => 1200
[upgrades] => Array
(
)
[Upgrade] => Array
(
)
[Name] => Molten Core
[weapTp1] => missile
[file] => .mdl
[MissileHoming] => 1
[uberSplat] => YTDC
[Missilespeed] => 1400
[Missileart] => Abilities\Weapons\LordofFlameMissile\LordofFlameMissile.mdl
[dice1] => 1
[RngBuff1] => 250
[rangeN1] => 1200
[atkType1] => pierce
[cool1] => 2
[Ubertip] => When the world itself rises against you.
[scaleBull] => 0
[abilList] => Array
(
)
[buildingShadow] => Array
(
)
[targs1] => Array
(
)
[weapsOn] => 1
)
[settings] => Array
(
[balanceTip] => |cffFFFF0010%|r crit chance (|cffFFFF00+0.4%|r/lvl)
[abil_factor] => 0.7
[author] => Ashbringer
[alpha] => 0
[authorDisplay] => |cffFF6600Ashbringer|r
[version] => 1.0
[element] => fire
[rarity] => unique
)
[effects] => Array
(
[0] => Array
(
[x] => -0.153059
[y] => -0.0921025
[z] => 102.4
[scale] => 0.17
[rot] => 2.3562
[file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
[red] => 205
[green] => 155
[blue] => 105
[alpha] => 255
[pitch] => -3.14
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[1] => Array
(
[x] => -0.163526
[y] => 0.199821
[z] => 102.4
[scale] => 0.17
[rot] => 0.785398
[file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
[red] => 205
[green] => 155
[blue] => 105
[alpha] => 255
[pitch] => -3.14
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[2] => Array
(
[x] => -0.088051
[y] => 0.514348
[z] => -32
[scale] => 0.17
[rot] => 0
[file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
[red] => 205
[green] => 155
[blue] => 105
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[3] => Array
(
[x] => -0.088051
[y] => 0.514348
[z] => -32
[scale] => 0.17
[rot] => 1.5708
[file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
[red] => 205
[green] => 155
[blue] => 105
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[4] => Array
(
[x] => -0.0361071
[y] => -0.0597048
[z] => 51.2
[scale] => 0.17
[rot] => 0.785398
[file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
[red] => 205
[green] => 155
[blue] => 105
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[5] => Array
(
[x] => -0.0361071
[y] => -0.0597048
[z] => 51.2
[scale] => 0.17
[rot] => 2.3562
[file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
[red] => 205
[green] => 155
[blue] => 105
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[6] => Array
(
[x] => -0.0561701
[y] => -0.153846
[z] => 76.8
[scale] => 0.9
[rot] => 4.71239
[file] => Abilities\Spells\Other\Volcano\VolcanoMissile.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => true
[animation] => birth
[aniSpeed] => 0.6
[pcolor] => 255
)
[7] => Array
(
[x] => -0.0724537
[y] => 0.0771471
[z] => -6.4
[scale] => 1.15
[rot] => 4.71239
[file] => Doodads\Outland\Props\Grate\Grate1.mdl
[red] => 255
[green] => 155
[blue] => 55
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[8] => Array
(
[x] => -0.0566399
[y] => -0.0336536
[z] => 6.4
[scale] => 0.9
[rot] => 4.71239
[file] => Doodads\Outland\Props\Grate\Grate1.mdl
[red] => 255
[green] => 155
[blue] => 55
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[9] => Array
(
[x] => 0.949029
[y] => 0.989452
[z] => 76.8
[scale] => 2
[rot] => 0.785398
[file] => Abilities\Spells\Items\AIfb\AIfbTarget.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[10] => Array
(
[x] => -0.383094
[y] => 1.01733
[z] => 76.8
[scale] => 2
[rot] => 0.785398
[file] => Abilities\Spells\Items\AIfb\AIfbTarget.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => -1.67
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[11] => Array
(
[x] => -0.383979
[y] => 1.73022
[z] => 76.8
[scale] => 2
[rot] => 0.785398
[file] => Abilities\Spells\Items\AIfb\AIfbTarget.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => -1.67
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
)
[dmgTable] => Array
(
[0] => Array
(
[id] => MOD_ATK_CRIT_CHANCE
[base] => 0.0875
[add] => 0.004
)
)
[triggers] => Array
(
[0] => Array
(
[name] => On Level Up
[code] => local integer level = tower.getLevel()
if level>=25 then
set tower.userInt = 2
elseif level>=15 then
set tower.userInt = 1
else
set tower.userInt = 0
endif
[values] => Array
(
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[long_explain] =>
)
)
[1] => Array
(
[name] => On Attack
[code] => local Creep target = Event.getTarget()
if tower.calcChance(0.005 * tower.userInt2) then
call ashbringer_magma_start(tower, target.getX(), target.getY(), tower.userInt2)
endif
[values] => Array
(
[visible] => true
[icon] => ReplaceableTextures\CommandButtons\BTNFireRocks.blp
[name] => Rolling Magma
[short_explain] => Attacks have a chance to launch a boulder of magma which bounces randomly, dealing area damage.
[ONATTACK_chance] => 1.0
[ONATTACK_chanceLevelAdd] => 0
[long_explain] => Attacks have a |cffFFFF800.5%|r chance per stack of Mounting Pressure to release a boulder of magma toward the target. The magma bounces around randomly, dealing |cffFFFF80300%|r of attack damage to enemies within |cffFFFF80200|r range of wherever it bounces. The magma bounces |cffFFFF803|r times, up to |cffFFFF80600|r range per bounce.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+12%|r damage|n|cffFFFF80+1|r bounce at level |cffFFFF8015|r and |cffFFFF8025|r
)
)
[2] => Array
(
[name] => Header
[code] => globals
ProjectileType ashbringer_magma_missile
ProjectileType ashbringer_surge_missile
MultiboardValues ashbringer_eruption_count
endglobals
function ashbringer_magma_start takes Tower tower, real x, real y, integer stacks returns nothing
local Projectile p
local real damage = tower.getCurrentAttackDamageWithBonus() * (3.0 + (tower.getLevel() * 0.12)) * (1 + (stacks * (0.01 + (tower.getLevel() * 0.0004))))
set p = Projectile.createLinearInterpolationFromUnitToPoint(ashbringer_magma_missile, tower, 0, 0, tower, x, y, 0, 0.5)
set p.userInt = 3 + tower.userInt
set p.userInt2 = stacks
set p.userReal = damage
set p.userReal2 = x
set p.userReal3 = y
endfunction
function ashbringer_magma_bounce takes Projectile p, Unit target returns nothing
local Tower tower = p.getCaster()
local Iterate i = Iterate.overUnitsInRange(tower, TARGET_TYPE_CREEPS, p.userReal2, p.userReal3, 200)
local Creep next
local real random_angle = GetRandomReal(0, 360)
local real random_distance
local real target_x
local real target_y
local Effect e
local real bonus_crit = 0
if tower.userInt2 < p.userInt2 then
set bonus_crit = 0.005 * (p.userInt2 - tower.userInt2)
endif
loop
set next = i.next()
exitwhen next==0
call tower.doAttackDamage(next, p.userReal, tower.calcAttackMulticrit(bonus_crit, 0, 0))
call Effect.createSimpleOnUnit("Abilities\\Spells\\Items\\AIfb\\AIfbSpecialArt.mdl", next, "chest").destroy()
endloop
set p.userInt = p.userInt - 1
if p.userInt>0 then
call p.avertDestruction()
set e = Effect.createAnimated("Abilities\\Spells\\Other\\Volcano\\VolcanoMissile.mdl", p.userReal2, p.userReal3, 0, random_angle)
call e.setLifetime(1.7)
call e.setAnimation("Death")
set random_distance = GetRandomReal(200+75, 600)
set target_x = p.userReal2 + random_distance * Cos(Deg2Rad(random_angle))
set target_y = p.userReal3 + random_distance * Sin(Deg2Rad(random_angle))
call p.startLinearInterpolationToPoint(target_x, target_y, 0, 0.5)
set p.userReal2 = target_x
set p.userReal3 = target_y
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
set ashbringer_magma_missile = ProjectileType.createInterpolate("Abilities\\Spells\\Other\\Volcano\\VolcanoMissile.mdl", 400)
call ashbringer_magma_missile.setEventOnInterpolationFinished(ProjectileTargetEvent.ashbringer_magma_bounce)
set ashbringer_eruption_count = MultiboardValues.create(1)
call ashbringer_eruption_count.setKey(0,"Pressure")
endfunction
[values] => Array
(
[visible] => true
[icon] => ReplaceableTextures\CommandButtons\BTNEarthquake.blp
[name] => Mounting Pressure
[short_explain] => Critical hits have a chance to grant a stack of Mounting Pressure, increasing damage and other stats.
[long_explain] => Critical hits have a |cffFFFF8030%|r chance to grant the tower a stack of Mounting Pressure. The tower gains |cffFFFF802%|r attack speed, |cffFFFF800.5%|r critical strike chance and |cffFFFF801%|r trigger chance per stack. Attacks and Rolling Magma deal |cffFFFF801%|r more damage per stack. Maximum |cffFFFF8050|r stacks.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+1.2%|r chance|n|cffFFFF80+0.04%|r attack and rolling magma damage
)
)
[3] => Array
(
[name] => On Tower Details
[code] => call ashbringer_eruption_count.setValue(0, I2S(tower.userInt2))
return ashbringer_eruption_count
[values] => Array
(
[0] => Array
(
[_value] => 0
[typ] => string
)
)
)
[4] => Array
(
[name] => On Damage
[code] => local real eruption_chance = 0.3 + (tower.getLevel() * 0.012)
local real surge_damage = 1 + (tower.userInt2 * (0.01 + (tower.getLevel() * 0.0004)))
local real random_angle
local real random_distance
local real target_x
local real target_y
local integer magma_count
set Event.damage = Event.damage * surge_damage
if Event.isAttackDamageCritical() then
if tower.calcChance(eruption_chance) then
if tower.userInt2<50 then
set tower.userInt2 = tower.userInt2 + 1
call tower.modifyProperty(MOD_ATTACKSPEED, 0.02)
call tower.modifyProperty(MOD_ATK_CRIT_CHANCE, 0.005)
call tower.modifyProperty(MOD_TRIGGER_CHANCES, 0.01)
else
set magma_count = 5 + (tower.getLevel() * 1 / 5)
loop
exitwhen magma_count==0
set random_angle = GetRandomReal(0, 360)
set random_distance = GetRandomReal(600/2, 600*1.5)
set target_x = tower.getX() + random_distance * Cos(Deg2Rad(random_angle))
set target_y = tower.getY() + random_distance * Sin(Deg2Rad(random_angle))
call ashbringer_magma_start(tower, target_x, target_y, tower.userInt2)
set magma_count = magma_count - 1
endloop
call tower.modifyProperty(MOD_ATTACKSPEED, -1 * I2R(tower.userInt2) * 0.02)
call tower.modifyProperty(MOD_ATK_CRIT_CHANCE, -1 * I2R(tower.userInt2) * 0.005)
call tower.modifyProperty(MOD_TRIGGER_CHANCES, -1 * I2R(tower.userInt2) * 0.01)
set tower.userInt2 = 0
endif
endif
endif
[values] => Array
(
[ONDAMAGE_chance] => 1.0
[visible] => falsee
[icon] => ReplaceableTextures\CommandButtons\BTNFire.blp
[name] => Lava Surge
[short_explain] => Attacks and Rolling Magma deal more damage per stack of Mounting Pressure.
[ONDAMAGE_chanceLevelAdd] => 0.0
[long_explain] => Attacks and Rolling Magma deal |cffFFFF801%|r more damage per stack of Mounting Pressure.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.04%|r damage
)
)
[5] => Array
(
[name] => On Tower Creation
[code] => local integer level = tower.getLevel()
if level>=25 then
set tower.userInt = 2
elseif level>=15 then
set tower.userInt = 1
else
set tower.userInt = 0
endif
set tower.userInt2 = 0
[values] => Array
(
[visible] => true
[icon] => ReplaceableTextures\CommandButtons\BTNVolcano.blp
[name] => Eruption
[short_explain] => When reaching maximum stacks of Mounting Pressure, consumes all stacks to cause a violent eruption.
[long_explain] => Exceeding the maximum stacks of Mounting Pressure will instead consume all stacks to cause a violent eruption, releasing |cffFFFF805|r Rolling Magma boulders in random directions.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+1|r Rolling Magma every |cffFFFF805|r levels
)
)
)
[abilities] => Array
(
)
[buffs] => Array
(
)
[units] => Array
(
)
[references] => Array
(
)
[lightning] => Array
(
)
)