@compiletime function compileGen()
    callFunctionsWithAnnotation("objgen")
 
init
    callFunctionsWithAnnotation("objgen")
 
public int TEST_BUFF_ID
 
@objgen function genBuff()
    TEST_BUFF_ID = createBuffObject("Test", "for testing", "ReplaceableTextures\\CommandButtons\\BTNUnbroken.blp")
 
/** Creates an ability based on Tornado aura that allows to display a buff without side effects */
public function createBuffObject(string name, string tooltip, string iconpath) returns int
    let abilId = ABIL_ID_GEN.next()
    let buffId = BUFF_ID_GEN.next()
 
    if compiletime
        new BuffDefinition(buffId, 'Basl')
            ..setName(1, name)
            ..setTooltipNormal(1, name)
            ..setTooltipNormalExtended(1, tooltip)
            ..setIcon(iconpath)
 
        new AbilityDefinitionAuraSlow(abilId)
            ..setName("Aura Dummy: " + name)
            ..setMovementSpeedFactor(1, 0)
            ..setBuffs(1, int2fourchar(buffId))
            ..presetIcon(iconpath)
 
    return abilId

goto line:
Compare with:
text copy window edit this code post new code