library ShootingArrow requires Missile, MissileMove, MissileTargets, MissileCollideHit, MissileUnitHit, MissileGroundHit, MissileDestHit, MissileDecay, MissileHelpers
private struct arrow extends Missile
//implement MissileCollideHit // Missile hits other MISSILES
//implement MissileUnitHit // Missile hits UNITS
//implement MissileGroundHit // Missile hits TERRAIN
//implement MissileDestHit // Missile hits DESTRUCTABLES
//implement MissileDecay // Missile will DECAY
implement MissileMove // Missile can MOVE
implement MissilePositionTarget // Missile has target POSITION
implement MissileAllocHelper
public static method onDeath takes nothing returns nothing
call BJDebugMsg("Missile died")
endmethod
endstruct
struct Spell
private static integer ABILITY_ID = 'plsh'
public static method onCast takes nothing returns nothing
local arrow missile = arrow.fromSpell()
set missile.sfx = "Abilities\\Weapons\\SearingArrow\\SearingArrowMissile.mdl"
set missile.z = missile.z + 75.
set missile.source.z = missile.source.z + 75.
set missile.target.z = missile.target.z + 75.
call BJDebugMsg("Angle: " + R2S(bj_RADTODEG * missile.xyAngle))
call BJDebugMsg("TargetX: " + R2S(missile.targetX))
call BJDebugMsg("TargetY: " + R2S(missile.targetY))
//call missile.fire()
//call missile.destroy()
endmethod
implement MissileCastHelper
endstruct
endlibrary