Flare
Stops copies me!
- Reaction score
- 662
I'm trying to move all my constant data and struct data into libraries so I can access them all (primarily for skill synergy) but when I did it with my second spell, it's declaring that HAIL_H2I is an undeclared function.
It worked fine with my first spell :S
EDIT: For some reason, the ConflagD library is above HAIL library in JASSHelper. Should I change the name on ConflagD incase it's alphabetically sorting the libraries?
EDIT AGAIN: That seems to have solved it, now to rename all my ConflagD prefixes
My library code
And the HAIL_H2I function
It worked fine with my first spell :S
EDIT: For some reason, the ConflagD library is above HAIL library in JASSHelper. Should I change the name on ConflagD incase it's alphabetically sorting the libraries?
EDIT AGAIN: That seems to have solved it, now to rename all my ConflagD prefixes
My library code
JASS:
library ConflagD
//HAIL initializer
//! runtextmacro HAIL_CreateProperty ("Data", "integer", "public")
//! runtextmacro HAIL_CreatePairProperty ("PairData", "integer", "public")
//Globals and constant data
globals
public constant integer SPELLID = 039;A001039;
public constant integer DUMMYID = 039;h001039;
public constant string BOOMFX = "Abilities\\Weapons\\DemolisherFireMissile\\DemolisherFireMissile.mdl"//"Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl"
public constant string FLAMEFX = "Abilities\\Spells\\Other\\Volcano\\VolcanoMissile.mdl" //"Doodads\\Cinematic\\FireTrapUp\\FireTrapUp"
public constant string EXPLODEFX = "Objects\\Spawnmodels\\Orc\\OrcLargeDeathExplode\\OrcLargeDeathExplode.mdl"
public constant real TIMERPERIOD = 0.03
public constant real FXPERIOD = 0.03
public constant real SPEED = 1200.
public constant real MOVEDISTANCE = SPEED*TIMERPERIOD
public constant real HITRADIUSLIVING = 125
public constant real HITRADIUSDEAD = 75
public constant real EXDMGRADIUS = 250
public constant attacktype ATKTYPE = ATTACK_TYPE_MAGIC
public constant damagetype DMGTYPE = DAMAGE_TYPE_NORMAL
public constant weapontype WPNTYPE = WEAPON_TYPE_WHOKNOWS
endglobals
//SetUnitXY function
public function SetUnitXY takes unit u, real x, real y returns nothing
if x<GetRectMaxX(bj_mapInitialPlayableArea) and x>GetRectMinX(bj_mapInitialPlayableArea) and y<GetRectMaxY(bj_mapInitialPlayableArea) and y>GetRectMinY(bj_mapInitialPlayableArea) then
call SetUnitX(u,x)
call SetUnitY(u,y)
endif
endfunction
//Hit damage function
public function HitDamage takes unit u returns real
local real base = 50
local real level = I2R (GetUnitAbilityLevel (u, SPELLID))
local real multiplier = 0
return base + level*multiplier
endfunction
//Exploding damage function
public function ExplodeDamage takes unit u returns real
local real base = 75
local real level = I2R (GetUnitAbilityLevel (u, SPELLID))
local real multiplier = 0
return base + level*multiplier
endfunction
//Range function
public function Range takes unit u returns real
local real base = 800
local real level = I2R (GetUnitAbilityLevel (u, SPELLID))
local real multiplier = 0
return base + level*multiplier
endfunction
//Struct data
public struct CData
unit caster
real explodedamage
real hitdamage
timer contimer
trigger contrig
group exgroup
group exdmggroup
group exdmggroup2
real angle
real curdist
real maxdist
unit dummy
real counter
method onDestroy takes nothing returns nothing
call KillUnit (.dummy)
call ShowUnit (.dummy, false)
call ConflagD_ResetData (.contimer)
call ConflagD_ResetData (.contrig)
call DestroyTimer (.contimer)
call DestroyTrigger (.contrig)
call GroupClear (.exdmggroup)
call DestroyGroup (.exdmggroup)
call ConflagD_ResetAnyPairDataFor (.caster)
endmethod
endstruct
endlibrary
And the HAIL_H2I function