Array
(
[scriptVersion] => 8
[oeValues] => Array
(
[auto] => Array
(
)
[Art] => ReplaceableTextures\CommandButtons\BTNGreenHydra.blp
[turnRate] => 3
[dmgplus1] => 6319
[bldtm] => 1
[goldcost] => 3500
[sides1] => 1
[launchZ] => 75
[acquire] => 900
[upgrades] => Array
(
)
[Upgrade] => Array
(
)
[Name] => Ancient Hydra
[weapTp1] => missile
[MissileHoming] => 1
[file] => Units\Creeps\Hydra\Hydra.mdl
[uberSplat] => OSMA
[Missilespeed] => 1000
[dice1] => 1
[RngBuff1] => 250
[modelScale] => 0.55
[rangeN1] => 900
[atkType1] => pierce
[cool1] => 2.3
[Ubertip] => "We'll just have to cut its heads off, it'll be fine!"
Famous last words of a once accomplished adventurer.
[abilList] => Array
(
)
[moveHeight] => 15
[buildingShadow] => Array
(
)
[targs1] => Array
(
)
[weapsOn] => 1
)
[settings] => Array
(
[balanceTip] => Array
(
)
[abil_factor] => 0.60
[author] => Moppy
[alpha] => 255
[authorDisplay] => |c006969FFMoppy|r
[version] => 1.0
[element] => ice
[rarity] => unique
)
[effects] => Array
(
[0] => Array
(
[x] => -43.0037
[y] => -21.4781
[z] => 0
[scale] => 0.25
[rot] => 3.14159
[file] => Doodads\Ruins\Water\Coral\Coral9.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[1] => Array
(
[x] => -4.48011
[y] => -56.6358
[z] => -32
[scale] => 0.25
[rot] => 4.71239
[file] => Doodads\Terrain\CliffDoodad\Waterfall\Waterfall.mdl
[red] => 255
[green] => 160
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[2] => Array
(
[x] => -41.1392
[y] => -46.1279
[z] => -32
[scale] => 0.25
[rot] => 3.92699
[file] => Doodads\Terrain\CliffDoodad\Waterfall\Waterfall.mdl
[red] => 255
[green] => 160
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[3] => Array
(
[x] => 34.4388
[y] => -49.9399
[z] => -32
[scale] => 0.25
[rot] => 5.06146
[file] => Doodads\Terrain\CliffDoodad\Waterfall\Waterfall.mdl
[red] => 255
[green] => 160
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[4] => Array
(
[x] => -5.24115
[y] => 6.12636
[z] => -12.8
[scale] => 0.5
[rot] => 4.71239
[file] => Doodads\Ruins\Water\Coral\Coral6.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[5] => Array
(
[x] => 40.3317
[y] => 34.0947
[z] => 0
[scale] => 0.25
[rot] => 3.49066
[file] => Doodads\Ruins\Water\Coral\Coral3.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[6] => Array
(
[x] => -1.33868
[y] => -42.9081
[z] => 0
[scale] => 0.25
[rot] => 5.23599
[file] => Doodads\Ruins\Water\Coral\Coral9.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[7] => Array
(
[x] => 44.0838
[y] => -5.37415
[z] => 6.4
[scale] => 0.15
[rot] => 4.71239
[file] => Doodads\Ruins\Water\Coral\Coral8.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[8] => Array
(
[x] => 29.2132
[y] => 18.2256
[z] => 12.8
[scale] => 0.15
[rot] => 5.23599
[file] => Doodads\Ruins\Water\Coral\Coral8.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[9] => Array
(
[x] => -31.3672
[y] => -28.398
[z] => 12.8
[scale] => 0.15
[rot] => 2.0944
[file] => Doodads\Ruins\Water\Coral\Coral8.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
)
[dmgTable] => Array
(
)
[triggers] => Array
(
[0] => Array
(
[name] => On Attack
[code] => local Unit creep = Event.getTarget()
local Projectile p
call TriggerSleepAction(0.75) // Delayed breath projectile shots to make them align with the tower model's wind up animation
set tower.userInt = tower.userInt + 1
if tower.userInt == 1 then
set p = Projectile.createFromUnitToUnit(moppy_hydro_breath_shot, tower, 1, 0, tower, creep, true, false, false)
elseif tower.userInt == 2 then
set p = Projectile.createFromUnitToUnit(moppy_toxic_breath_shot, tower, 1, 0, tower, creep, true, false, false)
elseif tower.userInt == 3 then
set p = Projectile.createFromUnitToUnit(moppy_cryo_breath_shot, tower, 1, 0, tower, creep, true, false, false)
set tower.userInt = 0
endif
[values] => Array
(
[visible] => true
[icon] => ReplaceableTextures\CommandButtons\BTNRedDragonDevour.blp
[name] => Threefold Fury
[short_explain] => The Ancient Hydra will unleash three distinct breath attacks in a rotational sequence, each inflicting a different ailment on all foes affected.
[ONATTACK_chance] => 1.0
[ONATTACK_chanceLevelAdd] => 0.0
[long_explain] => The Ancient Hydra will unleash three distinct breath attacks in a rotational sequence, each inflicting a different ailment on all foes affected:|n|n|cffFF8000Hydro Breath:|r Increases damage taken from |cFF00FFFFIce|r towers by |cffFFFF8020%|r for |cffFFFF803|r seconds|n|cffFF8000Toxic Breath:|r Deals |cffFFFF802000|r spell damage per second for |cffFFFF803|r seconds|n|cffFF8000Cryo Breath:|r Slows by |cffFFFF8020%|r for |cffFFFF803|r seconds|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.4%|r damage taken (Hydro Breath)|n|cffFFFF80+40|r spell damage (Toxic Breath)|n|cffFFFF80+0.4%|r slow (Cryo Breath)
)
)
[1] => Array
(
[name] => Header
[code] => globals
BuffType moppy_hydro_breath_debuff
ProjectileType moppy_hydro_breath_shot
BuffType moppy_toxic_breath_debuff
ProjectileType moppy_toxic_breath_shot
BuffType moppy_cryo_breath_debuff
ProjectileType moppy_cryo_breath_shot
endglobals
function moppy_hydro_breath_throw takes Projectile p, Unit target returns nothing
local Tower tower = p.getCaster()
local integer lvl = tower.getLevel()
local Iterate i = Iterate.overUnitsInRangeOfUnit(tower, TARGET_TYPE_CREEPS, target, 200)
call tower.doAttackDamageAoE(target.getX(), target.getY(), 200, tower.getCurrentAttackDamageWithBonus(), tower.calcAttackMulticrit(0.0, 0.0, 0), 0.8)
loop
set target = i.next()
exitwhen target == 0
call moppy_hydro_breath_debuff.applyCustomTimed(tower, target, lvl, 3.0)
endloop
endfunction
function moppy_toxic_breath_damage takes Buff b returns nothing // Spell DoT as a custom made debuff
local Tower tower = b.getCaster()
local Unit creep = b.getBuffedUnit()
call tower.doSpellDamage(creep, (2000 + (tower.getLevel() * 40)), tower.calcSpellCritNoBonus())
endfunction
function moppy_toxic_breath_throw takes Projectile p, Unit target returns nothing
local Tower tower = p.getCaster()
local integer lvl = tower.getLevel()
local Iterate i = Iterate.overUnitsInRangeOfUnit(tower, TARGET_TYPE_CREEPS, target, 200)
call tower.doAttackDamageAoE(target.getX(), target.getY(), 200, tower.getCurrentAttackDamageWithBonus(), tower.calcAttackMulticrit(0.0, 0.0, 0), 0.8)
loop
set target = i.next()
exitwhen target == 0
call moppy_toxic_breath_debuff.applyCustomTimed(tower, target, lvl, 3.01) // To allow the 3rd spell damage instance to proc as it doesn't do so at 3.0 seconds
endloop
endfunction
function moppy_cryo_breath_throw takes Projectile p, Unit target returns nothing
local Tower tower = p.getCaster()
local integer lvl = tower.getLevel()
local Iterate i = Iterate.overUnitsInRangeOfUnit(tower, TARGET_TYPE_CREEPS, target, 200)
call tower.doAttackDamageAoE(target.getX(), target.getY(), 200, tower.getCurrentAttackDamageWithBonus(), tower.calcAttackMulticrit(0.0, 0.0, 0), 0.8)
loop
set target = i.next()
exitwhen target == 0
call moppy_cryo_breath_debuff.applyCustomTimed(tower, target, lvl, 3.0)
endloop
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 h = Modifier.create()
local Modifier t = Modifier.create()
local Modifier c = Modifier.create()
set moppy_hydro_breath_debuff = BuffType.create(3, 0, false)
call h.addModification(MOD_DMG_FROM_ICE, 0.2, 0.004)
call moppy_hydro_breath_debuff.setBuffModifier(h)
call moppy_hydro_breath_debuff.setBuffIcon('@@0@@')
set moppy_hydro_breath_shot = ProjectileType.create("Abilities\\Weapons\\WaterElementalMissile\\WaterElementalMissile.mdl", 50, 1000)
call moppy_hydro_breath_shot.enableHoming(moppy_hydro_breath_throw, 0.0)
set moppy_toxic_breath_debuff = BuffType.create(3.01, 0, false)
call moppy_toxic_breath_debuff.addPeriodicEvent(EventHandler.moppy_toxic_breath_damage, 1)
call moppy_toxic_breath_debuff.setBuffModifier(t)
call moppy_toxic_breath_debuff.setBuffIcon('@@1@@')
set moppy_toxic_breath_shot = ProjectileType.create("Abilities\\Weapons\\ChimaeraAcidMissile\\ChimaeraAcidMissile.mdl", 50, 1000)
call moppy_toxic_breath_shot.enableHoming(moppy_toxic_breath_throw, 0.0)
set moppy_cryo_breath_debuff = BuffType.create(3, 0, false)
call c.addModification(MOD_MOVESPEED, -0.2, -0.004)
call moppy_cryo_breath_debuff.setBuffModifier(c)
call moppy_cryo_breath_debuff.setBuffIcon('@@2@@')
set moppy_cryo_breath_shot = ProjectileType.create("Abilities\\Weapons\\FrostWyrmMissile\\FrostWyrmMissile.mdl", 50, 1000)
call moppy_cryo_breath_shot.enableHoming(moppy_cryo_breath_throw, 0.0)
endfunction
[values] => Array
(
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[long_explain] =>
)
)
[2] => Array
(
[name] => On Damage
[code] => set Event.damage = 0 // To make its regular instant attack deal no damage
[values] => Array
(
[ONDAMAGE_chance] => 1.0
[visible] => true
[icon] => ReplaceableTextures\CommandButtons\BTNBreathOfFrost.blp
[name] => Breath of Ruin
[short_explain] => The Ancient Hydra's breath attacks damage enemies within range around the target with varying strength.
[ONDAMAGE_chanceLevelAdd] => 0.0
[long_explain] => The Ancient Hydra's breath attacks damage enemies within |cffFFFF80200|r range around the target. Damage dealt scales from |cffFFFF80100%|r of its attack damage at the center to |cffFFFF8020%|r at the outer edge.
)
)
)
[abilities] => Array
(
)
[buffs] => Array
(
[0] => Array
(
[id] => @@0@@
[derivedFrom] => BNab
[oeValues] => Array
(
[EditorName] => Hydro Breath
[Buffubertip] => Taking increased damage from Ice towers.
[TargetArt] => Abilities\Spells\Other\GeneralAuraTarget\GeneralAuraTarget.mdl
[Bufftip] => Hydro Breath
[Buffart] => ReplaceableTextures\CommandButtons\BTNRedDragonDevour.blp
)
)
[1] => Array
(
[id] => @@1@@
[derivedFrom] => BNab
[oeValues] => Array
(
[EditorName] => Toxic Breath
[Buffubertip] => Taking spell damage over time.
[TargetArt] => Abilities\Weapons\PoisonSting\PoisonStingTarget.mdl
[Bufftip] => Toxic Breath
[Buffart] => ReplaceableTextures\CommandButtons\BTNRedDragonDevour.blp
)
)
[2] => Array
(
[id] => @@2@@
[derivedFrom] => BNab
[oeValues] => Array
(
[EditorName] => Cryo Breath
[Buffubertip] => Slowed.
[TargetArt] => Abilities\Spells\Other\FrostDamage\FrostDamage.mdl
[Bufftip] => Cryo Breath
[Buffart] => ReplaceableTextures\CommandButtons\BTNRedDragonDevour.blp
)
)
)
[units] => Array
(
)
[references] => Array
(
)
[lightning] => Array
(
)
)