Array
(
[scriptVersion] => 7
[oeValues] => Array
(
[Ubertip] => A pipe with a sound that frogs cannot resist.
[Art] => ReplaceableTextures\CommandButtons\BTNPipeOfInsight.blp
[abilList] => Array
(
)
[Name] => Frog Pipe
)
[settings] => Array
(
[balanceTip] => Array
(
)
[goldcost] => 1650
[author] => Deemzul
[authorDisplay] => Deemzul
[version] => 1.0
[rarity] => unique
)
[dmgTable] => Array
(
)
[triggers] => Array
(
[0] => Array
(
[name] => On Attack
[code] => local Unit target = Event.getTarget()
if target.getSize() != SIZE_AIR then
call deem_FrogAttack(itm.getCarrier(),target,GetRandomInt(-40,-20))
call deem_FrogAttack(itm.getCarrier(),target,GetRandomInt(-20,-0))
call deem_FrogAttack(itm.getCarrier(),target,GetRandomInt(0,20))
call deem_FrogAttack(itm.getCarrier(),target,GetRandomInt(20,40))
endif
[values] => Array
(
[explain] =>
[visible] => false
[goldcost] => 0
[name] =>
[ONATTACK_chance] => 0.2
[ONATTACK_chanceLevelAdd] => 0.0
)
)
[1] => Array
(
[name] => Header
[code] => globals
//@export
ProjectileType deem_FrogPT
endglobals
function deem_FrogAttack takes Tower tower, Unit target, integer temp returns nothing
local Projectile p
local real x = tower.getX()
local real y = tower.getY()
local real angle
local real homerange = 190
set angle = Atan2(target.getY() - y, target.getX() - x)
set p = Projectile.create(deem_FrogPT, tower, 0.00, 0, x + GetRandomInt(-40,40), y + GetRandomInt(-40,40), 5.00, angle * bj_RADTODEG + temp)
call p.setCollisionParameters(homerange,TARGET_CREEPS)
set p.userInt = temp
set p.userReal = tower.getCurrentAttackDamageWithBonus()
set p.userReal2 = tower.calcAttackMulticrit(0,0,0)
endfunction
function deem_FrogCollision takes Projectile p, Unit target returns nothing
local Tower tower = p.getCaster()
call tower.doAttackDamage(target,p.userReal,p.userReal2)
endfunction
function deem_FrogPeriodic takes Projectile p returns nothing
set p.userInt = p.userInt * -1
set p.speed = 500
set p.direction = p.direction + p.userInt
endfunction
function deem_FrogHome takes Projectile p, Unit target returns nothing
local Tower tower = p.getCaster()
if target.getSize() != SIZE_AIR then
set p.speed = 500
call p.setCollisionEnabled(false)
call p.setHomingTarget(target)
set p.accelerate = 8
call p.color(95,200,255,255)
call p.disablePeriodic()
set p.remainingLifetime = 3.00
endif
endfunction
private function init takes nothing returns nothing
set deem_FrogPT = ProjectileType.createRanged("units\\critters\\Frog\\Frog.mdl", 3700.0, 500.0)
call deem_FrogPT.enableCollision( deem_FrogHome, 0.00, TARGET_CREEPS, false )
call deem_FrogPT.enableHoming(deem_FrogCollision, 0 )
call deem_FrogPT.enablePeriodic(deem_FrogPeriodic,0.60)
call deem_FrogPT.setAcceleration(-36)
call deem_FrogPT.disableExplodeOnHit()
endfunction
[values] => Array
(
[explain] => Has a |cffFFFF8020%|r chance on attack to summon |cffFFFF804|r frogs that deal |cffFFFF80100%|r attack damage when they hit an enemy.|n|nFrogs cannot hit air.
[visible] => true
[goldcost] => 1650
[name] => Frog Piper
)
)
)
[abilities] => Array
(
)
[buffs] => Array
(
)
[units] => Array
(
)
[references] => Array
(
[0] => Array
(
[export] => true
[category] => global
[typ] => ProjectileType
[name] => deem_FrogPT
)
)
)