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
                )

        )

)