package AbilityObjEditing import NoWurst import Integer import Real import Boolean import public ObjEditingNatives import String import public UnitObjEditing public interface TooltipGenerator function addProperty(string title, StringLevelClosure lc) function applyToDef(AbilityDefinition def) public class AbilityDefinition protected ObjectDefinition def int lvls = 1 TooltipGenerator tooltipGen = null boolean listen = false construct(int newAbilityId, int origAbilityId) def = createObjectDefinition("w3a", newAbilityId, origAbilityId) construct(int newAbilityId, int origAbilityId, int lvls) def = createObjectDefinition("w3a", newAbilityId, origAbilityId) setLevels(lvls) function addTooltipProperty(string pName, StringLevelClosure lc) if tooltipGen != null and listen tooltipGen.addProperty(pName, lc) function addTooltipProperty(string pName, IntLevelClosure lc) addTooltipProperty(pName, (int lvl) -> lc.run(lvl).toString()) function addTooltipProperty(string pName, RealLevelClosure lc) addTooltipProperty(pName, (int lvl) -> lc.run(lvl).toString()) function addTooltipProperty(string pName, BooleanLevelClosure lc) addTooltipProperty(pName, (int lvl) -> lc.run(lvl).toString()) function registerTooltipGegenrator(TooltipGenerator tgen) tooltipGen = tgen function tgenStartListen() listen = true function tgenStopListen() listen = false tooltipGen.applyToDef(this) function setName(string value) def.setLvlDataString("anam", 0, 0, value) function setEditorSuffix(string value) def.setLvlDataString("ansf", 0, 0, value) function setHeroAbility(bool value) def.setLvlDataBoolean("aher", 0, 0, value) function setItemAbility(bool value) def.setLvlDataBoolean("aite", 0, 0, value) function setRace(Race rce) def.setLvlDataString("arac", 0, 0, rce.toObjectString()) function setButtonPositionNormalX(int value) def.setLvlDataInt("abpx", 0, 0, value) function setButtonPositionNormalY(int value) def.setLvlDataInt("abpy", 0, 0, value) function setButtonPositionTurnOffX(int value) def.setLvlDataInt("aubx", 0, 0, value) function setButtonPositionTurnOffY(int value) def.setLvlDataInt("auby", 0, 0, value) function setButtonPositionResearchX(int value) def.setLvlDataInt("arpx", 0, 0, value) function setButtonPositionResearchY(int value) def.setLvlDataInt("arpy", 0, 0, value) function presetButtonPosNormal(int x, int y) setButtonPositionNormalX(x) setButtonPositionNormalY(y) function presetButtonPosTurnOff(int x, int y) setButtonPositionTurnOffX(x) setButtonPositionTurnOffY(y) function presetButtonPosResearch(int x, int y) setButtonPositionResearchX(x) setButtonPositionResearchY(y) function setIconNormal(string value) def.setLvlDataString("aart", 0, 0, value) function setIconTurnOff(string value) def.setLvlDataString("auar", 0, 0, value) function setIconResearch(string value) def.setLvlDataString("arar", 0, 0, value) function presetIcon(string name) string s = name if name.length() < 20 or not name.startsWith("ReplaceableTextures") s = "ReplaceableTextures\\CommandButtons\\" + s if not name.endsWith(".blp") s += ".blp" setIconResearch(s) setIconNormal(s) function setArtCaster(string value) def.setLvlDataString("acat", 0, 0, value) function setArtTarget(string value) def.setLvlDataString("atat", 0, 0, value) function setArtSpecial(string value) def.setLvlDataString("asat", 0, 0, value) function setArtEffect(string value) def.setLvlDataString("aeat", 0, 0, value) function setAreaEffect(string value) def.setLvlDataString("aaea", 0, 0, value) function setLightningEffects(string value) def.setLvlDataString("alig", 0, 0, value) function setMissileArt(string value) def.setLvlDataString("amat", 0, 0, value) function setMissileSpeed(int value) def.setLvlDataInt("amsp", 0, 0, value) function setMissileArc(real value) def.setLvlDataUnreal("amac", 0, 0, value) function setMissileHomingEnabled(bool value) def.setLvlDataBoolean("amho", 0, 0, value) function setTargetAttachments(int value) def.setLvlDataInt("atac", 0, 0, value) function setTargetAttachmentPoint(string value) def.setLvlDataString("ata0", 0, 0, value) function setTargetAttachmentPoint1(string value) def.setLvlDataString("ata1", 0, 0, value) function setTargetAttachmentPoint2(string value) def.setLvlDataString("ata2", 0, 0, value) function setTargetAttachmentPoint3(string value) def.setLvlDataString("ata3", 0, 0, value) function setTargetAttachmentPoint4(string value) def.setLvlDataString("ata4", 0, 0, value) function setTargetAttachmentPoint5(string value) def.setLvlDataString("ata5", 0, 0, value) function setCasterAttachments(int value) def.setLvlDataInt("acac", 0, 0, value) function setCasterAttachmentPoint(string value) def.setLvlDataString("acap", 0, 0, value) function setCasterAttachmentPoint1(string value) def.setLvlDataString("aca1", 0, 0, value) function setSpecialAttachmentPoint(string value) def.setLvlDataString("aspt", 0, 0, value) function setAnimationNames(string value) def.setLvlDataString("aani", 0, 0, value) function setTooltipNormal(int level, string value) def.setLvlDataString("atp1", level, 0, value) function presetTooltipNormal(StringLevelClosure lc) def.setLevelsDataString("atp1", lvls, 0, lc) addTooltipProperty("TooltipNormal", lc) function setTooltipTurnOff(int level, string value) def.setLvlDataString("aut1", level, 0, value) function presetTooltipTurnOff(StringLevelClosure lc) def.setLevelsDataString("aut1", lvls, 0, lc) addTooltipProperty("TooltipTurnOff", lc) function setTooltipNormalExtended(int level, string value) def.setLvlDataString("aub1", level, 0, value) function presetTooltipNormalExtended(StringLevelClosure lc) def.setLevelsDataString("aub1", lvls, 0, lc) addTooltipProperty("TooltipNormalExtended", lc) function setTooltipTurnOffExtended(int level, string value) def.setLvlDataString("auu1", level, 0, value) function presetTooltipTurnOffExtended(StringLevelClosure lc) def.setLevelsDataString("auu1", lvls, 0, lc) addTooltipProperty("TooltipTurnOffExtended", lc) function setTooltipLearn(string value) def.setLvlDataString("aret", 0, 0, value) function setTooltipLearnExtended(string value) def.setLvlDataString("arut", 0, 0, value) function setHotkeyLearn(string value) def.setLvlDataString("arhk", 0, 0, value) function setHotkeyNormal(string value) def.setLvlDataString("ahky", 0, 0, value) function setHotkeyTurnOff(string value) def.setLvlDataString("auhk", 0, 0, value) function presetHotkey(string value) setHotkeyNormal(value) setHotkeyLearn(value) setHotkeyTurnOff(value) function setRequirements(string value) def.setLvlDataString("areq", 0, 0, value) function setRequirementsLevels(string value) def.setLvlDataString("arqa", 0, 0, value) function setCheckDependencies(bool value) def.setLvlDataBoolean("achd", 0, 0, value) function setPriorityforSpellSteal(int value) def.setLvlDataInt("apri", 0, 0, value) function setOrderStringUseTurnOn(string value) def.setLvlDataString("aord", 0, 0, value) function setOrderStringTurnOff(string value) def.setLvlDataString("aoru", 0, 0, value) function setOrderStringActivate(string value) def.setLvlDataString("aoro", 0, 0, value) function setOrderStringDeactivate(string value) def.setLvlDataString("aorf", 0, 0, value) function setEffectSound(string value) def.setLvlDataString("aefs", 0, 0, value) function setEffectSoundLooping(string value) def.setLvlDataString("aefl", 0, 0, value) function setLevels(int value) def.setLvlDataInt("alev", 0, 0, value) lvls = value function setRequiredLevel(int value) def.setLvlDataInt("arlv", 0, 0, value) function setLevelSkipRequirement(int value) def.setLvlDataInt("alsk", 0, 0, value) function setTargetsAllowed(int level, string value) def.setLvlDataString("atar", level, 0, value) function presetTargetsAllowed(StringLevelClosure lc) def.setLevelsDataString("atar", lvls, 0, lc) addTooltipProperty("TargetsAllowed", lc) function setCastingTime(int level, real value) def.setLvlDataUnreal("acas", level, 0, value) function presetCastingTime(RealLevelClosure lc) def.setLevelsDataUnreal("acas", lvls, 0, lc) addTooltipProperty("CastingTime", lc) function setDurationNormal(int level, real value) def.setLvlDataUnreal("adur", level, 0, value) function presetDurationNormal(RealLevelClosure lc) def.setLevelsDataUnreal("adur", lvls, 0, lc) addTooltipProperty("DurationNormal", lc) function setDurationHero(int level, real value) def.setLvlDataUnreal("ahdu", level, 0, value) function presetDurationHero(RealLevelClosure lc) def.setLevelsDataUnreal("ahdu", lvls, 0, lc) addTooltipProperty("DurationHero", lc) function setCooldown(int level, real value) def.setLvlDataUnreal("acdn", level, 0, value) function presetCooldown(RealLevelClosure lc) def.setLevelsDataUnreal("acdn", lvls, 0, lc) addTooltipProperty("Cooldown", lc) function setManaCost(int level, int value) def.setLvlDataInt("amcs", level, 0, value) function presetManaCost(IntLevelClosure lc) def.setLevelsDataInt("amcs", lvls, 0, lc) addTooltipProperty("ManaCost", lc) function setAreaofEffect(int level, real value) def.setLvlDataUnreal("aare", level, 0, value) function presetAreaofEffect(RealLevelClosure lc) def.setLevelsDataUnreal("aare", lvls, 0, lc) addTooltipProperty("AreaofEffect", lc) function setCastRange(int level, real value) def.setLvlDataUnreal("aran", level, 0, value) function presetCastRange(RealLevelClosure lc) def.setLevelsDataUnreal("aran", lvls, 0, lc) addTooltipProperty("CastRange", lc) function setBuffs(int level, string value) def.setLvlDataString("abuf", level, 0, value) function presetBuffs(StringLevelClosure lc) def.setLevelsDataString("abuf", lvls, 0, lc) addTooltipProperty("Buffs", lc) function setEffects(int level, string value) def.setLvlDataString("aeff", level, 0, value) function presetEffects(StringLevelClosure lc) def.setLevelsDataString("aeff", lvls, 0, lc) addTooltipProperty("Effects", lc) public class AbilityDefinitionTaunt extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Atau') function setPreferFriendlies(int level, int value) def.setLvlDataInt("Tau2", level, 2, value) function presetPreferFriendlies(IntLevelClosure lc) def.setLevelsDataInt("Tau2", lvls, 2, lc) addTooltipProperty("PreferFriendlies", lc) function setPreferHostiles(int level, int value) def.setLvlDataInt("Tau1", level, 1, value) function presetPreferHostiles(IntLevelClosure lc) def.setLevelsDataInt("Tau1", lvls, 1, lc) addTooltipProperty("PreferHostiles", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Tau3", level, 3, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Tau3", lvls, 3, lc) addTooltipProperty("MaxUnits", lc) public class AbilityDefinitionPoisonArrows extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEpa') function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Poa3", level, 3, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poa3", lvls, 3, lc) addTooltipProperty("AttackSpeedFactor", lc) function setStackingType(int level, string value) def.setLvlDataString("Poa5", level, 5, value) function presetStackingType(StringLevelClosure lc) def.setLevelsDataString("Poa5", lvls, 5, lc) addTooltipProperty("StackingType", lc) function setExtraDamage(int level, real value) def.setLvlDataUnreal("Poa1", level, 1, value) function presetExtraDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Poa1", lvls, 1, lc) addTooltipProperty("ExtraDamage", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Poa4", level, 4, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poa4", lvls, 4, lc) addTooltipProperty("MovementSpeedFactor", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Poa2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Poa2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionRangerColdArrows extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHca') function setStackFlags(int level, string value) def.setLvlDataString("Hca4", level, 4, value) function presetStackFlags(StringLevelClosure lc) def.setLevelsDataString("Hca4", lvls, 4, lc) addTooltipProperty("StackFlags", lc) function setExtraDamage(int level, real value) def.setLvlDataUnreal("Hca1", level, 1, value) function presetExtraDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hca1", lvls, 1, lc) addTooltipProperty("ExtraDamage", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Hca3", level, 3, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Hca3", lvls, 3, lc) addTooltipProperty("AttackSpeedFactor", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Hca2", level, 2, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Hca2", lvls, 2, lc) addTooltipProperty("MovementSpeedFactor", lc) public class AbilityDefinitionSeaWitchTornado extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANto') function setSummonedUnitType(int level, string value) def.setLvlDataString("Ntou", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Ntou", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionAgilityBonusPlus4 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIa4') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionAlchemistTransmute extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANtm') function setLumberCostFactor(int level, real value) def.setLvlDataUnreal("Ntm2", level, 2, value) function presetLumberCostFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ntm2", lvls, 2, lc) addTooltipProperty("LumberCostFactor", lc) function setAllowBounty(int level, bool value) def.setLvlDataBoolean("Ntm4", level, 4, value) function presetAllowBounty(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ntm4", lvls, 4, lc) addTooltipProperty("AllowBounty", lc) function setMaxCreepLevel(int level, int value) def.setLvlDataInt("Ntm3", level, 3, value) function presetMaxCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Ntm3", lvls, 3, lc) addTooltipProperty("MaxCreepLevel", lc) function setGoldCostFactor(int level, real value) def.setLvlDataUnreal("Ntm1", level, 1, value) function presetGoldCostFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ntm1", lvls, 1, lc) addTooltipProperty("GoldCostFactor", lc) public class AbilityDefinitionAgilityBonusPlus3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIa3') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionAgilityBonusPlus1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIa1') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionThornyShieldCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANth') function setDefenseBonus(int level, real value) def.setLvlDataUnreal("Uts3", level, 3, value) function presetDefenseBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Uts3", lvls, 3, lc) addTooltipProperty("DefenseBonus", lc) function setReceivedDamageFactor(int level, real value) def.setLvlDataUnreal("Uts2", level, 2, value) function presetReceivedDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Uts2", lvls, 2, lc) addTooltipProperty("ReceivedDamageFactor", lc) function setReturnedDamageFactor(int level, real value) def.setLvlDataUnreal("Uts1", level, 1, value) function presetReturnedDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Uts1", lvls, 1, lc) addTooltipProperty("ReturnedDamageFactor", lc) public class AbilityDefinitionAgilityBonusPlus6 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIa6') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionBloodMageSiphonMana extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHdr') function setBonusLifeDecay(int level, real value) def.setLvlDataUnreal("Ndr7", level, 7, value) function presetBonusLifeDecay(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr7", lvls, 7, lc) addTooltipProperty("BonusLifeDecay", lc) function setDrainIntervalseconds(int level, real value) def.setLvlDataUnreal("Ndr3", level, 3, value) function presetDrainIntervalseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr3", lvls, 3, lc) addTooltipProperty("DrainIntervalseconds", lc) function setHitPointsDrained(int level, real value) def.setLvlDataUnreal("Ndr1", level, 1, value) function presetHitPointsDrained(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr1", lvls, 1, lc) addTooltipProperty("HitPointsDrained", lc) function setBonusLifeFactor(int level, real value) def.setLvlDataUnreal("Ndr6", level, 6, value) function presetBonusLifeFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr6", lvls, 6, lc) addTooltipProperty("BonusLifeFactor", lc) function setManaPointsDrained(int level, real value) def.setLvlDataUnreal("Ndr2", level, 2, value) function presetManaPointsDrained(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr2", lvls, 2, lc) addTooltipProperty("ManaPointsDrained", lc) function setManaTransferredPerSecond(int level, real value) def.setLvlDataUnreal("Ndr5", level, 5, value) function presetManaTransferredPerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr5", lvls, 5, lc) addTooltipProperty("ManaTransferredPerSecond", lc) function setBonusManaDecay(int level, real value) def.setLvlDataUnreal("Ndr9", level, 9, value) function presetBonusManaDecay(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr9", lvls, 9, lc) addTooltipProperty("BonusManaDecay", lc) function setBonusManaFactor(int level, real value) def.setLvlDataUnreal("Ndr8", level, 8, value) function presetBonusManaFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr8", lvls, 8, lc) addTooltipProperty("BonusManaFactor", lc) function setLifeTransferredPerSecond(int level, real value) def.setLvlDataUnreal("Ndr4", level, 4, value) function presetLifeTransferredPerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr4", lvls, 4, lc) addTooltipProperty("LifeTransferredPerSecond", lc) public class AbilityDefinitionPossessioncreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACps') function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Pos1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Pos1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionPaladinDivineShield extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHds') function setCanDeactivate(int level, bool value) def.setLvlDataBoolean("Hds1", level, 1, value) function presetCanDeactivate(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hds1", lvls, 1, lc) addTooltipProperty("CanDeactivate", lc) public class AbilityDefinitionPurgeCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACpu') function setHeroPauseDuration(int level, real value) def.setLvlDataUnreal("Prg5", level, 5, value) function presetHeroPauseDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Prg5", lvls, 5, lc) addTooltipProperty("HeroPauseDuration", lc) function setUnitPauseDuration(int level, real value) def.setLvlDataUnreal("Prg4", level, 4, value) function presetUnitPauseDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Prg4", lvls, 4, lc) addTooltipProperty("UnitPauseDuration", lc) function setMovementUpdateFrequency(int level, int value) def.setLvlDataInt("Prg1", level, 1, value) function presetMovementUpdateFrequency(IntLevelClosure lc) def.setLevelsDataInt("Prg1", lvls, 1, lc) addTooltipProperty("MovementUpdateFrequency", lc) function setAttackUpdateFrequency(int level, int value) def.setLvlDataInt("Prg2", level, 2, value) function presetAttackUpdateFrequency(IntLevelClosure lc) def.setLevelsDataInt("Prg2", lvls, 2, lc) addTooltipProperty("AttackUpdateFrequency", lc) function setManaLoss(int level, int value) def.setLvlDataInt("Prg6", level, 6, value) function presetManaLoss(IntLevelClosure lc) def.setLevelsDataInt("Prg6", lvls, 6, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Prg3", level, 3, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Prg3", lvls, 3, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionRoarcreepSkeletalOrc extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACr1') function setDamageIncrease(int level, real value) def.setLvlDataUnreal("Roa1", level, 1, value) function presetDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Roa1", lvls, 1, lc) addTooltipProperty("DamageIncrease", lc) function setDefenseIncrease(int level, int value) def.setLvlDataInt("Roa2", level, 2, value) function presetDefenseIncrease(IntLevelClosure lc) def.setLevelsDataInt("Roa2", lvls, 2, lc) addTooltipProperty("DefenseIncrease", lc) function setPreferHostiles(int level, bool value) def.setLvlDataBoolean("Roa5", level, 5, value) function presetPreferHostiles(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa5", lvls, 5, lc) addTooltipProperty("PreferHostiles", lc) function setManaRegen(int level, real value) def.setLvlDataUnreal("Roa4", level, 4, value) function presetManaRegen(RealLevelClosure lc) def.setLevelsDataUnreal("Roa4", lvls, 4, lc) addTooltipProperty("ManaRegen", lc) function setLifeRegenerationRate(int level, real value) def.setLvlDataUnreal("Roa3", level, 3, value) function presetLifeRegenerationRate(RealLevelClosure lc) def.setLevelsDataUnreal("Roa3", lvls, 3, lc) addTooltipProperty("LifeRegenerationRate", lc) function setPreferFriendlies(int level, bool value) def.setLvlDataBoolean("Roa6", level, 6, value) function presetPreferFriendlies(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa6", lvls, 6, lc) addTooltipProperty("PreferFriendlies", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Roa7", level, 7, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Roa7", lvls, 7, lc) addTooltipProperty("MaxUnits", lc) public class AbilityDefinitionTauntCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANta') function setPreferFriendlies(int level, int value) def.setLvlDataInt("Tau2", level, 2, value) function presetPreferFriendlies(IntLevelClosure lc) def.setLevelsDataInt("Tau2", lvls, 2, lc) addTooltipProperty("PreferFriendlies", lc) function setPreferHostiles(int level, int value) def.setLvlDataInt("Tau1", level, 1, value) function presetPreferHostiles(IntLevelClosure lc) def.setLevelsDataInt("Tau1", lvls, 1, lc) addTooltipProperty("PreferHostiles", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Tau3", level, 3, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Tau3", lvls, 3, lc) addTooltipProperty("MaxUnits", lc) public class AbilityDefinitionRejuvinationFurbolg extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACr2') function setManaPointsGained(int level, real value) def.setLvlDataUnreal("Rej2", level, 2, value) function presetManaPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej2", lvls, 2, lc) addTooltipProperty("ManaPointsGained", lc) function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("Rej4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rej4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Rej1", level, 1, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej1", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("Rej3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("Rej3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) public class AbilityDefinitionPulverizecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACpv') function setHalfDamageRadius(int level, real value) def.setLvlDataUnreal("War4", level, 4, value) function presetHalfDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("War4", lvls, 4, lc) addTooltipProperty("HalfDamageRadius", lc) function setDamageDealt(int level, real value) def.setLvlDataUnreal("War2", level, 2, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("War2", lvls, 2, lc) addTooltipProperty("DamageDealt", lc) function setFullDamageRadius(int level, real value) def.setLvlDataUnreal("War3", level, 3, value) function presetFullDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("War3", lvls, 3, lc) addTooltipProperty("FullDamageRadius", lc) function setChancetoStomp(int level, real value) def.setLvlDataUnreal("War1", level, 1, value) function presetChancetoStomp(RealLevelClosure lc) def.setLevelsDataUnreal("War1", lvls, 1, lc) addTooltipProperty("ChancetoStomp", lc) public class AbilityDefinitionBeastMasterSummonHawk extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANsw') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionTinkererSummonFactoryLevel0 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANsy') function setSpawnInterval(int level, real value) def.setLvlDataUnreal("Nsy1", level, 1, value) function presetSpawnInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy1", lvls, 1, lc) addTooltipProperty("SpawnInterval", lc) function setLeashRange(int level, real value) def.setLvlDataUnreal("Nsy5", level, 5, value) function presetLeashRange(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy5", lvls, 5, lc) addTooltipProperty("LeashRange", lc) function setSpawnUnitID(int level, string value) def.setLvlDataString("Nsy2", level, 2, value) function presetSpawnUnitID(StringLevelClosure lc) def.setLevelsDataString("Nsy2", lvls, 2, lc) addTooltipProperty("SpawnUnitID", lc) function setFactoryUnitID(int level, string value) def.setLvlDataString("Nsyu", level, 0, value) function presetFactoryUnitID(StringLevelClosure lc) def.setLevelsDataString("Nsyu", lvls, 0, lc) addTooltipProperty("FactoryUnitID", lc) function setSpawnUnitOffset(int level, real value) def.setLvlDataUnreal("Nsy4", level, 4, value) function presetSpawnUnitOffset(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy4", lvls, 4, lc) addTooltipProperty("SpawnUnitOffset", lc) function setSpawnUnitDuration(int level, real value) def.setLvlDataUnreal("Nsy3", level, 3, value) function presetSpawnUnitDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy3", lvls, 3, lc) addTooltipProperty("SpawnUnitDuration", lc) public class AbilityDefinitionPolymorphcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACpy') function setMorphUnitsGround(int level, string value) def.setLvlDataString("Ply2", level, 2, value) function presetMorphUnitsGround(StringLevelClosure lc) def.setLevelsDataString("Ply2", lvls, 2, lc) addTooltipProperty("MorphUnitsGround", lc) function setMorphUnitsWater(int level, string value) def.setLvlDataString("Ply5", level, 5, value) function presetMorphUnitsWater(StringLevelClosure lc) def.setLevelsDataString("Ply5", lvls, 5, lc) addTooltipProperty("MorphUnitsWater", lc) function setMorphUnitsAmphibious(int level, string value) def.setLvlDataString("Ply4", level, 4, value) function presetMorphUnitsAmphibious(StringLevelClosure lc) def.setLevelsDataString("Ply4", lvls, 4, lc) addTooltipProperty("MorphUnitsAmphibious", lc) function setMorphUnitsAir(int level, string value) def.setLvlDataString("Ply3", level, 3, value) function presetMorphUnitsAir(StringLevelClosure lc) def.setLevelsDataString("Ply3", lvls, 3, lc) addTooltipProperty("MorphUnitsAir", lc) function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Ply1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Ply1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionBeastMasterStampede extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANst') function setBeastsPerSecond(int level, int value) def.setLvlDataInt("Nst1", level, 1, value) function presetBeastsPerSecond(IntLevelClosure lc) def.setLevelsDataInt("Nst1", lvls, 1, lc) addTooltipProperty("BeastsPerSecond", lc) function setDamageDelay(int level, real value) def.setLvlDataUnreal("Nst5", level, 5, value) function presetDamageDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Nst5", lvls, 5, lc) addTooltipProperty("DamageDelay", lc) function setDamageRadius(int level, real value) def.setLvlDataUnreal("Nst4", level, 4, value) function presetDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Nst4", lvls, 4, lc) addTooltipProperty("DamageRadius", lc) function setBeastCollisionRadius(int level, real value) def.setLvlDataUnreal("Nst2", level, 2, value) function presetBeastCollisionRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Nst2", lvls, 2, lc) addTooltipProperty("BeastCollisionRadius", lc) function setDamageAmount(int level, real value) def.setLvlDataUnreal("Nst3", level, 3, value) function presetDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Nst3", lvls, 3, lc) addTooltipProperty("DamageAmount", lc) public class AbilityDefinitionFirelordSoulBurn extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANso') function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Nso5", level, 5, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Nso5", lvls, 5, lc) addTooltipProperty("AttackSpeedReduction", lc) function setDamageAmount(int level, real value) def.setLvlDataUnreal("Nso1", level, 1, value) function presetDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Nso1", lvls, 1, lc) addTooltipProperty("DamageAmount", lc) function setDamagePeriod(int level, real value) def.setLvlDataUnreal("Nso2", level, 2, value) function presetDamagePeriod(RealLevelClosure lc) def.setLevelsDataUnreal("Nso2", lvls, 2, lc) addTooltipProperty("DamagePeriod", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Nso4", level, 4, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Nso4", lvls, 4, lc) addTooltipProperty("MovementSpeedReduction", lc) function setDamagePenalty(int level, real value) def.setLvlDataUnreal("Nso3", level, 3, value) function presetDamagePenalty(RealLevelClosure lc) def.setLevelsDataUnreal("Nso3", lvls, 3, lc) addTooltipProperty("DamagePenalty", lc) public class AbilityDefinitionBeastMasterSummonQuilbeast extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANsq') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionFrenzy extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Afzy') function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Blo2", level, 2, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Blo2", lvls, 2, lc) addTooltipProperty("MovementSpeedIncrease", lc) function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("Blo1", level, 1, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Blo1", lvls, 1, lc) addTooltipProperty("AttackSpeedIncrease", lc) function setScalingFactor(int level, real value) def.setLvlDataUnreal("Blo3", level, 3, value) function presetScalingFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Blo3", lvls, 3, lc) addTooltipProperty("ScalingFactor", lc) public class AbilityDefinitionMalganisSoulPreservation extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANsl') function setUnittoPreserve(int level, string value) def.setLvlDataString("Nsl1", level, 0, value) function presetUnittoPreserve(StringLevelClosure lc) def.setLevelsDataString("Nsl1", lvls, 0, lc) addTooltipProperty("UnittoPreserve", lc) public class AbilityDefinitionBeastMasterSummonBear extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANsg') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionDarkRangerSilence extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANsi') function setAttackSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi4", level, 4, value) function presetAttackSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi4", lvls, 4, lc) addTooltipProperty("AttackSpeedModifier", lc) function setMovementSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi3", level, 3, value) function presetMovementSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi3", lvls, 3, lc) addTooltipProperty("MovementSpeedModifier", lc) function setChanceToMiss(int level, real value) def.setLvlDataUnreal("Nsi2", level, 2, value) function presetChanceToMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi2", lvls, 2, lc) addTooltipProperty("ChanceToMiss", lc) function setAttacksPrevented(int level, string value) def.setLvlDataString("Nsi1", level, 1, value) function presetAttacksPrevented(StringLevelClosure lc) def.setLevelsDataString("Nsi1", lvls, 1, lc) addTooltipProperty("AttacksPrevented", lc) public class AbilityDefinitionSanctuary extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANsa') function setHitPointsPerSecond(int level, real value) def.setLvlDataUnreal("Nsa5", level, 5, value) function presetHitPointsPerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Nsa5", lvls, 5, lc) addTooltipProperty("HitPointsPerSecond", lc) function setMagicDamageReduction(int level, real value) def.setLvlDataUnreal("Nsa4", level, 4, value) function presetMagicDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Nsa4", lvls, 4, lc) addTooltipProperty("MagicDamageReduction", lc) function setBuildingTypesAllowed(int level, string value) def.setLvlDataString("Nsa1", level, 1, value) function presetBuildingTypesAllowed(StringLevelClosure lc) def.setLevelsDataString("Nsa1", lvls, 1, lc) addTooltipProperty("BuildingTypesAllowed", lc) function setHeroRegenerationDelay(int level, real value) def.setLvlDataUnreal("Nsa2", level, 2, value) function presetHeroRegenerationDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Nsa2", lvls, 2, lc) addTooltipProperty("HeroRegenerationDelay", lc) function setUnitRegenerationDelay(int level, real value) def.setLvlDataUnreal("Nsa3", level, 3, value) function presetUnitRegenerationDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Nsa3", lvls, 3, lc) addTooltipProperty("UnitRegenerationDelay", lc) public class AbilityDefinitionShadowMeldInstant extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sshm') function setDayNightDuration(int level, real value) def.setLvlDataUnreal("Shm2", level, 2, value) function presetDayNightDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Shm2", lvls, 2, lc) addTooltipProperty("DayNightDuration", lc) function setActionDuration(int level, real value) def.setLvlDataUnreal("Shm3", level, 3, value) function presetActionDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Shm3", lvls, 3, lc) addTooltipProperty("ActionDuration", lc) function setFadeDuration(int level, real value) def.setLvlDataUnreal("Shm1", level, 1, value) function presetFadeDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Shm1", lvls, 1, lc) addTooltipProperty("FadeDuration", lc) public class AbilityDefinitionSpellShieldAOE extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANse') function setShieldCooldownTime(int level, real value) def.setLvlDataUnreal("Nse1", level, 1, value) function presetShieldCooldownTime(RealLevelClosure lc) def.setLevelsDataUnreal("Nse1", lvls, 1, lc) addTooltipProperty("ShieldCooldownTime", lc) public class AbilityDefinitionItemAuraEndurance extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIae') function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Oae1", level, 1, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Oae1", lvls, 1, lc) addTooltipProperty("MovementSpeedIncrease", lc) function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("Oae2", level, 2, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Oae2", lvls, 2, lc) addTooltipProperty("AttackSpeedIncrease", lc) public class AbilityDefinitionSpiritPigcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACs9') function setSummonedUnit(int level, string value) def.setLvlDataString("Osf1", level, 0, value) function presetSummonedUnit(StringLevelClosure lc) def.setLevelsDataString("Osf1", lvls, 0, lc) addTooltipProperty("SummonedUnit", lc) function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Osf2", level, 2, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Osf2", lvls, 2, lc) addTooltipProperty("NumberofSummonedUnits", lc) public class AbilityDefinitionUnstableConcoction extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Auco') function setPartialDamageAmount(int level, real value) def.setLvlDataUnreal("Dda4", level, 4, value) function presetPartialDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda4", lvls, 4, lc) addTooltipProperty("PartialDamageAmount", lc) function setFullDamageRadius(int level, real value) def.setLvlDataUnreal("Dda1", level, 1, value) function presetFullDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda1", lvls, 1, lc) addTooltipProperty("FullDamageRadius", lc) function setFullDamageAmount(int level, real value) def.setLvlDataUnreal("Dda2", level, 2, value) function presetFullDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda2", lvls, 2, lc) addTooltipProperty("FullDamageAmount", lc) function setMoveSpeedBonus(int level, real value) def.setLvlDataUnreal("Uco6", level, 6, value) function presetMoveSpeedBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Uco6", lvls, 6, lc) addTooltipProperty("MoveSpeedBonus", lc) function setMaxDamage(int level, real value) def.setLvlDataUnreal("Uco5", level, 5, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Uco5", lvls, 5, lc) addTooltipProperty("MaxDamage", lc) function setPartialDamageRadius(int level, real value) def.setLvlDataUnreal("Dda3", level, 3, value) function presetPartialDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda3", lvls, 3, lc) addTooltipProperty("PartialDamageRadius", lc) public class AbilityDefinitionItemAuraDevotion extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIad') function setPercentBonus(int level, bool value) def.setLvlDataBoolean("Had2", level, 2, value) function presetPercentBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Had2", lvls, 2, lc) addTooltipProperty("PercentBonus", lc) function setArmorBonus(int level, real value) def.setLvlDataUnreal("Had1", level, 1, value) function presetArmorBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Had1", lvls, 1, lc) addTooltipProperty("ArmorBonus", lc) public class AbilityDefinitionAttackMod extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIaa') function setAttackModification(int level, int value) def.setLvlDataInt("Iaa1", level, 1, value) function presetAttackModification(IntLevelClosure lc) def.setLevelsDataInt("Iaa1", lvls, 1, lc) addTooltipProperty("AttackModification", lc) public class AbilityDefinitionMountainKingAvatar extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHav') function setMagicDamageReduction(int level, real value) def.setLvlDataUnreal("Hav4", level, 4, value) function presetMagicDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hav4", lvls, 4, lc) addTooltipProperty("MagicDamageReduction", lc) function setDefenseBonus(int level, real value) def.setLvlDataUnreal("Hav1", level, 1, value) function presetDefenseBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Hav1", lvls, 1, lc) addTooltipProperty("DefenseBonus", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Hav3", level, 3, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Hav3", lvls, 3, lc) addTooltipProperty("DamageBonus", lc) function setHitPointBonus(int level, real value) def.setLvlDataUnreal("Hav2", level, 2, value) function presetHitPointBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Hav2", lvls, 2, lc) addTooltipProperty("HitPointBonus", lc) public class AbilityDefinitionAIab extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIab') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionMannorothReincarnation extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANrn') function setReincarnationDelay(int level, real value) def.setLvlDataUnreal("Ore1", level, 1, value) function presetReincarnationDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Ore1", lvls, 1, lc) addTooltipProperty("ReincarnationDelay", lc) public class AbilityDefinitionAnimateDead extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIan') function setRaisedUnitsAreInvulnerable(int level, bool value) def.setLvlDataBoolean("Hre2", level, 2, value) function presetRaisedUnitsAreInvulnerable(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hre2", lvls, 2, lc) addTooltipProperty("RaisedUnitsAreInvulnerable", lc) function setNumberofCorpsesRaised(int level, int value) def.setLvlDataInt("Cad1", level, 1, value) function presetNumberofCorpsesRaised(IntLevelClosure lc) def.setLevelsDataInt("Cad1", lvls, 1, lc) addTooltipProperty("NumberofCorpsesRaised", lc) function setInheritUpgrades(int level, bool value) def.setLvlDataBoolean("Uan3", level, 3, value) function presetInheritUpgrades(BooleanLevelClosure lc) def.setLevelsDataBoolean("Uan3", lvls, 3, lc) addTooltipProperty("InheritUpgrades", lc) public class AbilityDefinitionAgilityMod extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIam') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionRainofFirecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACrf') function setMaximumDamageperWave(int level, real value) def.setLvlDataUnreal("Hbz6", level, 6, value) function presetMaximumDamageperWave(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz6", lvls, 6, lc) addTooltipProperty("MaximumDamageperWave", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Hbz5", level, 5, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz5", lvls, 5, lc) addTooltipProperty("DamagePerSecond", lc) function setNumberofWaves(int level, int value) def.setLvlDataInt("Hbz1", level, 1, value) function presetNumberofWaves(IntLevelClosure lc) def.setLevelsDataInt("Hbz1", lvls, 1, lc) addTooltipProperty("NumberofWaves", lc) function setNumberofShards(int level, int value) def.setLvlDataInt("Hbz3", level, 3, value) function presetNumberofShards(IntLevelClosure lc) def.setLevelsDataInt("Hbz3", lvls, 3, lc) addTooltipProperty("NumberofShards", lc) function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Hbz4", level, 4, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz4", lvls, 4, lc) addTooltipProperty("BuildingReduction", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Hbz2", level, 2, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz2", lvls, 2, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionDreadlordSleep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUsl') function setStunDuration(int level, real value) def.setLvlDataUnreal("Usl1", level, 1, value) function presetStunDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Usl1", lvls, 1, lc) addTooltipProperty("StunDuration", lc) public class AbilityDefinitionRaiseDeadCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACrd') function setUnitsSummonedTypeOne(int level, int value) def.setLvlDataInt("Rai1", level, 1, value) function presetUnitsSummonedTypeOne(IntLevelClosure lc) def.setLevelsDataInt("Rai1", lvls, 1, lc) addTooltipProperty("UnitsSummonedTypeOne", lc) function setUnitTypeForLimitCheck(int level, string value) def.setLvlDataString("Raiu", level, 0, value) function presetUnitTypeForLimitCheck(StringLevelClosure lc) def.setLevelsDataString("Raiu", lvls, 0, lc) addTooltipProperty("UnitTypeForLimitCheck", lc) function setUnitsSummonedTypeTwo(int level, int value) def.setLvlDataInt("Rai2", level, 2, value) function presetUnitsSummonedTypeTwo(IntLevelClosure lc) def.setLevelsDataInt("Rai2", lvls, 2, lc) addTooltipProperty("UnitsSummonedTypeTwo", lc) function setUnitTypeTwo(int level, string value) def.setLvlDataString("Rai4", level, 4, value) function presetUnitTypeTwo(StringLevelClosure lc) def.setLevelsDataString("Rai4", lvls, 4, lc) addTooltipProperty("UnitTypeTwo", lc) function setUnitTypeOne(int level, string value) def.setLvlDataString("Rai3", level, 3, value) function presetUnitTypeOne(StringLevelClosure lc) def.setLevelsDataString("Rai3", lvls, 3, lc) addTooltipProperty("UnitTypeOne", lc) public class AbilityDefinitionFaerieFireAfa2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Afa2') function setAlwaysAutocast(int level, bool value) def.setLvlDataBoolean("Fae2", level, 2, value) function presetAlwaysAutocast(BooleanLevelClosure lc) def.setLevelsDataBoolean("Fae2", lvls, 2, lc) addTooltipProperty("AlwaysAutocast", lc) function setDefenseReduction(int level, int value) def.setLvlDataInt("Fae1", level, 1, value) function presetDefenseReduction(IntLevelClosure lc) def.setLevelsDataInt("Fae1", lvls, 1, lc) addTooltipProperty("DefenseReduction", lc) public class AbilityDefinitionUnholyFrenzyWarlock extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Suhf') function setAttackSpeedBonus(int level, real value) def.setLvlDataUnreal("Uhf1", level, 1, value) function presetAttackSpeedBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Uhf1", lvls, 1, lc) addTooltipProperty("AttackSpeedBonus", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Uhf2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Uhf2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionPaladinDevotionAura extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHad') function setPercentBonus(int level, bool value) def.setLvlDataBoolean("Had2", level, 2, value) function presetPercentBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Had2", lvls, 2, lc) addTooltipProperty("PercentBonus", lc) function setArmorBonus(int level, real value) def.setLvlDataUnreal("Had1", level, 1, value) function presetArmorBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Had1", lvls, 1, lc) addTooltipProperty("ArmorBonus", lc) public class AbilityDefinitionTinkererRoboGoblinLevel0 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANrg') function setStrengthBonus(int level, int value) def.setLvlDataInt("Nrg5", level, 5, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Nrg5", lvls, 5, lc) addTooltipProperty("StrengthBonus", lc) function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setDefenseBonus(int level, int value) def.setLvlDataInt("Nrg6", level, 6, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Nrg6", lvls, 6, lc) addTooltipProperty("DefenseBonus", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionRejuvinationcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACrj') function setManaPointsGained(int level, real value) def.setLvlDataUnreal("Rej2", level, 2, value) function presetManaPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej2", lvls, 2, lc) addTooltipProperty("ManaPointsGained", lc) function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("Rej4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rej4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Rej1", level, 1, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej1", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("Rej3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("Rej3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) public class AbilityDefinitionRainofFire extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANrf') function setMaximumDamageperWave(int level, real value) def.setLvlDataUnreal("Hbz6", level, 6, value) function presetMaximumDamageperWave(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz6", lvls, 6, lc) addTooltipProperty("MaximumDamageperWave", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Hbz5", level, 5, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz5", lvls, 5, lc) addTooltipProperty("DamagePerSecond", lc) function setNumberofWaves(int level, int value) def.setLvlDataInt("Hbz1", level, 1, value) function presetNumberofWaves(IntLevelClosure lc) def.setLevelsDataInt("Hbz1", lvls, 1, lc) addTooltipProperty("NumberofWaves", lc) function setNumberofShards(int level, int value) def.setLvlDataInt("Hbz3", level, 3, value) function presetNumberofShards(IntLevelClosure lc) def.setLevelsDataInt("Hbz3", lvls, 3, lc) addTooltipProperty("NumberofShards", lc) function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Hbz4", level, 4, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz4", lvls, 4, lc) addTooltipProperty("BuildingReduction", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Hbz2", level, 2, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz2", lvls, 2, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionItemAuraVampiric extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIav') function setAttackDamageStolen(int level, real value) def.setLvlDataUnreal("Uav1", level, 1, value) function presetAttackDamageStolen(RealLevelClosure lc) def.setLevelsDataUnreal("Uav1", lvls, 1, lc) addTooltipProperty("AttackDamageStolen", lc) public class AbilityDefinitionItemAuraUnholy extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIau') function setPercentBonus(int level, bool value) def.setLvlDataBoolean("Uau3", level, 3, value) function presetPercentBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Uau3", lvls, 3, lc) addTooltipProperty("PercentBonus", lc) function setLifeRegenerationIncrease(int level, real value) def.setLvlDataUnreal("Uau2", level, 2, value) function presetLifeRegenerationIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Uau2", lvls, 2, lc) addTooltipProperty("LifeRegenerationIncrease", lc) function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Uau1", level, 1, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Uau1", lvls, 1, lc) addTooltipProperty("MovementSpeedIncrease", lc) public class AbilityDefinitionArchMageBrillianceAura extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHab') function setManaRegenerationIncrease(int level, real value) def.setLvlDataUnreal("Hab1", level, 1, value) function presetManaRegenerationIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Hab1", lvls, 1, lc) addTooltipProperty("ManaRegenerationIncrease", lc) function setPercentBonus(int level, bool value) def.setLvlDataBoolean("Hab2", level, 2, value) function presetPercentBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hab2", lvls, 2, lc) addTooltipProperty("PercentBonus", lc) public class AbilityDefinitionNeutralRegenmanaonly extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANre') function setPercentage(int level, bool value) def.setLvlDataBoolean("Arm2", level, 2, value) function presetPercentage(BooleanLevelClosure lc) def.setLevelsDataBoolean("Arm2", lvls, 2, lc) addTooltipProperty("Percentage", lc) function setAmountRegenerated(int level, real value) def.setLvlDataUnreal("Arm1", level, 1, value) function presetAmountRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("Arm1", lvls, 1, lc) addTooltipProperty("AmountRegenerated", lc) public class AbilityDefinitionRoarcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACro') function setDamageIncrease(int level, real value) def.setLvlDataUnreal("Roa1", level, 1, value) function presetDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Roa1", lvls, 1, lc) addTooltipProperty("DamageIncrease", lc) function setDefenseIncrease(int level, int value) def.setLvlDataInt("Roa2", level, 2, value) function presetDefenseIncrease(IntLevelClosure lc) def.setLevelsDataInt("Roa2", lvls, 2, lc) addTooltipProperty("DefenseIncrease", lc) function setPreferHostiles(int level, bool value) def.setLvlDataBoolean("Roa5", level, 5, value) function presetPreferHostiles(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa5", lvls, 5, lc) addTooltipProperty("PreferHostiles", lc) function setManaRegen(int level, real value) def.setLvlDataUnreal("Roa4", level, 4, value) function presetManaRegen(RealLevelClosure lc) def.setLevelsDataUnreal("Roa4", lvls, 4, lc) addTooltipProperty("ManaRegen", lc) function setLifeRegenerationRate(int level, real value) def.setLvlDataUnreal("Roa3", level, 3, value) function presetLifeRegenerationRate(RealLevelClosure lc) def.setLevelsDataUnreal("Roa3", lvls, 3, lc) addTooltipProperty("LifeRegenerationRate", lc) function setPreferFriendlies(int level, bool value) def.setLvlDataBoolean("Roa6", level, 6, value) function presetPreferFriendlies(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa6", lvls, 6, lc) addTooltipProperty("PreferFriendlies", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Roa7", level, 7, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Roa7", lvls, 7, lc) addTooltipProperty("MaxUnits", lc) public class AbilityDefinitionAttackBonus extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIat') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionAIas extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIas') function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("Isx1", level, 1, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Isx1", lvls, 1, lc) addTooltipProperty("AttackSpeedIncrease", lc) public class AbilityDefinitionReincarnationcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACrn') function setReincarnationDelay(int level, real value) def.setLvlDataUnreal("Ore1", level, 1, value) function presetReincarnationDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Ore1", lvls, 1, lc) addTooltipProperty("ReincarnationDelay", lc) public class AbilityDefinitionItemAuraTrueshot extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIar') function setFlatBonus(int level, bool value) def.setLvlDataBoolean("Ear4", level, 4, value) function presetFlatBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear4", lvls, 4, lc) addTooltipProperty("FlatBonus", lc) function setRangedBonus(int level, bool value) def.setLvlDataBoolean("Ear3", level, 3, value) function presetRangedBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear3", lvls, 3, lc) addTooltipProperty("RangedBonus", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Ear1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Ear1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setMeleeBonus(int level, bool value) def.setLvlDataBoolean("Ear2", level, 2, value) function presetMeleeBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear2", lvls, 2, lc) addTooltipProperty("MeleeBonus", lc) public class AbilityDefinitionThunderClapThunderLizard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACt2') function setDamage(int level, real value) def.setLvlDataUnreal("Ctc1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ctc1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setExtraDamageToTarget(int level, real value) def.setLvlDataUnreal("Ctc2", level, 2, value) function presetExtraDamageToTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ctc2", lvls, 2, lc) addTooltipProperty("ExtraDamageToTarget", lc) function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Ctc4", level, 4, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Ctc4", lvls, 4, lc) addTooltipProperty("AttackSpeedReduction", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Ctc3", level, 3, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Ctc3", lvls, 3, lc) addTooltipProperty("MovementSpeedReduction", lc) public class AbilityDefinitionWardenShadowStrike extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEsh') function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Esh2", level, 2, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Esh2", lvls, 2, lc) addTooltipProperty("MovementSpeedFactor", lc) function setInitialDamage(int level, real value) def.setLvlDataUnreal("Esh5", level, 5, value) function presetInitialDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Esh5", lvls, 5, lc) addTooltipProperty("InitialDamage", lc) function setDecayPower(int level, real value) def.setLvlDataUnreal("Esh4", level, 4, value) function presetDecayPower(RealLevelClosure lc) def.setLevelsDataUnreal("Esh4", lvls, 4, lc) addTooltipProperty("DecayPower", lc) function setDecayingDamage(int level, real value) def.setLvlDataUnreal("Esh1", level, 1, value) function presetDecayingDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Esh1", lvls, 1, lc) addTooltipProperty("DecayingDamage", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Esh3", level, 3, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Esh3", lvls, 3, lc) addTooltipProperty("AttackSpeedFactor", lc) public class AbilityDefinitionBloodMageBanish extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHbn') function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Hbn2", level, 2, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hbn2", lvls, 2, lc) addTooltipProperty("AttackSpeedReduction", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Hbn1", level, 1, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hbn1", lvls, 1, lc) addTooltipProperty("MovementSpeedReduction", lc) public class AbilityDefinitionItemAuraBrilliance extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIba') function setManaRegenerationIncrease(int level, real value) def.setLvlDataUnreal("Hab1", level, 1, value) function presetManaRegenerationIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Hab1", lvls, 1, lc) addTooltipProperty("ManaRegenerationIncrease", lc) function setPercentBonus(int level, bool value) def.setLvlDataBoolean("Hab2", level, 2, value) function presetPercentBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hab2", lvls, 2, lc) addTooltipProperty("PercentBonus", lc) public class AbilityDefinitionRainofChaos extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANrc') function setAbilityforUnitCreation(int level, string value) def.setLvlDataString("Nrc1", level, 1, value) function presetAbilityforUnitCreation(StringLevelClosure lc) def.setLevelsDataString("Nrc1", lvls, 1, lc) addTooltipProperty("AbilityforUnitCreation", lc) function setNumberofUnitsCreated(int level, int value) def.setLvlDataInt("Nrc2", level, 2, value) function presetNumberofUnitsCreated(IntLevelClosure lc) def.setLevelsDataInt("Nrc2", lvls, 2, lc) addTooltipProperty("NumberofUnitsCreated", lc) public class AbilityDefinitionBuildTinyGreatHall extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIbg') function setUnitCreatedperplayerrace(int level, string value) def.setLvlDataString("Ibl1", level, 0, value) function presetUnitCreatedperplayerrace(StringLevelClosure lc) def.setLevelsDataString("Ibl1", lvls, 0, lc) addTooltipProperty("UnitCreatedperplayerrace", lc) public class AbilityDefinitionCryptLordSpikedCarapace extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUts') function setDefenseBonus(int level, real value) def.setLvlDataUnreal("Uts3", level, 3, value) function presetDefenseBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Uts3", lvls, 3, lc) addTooltipProperty("DefenseBonus", lc) function setReceivedDamageFactor(int level, real value) def.setLvlDataUnreal("Uts2", level, 2, value) function presetReceivedDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Uts2", lvls, 2, lc) addTooltipProperty("ReceivedDamageFactor", lc) function setReturnedDamageFactor(int level, real value) def.setLvlDataUnreal("Uts1", level, 1, value) function presetReturnedDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Uts1", lvls, 1, lc) addTooltipProperty("ReturnedDamageFactor", lc) public class AbilityDefinitionCenariusBeefyStarfall extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEsb') function setDamageDealt(int level, real value) def.setLvlDataUnreal("Esf1", level, 1, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Esf1", lvls, 1, lc) addTooltipProperty("DamageDealt", lc) function setDamageInterval(int level, real value) def.setLvlDataUnreal("Esf2", level, 2, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Esf2", lvls, 2, lc) addTooltipProperty("DamageInterval", lc) function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Esf3", level, 3, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Esf3", lvls, 3, lc) addTooltipProperty("BuildingReduction", lc) public class AbilityDefinitionMoonPriestessStarfall extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEsf') function setDamageDealt(int level, real value) def.setLvlDataUnreal("Esf1", level, 1, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Esf1", lvls, 1, lc) addTooltipProperty("DamageDealt", lc) function setDamageInterval(int level, real value) def.setLvlDataUnreal("Esf2", level, 2, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Esf2", lvls, 2, lc) addTooltipProperty("DamageInterval", lc) function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Esf3", level, 3, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Esf3", lvls, 3, lc) addTooltipProperty("BuildingReduction", lc) public class AbilityDefinitionArchMageBlizzard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHbz') function setMaximumDamageperWave(int level, real value) def.setLvlDataUnreal("Hbz6", level, 6, value) function presetMaximumDamageperWave(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz6", lvls, 6, lc) addTooltipProperty("MaximumDamageperWave", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Hbz5", level, 5, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz5", lvls, 5, lc) addTooltipProperty("DamagePerSecond", lc) function setNumberofWaves(int level, int value) def.setLvlDataInt("Hbz1", level, 1, value) function presetNumberofWaves(IntLevelClosure lc) def.setLevelsDataInt("Hbz1", lvls, 1, lc) addTooltipProperty("NumberofWaves", lc) function setNumberofShards(int level, int value) def.setLvlDataInt("Hbz3", level, 3, value) function presetNumberofShards(IntLevelClosure lc) def.setLevelsDataInt("Hbz3", lvls, 3, lc) addTooltipProperty("NumberofShards", lc) function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Hbz4", level, 4, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz4", lvls, 4, lc) addTooltipProperty("BuildingReduction", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Hbz2", level, 2, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz2", lvls, 2, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionDefenseBonusPlus1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AId1') function setDefenseBonus(int level, int value) def.setLvlDataInt("Idef", level, 1, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Idef", lvls, 1, lc) addTooltipProperty("DefenseBonus", lc) public class AbilityDefinitionSearingArrowscreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACsa') function setDamageBonus(int level, real value) def.setLvlDataUnreal("Hfa1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Hfa1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) public class AbilityDefinitionTinkererSummonFactoryLevel1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANs1') function setSpawnInterval(int level, real value) def.setLvlDataUnreal("Nsy1", level, 1, value) function presetSpawnInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy1", lvls, 1, lc) addTooltipProperty("SpawnInterval", lc) function setLeashRange(int level, real value) def.setLvlDataUnreal("Nsy5", level, 5, value) function presetLeashRange(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy5", lvls, 5, lc) addTooltipProperty("LeashRange", lc) function setSpawnUnitID(int level, string value) def.setLvlDataString("Nsy2", level, 2, value) function presetSpawnUnitID(StringLevelClosure lc) def.setLevelsDataString("Nsy2", lvls, 2, lc) addTooltipProperty("SpawnUnitID", lc) function setFactoryUnitID(int level, string value) def.setLvlDataString("Nsyu", level, 0, value) function presetFactoryUnitID(StringLevelClosure lc) def.setLevelsDataString("Nsyu", lvls, 0, lc) addTooltipProperty("FactoryUnitID", lc) function setSpawnUnitOffset(int level, real value) def.setLvlDataUnreal("Nsy4", level, 4, value) function presetSpawnUnitOffset(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy4", lvls, 4, lc) addTooltipProperty("SpawnUnitOffset", lc) function setSpawnUnitDuration(int level, real value) def.setLvlDataUnreal("Nsy3", level, 3, value) function presetSpawnUnitDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy3", lvls, 3, lc) addTooltipProperty("SpawnUnitDuration", lc) public class AbilityDefinitionDefenseBonusPlus3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AId3') function setDefenseBonus(int level, int value) def.setLvlDataInt("Idef", level, 1, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Idef", lvls, 1, lc) addTooltipProperty("DefenseBonus", lc) public class AbilityDefinitionDefenseBonusPlus2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AId2') function setDefenseBonus(int level, int value) def.setLvlDataInt("Idef", level, 1, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Idef", lvls, 1, lc) addTooltipProperty("DefenseBonus", lc) public class AbilityDefinitionTinkererSummonFactoryLevel3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANs3') function setSpawnInterval(int level, real value) def.setLvlDataUnreal("Nsy1", level, 1, value) function presetSpawnInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy1", lvls, 1, lc) addTooltipProperty("SpawnInterval", lc) function setLeashRange(int level, real value) def.setLvlDataUnreal("Nsy5", level, 5, value) function presetLeashRange(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy5", lvls, 5, lc) addTooltipProperty("LeashRange", lc) function setSpawnUnitID(int level, string value) def.setLvlDataString("Nsy2", level, 2, value) function presetSpawnUnitID(StringLevelClosure lc) def.setLevelsDataString("Nsy2", lvls, 2, lc) addTooltipProperty("SpawnUnitID", lc) function setFactoryUnitID(int level, string value) def.setLvlDataString("Nsyu", level, 0, value) function presetFactoryUnitID(StringLevelClosure lc) def.setLevelsDataString("Nsyu", lvls, 0, lc) addTooltipProperty("FactoryUnitID", lc) function setSpawnUnitOffset(int level, real value) def.setLvlDataUnreal("Nsy4", level, 4, value) function presetSpawnUnitOffset(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy4", lvls, 4, lc) addTooltipProperty("SpawnUnitOffset", lc) function setSpawnUnitDuration(int level, real value) def.setLvlDataUnreal("Nsy3", level, 3, value) function presetSpawnUnitDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy3", lvls, 3, lc) addTooltipProperty("SpawnUnitDuration", lc) public class AbilityDefinitionSpiritWolfcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACsf') function setSummonedUnit(int level, string value) def.setLvlDataString("Osf1", level, 0, value) function presetSummonedUnit(StringLevelClosure lc) def.setLevelsDataString("Osf1", lvls, 0, lc) addTooltipProperty("SummonedUnit", lc) function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Osf2", level, 2, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Osf2", lvls, 2, lc) addTooltipProperty("NumberofSummonedUnits", lc) public class AbilityDefinitionTinkererSummonFactoryLevel2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANs2') function setSpawnInterval(int level, real value) def.setLvlDataUnreal("Nsy1", level, 1, value) function presetSpawnInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy1", lvls, 1, lc) addTooltipProperty("SpawnInterval", lc) function setLeashRange(int level, real value) def.setLvlDataUnreal("Nsy5", level, 5, value) function presetLeashRange(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy5", lvls, 5, lc) addTooltipProperty("LeashRange", lc) function setSpawnUnitID(int level, string value) def.setLvlDataString("Nsy2", level, 2, value) function presetSpawnUnitID(StringLevelClosure lc) def.setLevelsDataString("Nsy2", lvls, 2, lc) addTooltipProperty("SpawnUnitID", lc) function setFactoryUnitID(int level, string value) def.setLvlDataString("Nsyu", level, 0, value) function presetFactoryUnitID(StringLevelClosure lc) def.setLevelsDataString("Nsyu", lvls, 0, lc) addTooltipProperty("FactoryUnitID", lc) function setSpawnUnitOffset(int level, real value) def.setLvlDataUnreal("Nsy4", level, 4, value) function presetSpawnUnitOffset(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy4", lvls, 4, lc) addTooltipProperty("SpawnUnitOffset", lc) function setSpawnUnitDuration(int level, real value) def.setLvlDataUnreal("Nsy3", level, 3, value) function presetSpawnUnitDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Nsy3", lvls, 3, lc) addTooltipProperty("SpawnUnitDuration", lc) public class AbilityDefinitionMaxManaBonusMost extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIbm') function setMaxManaGained(int level, int value) def.setLvlDataInt("Iman", level, 1, value) function presetMaxManaGained(IntLevelClosure lc) def.setLevelsDataInt("Iman", lvls, 1, lc) addTooltipProperty("MaxManaGained", lc) public class AbilityDefinitionShockwaveCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACsh') function setDamage(int level, real value) def.setLvlDataUnreal("Osh1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Osh1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Osh3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Osh3", lvls, 3, lc) addTooltipProperty("Distance", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Osh4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Osh4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setMaximumDamage(int level, real value) def.setLvlDataUnreal("Osh2", level, 2, value) function presetMaximumDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Osh2", lvls, 2, lc) addTooltipProperty("MaximumDamage", lc) public class AbilityDefinitionBuildTinyCastle extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIbl') function setUnitCreatedperplayerrace(int level, string value) def.setLvlDataString("Ibl1", level, 0, value) function presetUnitCreatedperplayerrace(StringLevelClosure lc) def.setLevelsDataString("Ibl1", lvls, 0, lc) addTooltipProperty("UnitCreatedperplayerrace", lc) public class AbilityDefinitionSilenceCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACsi') function setAttackSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi4", level, 4, value) function presetAttackSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi4", lvls, 4, lc) addTooltipProperty("AttackSpeedModifier", lc) function setMovementSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi3", level, 3, value) function presetMovementSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi3", lvls, 3, lc) addTooltipProperty("MovementSpeedModifier", lc) function setChanceToMiss(int level, real value) def.setLvlDataUnreal("Nsi2", level, 2, value) function presetChanceToMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi2", lvls, 2, lc) addTooltipProperty("ChanceToMiss", lc) function setAttacksPrevented(int level, string value) def.setLvlDataString("Nsi1", level, 1, value) function presetAttacksPrevented(StringLevelClosure lc) def.setLevelsDataString("Nsi1", lvls, 1, lc) addTooltipProperty("AttacksPrevented", lc) public class AbilityDefinitionSleepcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACsl') function setStunDuration(int level, real value) def.setLvlDataUnreal("Usl1", level, 1, value) function presetStunDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Usl1", lvls, 1, lc) addTooltipProperty("StunDuration", lc) public class AbilityDefinitionBashitem extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIbx') function setNeverMiss(int level, bool value) def.setLvlDataBoolean("Hbh5", level, 5, value) function presetNeverMiss(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hbh5", lvls, 5, lc) addTooltipProperty("NeverMiss", lc) public class AbilityDefinitionDefenseBonusPlus5 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AId5') function setDefenseBonus(int level, int value) def.setLvlDataInt("Idef", level, 1, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Idef", lvls, 1, lc) addTooltipProperty("DefenseBonus", lc) public class AbilityDefinitionMountainKingBash extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHbh') function setChancetoBash(int level, real value) def.setLvlDataUnreal("Hbh1", level, 1, value) function presetChancetoBash(RealLevelClosure lc) def.setLevelsDataUnreal("Hbh1", lvls, 1, lc) addTooltipProperty("ChancetoBash", lc) function setChancetoMiss(int level, real value) def.setLvlDataUnreal("Hbh4", level, 4, value) function presetChancetoMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Hbh4", lvls, 4, lc) addTooltipProperty("ChancetoMiss", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Hbh3", level, 3, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Hbh3", lvls, 3, lc) addTooltipProperty("DamageBonus", lc) function setNeverMiss(int level, bool value) def.setLvlDataBoolean("Hbh5", level, 5, value) function presetNeverMiss(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hbh5", lvls, 5, lc) addTooltipProperty("NeverMiss", lc) function setDamageMultiplier(int level, real value) def.setLvlDataUnreal("Hbh2", level, 2, value) function presetDamageMultiplier(RealLevelClosure lc) def.setLevelsDataUnreal("Hbh2", lvls, 2, lc) addTooltipProperty("DamageMultiplier", lc) public class AbilityDefinitionSiphonManaCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACsm') function setBonusLifeDecay(int level, real value) def.setLvlDataUnreal("Ndr7", level, 7, value) function presetBonusLifeDecay(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr7", lvls, 7, lc) addTooltipProperty("BonusLifeDecay", lc) function setManaTransferredPerSecond(int level, real value) def.setLvlDataUnreal("Ndr5", level, 5, value) function presetManaTransferredPerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr5", lvls, 5, lc) addTooltipProperty("ManaTransferredPerSecond", lc) function setBonusManaDecay(int level, real value) def.setLvlDataUnreal("Ndr9", level, 9, value) function presetBonusManaDecay(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr9", lvls, 9, lc) addTooltipProperty("BonusManaDecay", lc) function setBonusLifeFactor(int level, real value) def.setLvlDataUnreal("Ndr6", level, 6, value) function presetBonusLifeFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr6", lvls, 6, lc) addTooltipProperty("BonusLifeFactor", lc) function setBonusManaFactor(int level, real value) def.setLvlDataUnreal("Ndr8", level, 8, value) function presetBonusManaFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr8", lvls, 8, lc) addTooltipProperty("BonusManaFactor", lc) function setLifeTransferredPerSecond(int level, real value) def.setLvlDataUnreal("Ndr4", level, 4, value) function presetLifeTransferredPerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr4", lvls, 4, lc) addTooltipProperty("LifeTransferredPerSecond", lc) public class AbilityDefinitionDefenseBonusPlus4 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AId4') function setDefenseBonus(int level, int value) def.setLvlDataInt("Idef", level, 1, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Idef", lvls, 1, lc) addTooltipProperty("DefenseBonus", lc) public class AbilityDefinitionBuildTinyScoutTower extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIbt') function setUnitCreatedperplayerrace(int level, string value) def.setLvlDataString("Ibl1", level, 0, value) function presetUnitCreatedperplayerrace(StringLevelClosure lc) def.setLevelsDataString("Ibl1", lvls, 0, lc) addTooltipProperty("UnitCreatedperplayerrace", lc) public class AbilityDefinitionItemCloakOfFlames extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIcf') function setExtraManaRequired(int level, int value) def.setLvlDataInt("Icfx", level, 3, value) function presetExtraManaRequired(IntLevelClosure lc) def.setLevelsDataInt("Icfx", lvls, 3, lc) addTooltipProperty("ExtraManaRequired", lc) function setDamagePerDuration(int level, int value) def.setLvlDataInt("Icfd", level, 1, value) function presetDamagePerDuration(IntLevelClosure lc) def.setLevelsDataInt("Icfd", lvls, 1, lc) addTooltipProperty("DamagePerDuration", lc) function setManaUsedPerSecond(int level, int value) def.setLvlDataInt("Icfm", level, 2, value) function presetManaUsedPerSecond(IntLevelClosure lc) def.setLevelsDataInt("Icfm", lvls, 2, lc) addTooltipProperty("ManaUsedPerSecond", lc) public class AbilityDefinitionItemAuraCommand extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIcd') function setRangedBonus(int level, bool value) def.setLvlDataBoolean("Ear3", level, 3, value) function presetRangedBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear3", lvls, 3, lc) addTooltipProperty("RangedBonus", lc) function setFlatBonus(int level, bool value) def.setLvlDataBoolean("Ear4", level, 4, value) function presetFlatBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear4", lvls, 4, lc) addTooltipProperty("FlatBonus", lc) function setAttackDamageIncrease(int level, real value) def.setLvlDataUnreal("Cac1", level, 1, value) function presetAttackDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Cac1", lvls, 1, lc) addTooltipProperty("AttackDamageIncrease", lc) function setMeleeBonus(int level, bool value) def.setLvlDataBoolean("Ear2", level, 2, value) function presetMeleeBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear2", lvls, 2, lc) addTooltipProperty("MeleeBonus", lc) public class AbilityDefinitionHarvest extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahar') function setGoldCapacity(int level, int value) def.setLvlDataInt("Har3", level, 3, value) function presetGoldCapacity(IntLevelClosure lc) def.setLevelsDataInt("Har3", lvls, 3, lc) addTooltipProperty("GoldCapacity", lc) function setLumberCapacity(int level, int value) def.setLvlDataInt("Har2", level, 2, value) function presetLumberCapacity(IntLevelClosure lc) def.setLevelsDataInt("Har2", lvls, 2, lc) addTooltipProperty("LumberCapacity", lc) function setDamagetoTree(int level, int value) def.setLvlDataInt("Har1", level, 1, value) function presetDamagetoTree(IntLevelClosure lc) def.setLevelsDataInt("Har1", lvls, 1, lc) addTooltipProperty("DamagetoTree", lc) public class AbilityDefinitionMagicImmunityDragons extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACm3') function setMagicDamageFactor(int level, real value) def.setLvlDataUnreal("mim1", level, 1, value) function presetMagicDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("mim1", lvls, 1, lc) addTooltipProperty("MagicDamageFactor", lc) public class AbilityDefinitionMagicImmunityArchimonde extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACm2') function setMagicDamageFactor(int level, real value) def.setLvlDataUnreal("mim1", level, 1, value) function presetMagicDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("mim1", lvls, 1, lc) addTooltipProperty("MagicDamageFactor", lc) public class AbilityDefinitionOrbofCorruption extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIcb') function setArmorPenalty(int level, int value) def.setLvlDataInt("Iarp", level, 2, value) function presetArmorPenalty(IntLevelClosure lc) def.setLevelsDataInt("Iarp", lvls, 2, lc) addTooltipProperty("ArmorPenalty", lc) function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("Iob5", level, 5, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("Iob5", lvls, 5, lc) addTooltipProperty("EnabledAttackIndex", lc) function setDamageBonusDice(int level, int value) def.setLvlDataInt("Idic", level, 1, value) function presetDamageBonusDice(IntLevelClosure lc) def.setLevelsDataInt("Idic", lvls, 1, lc) addTooltipProperty("DamageBonusDice", lc) public class AbilityDefinitionWardenSpiritofVengeance extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEsv') function setSummonedUnitType(int level, string value) def.setLvlDataString("Esvu", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Esvu", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Esv1", level, 1, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Esv1", lvls, 1, lc) addTooltipProperty("NumberofSummonedUnits", lc) public class AbilityDefinitionItemChangeTOD extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIct') function setNewTimeofDayMinute(int level, int value) def.setLvlDataInt("ict2", level, 2, value) function presetNewTimeofDayMinute(IntLevelClosure lc) def.setLevelsDataInt("ict2", lvls, 2, lc) addTooltipProperty("NewTimeofDayMinute", lc) function setNewTimeofDayHour(int level, int value) def.setLvlDataInt("ict1", level, 1, value) function presetNewTimeofDayHour(IntLevelClosure lc) def.setLevelsDataInt("ict1", lvls, 1, lc) addTooltipProperty("NewTimeofDayHour", lc) public class AbilityDefinitionMoonPriestessScout extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEst') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionCycloneAIcy extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIcy') function setCanBeDispelled(int level, bool value) def.setLvlDataBoolean("cyc1", level, 1, value) function presetCanBeDispelled(BooleanLevelClosure lc) def.setLevelsDataBoolean("cyc1", lvls, 1, lc) addTooltipProperty("CanBeDispelled", lc) public class AbilityDefinitionExhume extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aexh') function setUnitType(int level, string value) def.setLvlDataString("exhu", level, 0, value) function presetUnitType(StringLevelClosure lc) def.setLevelsDataString("exhu", lvls, 0, lc) addTooltipProperty("UnitType", lc) function setMaximumNumberofCorpses(int level, int value) def.setLvlDataInt("exh1", level, 1, value) function presetMaximumNumberofCorpses(IntLevelClosure lc) def.setLevelsDataInt("exh1", lvls, 1, lc) addTooltipProperty("MaximumNumberofCorpses", lc) public class AbilityDefinitionItemCommand extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIco') function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Icre", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Icre", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionExperienceModgreater extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIe2') function setExperienceGained(int level, int value) def.setLvlDataInt("Ixpg", level, 1, value) function presetExperienceGained(IntLevelClosure lc) def.setLevelsDataInt("Ixpg", lvls, 1, lc) addTooltipProperty("ExperienceGained", lc) public class AbilityDefinitionAIde extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIde') function setDefenseBonus(int level, int value) def.setLvlDataInt("Idef", level, 1, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Idef", lvls, 1, lc) addTooltipProperty("DefenseBonus", lc) public class AbilityDefinitionDefendItem extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIdd') function setDamageTaken(int level, real value) def.setLvlDataUnreal("Def1", level, 1, value) function presetDamageTaken(RealLevelClosure lc) def.setLevelsDataUnreal("Def1", lvls, 1, lc) addTooltipProperty("DamageTaken", lc) function setChancetoDeflect(int level, real value) def.setLvlDataUnreal("Def6", level, 6, value) function presetChancetoDeflect(RealLevelClosure lc) def.setLevelsDataUnreal("Def6", lvls, 6, lc) addTooltipProperty("ChancetoDeflect", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Def3", level, 3, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Def3", lvls, 3, lc) addTooltipProperty("MovementSpeedFactor", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Def4", level, 4, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Def4", lvls, 4, lc) addTooltipProperty("AttackSpeedFactor", lc) function setDamageDealt(int level, real value) def.setLvlDataUnreal("Def2", level, 2, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Def2", lvls, 2, lc) addTooltipProperty("DamageDealt", lc) function setDeflectDamageTakenSpells(int level, real value) def.setLvlDataUnreal("Def8", level, 8, value) function presetDeflectDamageTakenSpells(RealLevelClosure lc) def.setLevelsDataUnreal("Def8", lvls, 8, lc) addTooltipProperty("DeflectDamageTakenSpells", lc) function setDeflectDamageTakenPiercing(int level, real value) def.setLvlDataUnreal("Def7", level, 7, value) function presetDeflectDamageTakenPiercing(RealLevelClosure lc) def.setLevelsDataUnreal("Def7", lvls, 7, lc) addTooltipProperty("DeflectDamageTakenPiercing", lc) function setMagicDamageReduction(int level, real value) def.setLvlDataUnreal("Def5", level, 5, value) function presetMagicDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Def5", lvls, 5, lc) addTooltipProperty("MagicDamageReduction", lc) public class AbilityDefinitionOrbofDarkness extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIdf') function setChanceToHitUnits(int level, real value) def.setLvlDataUnreal("Iob2", level, 2, value) function presetChanceToHitUnits(RealLevelClosure lc) def.setLevelsDataUnreal("Iob2", lvls, 2, lc) addTooltipProperty("ChanceToHitUnits", lc) function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("Iob5", level, 5, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("Iob5", lvls, 5, lc) addTooltipProperty("EnabledAttackIndex", lc) function setChanceToHitSummons(int level, real value) def.setLvlDataUnreal("Iob4", level, 4, value) function presetChanceToHitSummons(RealLevelClosure lc) def.setLevelsDataUnreal("Iob4", lvls, 4, lc) addTooltipProperty("ChanceToHitSummons", lc) function setChanceToHitHeros(int level, real value) def.setLvlDataUnreal("Iob3", level, 3, value) function presetChanceToHitHeros(RealLevelClosure lc) def.setLevelsDataUnreal("Iob3", lvls, 3, lc) addTooltipProperty("ChanceToHitHeros", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Idam", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Idam", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setEffectAbility(int level, string value) def.setLvlDataString("Iobu", level, 0, value) function presetEffectAbility(StringLevelClosure lc) def.setLevelsDataString("Iobu", lvls, 0, lc) addTooltipProperty("EffectAbility", lc) public class AbilityDefinitionItemDispelAoe extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIdi') function setDamageToSummonedUnits(int level, int value) def.setLvlDataInt("Idid", level, 2, value) function presetDamageToSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Idid", lvls, 2, lc) addTooltipProperty("DamageToSummonedUnits", lc) function setManaLossPerUnit(int level, int value) def.setLvlDataInt("Idim", level, 1, value) function presetManaLossPerUnit(IntLevelClosure lc) def.setLevelsDataInt("Idim", lvls, 1, lc) addTooltipProperty("ManaLossPerUnit", lc) public class AbilityDefinitionLightningShieldcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACls') function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Lsh1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Lsh1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionCargoHoldShip extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sch5') function setCargoCapacity(int level, int value) def.setLvlDataInt("Car1", level, 1, value) function presetCargoCapacity(IntLevelClosure lc) def.setLevelsDataInt("Car1", lvls, 1, lc) addTooltipProperty("CargoCapacity", lc) public class AbilityDefinitionCannibalize extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acan') function setMaxHitPoints(int level, real value) def.setLvlDataUnreal("Can2", level, 2, value) function presetMaxHitPoints(RealLevelClosure lc) def.setLevelsDataUnreal("Can2", lvls, 2, lc) addTooltipProperty("MaxHitPoints", lc) function setHitPointsperSecond(int level, real value) def.setLvlDataUnreal("Can1", level, 1, value) function presetHitPointsperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Can1", lvls, 1, lc) addTooltipProperty("HitPointsperSecond", lc) public class AbilityDefinitionCargoHoldTank extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sch4') function setCargoCapacity(int level, int value) def.setLvlDataInt("Car1", level, 1, value) function presetCargoCapacity(IntLevelClosure lc) def.setLevelsDataInt("Car1", lvls, 1, lc) addTooltipProperty("CargoCapacity", lc) public class AbilityDefinitionItemDefenseAoe extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIda') function setHitPointsGained(int level, int value) def.setLvlDataInt("Ihp2", level, 2, value) function presetHitPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Ihp2", lvls, 2, lc) addTooltipProperty("HitPointsGained", lc) function setManaPointsGained(int level, int value) def.setLvlDataInt("Imp2", level, 3, value) function presetManaPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Imp2", lvls, 3, lc) addTooltipProperty("ManaPointsGained", lc) function setDefenseBonus(int level, int value) def.setLvlDataInt("Idef", level, 1, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Idef", lvls, 1, lc) addTooltipProperty("DefenseBonus", lc) public class AbilityDefinitionCargoHoldTransport extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sch3') function setCargoCapacity(int level, int value) def.setLvlDataInt("Car1", level, 1, value) function presetCargoCapacity(IntLevelClosure lc) def.setLevelsDataInt("Car1", lvls, 1, lc) addTooltipProperty("CargoCapacity", lc) public class AbilityDefinitionCargoHoldMeatWagon extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sch2') function setCargoCapacity(int level, int value) def.setLvlDataInt("Car1", level, 1, value) function presetCargoCapacity(IntLevelClosure lc) def.setLevelsDataInt("Car1", lvls, 1, lc) addTooltipProperty("CargoCapacity", lc) public class AbilityDefinitionItemDispelChain extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIdc') function setMaximumDispelledUnits(int level, int value) def.setLvlDataInt("idc3", level, 3, value) function presetMaximumDispelledUnits(IntLevelClosure lc) def.setLevelsDataInt("idc3", lvls, 3, lc) addTooltipProperty("MaximumDispelledUnits", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("idc2", level, 2, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("idc2", lvls, 2, lc) addTooltipProperty("SummonedUnitDamage", lc) function setManaLossPerUnit(int level, real value) def.setLvlDataUnreal("idc1", level, 1, value) function presetManaLossPerUnit(RealLevelClosure lc) def.setLevelsDataUnreal("idc1", lvls, 1, lc) addTooltipProperty("ManaLossPerUnit", lc) public class AbilityDefinitionTaurenChieftainEnduranceAura extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOae') function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Oae1", level, 1, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Oae1", lvls, 1, lc) addTooltipProperty("MovementSpeedIncrease", lc) function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("Oae2", level, 2, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Oae2", lvls, 2, lc) addTooltipProperty("AttackSpeedIncrease", lc) public class AbilityDefinitionItemDefenseAoePlusHealing extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIdb') function setHitPointsGained(int level, int value) def.setLvlDataInt("Ihp2", level, 2, value) function presetHitPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Ihp2", lvls, 2, lc) addTooltipProperty("HitPointsGained", lc) function setManaPointsGained(int level, int value) def.setLvlDataInt("Imp2", level, 3, value) function presetManaPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Imp2", lvls, 3, lc) addTooltipProperty("ManaPointsGained", lc) function setDefenseBonus(int level, int value) def.setLvlDataInt("Idef", level, 1, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Idef", lvls, 1, lc) addTooltipProperty("DefenseBonus", lc) public class AbilityDefinitionMagicImmunityCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACmi') function setMagicDamageFactor(int level, real value) def.setLvlDataUnreal("mim1", level, 1, value) function presetMagicDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("mim1", lvls, 1, lc) addTooltipProperty("MagicDamageFactor", lc) public class AbilityDefinitionKeeperoftheGroveTranquility extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEtq') function setHealInterval(int level, real value) def.setLvlDataUnreal("Etq2", level, 2, value) function presetHealInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Etq2", lvls, 2, lc) addTooltipProperty("HealInterval", lc) function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Etq3", level, 3, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Etq3", lvls, 3, lc) addTooltipProperty("BuildingReduction", lc) function setLifeHealed(int level, real value) def.setLvlDataUnreal("Etq1", level, 1, value) function presetLifeHealed(RealLevelClosure lc) def.setLevelsDataUnreal("Etq1", lvls, 1, lc) addTooltipProperty("LifeHealed", lc) public class AbilityDefinitionWindWalk extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANwk') function setBackstabDamage(int level, bool value) def.setLvlDataBoolean("Owk4", level, 4, value) function presetBackstabDamage(BooleanLevelClosure lc) def.setLevelsDataBoolean("Owk4", lvls, 4, lc) addTooltipProperty("BackstabDamage", lc) public class AbilityDefinitionManaShieldCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACmf') function setDamageAbsorbed(int level, real value) def.setLvlDataUnreal("Nms2", level, 2, value) function presetDamageAbsorbed(RealLevelClosure lc) def.setLevelsDataUnreal("Nms2", lvls, 2, lc) addTooltipProperty("DamageAbsorbed", lc) function setManaperHitPoint(int level, real value) def.setLvlDataUnreal("Nms1", level, 1, value) function presetManaperHitPoint(RealLevelClosure lc) def.setLevelsDataUnreal("Nms1", lvls, 1, lc) addTooltipProperty("ManaperHitPoint", lc) public class AbilityDefinitionWateryMinion extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANwm') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionItemDispelAoeWithCooldown extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIds') function setDamageToSummonedUnits(int level, int value) def.setLvlDataInt("Idid", level, 2, value) function presetDamageToSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Idid", lvls, 2, lc) addTooltipProperty("DamageToSummonedUnits", lc) function setManaLossPerUnit(int level, int value) def.setLvlDataInt("Idim", level, 1, value) function presetManaLossPerUnit(IntLevelClosure lc) def.setLevelsDataInt("Idim", lvls, 1, lc) addTooltipProperty("ManaLossPerUnit", lc) public class AbilityDefinitionEvilIllidanMetamorphosis extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEvi') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormHitPointBonus(int level, real value) def.setLvlDataUnreal("Eme5", level, 5, value) function presetAlternateFormHitPointBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Eme5", lvls, 5, lc) addTooltipProperty("AlternateFormHitPointBonus", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionImpaleCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACmp') function setWaveTimeseconds(int level, real value) def.setLvlDataUnreal("Uim2", level, 2, value) function presetWaveTimeseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Uim2", lvls, 2, lc) addTooltipProperty("WaveTimeseconds", lc) function setAirTimeseconds(int level, real value) def.setLvlDataUnreal("Uim4", level, 4, value) function presetAirTimeseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Uim4", lvls, 4, lc) addTooltipProperty("AirTimeseconds", lc) function setDamageDealt(int level, real value) def.setLvlDataUnreal("Uim3", level, 3, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Uim3", lvls, 3, lc) addTooltipProperty("DamageDealt", lc) function setWaveDistance(int level, real value) def.setLvlDataUnreal("Uim1", level, 1, value) function presetWaveDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Uim1", lvls, 1, lc) addTooltipProperty("WaveDistance", lc) public class AbilityDefinitionMonsooncreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACmo') function setDamageDealt(int level, real value) def.setLvlDataUnreal("Esf1", level, 1, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Esf1", lvls, 1, lc) addTooltipProperty("DamageDealt", lc) function setDamageInterval(int level, real value) def.setLvlDataUnreal("Esf2", level, 2, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Esf2", lvls, 2, lc) addTooltipProperty("DamageInterval", lc) function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Esf3", level, 3, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Esf3", lvls, 3, lc) addTooltipProperty("BuildingReduction", lc) public class AbilityDefinitionDevourMagic extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Advm') function setManaPerBuff(int level, real value) def.setLvlDataUnreal("dvm4", level, 4, value) function presetManaPerBuff(RealLevelClosure lc) def.setLevelsDataUnreal("dvm4", lvls, 4, lc) addTooltipProperty("ManaPerBuff", lc) function setLifePerUnit(int level, real value) def.setLvlDataUnreal("dvm1", level, 1, value) function presetLifePerUnit(RealLevelClosure lc) def.setLevelsDataUnreal("dvm1", lvls, 1, lc) addTooltipProperty("LifePerUnit", lc) function setManaPerUnit(int level, real value) def.setLvlDataUnreal("dvm2", level, 2, value) function presetManaPerUnit(RealLevelClosure lc) def.setLevelsDataUnreal("dvm2", lvls, 2, lc) addTooltipProperty("ManaPerUnit", lc) function setIgnoreFriendlyBuffs(int level, bool value) def.setLvlDataBoolean("dvm6", level, 6, value) function presetIgnoreFriendlyBuffs(BooleanLevelClosure lc) def.setLevelsDataBoolean("dvm6", lvls, 6, lc) addTooltipProperty("IgnoreFriendlyBuffs", lc) function setLifePerBuff(int level, real value) def.setLvlDataUnreal("dvm3", level, 3, value) function presetLifePerBuff(RealLevelClosure lc) def.setLevelsDataUnreal("dvm3", lvls, 3, lc) addTooltipProperty("LifePerBuff", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("dvm5", level, 5, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("dvm5", lvls, 5, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionEvasion extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIev') function setChancetoEvade(int level, real value) def.setLvlDataUnreal("Eev1", level, 1, value) function presetChancetoEvade(RealLevelClosure lc) def.setLevelsDataUnreal("Eev1", lvls, 1, lc) addTooltipProperty("ChancetoEvade", lc) public class AbilityDefinitionCargoHoldDevour extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Advc') function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Dev2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Dev2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) function setCargoCapacity(int level, int value) def.setLvlDataInt("Car1", level, 1, value) function presetCargoCapacity(IntLevelClosure lc) def.setLevelsDataInt("Car1", lvls, 1, lc) addTooltipProperty("CargoCapacity", lc) function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Dev3", level, 3, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Dev3", lvls, 3, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionExperienceMod extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIem') function setExperienceGained(int level, int value) def.setLvlDataInt("Ixpg", level, 1, value) function presetExperienceGained(IntLevelClosure lc) def.setLevelsDataInt("Ixpg", lvls, 1, lc) addTooltipProperty("ExperienceGained", lc) public class AbilityDefinitionCloudofFogItem extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIfg') function setAttackSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi4", level, 4, value) function presetAttackSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi4", lvls, 4, lc) addTooltipProperty("AttackSpeedModifier", lc) function setMovementSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi3", level, 3, value) function presetMovementSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi3", lvls, 3, lc) addTooltipProperty("MovementSpeedModifier", lc) function setChanceToMiss(int level, real value) def.setLvlDataUnreal("Nsi2", level, 2, value) function presetChanceToMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi2", lvls, 2, lc) addTooltipProperty("ChanceToMiss", lc) function setAttacksPrevented(int level, string value) def.setLvlDataString("Nsi1", level, 1, value) function presetAttacksPrevented(StringLevelClosure lc) def.setLevelsDataString("Nsi1", lvls, 1, lc) addTooltipProperty("AttacksPrevented", lc) public class AbilityDefinitionDisenchantold extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adch') function setManaLoss(int level, real value) def.setLvlDataUnreal("Adm1", level, 1, value) function presetManaLoss(RealLevelClosure lc) def.setLevelsDataUnreal("Adm1", lvls, 1, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Adm2", level, 2, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Adm2", lvls, 2, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionPillage extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asal') function setAccumulationStep(int level, int value) def.setLvlDataInt("Sal2", level, 2, value) function presetAccumulationStep(IntLevelClosure lc) def.setLevelsDataInt("Sal2", lvls, 2, lc) addTooltipProperty("AccumulationStep", lc) function setSalvageCostRatio(int level, real value) def.setLvlDataUnreal("Sal1", level, 1, value) function presetSalvageCostRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Sal1", lvls, 1, lc) addTooltipProperty("SalvageCostRatio", lc) public class AbilityDefinitionInventoryPackMule extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apak') function setCanDropItems(int level, bool value) def.setLvlDataBoolean("inv5", level, 5, value) function presetCanDropItems(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv5", lvls, 5, lc) addTooltipProperty("CanDropItems", lc) function setCanUseItems(int level, bool value) def.setLvlDataBoolean("inv3", level, 3, value) function presetCanUseItems(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv3", lvls, 3, lc) addTooltipProperty("CanUseItems", lc) function setDropItemsOnDeath(int level, bool value) def.setLvlDataBoolean("inv2", level, 2, value) function presetDropItemsOnDeath(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv2", lvls, 2, lc) addTooltipProperty("DropItemsOnDeath", lc) function setCanGetItems(int level, bool value) def.setLvlDataBoolean("inv4", level, 4, value) function presetCanGetItems(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv4", lvls, 4, lc) addTooltipProperty("CanGetItems", lc) function setItemCapacity(int level, int value) def.setLvlDataInt("inv1", level, 1, value) function presetItemCapacity(IntLevelClosure lc) def.setLevelsDataInt("inv1", lvls, 1, lc) addTooltipProperty("ItemCapacity", lc) public class AbilityDefinitionFigurineFurbolg extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIff') function setSummonUnitType(int level, string value) def.setLvlDataString("Ist2", level, 4, value) function presetSummonUnitType(StringLevelClosure lc) def.setLevelsDataString("Ist2", lvls, 4, lc) addTooltipProperty("SummonUnitType", lc) function setSummonAmount(int level, int value) def.setLvlDataInt("Isn2", level, 2, value) function presetSummonAmount(IntLevelClosure lc) def.setLevelsDataInt("Isn2", lvls, 2, lc) addTooltipProperty("SummonAmount", lc) function setSummonUnitType1(int level, string value) def.setLvlDataString("Ist1", level, 3, value) function presetSummonUnitType1(StringLevelClosure lc) def.setLevelsDataString("Ist1", lvls, 3, lc) addTooltipProperty("SummonUnitType1", lc) function setSummonAmount1(int level, int value) def.setLvlDataInt("Isn1", level, 1, value) function presetSummonAmount1(IntLevelClosure lc) def.setLevelsDataInt("Isn1", lvls, 1, lc) addTooltipProperty("SummonAmount1", lc) public class AbilityDefinitionFigurineFelHound extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIfh') function setSummonUnitType(int level, string value) def.setLvlDataString("Ist2", level, 4, value) function presetSummonUnitType(StringLevelClosure lc) def.setLevelsDataString("Ist2", lvls, 4, lc) addTooltipProperty("SummonUnitType", lc) function setSummonAmount(int level, int value) def.setLvlDataInt("Isn2", level, 2, value) function presetSummonAmount(IntLevelClosure lc) def.setLevelsDataInt("Isn2", lvls, 2, lc) addTooltipProperty("SummonAmount", lc) function setSummonUnitType1(int level, string value) def.setLvlDataString("Ist1", level, 3, value) function presetSummonUnitType1(StringLevelClosure lc) def.setLevelsDataString("Ist1", lvls, 3, lc) addTooltipProperty("SummonUnitType1", lc) function setSummonAmount1(int level, int value) def.setLvlDataInt("Isn1", level, 1, value) function presetSummonAmount1(IntLevelClosure lc) def.setLevelsDataInt("Isn1", lvls, 1, lc) addTooltipProperty("SummonAmount1", lc) public class AbilityDefinitionFireDamageBonus extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIfb') function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("Iob5", level, 5, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("Iob5", lvls, 5, lc) addTooltipProperty("EnabledAttackIndex", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Idam", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Idam", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) public class AbilityDefinitionDetectMagicSentinel extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adts') function setDetectionType(int level, string value) def.setLvlDataString("Det1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Det1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionFirelordVolcano extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANvc') function setDestructibleID(int level, string value) def.setLvlDataString("Nvcu", level, 0, value) function presetDestructibleID(StringLevelClosure lc) def.setLevelsDataString("Nvcu", lvls, 0, lc) addTooltipProperty("DestructibleID", lc) function setBuildingDamageFactor(int level, real value) def.setLvlDataUnreal("Nvc4", level, 4, value) function presetBuildingDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Nvc4", lvls, 4, lc) addTooltipProperty("BuildingDamageFactor", lc) function setFullDamageAmount(int level, real value) def.setLvlDataUnreal("Nvc5", level, 5, value) function presetFullDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Nvc5", lvls, 5, lc) addTooltipProperty("FullDamageAmount", lc) function setRockRingCount(int level, int value) def.setLvlDataInt("Nvc1", level, 1, value) function presetRockRingCount(IntLevelClosure lc) def.setLevelsDataInt("Nvc1", lvls, 1, lc) addTooltipProperty("RockRingCount", lc) function setWaveInterval(int level, real value) def.setLvlDataUnreal("Nvc3", level, 3, value) function presetWaveInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Nvc3", lvls, 3, lc) addTooltipProperty("WaveInterval", lc) function setHalfDamageFactor(int level, real value) def.setLvlDataUnreal("Nvc6", level, 6, value) function presetHalfDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Nvc6", lvls, 6, lc) addTooltipProperty("HalfDamageFactor", lc) function setWaveCount(int level, int value) def.setLvlDataInt("Nvc2", level, 2, value) function presetWaveCount(IntLevelClosure lc) def.setLevelsDataInt("Nvc2", lvls, 2, lc) addTooltipProperty("WaveCount", lc) public class AbilityDefinitionFigurineRedDrake extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIfd') function setSummonUnitType(int level, string value) def.setLvlDataString("Ist2", level, 4, value) function presetSummonUnitType(StringLevelClosure lc) def.setLevelsDataString("Ist2", lvls, 4, lc) addTooltipProperty("SummonUnitType", lc) function setSummonAmount(int level, int value) def.setLvlDataInt("Isn2", level, 2, value) function presetSummonAmount(IntLevelClosure lc) def.setLevelsDataInt("Isn2", lvls, 2, lc) addTooltipProperty("SummonAmount", lc) function setSummonUnitType1(int level, string value) def.setLvlDataString("Ist1", level, 3, value) function presetSummonUnitType1(StringLevelClosure lc) def.setLevelsDataString("Ist1", lvls, 3, lc) addTooltipProperty("SummonUnitType1", lc) function setSummonAmount1(int level, int value) def.setLvlDataInt("Isn1", level, 1, value) function presetSummonAmount1(IntLevelClosure lc) def.setLevelsDataInt("Isn1", lvls, 1, lc) addTooltipProperty("SummonAmount1", lc) public class AbilityDefinitionHealingWard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahwd') function setWardUnitType(int level, string value) def.setLvlDataString("hwdu", level, 0, value) function presetWardUnitType(StringLevelClosure lc) def.setLevelsDataString("hwdu", lvls, 0, lc) addTooltipProperty("WardUnitType", lc) public class AbilityDefinitionFlareGun extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIfa') function setDetectionType(int level, string value) def.setLvlDataString("Ifa1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Ifa1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) function setDelayForTargetEffect(int level, real value) def.setLvlDataUnreal("Idel", level, 2, value) function presetDelayForTargetEffect(RealLevelClosure lc) def.setLevelsDataUnreal("Idel", lvls, 2, lc) addTooltipProperty("DelayForTargetEffect", lc) public class AbilityDefinitionLoadEntangledGoldMine extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Slo2') function setAllowedUnitType(int level, string value) def.setLvlDataString("Loa1", level, 0, value) function presetAllowedUnitType(StringLevelClosure lc) def.setLevelsDataString("Loa1", lvls, 0, lc) addTooltipProperty("AllowedUnitType", lc) public class AbilityDefinitionNeutralRegenhealthonly extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACnr') function setPercentage(int level, bool value) def.setLvlDataBoolean("Oar2", level, 2, value) function presetPercentage(BooleanLevelClosure lc) def.setLevelsDataBoolean("Oar2", lvls, 2, lc) addTooltipProperty("Percentage", lc) function setAmountofHitPointsRegenerated(int level, real value) def.setLvlDataUnreal("Oar1", level, 1, value) function presetAmountofHitPointsRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("Oar1", lvls, 1, lc) addTooltipProperty("AmountofHitPointsRegenerated", lc) public class AbilityDefinitionAuraRegenerationHealingWard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aoar') function setPercentage(int level, bool value) def.setLvlDataBoolean("Oar2", level, 2, value) function presetPercentage(BooleanLevelClosure lc) def.setLevelsDataBoolean("Oar2", lvls, 2, lc) addTooltipProperty("Percentage", lc) function setAmountofHitPointsRegenerated(int level, real value) def.setLvlDataUnreal("Oar1", level, 1, value) function presetAmountofHitPointsRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("Oar1", lvls, 1, lc) addTooltipProperty("AmountofHitPointsRegenerated", lc) public class AbilityDefinitionLoadNavies extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Slo3') function setAllowedUnitType(int level, string value) def.setLvlDataString("Loa1", level, 0, value) function presetAllowedUnitType(StringLevelClosure lc) def.setLevelsDataString("Loa1", lvls, 0, lc) addTooltipProperty("AllowedUnitType", lc) public class AbilityDefinitionInvisibility extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aivs') function setTransitionTimeseconds(int level, real value) def.setLvlDataUnreal("Ivs1", level, 1, value) function presetTransitionTimeseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Ivs1", lvls, 1, lc) addTooltipProperty("TransitionTimeseconds", lc) public class AbilityDefinitionSentryWard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aeye') function setWardUnitType(int level, string value) def.setLvlDataString("hwdu", level, 0, value) function presetWardUnitType(StringLevelClosure lc) def.setLevelsDataString("hwdu", lvls, 0, lc) addTooltipProperty("WardUnitType", lc) public class AbilityDefinitionFigurineRockGolem extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIfr') function setSummonUnitType(int level, string value) def.setLvlDataString("Ist2", level, 4, value) function presetSummonUnitType(StringLevelClosure lc) def.setLevelsDataString("Ist2", lvls, 4, lc) addTooltipProperty("SummonUnitType", lc) function setSummonAmount(int level, int value) def.setLvlDataInt("Isn2", level, 2, value) function presetSummonAmount(IntLevelClosure lc) def.setLevelsDataInt("Isn2", lvls, 2, lc) addTooltipProperty("SummonAmount", lc) function setSummonUnitType1(int level, string value) def.setLvlDataString("Ist1", level, 3, value) function presetSummonUnitType1(StringLevelClosure lc) def.setLevelsDataString("Ist1", lvls, 3, lc) addTooltipProperty("SummonUnitType1", lc) function setSummonAmount1(int level, int value) def.setLvlDataInt("Isn1", level, 1, value) function presetSummonAmount1(IntLevelClosure lc) def.setLevelsDataInt("Isn1", lvls, 1, lc) addTooltipProperty("SummonAmount1", lc) public class AbilityDefinitionFigurineSkeleton extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIfs') function setSummonUnitType(int level, string value) def.setLvlDataString("Ist2", level, 4, value) function presetSummonUnitType(StringLevelClosure lc) def.setLevelsDataString("Ist2", lvls, 4, lc) addTooltipProperty("SummonUnitType", lc) function setSummonAmount(int level, int value) def.setLvlDataInt("Isn2", level, 2, value) function presetSummonAmount(IntLevelClosure lc) def.setLevelsDataInt("Isn2", lvls, 2, lc) addTooltipProperty("SummonAmount", lc) function setSummonUnitType1(int level, string value) def.setLvlDataString("Ist1", level, 3, value) function presetSummonUnitType1(StringLevelClosure lc) def.setLevelsDataString("Ist1", lvls, 3, lc) addTooltipProperty("SummonUnitType1", lc) function setSummonAmount1(int level, int value) def.setLvlDataInt("Isn1", level, 1, value) function presetSummonAmount1(IntLevelClosure lc) def.setLevelsDataInt("Isn1", lvls, 1, lc) addTooltipProperty("SummonAmount1", lc) public class AbilityDefinitionSubmergeMyrmidon extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asb1') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionSubmergeRoyalGuard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asb2') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionFigurineDoomGuard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIfu') function setSummonUnitType(int level, string value) def.setLvlDataString("Ist2", level, 4, value) function presetSummonUnitType(StringLevelClosure lc) def.setLevelsDataString("Ist2", lvls, 4, lc) addTooltipProperty("SummonUnitType", lc) function setSummonAmount(int level, int value) def.setLvlDataInt("Isn2", level, 2, value) function presetSummonAmount(IntLevelClosure lc) def.setLevelsDataInt("Isn2", lvls, 2, lc) addTooltipProperty("SummonAmount", lc) function setSummonUnitType1(int level, string value) def.setLvlDataString("Ist1", level, 3, value) function presetSummonUnitType1(StringLevelClosure lc) def.setLevelsDataString("Ist1", lvls, 3, lc) addTooltipProperty("SummonUnitType1", lc) function setSummonAmount1(int level, int value) def.setLvlDataInt("Isn1", level, 1, value) function presetSummonAmount1(IntLevelClosure lc) def.setLevelsDataInt("Isn1", lvls, 1, lc) addTooltipProperty("SummonAmount1", lc) public class AbilityDefinitionSubmergeSnapDragon extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asb3') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionItemHealLesser extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIh1') function setHitPointsGained(int level, int value) def.setLvlDataInt("Ihpg", level, 1, value) function presetHitPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Ihpg", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionItemHealGreater extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIh2') function setHitPointsGained(int level, int value) def.setLvlDataInt("Ihpg", level, 1, value) function presetHitPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Ihpg", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionItemHealLeast extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIh3') function setHitPointsGained(int level, int value) def.setLvlDataInt("Ihpg", level, 1, value) function presetHitPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Ihpg", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionGiveGold extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIgo') function setGoldGiven(int level, int value) def.setLvlDataInt("Igol", level, 1, value) function presetGoldGiven(IntLevelClosure lc) def.setLevelsDataInt("Igol", lvls, 1, lc) addTooltipProperty("GoldGiven", lc) public class AbilityDefinitionIntelligenceBonusPlus1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIi1') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionBurrowscarablvl2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abu2') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionIntelligenceBonusPlus4 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIi4') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionFirelordSummonLavaSpawn extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANlm') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setLifeDurationSplitBonus(int level, real value) def.setLvlDataUnreal("Nlm5", level, 5, value) function presetLifeDurationSplitBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Nlm5", lvls, 5, lc) addTooltipProperty("LifeDurationSplitBonus", lc) function setMaxHitpointFactor(int level, real value) def.setLvlDataUnreal("Nlm4", level, 4, value) function presetMaxHitpointFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Nlm4", lvls, 4, lc) addTooltipProperty("MaxHitpointFactor", lc) function setGenerationCount(int level, int value) def.setLvlDataInt("Nlm6", level, 6, value) function presetGenerationCount(IntLevelClosure lc) def.setLevelsDataInt("Nlm6", lvls, 6, lc) addTooltipProperty("GenerationCount", lc) function setSplitDelay(int level, real value) def.setLvlDataUnreal("Nlm2", level, 2, value) function presetSplitDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Nlm2", lvls, 2, lc) addTooltipProperty("SplitDelay", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) function setSplitAttackCount(int level, int value) def.setLvlDataInt("Nlm3", level, 3, value) function presetSplitAttackCount(IntLevelClosure lc) def.setLevelsDataInt("Nlm3", lvls, 3, lc) addTooltipProperty("SplitAttackCount", lc) public class AbilityDefinitionBurrowscarablvl3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abu3') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionHeal extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahea') function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Hea1", level, 1, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Hea1", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionIntelligenceBonusPlus3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIi3') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionIntelligenceBonusPlus6 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIi6') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionBeserk extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Absk') function setDamageTakenIncrease(int level, real value) def.setLvlDataUnreal("bsk3", level, 3, value) function presetDamageTakenIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("bsk3", lvls, 3, lc) addTooltipProperty("DamageTakenIncrease", lc) function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("bsk1", level, 1, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("bsk1", lvls, 1, lc) addTooltipProperty("MovementSpeedIncrease", lc) function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("bsk2", level, 2, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("bsk2", lvls, 2, lc) addTooltipProperty("AttackSpeedIncrease", lc) public class AbilityDefinitionReplenishLifeMana extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arpb') function setMinimumManaRequired(int level, real value) def.setLvlDataUnreal("Rpb4", level, 4, value) function presetMinimumManaRequired(RealLevelClosure lc) def.setLevelsDataUnreal("Rpb4", lvls, 4, lc) addTooltipProperty("MinimumManaRequired", lc) function setMaximumUnitsChargedToCaster(int level, int value) def.setLvlDataInt("Rpb5", level, 5, value) function presetMaximumUnitsChargedToCaster(IntLevelClosure lc) def.setLevelsDataInt("Rpb5", lvls, 5, lc) addTooltipProperty("MaximumUnitsChargedToCaster", lc) function setMinimumLifeRequired(int level, real value) def.setLvlDataUnreal("Rpb3", level, 3, value) function presetMinimumLifeRequired(RealLevelClosure lc) def.setLevelsDataUnreal("Rpb3", lvls, 3, lc) addTooltipProperty("MinimumLifeRequired", lc) function setManaPointsGained(int level, real value) def.setLvlDataUnreal("Rej2", level, 2, value) function presetManaPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej2", lvls, 2, lc) addTooltipProperty("ManaPointsGained", lc) function setMaximumUnitsAffected(int level, int value) def.setLvlDataInt("Rpb6", level, 0, value) function presetMaximumUnitsAffected(IntLevelClosure lc) def.setLevelsDataInt("Rpb6", lvls, 0, lc) addTooltipProperty("MaximumUnitsAffected", lc) function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Rej1", level, 1, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej1", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionUltraVisionGlyph extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIgu') function setUpgradeLevels(int level, int value) def.setLvlDataInt("Igl1", level, 1, value) function presetUpgradeLevels(IntLevelClosure lc) def.setLevelsDataInt("Igl1", lvls, 1, lc) addTooltipProperty("UpgradeLevels", lc) function setUpgradeType(int level, string value) def.setLvlDataString("Iglu", level, 0, value) function presetUpgradeType(StringLevelClosure lc) def.setLevelsDataString("Iglu", lvls, 0, lc) addTooltipProperty("UpgradeType", lc) public class AbilityDefinitionReplenishLife extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arpl') function setMinimumLifeRequired(int level, real value) def.setLvlDataUnreal("Rpb3", level, 3, value) function presetMinimumLifeRequired(RealLevelClosure lc) def.setLevelsDataUnreal("Rpb3", lvls, 3, lc) addTooltipProperty("MinimumLifeRequired", lc) function setMaximumUnitsChargedToCaster(int level, int value) def.setLvlDataInt("Rpb5", level, 5, value) function presetMaximumUnitsChargedToCaster(IntLevelClosure lc) def.setLevelsDataInt("Rpb5", lvls, 5, lc) addTooltipProperty("MaximumUnitsChargedToCaster", lc) function setMaximumUnitsAffected(int level, int value) def.setLvlDataInt("Rpb6", level, 0, value) function presetMaximumUnitsAffected(IntLevelClosure lc) def.setLevelsDataInt("Rpb6", lvls, 0, lc) addTooltipProperty("MaximumUnitsAffected", lc) function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Rej1", level, 1, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej1", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionInventory2slotunitUndead extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aiun') function setCanDropItems(int level, bool value) def.setLvlDataBoolean("inv5", level, 5, value) function presetCanDropItems(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv5", lvls, 5, lc) addTooltipProperty("CanDropItems", lc) function setCanUseItems(int level, bool value) def.setLvlDataBoolean("inv3", level, 3, value) function presetCanUseItems(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv3", lvls, 3, lc) addTooltipProperty("CanUseItems", lc) function setDropItemsOnDeath(int level, bool value) def.setLvlDataBoolean("inv2", level, 2, value) function presetDropItemsOnDeath(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv2", lvls, 2, lc) addTooltipProperty("DropItemsOnDeath", lc) function setCanGetItems(int level, bool value) def.setLvlDataBoolean("inv4", level, 4, value) function presetCanGetItems(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv4", lvls, 4, lc) addTooltipProperty("CanGetItems", lc) function setItemCapacity(int level, int value) def.setLvlDataInt("inv1", level, 1, value) function presetItemCapacity(IntLevelClosure lc) def.setLevelsDataInt("inv1", lvls, 1, lc) addTooltipProperty("ItemCapacity", lc) public class AbilityDefinitionManaBattery extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ambt') function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Mbt2", level, 2, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Mbt2", lvls, 2, lc) addTooltipProperty("HitPointsGained", lc) function setWaterHeight(int level, real value) def.setLvlDataUnreal("Mbt4", level, 4, value) function presetWaterHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Mbt4", lvls, 4, lc) addTooltipProperty("WaterHeight", lc) function setAutocastRequirement(int level, real value) def.setLvlDataUnreal("Mbt3", level, 3, value) function presetAutocastRequirement(RealLevelClosure lc) def.setLevelsDataUnreal("Mbt3", lvls, 3, lc) addTooltipProperty("AutocastRequirement", lc) function setManaGained(int level, real value) def.setLvlDataUnreal("Mbt1", level, 1, value) function presetManaGained(RealLevelClosure lc) def.setLevelsDataUnreal("Mbt1", lvls, 1, lc) addTooltipProperty("ManaGained", lc) function setRegenerateOnlyAtNight(int level, bool value) def.setLvlDataBoolean("Mbt5", level, 5, value) function presetRegenerateOnlyAtNight(BooleanLevelClosure lc) def.setLevelsDataBoolean("Mbt5", lvls, 5, lc) addTooltipProperty("RegenerateOnlyAtNight", lc) public class AbilityDefinitionReplenishMana extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arpm') function setMinimumManaRequired(int level, real value) def.setLvlDataUnreal("Rpb4", level, 4, value) function presetMinimumManaRequired(RealLevelClosure lc) def.setLevelsDataUnreal("Rpb4", lvls, 4, lc) addTooltipProperty("MinimumManaRequired", lc) function setMaximumUnitsChargedToCaster(int level, int value) def.setLvlDataInt("Rpb5", level, 5, value) function presetMaximumUnitsChargedToCaster(IntLevelClosure lc) def.setLevelsDataInt("Rpb5", lvls, 5, lc) addTooltipProperty("MaximumUnitsChargedToCaster", lc) function setManaPointsGained(int level, real value) def.setLvlDataUnreal("Rej2", level, 2, value) function presetManaPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej2", lvls, 2, lc) addTooltipProperty("ManaPointsGained", lc) function setMaximumUnitsAffected(int level, int value) def.setLvlDataInt("Rpb6", level, 0, value) function presetMaximumUnitsAffected(IntLevelClosure lc) def.setLevelsDataInt("Rpb6", lvls, 0, lc) addTooltipProperty("MaximumUnitsAffected", lc) public class AbilityDefinitionHealCreepNormal extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Anh1') function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Hea1", level, 1, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Hea1", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionHealCreepHigh extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Anh2') function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Hea1", level, 1, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Hea1", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionAuraSlow extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aasl') function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Slo1", level, 1, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Slo1", lvls, 1, lc) addTooltipProperty("MovementSpeedFactor", lc) function setAlwaysAutocast(int level, bool value) def.setLvlDataBoolean("Slo3", level, 3, value) function presetAlwaysAutocast(BooleanLevelClosure lc) def.setLevelsDataBoolean("Slo3", lvls, 3, lc) addTooltipProperty("AlwaysAutocast", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Slo2", level, 2, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Slo2", lvls, 2, lc) addTooltipProperty("AttackSpeedFactor", lc) public class AbilityDefinitionCurse extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acrs') function setChancetoMiss(int level, real value) def.setLvlDataUnreal("Crs", level, 1, value) function presetChancetoMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Crs", lvls, 1, lc) addTooltipProperty("ChancetoMiss", lc) public class AbilityDefinitionSuperEarthquake extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'SNeq') function setUnitsSlowed(int level, real value) def.setLvlDataUnreal("Oeq3", level, 3, value) function presetUnitsSlowed(RealLevelClosure lc) def.setLevelsDataUnreal("Oeq3", lvls, 3, lc) addTooltipProperty("UnitsSlowed", lc) function setEffectDelay(int level, real value) def.setLvlDataUnreal("Oeq1", level, 1, value) function presetEffectDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Oeq1", lvls, 1, lc) addTooltipProperty("EffectDelay", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Oeq4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Oeq4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setDamageperSecondtoBuildings(int level, real value) def.setLvlDataUnreal("Oeq2", level, 2, value) function presetDamageperSecondtoBuildings(RealLevelClosure lc) def.setLevelsDataUnreal("Oeq2", lvls, 2, lc) addTooltipProperty("DamageperSecondtoBuildings", lc) public class AbilityDefinitionFortificationGlyph extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIgf') function setUpgradeLevels(int level, int value) def.setLvlDataInt("Igl1", level, 1, value) function presetUpgradeLevels(IntLevelClosure lc) def.setLevelsDataInt("Igl1", lvls, 1, lc) addTooltipProperty("UpgradeLevels", lc) function setUpgradeType(int level, string value) def.setLvlDataString("Iglu", level, 0, value) function presetUpgradeType(StringLevelClosure lc) def.setLevelsDataString("Iglu", lvls, 0, lc) addTooltipProperty("UpgradeType", lc) public class AbilityDefinitionManaBurndemonAmbd extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ambd') function setMaxManaDrained(int level, real value) def.setLvlDataUnreal("Emb1", level, 1, value) function presetMaxManaDrained(RealLevelClosure lc) def.setLevelsDataUnreal("Emb1", lvls, 1, lc) addTooltipProperty("MaxManaDrained", lc) function setBoltLifetime(int level, real value) def.setLvlDataUnreal("Emb3", level, 3, value) function presetBoltLifetime(RealLevelClosure lc) def.setLevelsDataUnreal("Emb3", lvls, 3, lc) addTooltipProperty("BoltLifetime", lc) function setBoltDelay(int level, real value) def.setLvlDataUnreal("Emb2", level, 2, value) function presetBoltDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Emb2", lvls, 2, lc) addTooltipProperty("BoltDelay", lc) public class AbilityDefinitionFarseerFarSight extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOfs') function setDetectionType(int level, string value) def.setLvlDataString("Ofs1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Ofs1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionAgilityModPlus2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIgm') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionHarvestLumberArchimondeghouls extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahr2') function setLumberCapacity(int level, int value) def.setLvlDataInt("Har2", level, 2, value) function presetLumberCapacity(IntLevelClosure lc) def.setLevelsDataInt("Har2", lvls, 2, lc) addTooltipProperty("LumberCapacity", lc) function setDamagetoTree(int level, int value) def.setLvlDataInt("Har1", level, 1, value) function presetDamagetoTree(IntLevelClosure lc) def.setLevelsDataInt("Har1", lvls, 1, lc) addTooltipProperty("DamagetoTree", lc) public class AbilityDefinitionHealingWardAIhw extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIhw') function setWardUnitType(int level, string value) def.setLvlDataString("hwdu", level, 0, value) function presetWardUnitType(StringLevelClosure lc) def.setLevelsDataString("hwdu", lvls, 0, lc) addTooltipProperty("WardUnitType", lc) public class AbilityDefinitionIllidanMetamorphosis extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEIl') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormHitPointBonus(int level, real value) def.setLvlDataUnreal("Eme5", level, 5, value) function presetAlternateFormHitPointBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Eme5", lvls, 5, lc) addTooltipProperty("AlternateFormHitPointBonus", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionHexCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AChx') function setMorphUnitsGround(int level, string value) def.setLvlDataString("Ply2", level, 2, value) function presetMorphUnitsGround(StringLevelClosure lc) def.setLevelsDataString("Ply2", lvls, 2, lc) addTooltipProperty("MorphUnitsGround", lc) function setMorphUnitsWater(int level, string value) def.setLvlDataString("Ply5", level, 5, value) function presetMorphUnitsWater(StringLevelClosure lc) def.setLevelsDataString("Ply5", lvls, 5, lc) addTooltipProperty("MorphUnitsWater", lc) function setMorphUnitsAmphibious(int level, string value) def.setLvlDataString("Ply4", level, 4, value) function presetMorphUnitsAmphibious(StringLevelClosure lc) def.setLevelsDataString("Ply4", lvls, 4, lc) addTooltipProperty("MorphUnitsAmphibious", lc) function setMorphUnitsAir(int level, string value) def.setLvlDataString("Ply3", level, 3, value) function presetMorphUnitsAir(StringLevelClosure lc) def.setLevelsDataString("Ply3", lvls, 3, lc) addTooltipProperty("MorphUnitsAir", lc) function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Ply1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Ply1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionHealingWardcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AChw') function setWardUnitType(int level, string value) def.setLvlDataString("hwdu", level, 0, value) function presetWardUnitType(StringLevelClosure lc) def.setLevelsDataString("hwdu", lvls, 0, lc) addTooltipProperty("WardUnitType", lc) public class AbilityDefinitionBattlestations extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abtl') function setSummonBusyUnits(int level, bool value) def.setLvlDataBoolean("Btl2", level, 2, value) function presetSummonBusyUnits(BooleanLevelClosure lc) def.setLevelsDataBoolean("Btl2", lvls, 2, lc) addTooltipProperty("SummonBusyUnits", lc) function setAllowedUnitType(int level, string value) def.setLvlDataString("Btl1", level, 0, value) function presetAllowedUnitType(StringLevelClosure lc) def.setLevelsDataString("Btl1", lvls, 0, lc) addTooltipProperty("AllowedUnitType", lc) public class AbilityDefinitionHealingWaveCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AChv') function setDamageperTarget(int level, real value) def.setLvlDataUnreal("Ocl1", level, 1, value) function presetDamageperTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ocl1", lvls, 1, lc) addTooltipProperty("DamageperTarget", lc) function setNumberofTargetsHit(int level, int value) def.setLvlDataInt("Ocl2", level, 2, value) function presetNumberofTargetsHit(IntLevelClosure lc) def.setLevelsDataInt("Ocl2", lvls, 2, lc) addTooltipProperty("NumberofTargetsHit", lc) function setDamageReductionperTarget(int level, real value) def.setLvlDataUnreal("Ocl3", level, 3, value) function presetDamageReductionperTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ocl3", lvls, 3, lc) addTooltipProperty("DamageReductionperTarget", lc) public class AbilityDefinitionInnerFireCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACif') function setAutocastRange(int level, real value) def.setLvlDataUnreal("Inf3", level, 3, value) function presetAutocastRange(RealLevelClosure lc) def.setLevelsDataUnreal("Inf3", lvls, 3, lc) addTooltipProperty("AutocastRange", lc) function setLifeRegenRate(int level, real value) def.setLvlDataUnreal("Inf4", level, 4, value) function presetLifeRegenRate(RealLevelClosure lc) def.setLevelsDataUnreal("Inf4", lvls, 4, lc) addTooltipProperty("LifeRegenRate", lc) function setDefenseIncrease(int level, int value) def.setLvlDataInt("Inf2", level, 2, value) function presetDefenseIncrease(IntLevelClosure lc) def.setLevelsDataInt("Inf2", lvls, 2, lc) addTooltipProperty("DefenseIncrease", lc) function setDamageIncrease(int level, real value) def.setLvlDataUnreal("Inf1", level, 1, value) function presetDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Inf1", lvls, 1, lc) addTooltipProperty("DamageIncrease", lc) public class AbilityDefinitionAncestralSpirit extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aast') function setLifeRestoredFactor(int level, real value) def.setLvlDataUnreal("ast1", level, 1, value) function presetLifeRestoredFactor(RealLevelClosure lc) def.setLevelsDataUnreal("ast1", lvls, 1, lc) addTooltipProperty("LifeRestoredFactor", lc) function setManaRestoredFactor(int level, real value) def.setLvlDataUnreal("ast2", level, 2, value) function presetManaRestoredFactor(RealLevelClosure lc) def.setLevelsDataUnreal("ast2", lvls, 2, lc) addTooltipProperty("ManaRestoredFactor", lc) public class AbilityDefinitionHarvestLumbershredder extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahr3') function setLumberCapacity(int level, int value) def.setLvlDataInt("Har2", level, 2, value) function presetLumberCapacity(IntLevelClosure lc) def.setLevelsDataInt("Har2", lvls, 2, lc) addTooltipProperty("LumberCapacity", lc) function setDamagetoTree(int level, int value) def.setLvlDataInt("Har1", level, 1, value) function presetDamagetoTree(IntLevelClosure lc) def.setLevelsDataInt("Har1", lvls, 1, lc) addTooltipProperty("DamagetoTree", lc) public class AbilityDefinitionItemHealAoeGreater extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIhb') function setHitPointsGained(int level, int value) def.setLvlDataInt("Ihpg", level, 1, value) function presetHitPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Ihpg", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionPulverize extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Awar') function setHalfDamageRadius(int level, real value) def.setLvlDataUnreal("War4", level, 4, value) function presetHalfDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("War4", lvls, 4, lc) addTooltipProperty("HalfDamageRadius", lc) function setDamageDealt(int level, real value) def.setLvlDataUnreal("War2", level, 2, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("War2", lvls, 2, lc) addTooltipProperty("DamageDealt", lc) function setFullDamageRadius(int level, real value) def.setLvlDataUnreal("War3", level, 3, value) function presetFullDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("War3", lvls, 3, lc) addTooltipProperty("FullDamageRadius", lc) function setChancetoStomp(int level, real value) def.setLvlDataUnreal("War1", level, 1, value) function presetChancetoStomp(RealLevelClosure lc) def.setLevelsDataUnreal("War1", lvls, 1, lc) addTooltipProperty("ChancetoStomp", lc) public class AbilityDefinitionItemHealAoe extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIha') function setHitPointsGained(int level, int value) def.setLvlDataInt("Ihpg", level, 1, value) function presetHitPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Ihpg", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionAIhe extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIhe') function setHitPointsGained(int level, int value) def.setLvlDataInt("Ihpg", level, 1, value) function presetHitPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Ihpg", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionFarseerEarthquake extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOeq') function setUnitsSlowed(int level, real value) def.setLvlDataUnreal("Oeq3", level, 3, value) function presetUnitsSlowed(RealLevelClosure lc) def.setLevelsDataUnreal("Oeq3", lvls, 3, lc) addTooltipProperty("UnitsSlowed", lc) function setEffectDelay(int level, real value) def.setLvlDataUnreal("Oeq1", level, 1, value) function presetEffectDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Oeq1", lvls, 1, lc) addTooltipProperty("EffectDelay", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Oeq4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Oeq4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setDamageperSecondtoBuildings(int level, real value) def.setLvlDataUnreal("Oeq2", level, 2, value) function presetDamageperSecondtoBuildings(RealLevelClosure lc) def.setLevelsDataUnreal("Oeq2", lvls, 2, lc) addTooltipProperty("DamageperSecondtoBuildings", lc) public class AbilityDefinitionDemonHunterImmolation extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEim') function setManaDrainedperSecond(int level, real value) def.setLvlDataUnreal("Eim2", level, 2, value) function presetManaDrainedperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Eim2", lvls, 2, lc) addTooltipProperty("ManaDrainedperSecond", lc) function setBufferManaRequired(int level, real value) def.setLvlDataUnreal("Eim3", level, 3, value) function presetBufferManaRequired(RealLevelClosure lc) def.setLevelsDataUnreal("Eim3", lvls, 3, lc) addTooltipProperty("BufferManaRequired", lc) function setDamageperInterval(int level, real value) def.setLvlDataUnreal("Eim1", level, 1, value) function presetDamageperInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Eim1", lvls, 1, lc) addTooltipProperty("DamageperInterval", lc) public class AbilityDefinitionNeutralDetectionRevealability extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Andt') function setLumberCost(int level, int value) def.setLvlDataInt("Ndt2", level, 2, value) function presetLumberCost(IntLevelClosure lc) def.setLevelsDataInt("Ndt2", lvls, 2, lc) addTooltipProperty("LumberCost", lc) function setDetectionType(int level, string value) def.setLvlDataString("Ndt3", level, 3, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Ndt3", lvls, 3, lc) addTooltipProperty("DetectionType", lc) function setGoldCost(int level, int value) def.setLvlDataInt("Ndt1", level, 1, value) function presetGoldCost(IntLevelClosure lc) def.setLevelsDataInt("Ndt1", lvls, 1, lc) addTooltipProperty("GoldCost", lc) public class AbilityDefinitionWeb extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aweb') function setAirUnitHeight(int level, real value) def.setLvlDataUnreal("Ens2", level, 2, value) function presetAirUnitHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Ens2", lvls, 2, lc) addTooltipProperty("AirUnitHeight", lc) function setAirUnitLowerDuration(int level, real value) def.setLvlDataUnreal("Ens1", level, 1, value) function presetAirUnitLowerDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ens1", lvls, 1, lc) addTooltipProperty("AirUnitLowerDuration", lc) function setMeleeAttackRange(int level, real value) def.setLvlDataUnreal("Ens3", level, 3, value) function presetMeleeAttackRange(RealLevelClosure lc) def.setLevelsDataUnreal("Ens3", lvls, 3, lc) addTooltipProperty("MeleeAttackRange", lc) public class AbilityDefinitionFigurineIceRevenant extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIir') function setSummonUnitType(int level, string value) def.setLvlDataString("Ist2", level, 4, value) function presetSummonUnitType(StringLevelClosure lc) def.setLevelsDataString("Ist2", lvls, 4, lc) addTooltipProperty("SummonUnitType", lc) function setSummonAmount(int level, int value) def.setLvlDataInt("Isn2", level, 2, value) function presetSummonAmount(IntLevelClosure lc) def.setLevelsDataInt("Isn2", lvls, 2, lc) addTooltipProperty("SummonAmount", lc) function setSummonUnitType1(int level, string value) def.setLvlDataString("Ist1", level, 3, value) function presetSummonUnitType1(StringLevelClosure lc) def.setLevelsDataString("Ist1", lvls, 3, lc) addTooltipProperty("SummonUnitType1", lc) function setSummonAmount1(int level, int value) def.setLvlDataInt("Isn1", level, 1, value) function presetSummonAmount1(IntLevelClosure lc) def.setLevelsDataInt("Isn1", lvls, 1, lc) addTooltipProperty("SummonAmount1", lc) public class AbilityDefinitionSuperDeathandDecay extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'SNdd') function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Udd2", level, 2, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Udd2", lvls, 2, lc) addTooltipProperty("BuildingReduction", lc) function setMaxLifeDrainedperSecond(int level, real value) def.setLvlDataUnreal("Udd1", level, 1, value) function presetMaxLifeDrainedperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Udd1", lvls, 1, lc) addTooltipProperty("MaxLifeDrainedperSecond", lc) public class AbilityDefinitionDarkConversionFast extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'SNdc') function setConversionUnit(int level, string value) def.setLvlDataString("Ndc2", level, 0, value) function presetConversionUnit(StringLevelClosure lc) def.setLevelsDataString("Ndc2", lvls, 0, lc) addTooltipProperty("ConversionUnit", lc) function setRacetoConvert(int level, string value) def.setLvlDataString("Ndc1", level, 1, value) function presetRacetoConvert(StringLevelClosure lc) def.setLevelsDataString("Ndc1", lvls, 1, lc) addTooltipProperty("RacetoConvert", lc) public class AbilityDefinitionImmolationcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACim') function setManaDrainedperSecond(int level, real value) def.setLvlDataUnreal("Eim2", level, 2, value) function presetManaDrainedperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Eim2", lvls, 2, lc) addTooltipProperty("ManaDrainedperSecond", lc) function setBufferManaRequired(int level, real value) def.setLvlDataUnreal("Eim3", level, 3, value) function presetBufferManaRequired(RealLevelClosure lc) def.setLevelsDataUnreal("Eim3", lvls, 3, lc) addTooltipProperty("BufferManaRequired", lc) function setDamageperInterval(int level, real value) def.setLvlDataUnreal("Eim1", level, 1, value) function presetDamageperInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Eim1", lvls, 1, lc) addTooltipProperty("DamageperInterval", lc) public class AbilityDefinitionIntelligenceMod extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIim') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionItemInferno extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIin') function setDuration(int level, real value) def.setLvlDataUnreal("Uin2", level, 2, value) function presetDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Uin2", lvls, 2, lc) addTooltipProperty("Duration", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Uin1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Uin1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setSummonedUnit(int level, string value) def.setLvlDataString("Uin4", level, 0, value) function presetSummonedUnit(StringLevelClosure lc) def.setLevelsDataString("Uin4", lvls, 0, lc) addTooltipProperty("SummonedUnit", lc) function setImpactDelay(int level, real value) def.setLvlDataUnreal("Uin3", level, 3, value) function presetImpactDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Uin3", lvls, 3, lc) addTooltipProperty("ImpactDelay", lc) public class AbilityDefinitionItemIllusion extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIil') function setDamageReceivedMultiplier(int level, real value) def.setLvlDataUnreal("Iilw", level, 2, value) function presetDamageReceivedMultiplier(RealLevelClosure lc) def.setLevelsDataUnreal("Iilw", lvls, 2, lc) addTooltipProperty("DamageReceivedMultiplier", lc) function setDamageDealtofnormal(int level, real value) def.setLvlDataUnreal("Iild", level, 1, value) function presetDamageDealtofnormal(RealLevelClosure lc) def.setLevelsDataUnreal("Iild", lvls, 1, lc) addTooltipProperty("DamageDealtofnormal", lc) public class AbilityDefinitionMagicDefense extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amdf') function setDamageTaken(int level, real value) def.setLvlDataUnreal("Def1", level, 1, value) function presetDamageTaken(RealLevelClosure lc) def.setLevelsDataUnreal("Def1", lvls, 1, lc) addTooltipProperty("DamageTaken", lc) function setChancetoDeflect(int level, real value) def.setLvlDataUnreal("Def6", level, 6, value) function presetChancetoDeflect(RealLevelClosure lc) def.setLevelsDataUnreal("Def6", lvls, 6, lc) addTooltipProperty("ChancetoDeflect", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Def3", level, 3, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Def3", lvls, 3, lc) addTooltipProperty("MovementSpeedFactor", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Def4", level, 4, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Def4", lvls, 4, lc) addTooltipProperty("AttackSpeedFactor", lc) function setDamageDealt(int level, real value) def.setLvlDataUnreal("Def2", level, 2, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Def2", lvls, 2, lc) addTooltipProperty("DamageDealt", lc) function setDeflectDamageTakenSpells(int level, real value) def.setLvlDataUnreal("Def8", level, 8, value) function presetDeflectDamageTakenSpells(RealLevelClosure lc) def.setLevelsDataUnreal("Def8", lvls, 8, lc) addTooltipProperty("DeflectDamageTakenSpells", lc) function setDeflectDamageTakenPiercing(int level, real value) def.setLvlDataUnreal("Def7", level, 7, value) function presetDeflectDamageTakenPiercing(RealLevelClosure lc) def.setLevelsDataUnreal("Def7", lvls, 7, lc) addTooltipProperty("DeflectDamageTakenPiercing", lc) function setMagicDamageReduction(int level, real value) def.setLvlDataUnreal("Def5", level, 5, value) function presetMagicDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Def5", lvls, 5, lc) addTooltipProperty("MagicDamageReduction", lc) public class AbilityDefinitionAvengerForm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aave') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setLifeRegenerationRatepersecond(int level, real value) def.setLvlDataUnreal("ave5", level, 5, value) function presetLifeRegenerationRatepersecond(RealLevelClosure lc) def.setLevelsDataUnreal("ave5", lvls, 5, lc) addTooltipProperty("LifeRegenerationRatepersecond", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionHarvestLumber extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahrl') function setLumberCapacity(int level, int value) def.setLvlDataInt("Har2", level, 2, value) function presetLumberCapacity(IntLevelClosure lc) def.setLevelsDataInt("Har2", lvls, 2, lc) addTooltipProperty("LumberCapacity", lc) function setDamagetoTree(int level, int value) def.setLvlDataInt("Har1", level, 1, value) function presetDamagetoTree(IntLevelClosure lc) def.setLevelsDataInt("Har1", lvls, 1, lc) addTooltipProperty("DamagetoTree", lc) public class AbilityDefinitionNeutralBuilding extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aneu') function setShowUnitIndicator(int level, bool value) def.setLvlDataBoolean("Neu4", level, 4, value) function presetShowUnitIndicator(BooleanLevelClosure lc) def.setLevelsDataBoolean("Neu4", lvls, 4, lc) addTooltipProperty("ShowUnitIndicator", lc) function setActivationRadius(int level, real value) def.setLvlDataUnreal("Neu1", level, 1, value) function presetActivationRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Neu1", lvls, 1, lc) addTooltipProperty("ActivationRadius", lc) function setShowSelectUnitButton(int level, bool value) def.setLvlDataBoolean("Neu3", level, 3, value) function presetShowSelectUnitButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Neu3", lvls, 3, lc) addTooltipProperty("ShowSelectUnitButton", lc) function setInteractionType(int level, string value) def.setLvlDataString("Neu2", level, 2, value) function presetInteractionType(StringLevelClosure lc) def.setLevelsDataString("Neu2", lvls, 2, lc) addTooltipProperty("InteractionType", lc) public class AbilityDefinitionRepairHuman extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahrp') function setPowerbuildRate(int level, real value) def.setLvlDataUnreal("Rep4", level, 4, value) function presetPowerbuildRate(RealLevelClosure lc) def.setLevelsDataUnreal("Rep4", lvls, 4, lc) addTooltipProperty("PowerbuildRate", lc) function setNavalRangeBonus(int level, real value) def.setLvlDataUnreal("Rep5", level, 5, value) function presetNavalRangeBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Rep5", lvls, 5, lc) addTooltipProperty("NavalRangeBonus", lc) function setRepairTimeRatio(int level, real value) def.setLvlDataUnreal("Rep2", level, 2, value) function presetRepairTimeRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Rep2", lvls, 2, lc) addTooltipProperty("RepairTimeRatio", lc) function setRepairCostRatio(int level, real value) def.setLvlDataUnreal("Rep1", level, 1, value) function presetRepairCostRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Rep1", lvls, 1, lc) addTooltipProperty("RepairCostRatio", lc) function setPowerbuildCost(int level, real value) def.setLvlDataUnreal("Rep3", level, 3, value) function presetPowerbuildCost(RealLevelClosure lc) def.setLevelsDataUnreal("Rep3", lvls, 3, lc) addTooltipProperty("PowerbuildCost", lc) public class AbilityDefinitionAhrs extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahrs') function setTerrainDeformationAmplitude(int level, real value) def.setLvlDataUnreal("Wrs2", level, 2, value) function presetTerrainDeformationAmplitude(RealLevelClosure lc) def.setLevelsDataUnreal("Wrs2", lvls, 2, lc) addTooltipProperty("TerrainDeformationAmplitude", lc) function setTerrainDeformationDurationms(int level, int value) def.setLvlDataInt("Wrs3", level, 3, value) function presetTerrainDeformationDurationms(IntLevelClosure lc) def.setLevelsDataInt("Wrs3", lvls, 3, lc) addTooltipProperty("TerrainDeformationDurationms", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Wrs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Wrs1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionFirelordIncinerate extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANic') function setDeathDamageHalfAmount(int level, real value) def.setLvlDataUnreal("Nic4", level, 4, value) function presetDeathDamageHalfAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Nic4", lvls, 4, lc) addTooltipProperty("DeathDamageHalfAmount", lc) function setDeathDamageFullArea(int level, real value) def.setLvlDataUnreal("Nic3", level, 3, value) function presetDeathDamageFullArea(RealLevelClosure lc) def.setLevelsDataUnreal("Nic3", lvls, 3, lc) addTooltipProperty("DeathDamageFullArea", lc) function setBonusDamageMultiplier(int level, real value) def.setLvlDataUnreal("Nic1", level, 1, value) function presetBonusDamageMultiplier(RealLevelClosure lc) def.setLevelsDataUnreal("Nic1", lvls, 1, lc) addTooltipProperty("BonusDamageMultiplier", lc) function setDeathDamageFullAmount(int level, real value) def.setLvlDataUnreal("Nic2", level, 2, value) function presetDeathDamageFullAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Nic2", lvls, 2, lc) addTooltipProperty("DeathDamageFullAmount", lc) function setDeathDamageDelay(int level, real value) def.setLvlDataUnreal("Nic6", level, 6, value) function presetDeathDamageDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Nic6", lvls, 6, lc) addTooltipProperty("DeathDamageDelay", lc) function setDeathDamageHalfArea(int level, real value) def.setLvlDataUnreal("Nic5", level, 5, value) function presetDeathDamageHalfArea(RealLevelClosure lc) def.setLevelsDataUnreal("Nic5", lvls, 5, lc) addTooltipProperty("DeathDamageHalfArea", lc) public class AbilityDefinitionBearform extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abrf') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionCryptLordLocustSwarm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUls') function setNumberofSwarmUnits(int level, int value) def.setLvlDataInt("Uls1", level, 1, value) function presetNumberofSwarmUnits(IntLevelClosure lc) def.setLevelsDataInt("Uls1", lvls, 1, lc) addTooltipProperty("NumberofSwarmUnits", lc) function setUnitReleaseIntervalseconds(int level, real value) def.setLvlDataUnreal("Uls2", level, 2, value) function presetUnitReleaseIntervalseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Uls2", lvls, 2, lc) addTooltipProperty("UnitReleaseIntervalseconds", lc) function setMaxSwarmUnitsPerTarget(int level, int value) def.setLvlDataInt("Uls3", level, 3, value) function presetMaxSwarmUnitsPerTarget(IntLevelClosure lc) def.setLevelsDataInt("Uls3", lvls, 3, lc) addTooltipProperty("MaxSwarmUnitsPerTarget", lc) function setSwarmUnitType(int level, string value) def.setLvlDataString("Ulsu", level, 0, value) function presetSwarmUnitType(StringLevelClosure lc) def.setLevelsDataString("Ulsu", lvls, 0, lc) addTooltipProperty("SwarmUnitType", lc) function setDamageReturnThreshold(int level, real value) def.setLvlDataUnreal("Uls5", level, 5, value) function presetDamageReturnThreshold(RealLevelClosure lc) def.setLevelsDataUnreal("Uls5", lvls, 5, lc) addTooltipProperty("DamageReturnThreshold", lc) function setDamageReturnFactor(int level, real value) def.setLvlDataUnreal("Uls4", level, 4, value) function presetDamageReturnFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Uls4", lvls, 4, lc) addTooltipProperty("DamageReturnFactor", lc) public class AbilityDefinitionRestoration extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arst') function setPowerbuildRate(int level, real value) def.setLvlDataUnreal("Rep4", level, 4, value) function presetPowerbuildRate(RealLevelClosure lc) def.setLevelsDataUnreal("Rep4", lvls, 4, lc) addTooltipProperty("PowerbuildRate", lc) function setNavalRangeBonus(int level, real value) def.setLvlDataUnreal("Rep5", level, 5, value) function presetNavalRangeBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Rep5", lvls, 5, lc) addTooltipProperty("NavalRangeBonus", lc) function setRepairTimeRatio(int level, real value) def.setLvlDataUnreal("Rep2", level, 2, value) function presetRepairTimeRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Rep2", lvls, 2, lc) addTooltipProperty("RepairTimeRatio", lc) function setRepairCostRatio(int level, real value) def.setLvlDataUnreal("Rep1", level, 1, value) function presetRepairCostRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Rep1", lvls, 1, lc) addTooltipProperty("RepairCostRatio", lc) function setPowerbuildCost(int level, real value) def.setLvlDataUnreal("Rep3", level, 3, value) function presetPowerbuildCost(RealLevelClosure lc) def.setLevelsDataUnreal("Rep3", lvls, 3, lc) addTooltipProperty("PowerbuildCost", lc) public class AbilityDefinitionFarseerChainLightning extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOcl') function setDamageperTarget(int level, real value) def.setLvlDataUnreal("Ocl1", level, 1, value) function presetDamageperTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ocl1", lvls, 1, lc) addTooltipProperty("DamageperTarget", lc) function setNumberofTargetsHit(int level, int value) def.setLvlDataInt("Ocl2", level, 2, value) function presetNumberofTargetsHit(IntLevelClosure lc) def.setLevelsDataInt("Ocl2", lvls, 2, lc) addTooltipProperty("NumberofTargetsHit", lc) function setDamageReductionperTarget(int level, real value) def.setLvlDataUnreal("Ocl3", level, 3, value) function presetDamageReductionperTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ocl3", lvls, 3, lc) addTooltipProperty("DamageReductionperTarget", lc) public class AbilityDefinitionMaxLifeBonusGreater extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIl2') function setMaxLifeGained(int level, int value) def.setLvlDataInt("Ilif", level, 1, value) function presetMaxLifeGained(IntLevelClosure lc) def.setLevelsDataInt("Ilif", lvls, 1, lc) addTooltipProperty("MaxLifeGained", lc) public class AbilityDefinitionInferno extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANin') function setDuration(int level, real value) def.setLvlDataUnreal("Uin2", level, 2, value) function presetDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Uin2", lvls, 2, lc) addTooltipProperty("Duration", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Uin1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Uin1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setSummonedUnit(int level, string value) def.setLvlDataString("Uin4", level, 0, value) function presetSummonedUnit(StringLevelClosure lc) def.setLevelsDataString("Uin4", lvls, 0, lc) addTooltipProperty("SummonedUnit", lc) function setImpactDelay(int level, real value) def.setLvlDataUnreal("Uin3", level, 3, value) function presetImpactDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Uin3", lvls, 3, lc) addTooltipProperty("ImpactDelay", lc) public class AbilityDefinitionMechanicalCritter extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amec') function setNumberofUnitsCreated(int level, int value) def.setLvlDataInt("mec1", level, 1, value) function presetNumberofUnitsCreated(IntLevelClosure lc) def.setLevelsDataInt("mec1", lvls, 1, lc) addTooltipProperty("NumberofUnitsCreated", lc) public class AbilityDefinitionMaxLifeBonusLesser extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIl1') function setMaxLifeGained(int level, int value) def.setLvlDataInt("Ilif", level, 1, value) function presetMaxLifeGained(IntLevelClosure lc) def.setLevelsDataInt("Ilif", lvls, 1, lc) addTooltipProperty("MaxLifeGained", lc) public class AbilityDefinitionPurgeApg2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apg2') function setManaLoss(int level, int value) def.setLvlDataInt("Prg6", level, 6, value) function presetManaLoss(IntLevelClosure lc) def.setLevelsDataInt("Prg6", lvls, 6, lc) addTooltipProperty("ManaLoss", lc) public class AbilityDefinitionBladeMasterCriticalStrike extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOcr') function setDamageMultiplier(int level, real value) def.setLvlDataUnreal("Ocr2", level, 2, value) function presetDamageMultiplier(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr2", lvls, 2, lc) addTooltipProperty("DamageMultiplier", lc) function setChancetoCriticalStrike(int level, real value) def.setLvlDataUnreal("Ocr1", level, 1, value) function presetChancetoCriticalStrike(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr1", lvls, 1, lc) addTooltipProperty("ChancetoCriticalStrike", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Ocr3", level, 3, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr3", lvls, 3, lc) addTooltipProperty("DamageBonus", lc) function setChancetoEvade(int level, real value) def.setLvlDataUnreal("Ocr4", level, 4, value) function presetChancetoEvade(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr4", lvls, 4, lc) addTooltipProperty("ChancetoEvade", lc) function setNeverMiss(int level, bool value) def.setLvlDataBoolean("Ocr5", level, 5, value) function presetNeverMiss(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ocr5", lvls, 5, lc) addTooltipProperty("NeverMiss", lc) public class AbilityDefinitionAuraPlagueAbomination extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aap1') function setPlagueWardUnitType(int level, string value) def.setLvlDataString("Aplu", level, 0, value) function presetPlagueWardUnitType(StringLevelClosure lc) def.setLevelsDataString("Aplu", lvls, 0, lc) addTooltipProperty("PlagueWardUnitType", lc) function setDurationofPlagueWard(int level, real value) def.setLvlDataUnreal("Apl3", level, 3, value) function presetDurationofPlagueWard(RealLevelClosure lc) def.setLevelsDataUnreal("Apl3", lvls, 3, lc) addTooltipProperty("DurationofPlagueWard", lc) function setAuraDuration(int level, real value) def.setLvlDataUnreal("Apl1", level, 1, value) function presetAuraDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Apl1", lvls, 1, lc) addTooltipProperty("AuraDuration", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Apl2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Apl2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionAuraPlagueCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aap3') function setPlagueWardUnitType(int level, string value) def.setLvlDataString("Aplu", level, 0, value) function presetPlagueWardUnitType(StringLevelClosure lc) def.setLevelsDataString("Aplu", lvls, 0, lc) addTooltipProperty("PlagueWardUnitType", lc) function setDurationofPlagueWard(int level, real value) def.setLvlDataUnreal("Apl3", level, 3, value) function presetDurationofPlagueWard(RealLevelClosure lc) def.setLevelsDataUnreal("Apl3", lvls, 3, lc) addTooltipProperty("DurationofPlagueWard", lc) function setAuraDuration(int level, real value) def.setLvlDataUnreal("Apl1", level, 1, value) function presetAuraDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Apl1", lvls, 1, lc) addTooltipProperty("AuraDuration", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Apl2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Apl2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionPermanentImmolation extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANpi') function setManaDrainedperSecond(int level, real value) def.setLvlDataUnreal("Eim2", level, 2, value) function presetManaDrainedperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Eim2", lvls, 2, lc) addTooltipProperty("ManaDrainedperSecond", lc) function setBufferManaRequired(int level, real value) def.setLvlDataUnreal("Eim3", level, 3, value) function presetBufferManaRequired(RealLevelClosure lc) def.setLevelsDataUnreal("Eim3", lvls, 3, lc) addTooltipProperty("BufferManaRequired", lc) function setDamageperInterval(int level, real value) def.setLvlDataUnreal("Eim1", level, 1, value) function presetDamageperInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Eim1", lvls, 1, lc) addTooltipProperty("DamageperInterval", lc) public class AbilityDefinitionAuraPlaguePlagueWard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aap2') function setPlagueWardUnitType(int level, string value) def.setLvlDataString("Aplu", level, 0, value) function presetPlagueWardUnitType(StringLevelClosure lc) def.setLevelsDataString("Aplu", lvls, 0, lc) addTooltipProperty("PlagueWardUnitType", lc) function setDurationofPlagueWard(int level, real value) def.setLvlDataUnreal("Apl3", level, 3, value) function presetDurationofPlagueWard(RealLevelClosure lc) def.setLevelsDataUnreal("Apl3", lvls, 3, lc) addTooltipProperty("DurationofPlagueWard", lc) function setAuraDuration(int level, real value) def.setLvlDataUnreal("Apl1", level, 1, value) function presetAuraDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Apl1", lvls, 1, lc) addTooltipProperty("AuraDuration", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Apl2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Apl2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionCyclonecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACcy') function setCanBeDispelled(int level, bool value) def.setLvlDataBoolean("cyc1", level, 1, value) function presetCanBeDispelled(BooleanLevelClosure lc) def.setLevelsDataBoolean("cyc1", lvls, 1, lc) addTooltipProperty("CanBeDispelled", lc) public class AbilityDefinitionAuraPlagueCreepnodamage extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aap4') function setPlagueWardUnitType(int level, string value) def.setLvlDataString("Aplu", level, 0, value) function presetPlagueWardUnitType(StringLevelClosure lc) def.setLevelsDataString("Aplu", lvls, 0, lc) addTooltipProperty("PlagueWardUnitType", lc) function setDurationofPlagueWard(int level, real value) def.setLvlDataUnreal("Apl3", level, 3, value) function presetDurationofPlagueWard(RealLevelClosure lc) def.setLevelsDataUnreal("Apl3", lvls, 3, lc) addTooltipProperty("DurationofPlagueWard", lc) function setAuraDuration(int level, real value) def.setLvlDataUnreal("Apl1", level, 1, value) function presetAuraDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Apl1", lvls, 1, lc) addTooltipProperty("AuraDuration", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Apl2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Apl2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionLightningDamageBonus extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIlb') function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("Iob5", level, 5, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("Iob5", lvls, 5, lc) addTooltipProperty("EnabledAttackIndex", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Idam", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Idam", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setDamageBonusDice(int level, int value) def.setLvlDataInt("Idic", level, 1, value) function presetDamageBonusDice(IntLevelClosure lc) def.setLevelsDataInt("Idic", lvls, 1, lc) addTooltipProperty("DamageBonusDice", lc) public class AbilityDefinitionArtn extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Artn') function setAcceptsGold(int level, bool value) def.setLvlDataBoolean("Rtn1", level, 1, value) function presetAcceptsGold(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rtn1", lvls, 1, lc) addTooltipProperty("AcceptsGold", lc) function setAcceptsLumber(int level, bool value) def.setLvlDataBoolean("Rtn2", level, 2, value) function presetAcceptsLumber(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rtn2", lvls, 2, lc) addTooltipProperty("AcceptsLumber", lc) public class AbilityDefinitionCrushingWave extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACcv') function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ucs2", level, 2, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs2", lvls, 2, lc) addTooltipProperty("MaxDamage", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Ucs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Ucs4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Ucs3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs3", lvls, 3, lc) addTooltipProperty("Distance", lc) public class AbilityDefinitionColdArrowscreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACcw') function setStackFlags(int level, string value) def.setLvlDataString("Hca4", level, 4, value) function presetStackFlags(StringLevelClosure lc) def.setLevelsDataString("Hca4", lvls, 4, lc) addTooltipProperty("StackFlags", lc) function setExtraDamage(int level, real value) def.setLvlDataUnreal("Hca1", level, 1, value) function presetExtraDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hca1", lvls, 1, lc) addTooltipProperty("ExtraDamage", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Hca3", level, 3, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Hca3", lvls, 3, lc) addTooltipProperty("AttackSpeedFactor", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Hca2", level, 2, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Hca2", lvls, 2, lc) addTooltipProperty("MovementSpeedFactor", lc) public class AbilityDefinitionEatTree extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aeat') function setEatDelay(int level, real value) def.setLvlDataUnreal("Eat2", level, 2, value) function presetEatDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Eat2", lvls, 2, lc) addTooltipProperty("EatDelay", lc) function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Eat3", level, 3, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Eat3", lvls, 3, lc) addTooltipProperty("HitPointsGained", lc) function setRipDelay(int level, real value) def.setLvlDataUnreal("Eat1", level, 1, value) function presetRipDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Eat1", lvls, 1, lc) addTooltipProperty("RipDelay", lc) public class AbilityDefinitionPreservation extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANpr') function setBuildingTypesAllowed(int level, string value) def.setLvlDataString("Npr1", level, 1, value) function presetBuildingTypesAllowed(StringLevelClosure lc) def.setLevelsDataString("Npr1", lvls, 1, lc) addTooltipProperty("BuildingTypesAllowed", lc) public class AbilityDefinitionShadowMeldAkama extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahid') function setDayNightDuration(int level, real value) def.setLvlDataUnreal("Shm2", level, 2, value) function presetDayNightDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Shm2", lvls, 2, lc) addTooltipProperty("DayNightDuration", lc) function setActionDuration(int level, real value) def.setLvlDataUnreal("Shm3", level, 3, value) function presetActionDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Shm3", lvls, 3, lc) addTooltipProperty("ActionDuration", lc) function setFadeDuration(int level, real value) def.setLvlDataUnreal("Shm1", level, 1, value) function presetFadeDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Shm1", lvls, 1, lc) addTooltipProperty("FadeDuration", lc) public class AbilityDefinitionCripplecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACcr') function setDamageReduction(int level, real value) def.setLvlDataUnreal("Cri3", level, 3, value) function presetDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Cri3", lvls, 3, lc) addTooltipProperty("DamageReduction", lc) function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Cri2", level, 2, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Cri2", lvls, 2, lc) addTooltipProperty("AttackSpeedReduction", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Cri1", level, 1, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Cri1", lvls, 1, lc) addTooltipProperty("MovementSpeedReduction", lc) public class AbilityDefinitionCursecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACcs') function setChancetoMiss(int level, real value) def.setLvlDataUnreal("Crs", level, 1, value) function presetChancetoMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Crs", lvls, 1, lc) addTooltipProperty("ChancetoMiss", lc) public class AbilityDefinitionCriticalStrikecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACct') function setDamageMultiplier(int level, real value) def.setLvlDataUnreal("Ocr2", level, 2, value) function presetDamageMultiplier(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr2", lvls, 2, lc) addTooltipProperty("DamageMultiplier", lc) function setChancetoCriticalStrike(int level, real value) def.setLvlDataUnreal("Ocr1", level, 1, value) function presetChancetoCriticalStrike(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr1", lvls, 1, lc) addTooltipProperty("ChancetoCriticalStrike", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Ocr3", level, 3, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr3", lvls, 3, lc) addTooltipProperty("DamageBonus", lc) function setChancetoEvade(int level, real value) def.setLvlDataUnreal("Ocr4", level, 4, value) function presetChancetoEvade(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr4", lvls, 4, lc) addTooltipProperty("ChancetoEvade", lc) function setNeverMiss(int level, bool value) def.setLvlDataBoolean("Ocr5", level, 5, value) function presetNeverMiss(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ocr5", lvls, 5, lc) addTooltipProperty("NeverMiss", lc) public class AbilityDefinitionCannibalizecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACcn') function setMaxHitPoints(int level, real value) def.setLvlDataUnreal("Can2", level, 2, value) function presetMaxHitPoints(RealLevelClosure lc) def.setLevelsDataUnreal("Can2", lvls, 2, lc) addTooltipProperty("MaxHitPoints", lc) function setHitPointsperSecond(int level, real value) def.setLvlDataUnreal("Can1", level, 1, value) function presetHitPointsperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Can1", lvls, 1, lc) addTooltipProperty("HitPointsperSecond", lc) public class AbilityDefinitionCycloneCenarius extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'SCc1') function setCanBeDispelled(int level, bool value) def.setLvlDataBoolean("cyc1", level, 1, value) function presetCanBeDispelled(BooleanLevelClosure lc) def.setLevelsDataBoolean("cyc1", lvls, 1, lc) addTooltipProperty("CanBeDispelled", lc) public class AbilityDefinitionItemManaRestoreGreater extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIm2') function setManaPointsGained(int level, int value) def.setLvlDataInt("Impg", level, 1, value) function presetManaPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Impg", lvls, 1, lc) addTooltipProperty("ManaPointsGained", lc) public class AbilityDefinitionItemManaRestoreLesser extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIm1') function setManaPointsGained(int level, int value) def.setLvlDataInt("Impg", level, 1, value) function presetManaPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Impg", lvls, 1, lc) addTooltipProperty("ManaPointsGained", lc) public class AbilityDefinitionStoneForm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Astn') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setLifeRegenerationRatepersecond(int level, real value) def.setLvlDataUnreal("ave5", level, 5, value) function presetLifeRegenerationRatepersecond(RealLevelClosure lc) def.setLevelsDataUnreal("ave5", lvls, 5, lc) addTooltipProperty("LifeRegenerationRatepersecond", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionChainLightningcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACcl') function setDamageperTarget(int level, real value) def.setLvlDataUnreal("Ocl1", level, 1, value) function presetDamageperTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ocl1", lvls, 1, lc) addTooltipProperty("DamageperTarget", lc) function setNumberofTargetsHit(int level, int value) def.setLvlDataInt("Ocl2", level, 2, value) function presetNumberofTargetsHit(IntLevelClosure lc) def.setLevelsDataInt("Ocl2", lvls, 2, lc) addTooltipProperty("NumberofTargetsHit", lc) function setDamageReductionperTarget(int level, real value) def.setLvlDataUnreal("Ocl3", level, 3, value) function presetDamageReductionperTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ocl3", lvls, 3, lc) addTooltipProperty("DamageReductionperTarget", lc) public class AbilityDefinitionFaerieFire extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Afae') function setAlwaysAutocast(int level, bool value) def.setLvlDataBoolean("Fae2", level, 2, value) function presetAlwaysAutocast(BooleanLevelClosure lc) def.setLevelsDataBoolean("Fae2", lvls, 2, lc) addTooltipProperty("AlwaysAutocast", lc) function setDefenseReduction(int level, int value) def.setLvlDataInt("Fae1", level, 1, value) function presetDefenseReduction(IntLevelClosure lc) def.setLevelsDataInt("Fae1", lvls, 1, lc) addTooltipProperty("DefenseReduction", lc) public class AbilityDefinitionCharm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACch') function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Nch1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Nch1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionManaSteal extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aste') function setLeaveTargetAlive(int level, bool value) def.setLvlDataBoolean("Udp5", level, 5, value) function presetLeaveTargetAlive(BooleanLevelClosure lc) def.setLevelsDataBoolean("Udp5", lvls, 5, lc) addTooltipProperty("LeaveTargetAlive", lc) function setLifeConvertedtoMana(int level, real value) def.setLvlDataUnreal("Udp1", level, 1, value) function presetLifeConvertedtoMana(RealLevelClosure lc) def.setLevelsDataUnreal("Udp1", lvls, 1, lc) addTooltipProperty("LifeConvertedtoMana", lc) function setLifeConvertedtoLife(int level, real value) def.setLvlDataUnreal("Udp2", level, 2, value) function presetLifeConvertedtoLife(RealLevelClosure lc) def.setLevelsDataUnreal("Udp2", lvls, 2, lc) addTooltipProperty("LifeConvertedtoLife", lc) function setLifeConversionAsPercent(int level, bool value) def.setLvlDataBoolean("Udp4", level, 4, value) function presetLifeConversionAsPercent(BooleanLevelClosure lc) def.setLevelsDataBoolean("Udp4", lvls, 4, lc) addTooltipProperty("LifeConversionAsPercent", lc) function setManaConversionAsPercent(int level, bool value) def.setLvlDataBoolean("Udp3", level, 3, value) function presetManaConversionAsPercent(BooleanLevelClosure lc) def.setLevelsDataBoolean("Udp3", lvls, 3, lc) addTooltipProperty("ManaConversionAsPercent", lc) public class AbilityDefinitionAuraEnduranceCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'SCae') function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Oae1", level, 1, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Oae1", lvls, 1, lc) addTooltipProperty("MovementSpeedIncrease", lc) function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("Oae2", level, 2, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Oae2", lvls, 2, lc) addTooltipProperty("AttackSpeedIncrease", lc) public class AbilityDefinitionTichondriusInferno extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'SNin') function setDuration(int level, real value) def.setLvlDataUnreal("Uin2", level, 2, value) function presetDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Uin2", lvls, 2, lc) addTooltipProperty("Duration", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Uin1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Uin1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setSummonedUnit(int level, string value) def.setLvlDataString("Uin4", level, 0, value) function presetSummonedUnit(StringLevelClosure lc) def.setLevelsDataString("Uin4", lvls, 0, lc) addTooltipProperty("SummonedUnit", lc) function setImpactDelay(int level, real value) def.setLvlDataUnreal("Uin3", level, 3, value) function presetImpactDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Uin3", lvls, 3, lc) addTooltipProperty("ImpactDelay", lc) public class AbilityDefinitionCryptLordImpale extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUim') function setWaveTimeseconds(int level, real value) def.setLvlDataUnreal("Uim2", level, 2, value) function presetWaveTimeseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Uim2", lvls, 2, lc) addTooltipProperty("WaveTimeseconds", lc) function setAirTimeseconds(int level, real value) def.setLvlDataUnreal("Uim4", level, 4, value) function presetAirTimeseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Uim4", lvls, 4, lc) addTooltipProperty("AirTimeseconds", lc) function setDamageDealt(int level, real value) def.setLvlDataUnreal("Uim3", level, 3, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Uim3", lvls, 3, lc) addTooltipProperty("DamageDealt", lc) function setWaveDistance(int level, real value) def.setLvlDataUnreal("Uim1", level, 1, value) function presetWaveDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Uim1", lvls, 1, lc) addTooltipProperty("WaveDistance", lc) public class AbilityDefinitionFrostBolt extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACcb') function setDamage(int level, real value) def.setLvlDataUnreal("Htb1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Htb1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionCarrionSwarmcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACca') function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ucs2", level, 2, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs2", lvls, 2, lc) addTooltipProperty("MaxDamage", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Ucs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Ucs4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Ucs3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs3", lvls, 3, lc) addTooltipProperty("Distance", lc) public class AbilityDefinitionDreadlordInferno extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUin') function setDuration(int level, real value) def.setLvlDataUnreal("Uin2", level, 2, value) function presetDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Uin2", lvls, 2, lc) addTooltipProperty("Duration", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Uin1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Uin1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setSummonedUnit(int level, string value) def.setLvlDataString("Uin4", level, 0, value) function presetSummonedUnit(StringLevelClosure lc) def.setLevelsDataString("Uin4", lvls, 0, lc) addTooltipProperty("SummonedUnit", lc) function setImpactDelay(int level, real value) def.setLvlDataUnreal("Uin3", level, 3, value) function presetImpactDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Uin3", lvls, 3, lc) addTooltipProperty("ImpactDelay", lc) public class AbilityDefinitionWispHarvestInvulnerable extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Awh2') function setArtAttachmentHeight(int level, real value) def.setLvlDataUnreal("Wha3", level, 3, value) function presetArtAttachmentHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Wha3", lvls, 3, lc) addTooltipProperty("ArtAttachmentHeight", lc) function setIntervalsBeforeChangingTrees(int level, int value) def.setLvlDataInt("Wha2", level, 2, value) function presetIntervalsBeforeChangingTrees(IntLevelClosure lc) def.setLevelsDataInt("Wha2", lvls, 2, lc) addTooltipProperty("IntervalsBeforeChangingTrees", lc) function setLumberperInterval(int level, real value) def.setLvlDataUnreal("Wha1", level, 1, value) function presetLumberperInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Wha1", lvls, 1, lc) addTooltipProperty("LumberperInterval", lc) public class AbilityDefinitionOrbofAnnihilation extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Afak') function setSmallDamageFactor(int level, real value) def.setLvlDataUnreal("fak3", level, 3, value) function presetSmallDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("fak3", lvls, 3, lc) addTooltipProperty("SmallDamageFactor", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("fak1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("fak1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setHalfDamageRadius(int level, real value) def.setLvlDataUnreal("fak5", level, 5, value) function presetHalfDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("fak5", lvls, 5, lc) addTooltipProperty("HalfDamageRadius", lc) function setMediumDamageFactor(int level, real value) def.setLvlDataUnreal("fak2", level, 2, value) function presetMediumDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("fak2", lvls, 2, lc) addTooltipProperty("MediumDamageFactor", lc) function setFullDamageRadius(int level, real value) def.setLvlDataUnreal("fak4", level, 4, value) function presetFullDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("fak4", lvls, 4, lc) addTooltipProperty("FullDamageRadius", lc) public class AbilityDefinitionMaxManaBonusLeast extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AImb') function setMaxManaGained(int level, int value) def.setLvlDataInt("Iman", level, 1, value) function presetMaxManaGained(IntLevelClosure lc) def.setLevelsDataInt("Iman", lvls, 1, lc) addTooltipProperty("MaxManaGained", lc) public class AbilityDefinitionNeutralBuildinganyunit extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ane2') function setShowUnitIndicator(int level, bool value) def.setLvlDataBoolean("Neu4", level, 4, value) function presetShowUnitIndicator(BooleanLevelClosure lc) def.setLevelsDataBoolean("Neu4", lvls, 4, lc) addTooltipProperty("ShowUnitIndicator", lc) function setActivationRadius(int level, real value) def.setLvlDataUnreal("Neu1", level, 1, value) function presetActivationRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Neu1", lvls, 1, lc) addTooltipProperty("ActivationRadius", lc) function setShowSelectUnitButton(int level, bool value) def.setLvlDataBoolean("Neu3", level, 3, value) function presetShowSelectUnitButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Neu3", lvls, 3, lc) addTooltipProperty("ShowSelectUnitButton", lc) function setInteractionType(int level, string value) def.setLvlDataString("Neu2", level, 2, value) function presetInteractionType(StringLevelClosure lc) def.setLevelsDataString("Neu2", lvls, 2, lc) addTooltipProperty("InteractionType", lc) public class AbilityDefinitionGhost extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Agho') function setDoesNotBlockBuildings(int level, bool value) def.setLvlDataBoolean("Gho3", level, 3, value) function presetDoesNotBlockBuildings(BooleanLevelClosure lc) def.setLevelsDataBoolean("Gho3", lvls, 3, lc) addTooltipProperty("DoesNotBlockBuildings", lc) function setImmunetoMorphEffects(int level, bool value) def.setLvlDataBoolean("Gho2", level, 2, value) function presetImmunetoMorphEffects(BooleanLevelClosure lc) def.setLevelsDataBoolean("Gho2", lvls, 2, lc) addTooltipProperty("ImmunetoMorphEffects", lc) function setAutoAcquireAttackTargets(int level, bool value) def.setLvlDataBoolean("Gho1", level, 1, value) function presetAutoAcquireAttackTargets(BooleanLevelClosure lc) def.setLevelsDataBoolean("Gho1", lvls, 1, lc) addTooltipProperty("AutoAcquireAttackTargets", lc) public class AbilityDefinitionDevourCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACdv') function setMaxCreepLevel(int level, int value) def.setLvlDataInt("Dev1", level, 1, value) function presetMaxCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Dev1", lvls, 1, lc) addTooltipProperty("MaxCreepLevel", lc) public class AbilityDefinitionGiveLumber extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIlu') function setLumberGiven(int level, int value) def.setLvlDataInt("Ilum", level, 1, value) function presetLumberGiven(IntLevelClosure lc) def.setLevelsDataInt("Ilum", lvls, 1, lc) addTooltipProperty("LumberGiven", lc) public class AbilityDefinitionFireBoltwarlock extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Awfb') function setDamage(int level, real value) def.setLvlDataUnreal("Htb1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Htb1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionDrainLifeCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACdr') function setBonusLifeDecay(int level, real value) def.setLvlDataUnreal("Ndr7", level, 7, value) function presetBonusLifeDecay(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr7", lvls, 7, lc) addTooltipProperty("BonusLifeDecay", lc) function setManaTransferredPerSecond(int level, real value) def.setLvlDataUnreal("Ndr5", level, 5, value) function presetManaTransferredPerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr5", lvls, 5, lc) addTooltipProperty("ManaTransferredPerSecond", lc) function setBonusManaDecay(int level, real value) def.setLvlDataUnreal("Ndr9", level, 9, value) function presetBonusManaDecay(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr9", lvls, 9, lc) addTooltipProperty("BonusManaDecay", lc) function setBonusLifeFactor(int level, real value) def.setLvlDataUnreal("Ndr6", level, 6, value) function presetBonusLifeFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr6", lvls, 6, lc) addTooltipProperty("BonusLifeFactor", lc) function setBonusManaFactor(int level, real value) def.setLvlDataUnreal("Ndr8", level, 8, value) function presetBonusManaFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr8", lvls, 8, lc) addTooltipProperty("BonusManaFactor", lc) function setLifeTransferredPerSecond(int level, real value) def.setLvlDataUnreal("Ndr4", level, 4, value) function presetLifeTransferredPerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr4", lvls, 4, lc) addTooltipProperty("LifeTransferredPerSecond", lc) public class AbilityDefinitionPaladinHolyLight extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHhb') function setAmountHealedDamaged(int level, real value) def.setLvlDataUnreal("Hhb1", level, 1, value) function presetAmountHealedDamaged(RealLevelClosure lc) def.setLevelsDataUnreal("Hhb1", lvls, 1, lc) addTooltipProperty("AmountHealedDamaged", lc) public class AbilityDefinitionLevelMod extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIlm') function setLevelsGained(int level, int value) def.setLvlDataInt("Ilev", level, 1, value) function presetLevelsGained(IntLevelClosure lc) def.setLevelsDataInt("Ilev", lvls, 1, lc) addTooltipProperty("LevelsGained", lc) public class AbilityDefinitionOrbofLightning extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIll') function setChanceToHitUnits(int level, real value) def.setLvlDataUnreal("Iob2", level, 2, value) function presetChanceToHitUnits(RealLevelClosure lc) def.setLevelsDataUnreal("Iob2", lvls, 2, lc) addTooltipProperty("ChanceToHitUnits", lc) function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("Iob5", level, 5, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("Iob5", lvls, 5, lc) addTooltipProperty("EnabledAttackIndex", lc) function setChanceToHitSummons(int level, real value) def.setLvlDataUnreal("Iob4", level, 4, value) function presetChanceToHitSummons(RealLevelClosure lc) def.setLevelsDataUnreal("Iob4", lvls, 4, lc) addTooltipProperty("ChanceToHitSummons", lc) function setChanceToHitHeros(int level, real value) def.setLvlDataUnreal("Iob3", level, 3, value) function presetChanceToHitHeros(RealLevelClosure lc) def.setLevelsDataUnreal("Iob3", lvls, 3, lc) addTooltipProperty("ChanceToHitHeros", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Idam", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Idam", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setEffectAbility(int level, string value) def.setLvlDataString("Iobu", level, 0, value) function presetEffectAbility(StringLevelClosure lc) def.setLevelsDataString("Iobu", lvls, 0, lc) addTooltipProperty("EffectAbility", lc) public class AbilityDefinitionLightningShieldAIls extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIls') function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Idps", level, 1, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Idps", lvls, 1, lc) addTooltipProperty("DamagePerSecond", lc) public class AbilityDefinitionAbolishMagicCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACdm') function setManaLoss(int level, real value) def.setLvlDataUnreal("Adm1", level, 1, value) function presetManaLoss(RealLevelClosure lc) def.setLevelsDataUnreal("Adm1", lvls, 1, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Adm2", level, 2, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Adm2", lvls, 2, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionLightningPurge extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIlp') function setHeroPauseDuration(int level, real value) def.setLvlDataUnreal("Prg5", level, 5, value) function presetHeroPauseDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Prg5", lvls, 5, lc) addTooltipProperty("HeroPauseDuration", lc) function setUnitPauseDuration(int level, real value) def.setLvlDataUnreal("Prg4", level, 4, value) function presetUnitPauseDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Prg4", lvls, 4, lc) addTooltipProperty("UnitPauseDuration", lc) function setMovementUpdateFrequency(int level, int value) def.setLvlDataInt("Prg1", level, 1, value) function presetMovementUpdateFrequency(IntLevelClosure lc) def.setLevelsDataInt("Prg1", lvls, 1, lc) addTooltipProperty("MovementUpdateFrequency", lc) function setAttackUpdateFrequency(int level, int value) def.setLvlDataInt("Prg2", level, 2, value) function presetAttackUpdateFrequency(IntLevelClosure lc) def.setLevelsDataInt("Prg2", lvls, 2, lc) addTooltipProperty("AttackUpdateFrequency", lc) function setManaLoss(int level, int value) def.setLvlDataInt("Prg6", level, 6, value) function presetManaLoss(IntLevelClosure lc) def.setLevelsDataInt("Prg6", lvls, 6, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Prg3", level, 3, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Prg3", lvls, 3, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionMaxLifeBonusLeast extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIlf') function setMaxLifeGained(int level, int value) def.setLvlDataInt("Ilif", level, 1, value) function presetMaxLifeGained(IntLevelClosure lc) def.setLevelsDataInt("Ilif", lvls, 1, lc) addTooltipProperty("MaxLifeGained", lc) public class AbilityDefinitionParasite extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANpa') function setStackingType(int level, string value) def.setLvlDataString("Poi4", level, 4, value) function presetStackingType(StringLevelClosure lc) def.setLevelsDataString("Poi4", lvls, 4, lc) addTooltipProperty("StackingType", lc) function setSummonedUnitDuration(int level, real value) def.setLvlDataUnreal("Npa6", level, 0, value) function presetSummonedUnitDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Npa6", lvls, 0, lc) addTooltipProperty("SummonedUnitDuration", lc) function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Npa5", level, 5, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Npa5", lvls, 5, lc) addTooltipProperty("SummonedUnitCount", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi2", level, 2, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi2", lvls, 2, lc) addTooltipProperty("AttackSpeedFactor", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Poi1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Poi1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi3", level, 3, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi3", lvls, 3, lc) addTooltipProperty("MovementSpeedFactor", lc) function setUnitType(int level, string value) def.setLvlDataString("ipmu", level, 0, value) function presetUnitType(StringLevelClosure lc) def.setLevelsDataString("ipmu", lvls, 0, lc) addTooltipProperty("UnitType", lc) public class AbilityDefinitionDemonHunterMetamorphosis extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEme') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormHitPointBonus(int level, real value) def.setLvlDataUnreal("Eme5", level, 5, value) function presetAlternateFormHitPointBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Eme5", lvls, 5, lc) addTooltipProperty("AlternateFormHitPointBonus", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionDevourMagiccreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACde') function setIgnoreFriendlyBuffs(int level, bool value) def.setLvlDataBoolean("dvm6", level, 6, value) function presetIgnoreFriendlyBuffs(BooleanLevelClosure lc) def.setLevelsDataBoolean("dvm6", lvls, 6, lc) addTooltipProperty("IgnoreFriendlyBuffs", lc) public class AbilityDefinitionAapl extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aapl') function setPlagueWardUnitType(int level, string value) def.setLvlDataString("Aplu", level, 0, value) function presetPlagueWardUnitType(StringLevelClosure lc) def.setLevelsDataString("Aplu", lvls, 0, lc) addTooltipProperty("PlagueWardUnitType", lc) function setDurationofPlagueWard(int level, real value) def.setLvlDataUnreal("Apl3", level, 3, value) function presetDurationofPlagueWard(RealLevelClosure lc) def.setLevelsDataUnreal("Apl3", lvls, 3, lc) addTooltipProperty("DurationofPlagueWard", lc) function setAuraDuration(int level, real value) def.setLvlDataUnreal("Apl1", level, 1, value) function presetAuraDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Apl1", lvls, 1, lc) addTooltipProperty("AuraDuration", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Apl2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Apl2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionDeathCoilcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACdc') function setAmountHealedDamaged(int level, real value) def.setLvlDataUnreal("Udc1", level, 1, value) function presetAmountHealedDamaged(RealLevelClosure lc) def.setLevelsDataUnreal("Udc1", lvls, 1, lc) addTooltipProperty("AmountHealedDamaged", lc) public class AbilityDefinitionDemonHunterManaBurn extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEmb') function setMaxManaDrained(int level, real value) def.setLvlDataUnreal("Emb1", level, 1, value) function presetMaxManaDrained(RealLevelClosure lc) def.setLevelsDataUnreal("Emb1", lvls, 1, lc) addTooltipProperty("MaxManaDrained", lc) function setBoltLifetime(int level, real value) def.setLvlDataUnreal("Emb3", level, 3, value) function presetBoltLifetime(RealLevelClosure lc) def.setLevelsDataUnreal("Emb3", lvls, 3, lc) addTooltipProperty("BoltLifetime", lc) function setBoltDelay(int level, real value) def.setLvlDataUnreal("Emb2", level, 2, value) function presetBoltDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Emb2", lvls, 2, lc) addTooltipProperty("BoltDelay", lc) public class AbilityDefinitionLichFrostArmorAutocast extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUfu') function setArmorDuration(int level, real value) def.setLvlDataUnreal("Ufa1", level, 1, value) function presetArmorDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ufa1", lvls, 1, lc) addTooltipProperty("ArmorDuration", lc) function setArmorBonus(int level, real value) def.setLvlDataUnreal("Ufa2", level, 2, value) function presetArmorBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Ufa2", lvls, 2, lc) addTooltipProperty("ArmorBonus", lc) public class AbilityDefinitionAnimateDeaditemspecial extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AInd') function setInheritUpgrades(int level, bool value) def.setLvlDataBoolean("Uan3", level, 3, value) function presetInheritUpgrades(BooleanLevelClosure lc) def.setLevelsDataBoolean("Uan3", lvls, 3, lc) addTooltipProperty("InheritUpgrades", lc) public class AbilityDefinitionFrostArmorcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACfa') function setArmorDuration(int level, real value) def.setLvlDataUnreal("Ufa1", level, 1, value) function presetArmorDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ufa1", lvls, 1, lc) addTooltipProperty("ArmorDuration", lc) function setArmorBonus(int level, real value) def.setLvlDataUnreal("Ufa2", level, 2, value) function presetArmorBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Ufa2", lvls, 2, lc) addTooltipProperty("ArmorBonus", lc) public class AbilityDefinitionManaBatteryObsidianStatue extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amb2') function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Mbt2", level, 2, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Mbt2", lvls, 2, lc) addTooltipProperty("HitPointsGained", lc) function setWaterHeight(int level, real value) def.setLvlDataUnreal("Mbt4", level, 4, value) function presetWaterHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Mbt4", lvls, 4, lc) addTooltipProperty("WaterHeight", lc) function setAutocastRequirement(int level, real value) def.setLvlDataUnreal("Mbt3", level, 3, value) function presetAutocastRequirement(RealLevelClosure lc) def.setLevelsDataUnreal("Mbt3", lvls, 3, lc) addTooltipProperty("AutocastRequirement", lc) function setManaGained(int level, real value) def.setLvlDataUnreal("Mbt1", level, 1, value) function presetManaGained(RealLevelClosure lc) def.setLevelsDataUnreal("Mbt1", lvls, 1, lc) addTooltipProperty("ManaGained", lc) function setRegenerateOnlyAtNight(int level, bool value) def.setLvlDataBoolean("Mbt5", level, 5, value) function presetRegenerateOnlyAtNight(BooleanLevelClosure lc) def.setLevelsDataBoolean("Mbt5", lvls, 5, lc) addTooltipProperty("RegenerateOnlyAtNight", lc) public class AbilityDefinitionFireBoltcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACfb') function setDamage(int level, real value) def.setLvlDataUnreal("Htb1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Htb1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionEvasioncreep100 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACes') function setChancetoEvade(int level, real value) def.setLvlDataUnreal("Eev1", level, 1, value) function presetChancetoEvade(RealLevelClosure lc) def.setLevelsDataUnreal("Eev1", lvls, 1, lc) addTooltipProperty("ChancetoEvade", lc) public class AbilityDefinitionVenomSpears extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aven') function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi2", level, 2, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi2", lvls, 2, lc) addTooltipProperty("AttackSpeedFactor", lc) function setStackingType(int level, string value) def.setLvlDataString("Poi4", level, 4, value) function presetStackingType(StringLevelClosure lc) def.setLevelsDataString("Poi4", lvls, 4, lc) addTooltipProperty("StackingType", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Poi1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Poi1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi3", level, 3, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi3", lvls, 3, lc) addTooltipProperty("MovementSpeedFactor", lc) public class AbilityDefinitionEvasioncreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACev') function setChancetoEvade(int level, real value) def.setLvlDataUnreal("Eev1", level, 1, value) function presetChancetoEvade(RealLevelClosure lc) def.setLevelsDataUnreal("Eev1", lvls, 1, lc) addTooltipProperty("ChancetoEvade", lc) public class AbilityDefinitionCargoHoldBurrow extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abun') function setCargoCapacity(int level, int value) def.setLvlDataInt("Car1", level, 1, value) function presetCargoCapacity(IntLevelClosure lc) def.setLevelsDataInt("Car1", lvls, 1, lc) addTooltipProperty("CargoCapacity", lc) public class AbilityDefinitionMagicImmunityAImx extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AImx') function setMagicDamageFactor(int level, real value) def.setLvlDataUnreal("mim1", level, 1, value) function presetMagicDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("mim1", lvls, 1, lc) addTooltipProperty("MagicDamageFactor", lc) public class AbilityDefinitionBurrow extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abur') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionCyclone extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acyc') function setCanBeDispelled(int level, bool value) def.setLvlDataBoolean("cyc1", level, 1, value) function presetCanBeDispelled(BooleanLevelClosure lc) def.setLevelsDataBoolean("cyc1", lvls, 1, lc) addTooltipProperty("CanBeDispelled", lc) public class AbilityDefinitionItemManaRestoreAoe extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AImr') function setManaPointsGained(int level, int value) def.setLvlDataInt("Impg", level, 1, value) function presetManaPointsGained(IntLevelClosure lc) def.setLevelsDataInt("Impg", lvls, 1, lc) addTooltipProperty("ManaPointsGained", lc) public class AbilityDefinitionStaffoTeleportation extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AImt') function setUseTeleportClustering(int level, bool value) def.setLvlDataBoolean("Hmt3", level, 3, value) function presetUseTeleportClustering(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hmt3", lvls, 3, lc) addTooltipProperty("UseTeleportClustering", lc) function setCastingDelay(int level, real value) def.setLvlDataUnreal("Hmt2", level, 2, value) function presetCastingDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Hmt2", lvls, 2, lc) addTooltipProperty("CastingDelay", lc) function setNumberofUnitsTeleported(int level, int value) def.setLvlDataInt("Hmt1", level, 1, value) function presetNumberofUnitsTeleported(IntLevelClosure lc) def.setLevelsDataInt("Hmt1", lvls, 1, lc) addTooltipProperty("NumberofUnitsTeleported", lc) public class AbilityDefinitionEnsnareCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACen') function setAirUnitHeight(int level, real value) def.setLvlDataUnreal("Ens2", level, 2, value) function presetAirUnitHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Ens2", lvls, 2, lc) addTooltipProperty("AirUnitHeight", lc) function setAirUnitLowerDuration(int level, real value) def.setLvlDataUnreal("Ens1", level, 1, value) function presetAirUnitLowerDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ens1", lvls, 1, lc) addTooltipProperty("AirUnitLowerDuration", lc) function setMeleeAttackRange(int level, real value) def.setLvlDataUnreal("Ens3", level, 3, value) function presetMeleeAttackRange(RealLevelClosure lc) def.setLevelsDataUnreal("Ens3", lvls, 3, lc) addTooltipProperty("MeleeAttackRange", lc) public class AbilityDefinitionMoveSpeedBonus extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIms') function setMovementSpeedBonus(int level, int value) def.setLvlDataInt("Imvb", level, 1, value) function presetMovementSpeedBonus(IntLevelClosure lc) def.setLevelsDataInt("Imvb", lvls, 1, lc) addTooltipProperty("MovementSpeedBonus", lc) public class AbilityDefinitionPhoenix extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aphx') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionNeutralSpell extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AAns') function setChargeOwningPlayer(int level, bool value) def.setLvlDataBoolean("Ans6", level, 6, value) function presetChargeOwningPlayer(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ans6", lvls, 6, lc) addTooltipProperty("ChargeOwningPlayer", lc) function setGoldCost(int level, int value) def.setLvlDataInt("Ndt1", level, 1, value) function presetGoldCost(IntLevelClosure lc) def.setLevelsDataInt("Ndt1", lvls, 1, lc) addTooltipProperty("GoldCost", lc) function setBaseOrderID(int level, string value) def.setLvlDataString("Ans5", level, 5, value) function presetBaseOrderID(StringLevelClosure lc) def.setLevelsDataString("Ans5", lvls, 5, lc) addTooltipProperty("BaseOrderID", lc) function setLumberCost(int level, int value) def.setLvlDataInt("Ndt2", level, 2, value) function presetLumberCost(IntLevelClosure lc) def.setLevelsDataInt("Ndt2", lvls, 2, lc) addTooltipProperty("LumberCost", lc) public class AbilityDefinitionAImm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AImm') function setMaxManaGained(int level, int value) def.setLvlDataInt("Iman", level, 1, value) function presetMaxManaGained(IntLevelClosure lc) def.setLevelsDataInt("Iman", lvls, 1, lc) addTooltipProperty("MaxManaGained", lc) public class AbilityDefinitionShadowHunterHealingWave extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOhw') function setDamageperTarget(int level, real value) def.setLvlDataUnreal("Ocl1", level, 1, value) function presetDamageperTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ocl1", lvls, 1, lc) addTooltipProperty("DamageperTarget", lc) function setNumberofTargetsHit(int level, int value) def.setLvlDataInt("Ocl2", level, 2, value) function presetNumberofTargetsHit(IntLevelClosure lc) def.setLevelsDataInt("Ocl2", lvls, 2, lc) addTooltipProperty("NumberofTargetsHit", lc) function setDamageReductionperTarget(int level, real value) def.setLvlDataUnreal("Ocl3", level, 3, value) function presetDamageReductionperTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ocl3", lvls, 3, lc) addTooltipProperty("DamageReductionperTarget", lc) public class AbilityDefinitionShadowHunterHex extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOhx') function setMorphUnitsGround(int level, string value) def.setLvlDataString("Ply2", level, 2, value) function presetMorphUnitsGround(StringLevelClosure lc) def.setLevelsDataString("Ply2", lvls, 2, lc) addTooltipProperty("MorphUnitsGround", lc) function setMorphUnitsWater(int level, string value) def.setLvlDataString("Ply5", level, 5, value) function presetMorphUnitsWater(StringLevelClosure lc) def.setLevelsDataString("Ply5", lvls, 5, lc) addTooltipProperty("MorphUnitsWater", lc) function setMorphUnitsAmphibious(int level, string value) def.setLvlDataString("Ply4", level, 4, value) function presetMorphUnitsAmphibious(StringLevelClosure lc) def.setLevelsDataString("Ply4", lvls, 4, lc) addTooltipProperty("MorphUnitsAmphibious", lc) function setMorphUnitsAir(int level, string value) def.setLvlDataString("Ply3", level, 3, value) function presetMorphUnitsAir(StringLevelClosure lc) def.setLevelsDataString("Ply3", lvls, 3, lc) addTooltipProperty("MorphUnitsAir", lc) function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Ply1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Ply1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionItemMonsterLure extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AImo') function setLureUnitType(int level, string value) def.setLvlDataString("imou", level, 0, value) function presetLureUnitType(StringLevelClosure lc) def.setLevelsDataString("imou", lvls, 0, lc) addTooltipProperty("LureUnitType", lc) function setNumberofLures(int level, int value) def.setLvlDataInt("imo1", level, 1, value) function presetNumberofLures(IntLevelClosure lc) def.setLevelsDataInt("imo1", lvls, 1, lc) addTooltipProperty("NumberofLures", lc) function setActivationDelay(int level, real value) def.setLvlDataUnreal("imo2", level, 2, value) function presetActivationDelay(RealLevelClosure lc) def.setLevelsDataUnreal("imo2", lvls, 2, lc) addTooltipProperty("ActivationDelay", lc) function setLureIntervalseconds(int level, real value) def.setLvlDataUnreal("imo3", level, 3, value) function presetLureIntervalseconds(RealLevelClosure lc) def.setLevelsDataUnreal("imo3", lvls, 3, lc) addTooltipProperty("LureIntervalseconds", lc) public class AbilityDefinitionAImi extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AImi') function setMaxLifeGained(int level, int value) def.setLvlDataInt("Ilif", level, 1, value) function presetMaxLifeGained(IntLevelClosure lc) def.setLevelsDataInt("Ilif", lvls, 1, lc) addTooltipProperty("MaxLifeGained", lc) public class AbilityDefinitionAIml extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIml') function setMaxLifeGained(int level, int value) def.setLvlDataInt("Ilif", level, 1, value) function presetMaxLifeGained(IntLevelClosure lc) def.setLevelsDataInt("Ilif", lvls, 1, lc) addTooltipProperty("MaxLifeGained", lc) public class AbilityDefinitionPermanentHitpointBonusfromchargeditem extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AImh') function setMaxLifeGained(int level, int value) def.setLvlDataInt("Ilif", level, 1, value) function presetMaxLifeGained(IntLevelClosure lc) def.setLevelsDataInt("Ilif", lvls, 1, lc) addTooltipProperty("MaxLifeGained", lc) public class AbilityDefinitionFeedbackArcaneTower extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Afbt') function setSummonedDamage(int level, real value) def.setLvlDataUnreal("fbk5", level, 5, value) function presetSummonedDamage(RealLevelClosure lc) def.setLevelsDataUnreal("fbk5", lvls, 5, lc) addTooltipProperty("SummonedDamage", lc) public class AbilityDefinitionChaosGrunt extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sca1') function setNewUnitType(int level, string value) def.setLvlDataString("Cha1", level, 0, value) function presetNewUnitType(StringLevelClosure lc) def.setLevelsDataString("Cha1", lvls, 0, lc) addTooltipProperty("NewUnitType", lc) public class AbilityDefinitionChaosRaider extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sca2') function setNewUnitType(int level, string value) def.setLvlDataString("Cha1", level, 0, value) function presetNewUnitType(StringLevelClosure lc) def.setLevelsDataString("Cha1", lvls, 0, lc) addTooltipProperty("NewUnitType", lc) public class AbilityDefinitionStasisTrap extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asta') function setWardUnitType(int level, string value) def.setLvlDataString("Stau", level, 0, value) function presetWardUnitType(StringLevelClosure lc) def.setLevelsDataString("Stau", lvls, 0, lc) addTooltipProperty("WardUnitType", lc) function setActivationDelay(int level, real value) def.setLvlDataUnreal("Sta1", level, 1, value) function presetActivationDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Sta1", lvls, 1, lc) addTooltipProperty("ActivationDelay", lc) function setDetectionRadius(int level, real value) def.setLvlDataUnreal("Sta2", level, 2, value) function presetDetectionRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Sta2", lvls, 2, lc) addTooltipProperty("DetectionRadius", lc) function setDetonationRadius(int level, real value) def.setLvlDataUnreal("Sta3", level, 3, value) function presetDetonationRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Sta3", lvls, 3, lc) addTooltipProperty("DetonationRadius", lc) function setStunDuration(int level, real value) def.setLvlDataUnreal("Sta4", level, 4, value) function presetStunDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Sta4", lvls, 4, lc) addTooltipProperty("StunDuration", lc) public class AbilityDefinitionPermanentImmolationgraphic extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apig') function setManaDrainedperSecond(int level, real value) def.setLvlDataUnreal("Eim2", level, 2, value) function presetManaDrainedperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Eim2", lvls, 2, lc) addTooltipProperty("ManaDrainedperSecond", lc) function setBufferManaRequired(int level, real value) def.setLvlDataUnreal("Eim3", level, 3, value) function presetBufferManaRequired(RealLevelClosure lc) def.setLevelsDataUnreal("Eim3", lvls, 3, lc) addTooltipProperty("BufferManaRequired", lc) function setDamageperInterval(int level, real value) def.setLvlDataUnreal("Eim1", level, 1, value) function presetDamageperInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Eim1", lvls, 1, lc) addTooltipProperty("DamageperInterval", lc) public class AbilityDefinitionChaosShaman extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sca3') function setNewUnitType(int level, string value) def.setLvlDataString("Cha1", level, 0, value) function presetNewUnitType(StringLevelClosure lc) def.setLevelsDataString("Cha1", lvls, 0, lc) addTooltipProperty("NewUnitType", lc) public class AbilityDefinitionChaosKodo extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sca4') function setNewUnitType(int level, string value) def.setLvlDataString("Cha1", level, 0, value) function presetNewUnitType(StringLevelClosure lc) def.setLevelsDataString("Cha1", lvls, 0, lc) addTooltipProperty("NewUnitType", lc) public class AbilityDefinitionChaosPeon extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sca5') function setNewUnitType(int level, string value) def.setLvlDataString("Cha1", level, 0, value) function presetNewUnitType(StringLevelClosure lc) def.setLevelsDataString("Cha1", lvls, 0, lc) addTooltipProperty("NewUnitType", lc) public class AbilityDefinitionFrostDamageBonus extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIob') function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("Iob5", level, 5, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("Iob5", lvls, 5, lc) addTooltipProperty("EnabledAttackIndex", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Idam", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Idam", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) public class AbilityDefinitionChaosGrom extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sca6') function setNewUnitType(int level, string value) def.setLvlDataString("Cha1", level, 0, value) function presetNewUnitType(StringLevelClosure lc) def.setLevelsDataString("Cha1", lvls, 0, lc) addTooltipProperty("NewUnitType", lc) public class AbilityDefinitionInnerFire extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ainf') function setAutocastRange(int level, real value) def.setLvlDataUnreal("Inf3", level, 3, value) function presetAutocastRange(RealLevelClosure lc) def.setLevelsDataUnreal("Inf3", lvls, 3, lc) addTooltipProperty("AutocastRange", lc) function setLifeRegenRate(int level, real value) def.setLvlDataUnreal("Inf4", level, 4, value) function presetLifeRegenRate(RealLevelClosure lc) def.setLevelsDataUnreal("Inf4", lvls, 4, lc) addTooltipProperty("LifeRegenRate", lc) function setDefenseIncrease(int level, int value) def.setLvlDataInt("Inf2", level, 2, value) function presetDefenseIncrease(IntLevelClosure lc) def.setLevelsDataInt("Inf2", lvls, 2, lc) addTooltipProperty("DefenseIncrease", lc) function setDamageIncrease(int level, real value) def.setLvlDataUnreal("Inf1", level, 1, value) function presetDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Inf1", lvls, 1, lc) addTooltipProperty("DamageIncrease", lc) public class AbilityDefinitionMoonPriestessSearingArrows extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHfa') function setDamageBonus(int level, real value) def.setLvlDataUnreal("Hfa1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Hfa1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) public class AbilityDefinitionMonsoon extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANmo') function setDamageDealt(int level, real value) def.setLvlDataUnreal("Esf1", level, 1, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Esf1", lvls, 1, lc) addTooltipProperty("DamageDealt", lc) function setDamageInterval(int level, real value) def.setLvlDataUnreal("Esf2", level, 2, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Esf2", lvls, 2, lc) addTooltipProperty("DamageInterval", lc) function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Esf3", level, 3, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Esf3", lvls, 3, lc) addTooltipProperty("BuildingReduction", lc) public class AbilityDefinitionInventory extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AInv') function setCanDropItems(int level, bool value) def.setLvlDataBoolean("inv5", level, 5, value) function presetCanDropItems(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv5", lvls, 5, lc) addTooltipProperty("CanDropItems", lc) function setCanUseItems(int level, bool value) def.setLvlDataBoolean("inv3", level, 3, value) function presetCanUseItems(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv3", lvls, 3, lc) addTooltipProperty("CanUseItems", lc) function setDropItemsOnDeath(int level, bool value) def.setLvlDataBoolean("inv2", level, 2, value) function presetDropItemsOnDeath(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv2", lvls, 2, lc) addTooltipProperty("DropItemsOnDeath", lc) function setCanGetItems(int level, bool value) def.setLvlDataBoolean("inv4", level, 4, value) function presetCanGetItems(BooleanLevelClosure lc) def.setLevelsDataBoolean("inv4", lvls, 4, lc) addTooltipProperty("CanGetItems", lc) function setItemCapacity(int level, int value) def.setLvlDataInt("inv1", level, 1, value) function presetItemCapacity(IntLevelClosure lc) def.setLevelsDataInt("inv1", lvls, 1, lc) addTooltipProperty("ItemCapacity", lc) public class AbilityDefinitionnullroarsummoner extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ahnl') function setPreferFriendlies(int level, bool value) def.setLvlDataBoolean("Roa6", level, 6, value) function presetPreferFriendlies(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa6", lvls, 6, lc) addTooltipProperty("PreferFriendlies", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Roa7", level, 7, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Roa7", lvls, 7, lc) addTooltipProperty("MaxUnits", lc) function setPreferHostiles(int level, bool value) def.setLvlDataBoolean("Roa5", level, 5, value) function presetPreferHostiles(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa5", lvls, 5, lc) addTooltipProperty("PreferHostiles", lc) function setManaRegen(int level, real value) def.setLvlDataUnreal("Roa4", level, 4, value) function presetManaRegen(RealLevelClosure lc) def.setLevelsDataUnreal("Roa4", lvls, 4, lc) addTooltipProperty("ManaRegen", lc) public class AbilityDefinitionSeaWitchManaShield extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANms') function setDamageAbsorbed(int level, real value) def.setLvlDataUnreal("Nms2", level, 2, value) function presetDamageAbsorbed(RealLevelClosure lc) def.setLevelsDataUnreal("Nms2", lvls, 2, lc) addTooltipProperty("DamageAbsorbed", lc) function setManaperHitPoint(int level, real value) def.setLvlDataUnreal("Nms1", level, 1, value) function presetManaperHitPoint(RealLevelClosure lc) def.setLevelsDataUnreal("Nms1", lvls, 1, lc) addTooltipProperty("ManaperHitPoint", lc) public class AbilityDefinitionSpawnSpiderlingOnDeath extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Assp') function setNumberofUnits(int level, int value) def.setLvlDataInt("Sod1", level, 1, value) function presetNumberofUnits(IntLevelClosure lc) def.setLevelsDataInt("Sod1", lvls, 1, lc) addTooltipProperty("NumberofUnits", lc) function setUnitType(int level, string value) def.setLvlDataString("Sod2", level, 2, value) function presetUnitType(StringLevelClosure lc) def.setLevelsDataString("Sod2", lvls, 2, lc) addTooltipProperty("UnitType", lc) public class AbilityDefinitionScrollofRejuvII extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIp6') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionMindRot extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANmr') function setManaDrainedperSecond(int level, real value) def.setLvlDataUnreal("Nmr1", level, 1, value) function presetManaDrainedperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Nmr1", lvls, 1, lc) addTooltipProperty("ManaDrainedperSecond", lc) public class AbilityDefinitionFrostNovacreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACfn') function setAreaofEffectDamage(int level, real value) def.setLvlDataUnreal("Ufn1", level, 1, value) function presetAreaofEffectDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ufn1", lvls, 1, lc) addTooltipProperty("AreaofEffectDamage", lc) function setSpecificTargetDamage(int level, real value) def.setLvlDataUnreal("Ufn2", level, 2, value) function presetSpecificTargetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ufn2", lvls, 2, lc) addTooltipProperty("SpecificTargetDamage", lc) public class AbilityDefinitionScrollofRejuvI extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIp5') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionPermanentInvisibility extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apiv') function setAutoAcquireAttackTargets(int level, bool value) def.setLvlDataBoolean("Gho1", level, 1, value) function presetAutoAcquireAttackTargets(BooleanLevelClosure lc) def.setLevelsDataBoolean("Gho1", lvls, 1, lc) addTooltipProperty("AutoAcquireAttackTargets", lc) public class AbilityDefinitionFeedbackSpiritBeast extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Afbb') function setSummonedDamage(int level, real value) def.setLvlDataUnreal("fbk5", level, 5, value) function presetSummonedDamage(RealLevelClosure lc) def.setLevelsDataUnreal("fbk5", lvls, 5, lc) addTooltipProperty("SummonedDamage", lc) public class AbilityDefinitionPotionofRejuvIV extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIp4') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionPotionofRejuvIII extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIp3') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionFlameStrikeCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACfs') function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Hfs5", level, 5, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs5", lvls, 5, lc) addTooltipProperty("BuildingReduction", lc) function setMaximumDamage(int level, real value) def.setLvlDataUnreal("Hfs6", level, 6, value) function presetMaximumDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs6", lvls, 6, lc) addTooltipProperty("MaximumDamage", lc) function setHalfDamageDealt(int level, real value) def.setLvlDataUnreal("Hfs3", level, 3, value) function presetHalfDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs3", lvls, 3, lc) addTooltipProperty("HalfDamageDealt", lc) function setFullDamageDealt(int level, real value) def.setLvlDataUnreal("Hfs1", level, 1, value) function presetFullDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs1", lvls, 1, lc) addTooltipProperty("FullDamageDealt", lc) function setHalfDamageInterval(int level, real value) def.setLvlDataUnreal("Hfs4", level, 4, value) function presetHalfDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs4", lvls, 4, lc) addTooltipProperty("HalfDamageInterval", lc) function setFullDamageInterval(int level, real value) def.setLvlDataUnreal("Hfs2", level, 2, value) function presetFullDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs2", lvls, 2, lc) addTooltipProperty("FullDamageInterval", lc) public class AbilityDefinitionWispHarvest extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Awha') function setArtAttachmentHeight(int level, real value) def.setLvlDataUnreal("Wha3", level, 3, value) function presetArtAttachmentHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Wha3", lvls, 3, lc) addTooltipProperty("ArtAttachmentHeight", lc) function setIntervalsBeforeChangingTrees(int level, int value) def.setLvlDataInt("Wha2", level, 2, value) function presetIntervalsBeforeChangingTrees(IntLevelClosure lc) def.setLevelsDataInt("Wha2", lvls, 2, lc) addTooltipProperty("IntervalsBeforeChangingTrees", lc) function setLumberperInterval(int level, real value) def.setLvlDataUnreal("Wha1", level, 1, value) function presetLumberperInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Wha1", lvls, 1, lc) addTooltipProperty("LumberperInterval", lc) public class AbilityDefinitionPotionofRejuvII extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIp2') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionHardenedSkin extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Assk') function setIncludeRangedDamage(int level, bool value) def.setLvlDataBoolean("Ssk4", level, 4, value) function presetIncludeRangedDamage(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ssk4", lvls, 4, lc) addTooltipProperty("IncludeRangedDamage", lc) function setMinimumDamage(int level, real value) def.setLvlDataUnreal("Ssk2", level, 2, value) function presetMinimumDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ssk2", lvls, 2, lc) addTooltipProperty("MinimumDamage", lc) function setIgnoredDamage(int level, real value) def.setLvlDataUnreal("Ssk3", level, 3, value) function presetIgnoredDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ssk3", lvls, 3, lc) addTooltipProperty("IgnoredDamage", lc) function setChancetoReduceDamage(int level, real value) def.setLvlDataUnreal("Ssk1", level, 1, value) function presetChancetoReduceDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ssk1", lvls, 1, lc) addTooltipProperty("ChancetoReduceDamage", lc) function setIncludeMeleeDamage(int level, bool value) def.setLvlDataBoolean("Ssk5", level, 5, value) function presetIncludeMeleeDamage(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ssk5", lvls, 5, lc) addTooltipProperty("IncludeMeleeDamage", lc) public class AbilityDefinitionForceofNaturecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACfr') function setSummonedUnitType(int level, string value) def.setLvlDataString("Efnu", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Efnu", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Efn1", level, 1, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Efn1", lvls, 1, lc) addTooltipProperty("NumberofSummonedUnits", lc) public class AbilityDefinitionPotionofRejuvI extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIp1') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionFeedback extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Afbk') function setSummonedDamage(int level, real value) def.setLvlDataUnreal("fbk5", level, 5, value) function presetSummonedDamage(RealLevelClosure lc) def.setLevelsDataUnreal("fbk5", lvls, 5, lc) addTooltipProperty("SummonedDamage", lc) function setDamageRatioUnits(int level, real value) def.setLvlDataUnreal("fbk2", level, 2, value) function presetDamageRatioUnits(RealLevelClosure lc) def.setLevelsDataUnreal("fbk2", lvls, 2, lc) addTooltipProperty("DamageRatioUnits", lc) function setMaxManaDrainedHeros(int level, real value) def.setLvlDataUnreal("fbk3", level, 3, value) function presetMaxManaDrainedHeros(RealLevelClosure lc) def.setLevelsDataUnreal("fbk3", lvls, 3, lc) addTooltipProperty("MaxManaDrainedHeros", lc) function setMaxManaDrainedUnits(int level, real value) def.setLvlDataUnreal("fbk1", level, 1, value) function presetMaxManaDrainedUnits(RealLevelClosure lc) def.setLevelsDataUnreal("fbk1", lvls, 1, lc) addTooltipProperty("MaxManaDrainedUnits", lc) function setDamageRatioHeros(int level, real value) def.setLvlDataUnreal("fbk4", level, 4, value) function presetDamageRatioHeros(RealLevelClosure lc) def.setLevelsDataUnreal("fbk4", lvls, 4, lc) addTooltipProperty("DamageRatioHeros", lc) public class AbilityDefinitionStrengthModPlus2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AInm') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionFaerieFirecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACff') function setAlwaysAutocast(int level, bool value) def.setLvlDataBoolean("Fae2", level, 2, value) function presetAlwaysAutocast(BooleanLevelClosure lc) def.setLevelsDataBoolean("Fae2", lvls, 2, lc) addTooltipProperty("AlwaysAutocast", lc) function setDefenseReduction(int level, int value) def.setLvlDataInt("Fae1", level, 1, value) function presetDefenseReduction(IntLevelClosure lc) def.setLevelsDataInt("Fae1", lvls, 1, lc) addTooltipProperty("DefenseReduction", lc) public class AbilityDefinitionAarm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aarm') function setPercentage(int level, bool value) def.setLvlDataBoolean("Arm2", level, 2, value) function presetPercentage(BooleanLevelClosure lc) def.setLevelsDataBoolean("Arm2", lvls, 2, lc) addTooltipProperty("Percentage", lc) function setAmountRegenerated(int level, real value) def.setLvlDataUnreal("Arm1", level, 1, value) function presetAmountRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("Arm1", lvls, 1, lc) addTooltipProperty("AmountRegenerated", lc) public class AbilityDefinitionBloodMageFlameStrike extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHfs') function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Hfs5", level, 5, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs5", lvls, 5, lc) addTooltipProperty("BuildingReduction", lc) function setMaximumDamage(int level, real value) def.setLvlDataUnreal("Hfs6", level, 6, value) function presetMaximumDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs6", lvls, 6, lc) addTooltipProperty("MaximumDamage", lc) function setHalfDamageDealt(int level, real value) def.setLvlDataUnreal("Hfs3", level, 3, value) function presetHalfDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs3", lvls, 3, lc) addTooltipProperty("HalfDamageDealt", lc) function setFullDamageDealt(int level, real value) def.setLvlDataUnreal("Hfs1", level, 1, value) function presetFullDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs1", lvls, 1, lc) addTooltipProperty("FullDamageDealt", lc) function setHalfDamageInterval(int level, real value) def.setLvlDataUnreal("Hfs4", level, 4, value) function presetHalfDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs4", lvls, 4, lc) addTooltipProperty("HalfDamageInterval", lc) function setFullDamageInterval(int level, real value) def.setLvlDataUnreal("Hfs2", level, 2, value) function presetFullDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs2", lvls, 2, lc) addTooltipProperty("FullDamageInterval", lc) public class AbilityDefinitionBloodlustCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACbl') function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Blo2", level, 2, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Blo2", lvls, 2, lc) addTooltipProperty("MovementSpeedIncrease", lc) function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("Blo1", level, 1, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Blo1", lvls, 1, lc) addTooltipProperty("AttackSpeedIncrease", lc) function setScalingFactor(int level, real value) def.setLvlDataUnreal("Blo3", level, 3, value) function presetScalingFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Blo3", lvls, 3, lc) addTooltipProperty("ScalingFactor", lc) public class AbilityDefinitionRoarAIrr extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIrr') function setDamageIncrease(int level, real value) def.setLvlDataUnreal("Roa1", level, 1, value) function presetDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Roa1", lvls, 1, lc) addTooltipProperty("DamageIncrease", lc) function setDefenseIncrease(int level, int value) def.setLvlDataInt("Roa2", level, 2, value) function presetDefenseIncrease(IntLevelClosure lc) def.setLevelsDataInt("Roa2", lvls, 2, lc) addTooltipProperty("DefenseIncrease", lc) function setPreferHostiles(int level, bool value) def.setLvlDataBoolean("Roa5", level, 5, value) function presetPreferHostiles(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa5", lvls, 5, lc) addTooltipProperty("PreferHostiles", lc) function setManaRegen(int level, real value) def.setLvlDataUnreal("Roa4", level, 4, value) function presetManaRegen(RealLevelClosure lc) def.setLevelsDataUnreal("Roa4", lvls, 4, lc) addTooltipProperty("ManaRegen", lc) function setLifeRegenerationRate(int level, real value) def.setLvlDataUnreal("Roa3", level, 3, value) function presetLifeRegenerationRate(RealLevelClosure lc) def.setLevelsDataUnreal("Roa3", lvls, 3, lc) addTooltipProperty("LifeRegenerationRate", lc) function setPreferFriendlies(int level, bool value) def.setLvlDataBoolean("Roa6", level, 6, value) function presetPreferFriendlies(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa6", lvls, 6, lc) addTooltipProperty("PreferFriendlies", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Roa7", level, 7, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Roa7", lvls, 7, lc) addTooltipProperty("MaxUnits", lc) public class AbilityDefinitionResurrection extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIrs') function setRaisedUnitsAreInvulnerable(int level, bool value) def.setLvlDataBoolean("Hre2", level, 2, value) function presetRaisedUnitsAreInvulnerable(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hre2", lvls, 2, lc) addTooltipProperty("RaisedUnitsAreInvulnerable", lc) function setNumberofCorpsesRaised(int level, int value) def.setLvlDataInt("Hre1", level, 1, value) function presetNumberofCorpsesRaised(IntLevelClosure lc) def.setLevelsDataInt("Hre1", lvls, 1, lc) addTooltipProperty("NumberofCorpsesRaised", lc) public class AbilityDefinitionItemRecall extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIrt') function setMaximumNumberofUnits(int level, int value) def.setLvlDataInt("Irec", level, 1, value) function presetMaximumNumberofUnits(IntLevelClosure lc) def.setLevelsDataInt("Irec", lvls, 1, lc) addTooltipProperty("MaximumNumberofUnits", lc) function setUseTeleportClustering(int level, bool value) def.setLvlDataBoolean("Itp2", level, 2, value) function presetUseTeleportClustering(BooleanLevelClosure lc) def.setLevelsDataBoolean("Itp2", lvls, 2, lc) addTooltipProperty("UseTeleportClustering", lc) public class AbilityDefinitionAttackBonusAIt6 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIt6') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionItemRevealMap extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIrv') function setDetectionType(int level, string value) def.setLvlDataString("Det1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Det1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionBashcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACbh') function setChancetoBash(int level, real value) def.setLvlDataUnreal("Hbh1", level, 1, value) function presetChancetoBash(RealLevelClosure lc) def.setLevelsDataUnreal("Hbh1", lvls, 1, lc) addTooltipProperty("ChancetoBash", lc) function setChancetoMiss(int level, real value) def.setLvlDataUnreal("Hbh4", level, 4, value) function presetChancetoMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Hbh4", lvls, 4, lc) addTooltipProperty("ChancetoMiss", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Hbh3", level, 3, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Hbh3", lvls, 3, lc) addTooltipProperty("DamageBonus", lc) function setNeverMiss(int level, bool value) def.setLvlDataBoolean("Hbh5", level, 5, value) function presetNeverMiss(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hbh5", lvls, 5, lc) addTooltipProperty("NeverMiss", lc) function setDamageMultiplier(int level, real value) def.setLvlDataUnreal("Hbh2", level, 2, value) function presetDamageMultiplier(RealLevelClosure lc) def.setLevelsDataUnreal("Hbh2", lvls, 2, lc) addTooltipProperty("DamageMultiplier", lc) public class AbilityDefinitionAlchemistChemicalRage extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANcr') function setAttackSpeedBonusInfoPanelOnly(int level, real value) def.setLvlDataUnreal("Ncr6", level, 6, value) function presetAttackSpeedBonusInfoPanelOnly(RealLevelClosure lc) def.setLevelsDataUnreal("Ncr6", lvls, 6, lc) addTooltipProperty("AttackSpeedBonusInfoPanelOnly", lc) function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setMoveSpeedBonusInfoPanelOnly(int level, real value) def.setLvlDataUnreal("Ncr5", level, 5, value) function presetMoveSpeedBonusInfoPanelOnly(RealLevelClosure lc) def.setLevelsDataUnreal("Ncr5", lvls, 5, lc) addTooltipProperty("MoveSpeedBonusInfoPanelOnly", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionTinkererClusterRocketsLevel0 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANcs') function setEffectDuration(int level, real value) def.setLvlDataUnreal("Ncs6", level, 6, value) function presetEffectDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs6", lvls, 6, lc) addTooltipProperty("EffectDuration", lc) function setDamageInterval(int level, real value) def.setLvlDataUnreal("Ncs2", level, 2, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs2", lvls, 2, lc) addTooltipProperty("DamageInterval", lc) function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ncs4", level, 4, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs4", lvls, 4, lc) addTooltipProperty("MaxDamage", lc) function setMissileCount(int level, int value) def.setLvlDataInt("Ncs3", level, 3, value) function presetMissileCount(IntLevelClosure lc) def.setLevelsDataInt("Ncs3", lvls, 3, lc) addTooltipProperty("MissileCount", lc) function setDamageAmount(int level, real value) def.setLvlDataUnreal("Ncs1", level, 1, value) function presetDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs1", lvls, 1, lc) addTooltipProperty("DamageAmount", lc) function setBuildingDamageFactor(int level, real value) def.setLvlDataUnreal("Ncs5", level, 5, value) function presetBuildingDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs5", lvls, 5, lc) addTooltipProperty("BuildingDamageFactor", lc) public class AbilityDefinitionAttackBonusAIt9 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIt9') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionPossession extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apos') function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Pos1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Pos1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionPotionofLifeRegen extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIrl') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionDarkRangerCharm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANch') function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Nch1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Nch1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionBreathofFrostCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACbf') function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ucs2", level, 2, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs2", lvls, 2, lc) addTooltipProperty("MaxDamage", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Nbf5", level, 5, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Nbf5", lvls, 5, lc) addTooltipProperty("DamagePerSecond", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Ucs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Ucs4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Ucs3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs3", lvls, 3, lc) addTooltipProperty("Distance", lc) public class AbilityDefinitionItemRegenMana extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIrm') function setManaRegenerationBonusasfractionofnormal(int level, real value) def.setLvlDataUnreal("Imrp", level, 1, value) function presetManaRegenerationBonusasfractionofnormal(RealLevelClosure lc) def.setLevelsDataUnreal("Imrp", lvls, 1, lc) addTooltipProperty("ManaRegenerationBonusasfractionofnormal", lc) public class AbilityDefinitionItemRegenManalesser extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIrn') function setManaRegenerationBonusasfractionofnormal(int level, real value) def.setLvlDataUnreal("Imrp", level, 1, value) function presetManaRegenerationBonusasfractionofnormal(RealLevelClosure lc) def.setLevelsDataUnreal("Imrp", lvls, 1, lc) addTooltipProperty("ManaRegenerationBonusasfractionofnormal", lc) public class AbilityDefinitionAuraBrilliancecreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACba') function setManaRegenerationIncrease(int level, real value) def.setLvlDataUnreal("Hab1", level, 1, value) function presetManaRegenerationIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Hab1", lvls, 1, lc) addTooltipProperty("ManaRegenerationIncrease", lc) function setPercentBonus(int level, bool value) def.setLvlDataBoolean("Hab2", level, 2, value) function presetPercentBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hab2", lvls, 2, lc) addTooltipProperty("PercentBonus", lc) public class AbilityDefinitionIllidanChannel extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANcl') function setArtDuration(int level, real value) def.setLvlDataUnreal("Ncl4", level, 4, value) function presetArtDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ncl4", lvls, 4, lc) addTooltipProperty("ArtDuration", lc) function setBaseOrderID(int level, string value) def.setLvlDataString("Ncl6", level, 6, value) function presetBaseOrderID(StringLevelClosure lc) def.setLevelsDataString("Ncl6", lvls, 6, lc) addTooltipProperty("BaseOrderID", lc) function setDisableOtherAbilities(int level, bool value) def.setLvlDataBoolean("Ncl5", level, 5, value) function presetDisableOtherAbilities(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ncl5", lvls, 5, lc) addTooltipProperty("DisableOtherAbilities", lc) function setFollowThroughTime(int level, real value) def.setLvlDataUnreal("Ncl1", level, 1, value) function presetFollowThroughTime(RealLevelClosure lc) def.setLevelsDataUnreal("Ncl1", lvls, 1, lc) addTooltipProperty("FollowThroughTime", lc) function setTargetType(int level, int value) def.setLvlDataInt("Ncl2", level, 2, value) function presetTargetType(IntLevelClosure lc) def.setLevelsDataInt("Ncl2", lvls, 2, lc) addTooltipProperty("TargetType", lc) function setOptions(int level, int value) def.setLvlDataInt("Ncl3", level, 3, value) function presetOptions(IntLevelClosure lc) def.setLevelsDataInt("Ncl3", lvls, 3, lc) addTooltipProperty("Options", lc) public class AbilityDefinitionBreathofFireCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACbc') function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ucs2", level, 2, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs2", lvls, 2, lc) addTooltipProperty("MaxDamage", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Nbf5", level, 5, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Nbf5", lvls, 5, lc) addTooltipProperty("DamagePerSecond", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Ucs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Ucs4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Ucs3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs3", lvls, 3, lc) addTooltipProperty("Distance", lc) public class AbilityDefinitionPitLordCleavingAttack extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANca') function setDistributedDamageFactor(int level, real value) def.setLvlDataUnreal("nca1", level, 1, value) function presetDistributedDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("nca1", lvls, 1, lc) addTooltipProperty("DistributedDamageFactor", lc) public class AbilityDefinitionSilenceItem extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIse') function setAttackSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi4", level, 4, value) function presetAttackSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi4", lvls, 4, lc) addTooltipProperty("AttackSpeedModifier", lc) function setMovementSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi3", level, 3, value) function presetMovementSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi3", lvls, 3, lc) addTooltipProperty("MovementSpeedModifier", lc) function setChanceToMiss(int level, real value) def.setLvlDataUnreal("Nsi2", level, 2, value) function presetChanceToMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi2", lvls, 2, lc) addTooltipProperty("ChanceToMiss", lc) function setAttacksPrevented(int level, string value) def.setLvlDataString("Nsi1", level, 1, value) function presetAttacksPrevented(StringLevelClosure lc) def.setLevelsDataString("Nsi1", lvls, 1, lc) addTooltipProperty("AttacksPrevented", lc) public class AbilityDefinitionSummonHeadhunteritem extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsh') function setSummonedUnit(int level, string value) def.setLvlDataString("Osf1", level, 0, value) function presetSummonedUnit(StringLevelClosure lc) def.setLevelsDataString("Osf1", lvls, 0, lc) addTooltipProperty("SummonedUnit", lc) function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Osf2", level, 2, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Osf2", lvls, 2, lc) addTooltipProperty("NumberofSummonedUnits", lc) public class AbilityDefinitionSightBonus extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsi') function setSightRangeBonus(int level, int value) def.setLvlDataInt("Isib", level, 1, value) function presetSightRangeBonus(IntLevelClosure lc) def.setLevelsDataInt("Isib", lvls, 1, lc) addTooltipProperty("SightRangeBonus", lc) public class AbilityDefinitionBlizzardcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACbz') function setMaximumDamageperWave(int level, real value) def.setLvlDataUnreal("Hbz6", level, 6, value) function presetMaximumDamageperWave(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz6", lvls, 6, lc) addTooltipProperty("MaximumDamageperWave", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Hbz5", level, 5, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz5", lvls, 5, lc) addTooltipProperty("DamagePerSecond", lc) function setNumberofWaves(int level, int value) def.setLvlDataInt("Hbz1", level, 1, value) function presetNumberofWaves(IntLevelClosure lc) def.setLevelsDataInt("Hbz1", lvls, 1, lc) addTooltipProperty("NumberofWaves", lc) function setNumberofShards(int level, int value) def.setLvlDataInt("Hbz3", level, 3, value) function presetNumberofShards(IntLevelClosure lc) def.setLevelsDataInt("Hbz3", lvls, 3, lc) addTooltipProperty("NumberofShards", lc) function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Hbz4", level, 4, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz4", lvls, 4, lc) addTooltipProperty("BuildingReduction", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Hbz2", level, 2, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hbz2", lvls, 2, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionCloudofFog extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aclf') function setAttackSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi4", level, 4, value) function presetAttackSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi4", lvls, 4, lc) addTooltipProperty("AttackSpeedModifier", lc) function setMovementSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi3", level, 3, value) function presetMovementSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi3", lvls, 3, lc) addTooltipProperty("MovementSpeedModifier", lc) function setChanceToMiss(int level, real value) def.setLvlDataUnreal("Nsi2", level, 2, value) function presetChanceToMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi2", lvls, 2, lc) addTooltipProperty("ChanceToMiss", lc) function setAttacksPrevented(int level, string value) def.setLvlDataString("Nsi1", level, 1, value) function presetAttacksPrevented(StringLevelClosure lc) def.setLevelsDataString("Nsi1", lvls, 1, lc) addTooltipProperty("AttacksPrevented", lc) public class AbilityDefinitionAntimagicShieldMatrix extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aam2') function setManaLoss(int level, int value) def.setLvlDataInt("Ams4", level, 4, value) function presetManaLoss(IntLevelClosure lc) def.setLevelsDataInt("Ams4", lvls, 4, lc) addTooltipProperty("ManaLoss", lc) public class AbilityDefinitionLoad extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aloa') function setAllowedUnitType(int level, string value) def.setLvlDataString("Loa1", level, 0, value) function presetAllowedUnitType(StringLevelClosure lc) def.setLevelsDataString("Loa1", lvls, 0, lc) addTooltipProperty("AllowedUnitType", lc) public class AbilityDefinitionBladeMasterMirrorImage extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOmi') function setDamageDealt(int level, real value) def.setLvlDataUnreal("Omi2", level, 2, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Omi2", lvls, 2, lc) addTooltipProperty("DamageDealt", lc) function setNumberofImages(int level, int value) def.setLvlDataInt("Omi1", level, 1, value) function presetNumberofImages(IntLevelClosure lc) def.setLevelsDataInt("Omi1", lvls, 1, lc) addTooltipProperty("NumberofImages", lc) function setDamageTaken(int level, real value) def.setLvlDataUnreal("Omi3", level, 3, value) function presetDamageTaken(RealLevelClosure lc) def.setLevelsDataUnreal("Omi3", lvls, 3, lc) addTooltipProperty("DamageTaken", lc) function setAnimationDelay(int level, real value) def.setLvlDataUnreal("Omi4", level, 4, value) function presetAnimationDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Omi4", lvls, 4, lc) addTooltipProperty("AnimationDelay", lc) public class AbilityDefinitionWardenBlink extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEbl') function setMaximumRange(int level, real value) def.setLvlDataUnreal("Ebl1", level, 1, value) function presetMaximumRange(RealLevelClosure lc) def.setLevelsDataUnreal("Ebl1", lvls, 1, lc) addTooltipProperty("MaximumRange", lc) function setMinimumRange(int level, real value) def.setLvlDataUnreal("Ebl2", level, 2, value) function presetMinimumRange(RealLevelClosure lc) def.setLevelsDataUnreal("Ebl2", lvls, 2, lc) addTooltipProperty("MinimumRange", lc) public class AbilityDefinitionPoisonAttack extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apoi') function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi2", level, 2, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi2", lvls, 2, lc) addTooltipProperty("AttackSpeedFactor", lc) function setStackingType(int level, string value) def.setLvlDataString("Poi4", level, 4, value) function presetStackingType(StringLevelClosure lc) def.setLevelsDataString("Poi4", lvls, 4, lc) addTooltipProperty("StackingType", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Poi1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Poi1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi3", level, 3, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi3", lvls, 3, lc) addTooltipProperty("MovementSpeedFactor", lc) public class AbilityDefinitionOrbofSpells extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsb') function setChanceToHitUnits(int level, real value) def.setLvlDataUnreal("Iob2", level, 2, value) function presetChanceToHitUnits(RealLevelClosure lc) def.setLevelsDataUnreal("Iob2", lvls, 2, lc) addTooltipProperty("ChanceToHitUnits", lc) function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("Iob5", level, 5, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("Iob5", lvls, 5, lc) addTooltipProperty("EnabledAttackIndex", lc) function setChanceToHitSummons(int level, real value) def.setLvlDataUnreal("Iob4", level, 4, value) function presetChanceToHitSummons(RealLevelClosure lc) def.setLevelsDataUnreal("Iob4", lvls, 4, lc) addTooltipProperty("ChanceToHitSummons", lc) function setChanceToHitHeros(int level, real value) def.setLvlDataUnreal("Iob3", level, 3, value) function presetChanceToHitHeros(RealLevelClosure lc) def.setLevelsDataUnreal("Iob3", lvls, 3, lc) addTooltipProperty("ChanceToHitHeros", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Idam", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Idam", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setEffectAbility(int level, string value) def.setLvlDataString("Iobu", level, 0, value) function presetEffectAbility(StringLevelClosure lc) def.setLevelsDataString("Iobu", lvls, 0, lc) addTooltipProperty("EffectAbility", lc) public class AbilityDefinitionItemSpeedAoe extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsa') function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Ispi", level, 1, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Ispi", lvls, 1, lc) addTooltipProperty("MovementSpeedIncrease", lc) public class AbilityDefinitionUnholyFrenzy extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Auhf') function setAttackSpeedBonus(int level, real value) def.setLvlDataUnreal("Uhf1", level, 1, value) function presetAttackSpeedBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Uhf1", lvls, 1, lc) addTooltipProperty("AttackSpeedBonus", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Uhf2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Uhf2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionAntimagicShieldcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACam') function setMagicDamageReduction(int level, real value) def.setLvlDataUnreal("Ams2", level, 2, value) function presetMagicDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Ams2", lvls, 2, lc) addTooltipProperty("MagicDamageReduction", lc) function setManaLoss(int level, int value) def.setLvlDataInt("Ams4", level, 4, value) function presetManaLoss(IntLevelClosure lc) def.setLevelsDataInt("Ams4", lvls, 4, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Ams1", level, 1, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ams1", lvls, 1, lc) addTooltipProperty("SummonedUnitDamage", lc) function setShieldLife(int level, int value) def.setLvlDataInt("Ams3", level, 3, value) function presetShieldLife(IntLevelClosure lc) def.setLevelsDataInt("Ams3", lvls, 3, lc) addTooltipProperty("ShieldLife", lc) public class AbilityDefinitionSpawnSpiderOnDeath extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aspd') function setNumberofUnits(int level, int value) def.setLvlDataInt("Sod1", level, 1, value) function presetNumberofUnits(IntLevelClosure lc) def.setLevelsDataInt("Sod1", lvls, 1, lc) addTooltipProperty("NumberofUnits", lc) function setUnitType(int level, string value) def.setLvlDataString("Sod2", level, 2, value) function presetUnitType(StringLevelClosure lc) def.setLevelsDataString("Sod2", lvls, 2, lc) addTooltipProperty("UnitType", lc) public class AbilityDefinitionDarkRangerDrain extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANdr') function setBonusLifeDecay(int level, real value) def.setLvlDataUnreal("Ndr7", level, 7, value) function presetBonusLifeDecay(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr7", lvls, 7, lc) addTooltipProperty("BonusLifeDecay", lc) function setDrainIntervalseconds(int level, real value) def.setLvlDataUnreal("Ndr3", level, 3, value) function presetDrainIntervalseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr3", lvls, 3, lc) addTooltipProperty("DrainIntervalseconds", lc) function setHitPointsDrained(int level, real value) def.setLvlDataUnreal("Ndr1", level, 1, value) function presetHitPointsDrained(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr1", lvls, 1, lc) addTooltipProperty("HitPointsDrained", lc) function setBonusLifeFactor(int level, real value) def.setLvlDataUnreal("Ndr6", level, 6, value) function presetBonusLifeFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr6", lvls, 6, lc) addTooltipProperty("BonusLifeFactor", lc) function setManaPointsDrained(int level, real value) def.setLvlDataUnreal("Ndr2", level, 2, value) function presetManaPointsDrained(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr2", lvls, 2, lc) addTooltipProperty("ManaPointsDrained", lc) function setManaTransferredPerSecond(int level, real value) def.setLvlDataUnreal("Ndr5", level, 5, value) function presetManaTransferredPerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr5", lvls, 5, lc) addTooltipProperty("ManaTransferredPerSecond", lc) function setBonusManaDecay(int level, real value) def.setLvlDataUnreal("Ndr9", level, 9, value) function presetBonusManaDecay(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr9", lvls, 9, lc) addTooltipProperty("BonusManaDecay", lc) function setBonusManaFactor(int level, real value) def.setLvlDataUnreal("Ndr8", level, 8, value) function presetBonusManaFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr8", lvls, 8, lc) addTooltipProperty("BonusManaFactor", lc) function setLifeTransferredPerSecond(int level, real value) def.setLvlDataUnreal("Ndr4", level, 4, value) function presetLifeTransferredPerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Ndr4", lvls, 4, lc) addTooltipProperty("LifeTransferredPerSecond", lc) public class AbilityDefinitionFlare extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Afla') function setDetectionType(int level, string value) def.setLvlDataString("Fla1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Fla1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) function setFlareCount(int level, int value) def.setLvlDataInt("Fla3", level, 3, value) function presetFlareCount(IntLevelClosure lc) def.setLevelsDataInt("Fla3", lvls, 3, lc) addTooltipProperty("FlareCount", lc) function setEffectDelay(int level, real value) def.setLvlDataUnreal("Fla2", level, 2, value) function presetEffectDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Fla2", lvls, 2, lc) addTooltipProperty("EffectDelay", lc) public class AbilityDefinitionStrengthBonusPlus6 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIs6') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionPitLordDoom extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANdo') function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Ndo1", level, 1, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Ndo1", lvls, 1, lc) addTooltipProperty("DamagePerSecond", lc) function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Ndo2", level, 2, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Ndo2", lvls, 2, lc) addTooltipProperty("NumberofSummonedUnits", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Ndou", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Ndou", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) function setSummonedUnitDurationseconds(int level, real value) def.setLvlDataUnreal("Ndo3", level, 3, value) function presetSummonedUnitDurationseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Ndo3", lvls, 3, lc) addTooltipProperty("SummonedUnitDurationseconds", lc) public class AbilityDefinitionSpellBook extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aspb') function setMaximumSpells(int level, int value) def.setLvlDataInt("spb4", level, 4, value) function presetMaximumSpells(IntLevelClosure lc) def.setLevelsDataInt("spb4", lvls, 4, lc) addTooltipProperty("MaximumSpells", lc) function setSharedSpellCooldown(int level, bool value) def.setLvlDataBoolean("spb2", level, 2, value) function presetSharedSpellCooldown(BooleanLevelClosure lc) def.setLevelsDataBoolean("spb2", lvls, 2, lc) addTooltipProperty("SharedSpellCooldown", lc) function setSpellList(int level, string value) def.setLvlDataString("spb1", level, 1, value) function presetSpellList(StringLevelClosure lc) def.setLevelsDataString("spb1", lvls, 1, lc) addTooltipProperty("SpellList", lc) function setMinimumSpells(int level, int value) def.setLvlDataInt("spb3", level, 3, value) function presetMinimumSpells(IntLevelClosure lc) def.setLevelsDataInt("spb3", lvls, 3, lc) addTooltipProperty("MinimumSpells", lc) function setBaseOrderID(int level, string value) def.setLvlDataString("spb5", level, 5, value) function presetBaseOrderID(StringLevelClosure lc) def.setLevelsDataString("spb5", lvls, 5, lc) addTooltipProperty("BaseOrderID", lc) public class AbilityDefinitionStrengthBonusPlus3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIs3') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionDarkPortal extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANdp') function setSpawnedUnits(int level, string value) def.setLvlDataString("Ndp1", level, 1, value) function presetSpawnedUnits(StringLevelClosure lc) def.setLevelsDataString("Ndp1", lvls, 1, lc) addTooltipProperty("SpawnedUnits", lc) function setMaximumNumberofUnits(int level, int value) def.setLvlDataInt("Ndp3", level, 3, value) function presetMaximumNumberofUnits(IntLevelClosure lc) def.setLevelsDataInt("Ndp3", lvls, 3, lc) addTooltipProperty("MaximumNumberofUnits", lc) function setMinimumNumberofUnits(int level, int value) def.setLvlDataInt("Ndp2", level, 2, value) function presetMinimumNumberofUnits(IntLevelClosure lc) def.setLevelsDataInt("Ndp2", lvls, 2, lc) addTooltipProperty("MinimumNumberofUnits", lc) public class AbilityDefinitionMoonPriestessTrueshotAura extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEar') function setFlatBonus(int level, bool value) def.setLvlDataBoolean("Ear4", level, 4, value) function presetFlatBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear4", lvls, 4, lc) addTooltipProperty("FlatBonus", lc) function setRangedBonus(int level, bool value) def.setLvlDataBoolean("Ear3", level, 3, value) function presetRangedBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear3", lvls, 3, lc) addTooltipProperty("RangedBonus", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Ear1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Ear1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setMeleeBonus(int level, bool value) def.setLvlDataBoolean("Ear2", level, 2, value) function presetMeleeBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear2", lvls, 2, lc) addTooltipProperty("MeleeBonus", lc) public class AbilityDefinitionStrengthBonusPlus4 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIs4') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionSpiderAttack extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aspa') function setSpiderCapacity(int level, int value) def.setLvlDataInt("Spa1", level, 1, value) function presetSpiderCapacity(IntLevelClosure lc) def.setLevelsDataInt("Spa1", lvls, 1, lc) addTooltipProperty("SpiderCapacity", lc) public class AbilityDefinitionSpiritLink extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aspl') function setMaximumNumberofTargets(int level, int value) def.setLvlDataInt("spl2", level, 2, value) function presetMaximumNumberofTargets(IntLevelClosure lc) def.setLevelsDataInt("spl2", lvls, 2, lc) addTooltipProperty("MaximumNumberofTargets", lc) function setDistributedDamageFactor(int level, real value) def.setLvlDataUnreal("spl1", level, 1, value) function presetDistributedDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("spl1", lvls, 1, lc) addTooltipProperty("DistributedDamageFactor", lc) public class AbilityDefinitionAuraWarDrumsKodobeast extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aakb') function setFlatBonus(int level, bool value) def.setLvlDataBoolean("Ear4", level, 4, value) function presetFlatBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear4", lvls, 4, lc) addTooltipProperty("FlatBonus", lc) function setRangedBonus(int level, bool value) def.setLvlDataBoolean("Ear3", level, 3, value) function presetRangedBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear3", lvls, 3, lc) addTooltipProperty("RangedBonus", lc) function setAttackDamageIncrease(int level, real value) def.setLvlDataUnreal("Akb1", level, 1, value) function presetAttackDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Akb1", lvls, 1, lc) addTooltipProperty("AttackDamageIncrease", lc) function setMeleeBonus(int level, bool value) def.setLvlDataBoolean("Ear2", level, 2, value) function presetMeleeBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear2", lvls, 2, lc) addTooltipProperty("MeleeBonus", lc) public class AbilityDefinitionArchMageMassTeleport extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHmt') function setUseTeleportClustering(int level, bool value) def.setLvlDataBoolean("Hmt3", level, 3, value) function presetUseTeleportClustering(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hmt3", lvls, 3, lc) addTooltipProperty("UseTeleportClustering", lc) function setCastingDelay(int level, real value) def.setLvlDataUnreal("Hmt2", level, 2, value) function presetCastingDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Hmt2", lvls, 2, lc) addTooltipProperty("CastingDelay", lc) function setNumberofUnitsTeleported(int level, int value) def.setLvlDataInt("Hmt1", level, 1, value) function presetNumberofUnitsTeleported(IntLevelClosure lc) def.setLevelsDataInt("Hmt1", lvls, 1, lc) addTooltipProperty("NumberofUnitsTeleported", lc) public class AbilityDefinitionGoldMine extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Agld') function setMiningCapacity(int level, int value) def.setLvlDataInt("Gld3", level, 3, value) function presetMiningCapacity(IntLevelClosure lc) def.setLevelsDataInt("Gld3", lvls, 3, lc) addTooltipProperty("MiningCapacity", lc) function setMaxGold(int level, int value) def.setLvlDataInt("Gld1", level, 1, value) function presetMaxGold(IntLevelClosure lc) def.setLevelsDataInt("Gld1", lvls, 1, lc) addTooltipProperty("MaxGold", lc) function setMiningDuration(int level, real value) def.setLvlDataUnreal("Gld2", level, 2, value) function presetMiningDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Gld2", lvls, 2, lc) addTooltipProperty("MiningDuration", lc) public class AbilityDefinitionAuraCommandCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACac') function setRangedBonus(int level, bool value) def.setLvlDataBoolean("Ear3", level, 3, value) function presetRangedBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear3", lvls, 3, lc) addTooltipProperty("RangedBonus", lc) function setFlatBonus(int level, bool value) def.setLvlDataBoolean("Ear4", level, 4, value) function presetFlatBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear4", lvls, 4, lc) addTooltipProperty("FlatBonus", lc) function setAttackDamageIncrease(int level, real value) def.setLvlDataUnreal("Cac1", level, 1, value) function presetAttackDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Cac1", lvls, 1, lc) addTooltipProperty("AttackDamageIncrease", lc) function setMeleeBonus(int level, bool value) def.setLvlDataBoolean("Ear2", level, 2, value) function presetMeleeBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear2", lvls, 2, lc) addTooltipProperty("MeleeBonus", lc) public class AbilityDefinitionBrewmasterDrunkenHaze extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANdh') function setAttackSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi4", level, 4, value) function presetAttackSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi4", lvls, 4, lc) addTooltipProperty("AttackSpeedModifier", lc) function setMovementSpeedModifier(int level, real value) def.setLvlDataUnreal("Nsi3", level, 3, value) function presetMovementSpeedModifier(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi3", lvls, 3, lc) addTooltipProperty("MovementSpeedModifier", lc) function setChanceToMiss(int level, real value) def.setLvlDataUnreal("Nsi2", level, 2, value) function presetChanceToMiss(RealLevelClosure lc) def.setLevelsDataUnreal("Nsi2", lvls, 2, lc) addTooltipProperty("ChanceToMiss", lc) function setAttacksPrevented(int level, string value) def.setLvlDataString("Nsi1", level, 1, value) function presetAttacksPrevented(StringLevelClosure lc) def.setLevelsDataString("Nsi1", lvls, 1, lc) addTooltipProperty("AttacksPrevented", lc) public class AbilityDefinitionAnimateDeadcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACad') function setRaisedUnitsAreInvulnerable(int level, bool value) def.setLvlDataBoolean("Hre2", level, 2, value) function presetRaisedUnitsAreInvulnerable(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hre2", lvls, 2, lc) addTooltipProperty("RaisedUnitsAreInvulnerable", lc) function setNumberofCorpsesRaised(int level, int value) def.setLvlDataInt("Cad1", level, 1, value) function presetNumberofCorpsesRaised(IntLevelClosure lc) def.setLevelsDataInt("Cad1", lvls, 1, lc) addTooltipProperty("NumberofCorpsesRaised", lc) function setInheritUpgrades(int level, bool value) def.setLvlDataBoolean("Uan3", level, 3, value) function presetInheritUpgrades(BooleanLevelClosure lc) def.setLevelsDataBoolean("Uan3", lvls, 3, lc) addTooltipProperty("InheritUpgrades", lc) public class AbilityDefinitionStrengthBonusPlus1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIs1') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionAttackSpeedIncreaseGreater extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIs2') function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("Isx1", level, 1, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Isx1", lvls, 1, lc) addTooltipProperty("AttackSpeedIncrease", lc) public class AbilityDefinitionItemRestore extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIre') function setManaPointsRestored(int level, int value) def.setLvlDataInt("Imps", level, 2, value) function presetManaPointsRestored(IntLevelClosure lc) def.setLevelsDataInt("Imps", lvls, 2, lc) addTooltipProperty("ManaPointsRestored", lc) function setHitPointsRestored(int level, int value) def.setLvlDataInt("Ihps", level, 1, value) function presetHitPointsRestored(IntLevelClosure lc) def.setLevelsDataInt("Ihps", lvls, 1, lc) addTooltipProperty("HitPointsRestored", lc) public class AbilityDefinitionBrewmasterDrunkenBrawler extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANdb') function setDamageMultiplier(int level, real value) def.setLvlDataUnreal("Ocr2", level, 2, value) function presetDamageMultiplier(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr2", lvls, 2, lc) addTooltipProperty("DamageMultiplier", lc) function setChancetoCriticalStrike(int level, real value) def.setLvlDataUnreal("Ocr1", level, 1, value) function presetChancetoCriticalStrike(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr1", lvls, 1, lc) addTooltipProperty("ChancetoCriticalStrike", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Ocr3", level, 3, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr3", lvls, 3, lc) addTooltipProperty("DamageBonus", lc) function setChancetoEvade(int level, real value) def.setLvlDataUnreal("Ocr4", level, 4, value) function presetChancetoEvade(RealLevelClosure lc) def.setLevelsDataUnreal("Ocr4", lvls, 4, lc) addTooltipProperty("ChancetoEvade", lc) function setNeverMiss(int level, bool value) def.setLvlDataBoolean("Ocr5", level, 5, value) function presetNeverMiss(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ocr5", lvls, 5, lc) addTooltipProperty("NeverMiss", lc) public class AbilityDefinitionRaiseDeadItem extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIrd') function setUnitsSummonedTypeOne(int level, int value) def.setLvlDataInt("Rai1", level, 1, value) function presetUnitsSummonedTypeOne(IntLevelClosure lc) def.setLevelsDataInt("Rai1", lvls, 1, lc) addTooltipProperty("UnitsSummonedTypeOne", lc) function setUnitTypeForLimitCheck(int level, string value) def.setLvlDataString("Raiu", level, 0, value) function presetUnitTypeForLimitCheck(StringLevelClosure lc) def.setLevelsDataString("Raiu", lvls, 0, lc) addTooltipProperty("UnitTypeForLimitCheck", lc) function setUnitsSummonedTypeTwo(int level, int value) def.setLvlDataInt("Rai2", level, 2, value) function presetUnitsSummonedTypeTwo(IntLevelClosure lc) def.setLevelsDataInt("Rai2", lvls, 2, lc) addTooltipProperty("UnitsSummonedTypeTwo", lc) function setUnitTypeTwo(int level, string value) def.setLvlDataString("Rai4", level, 4, value) function presetUnitTypeTwo(StringLevelClosure lc) def.setLevelsDataString("Rai4", lvls, 4, lc) addTooltipProperty("UnitTypeTwo", lc) function setUnitTypeOne(int level, string value) def.setLvlDataString("Rai3", level, 3, value) function presetUnitTypeOne(StringLevelClosure lc) def.setLevelsDataString("Rai3", lvls, 3, lc) addTooltipProperty("UnitTypeOne", lc) public class AbilityDefinitionSpawnHydraHatchling extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aspt') function setNumberofUnits(int level, int value) def.setLvlDataInt("Sod1", level, 1, value) function presetNumberofUnits(IntLevelClosure lc) def.setLevelsDataInt("Sod1", lvls, 1, lc) addTooltipProperty("NumberofUnits", lc) function setUnitType(int level, string value) def.setLvlDataString("Sod2", level, 2, value) function presetUnitType(StringLevelClosure lc) def.setLevelsDataString("Sod2", lvls, 2, lc) addTooltipProperty("UnitType", lc) public class AbilityDefinitionItemReincarnation extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIrc') function setRestoredLife(int level, int value) def.setLvlDataInt("irc2", level, 2, value) function presetRestoredLife(IntLevelClosure lc) def.setLevelsDataInt("irc2", lvls, 2, lc) addTooltipProperty("RestoredLife", lc) function setDelayAfterDeathseconds(int level, int value) def.setLvlDataInt("Ircd", level, 1, value) function presetDelayAfterDeathseconds(IntLevelClosure lc) def.setLevelsDataInt("Ircd", lvls, 1, lc) addTooltipProperty("DelayAfterDeathseconds", lc) function setRestoredManaforcurrent(int level, int value) def.setLvlDataInt("irc3", level, 3, value) function presetRestoredManaforcurrent(IntLevelClosure lc) def.setLevelsDataInt("irc3", lvls, 3, lc) addTooltipProperty("RestoredManaforcurrent", lc) public class AbilityDefinitionTinkererDemolishLevel0 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANde') function setDamageMultiplierBuildings(int level, real value) def.setLvlDataUnreal("Nde2", level, 2, value) function presetDamageMultiplierBuildings(RealLevelClosure lc) def.setLevelsDataUnreal("Nde2", lvls, 2, lc) addTooltipProperty("DamageMultiplierBuildings", lc) function setDamageMultiplierUnits(int level, real value) def.setLvlDataUnreal("Nde3", level, 3, value) function presetDamageMultiplierUnits(RealLevelClosure lc) def.setLevelsDataUnreal("Nde3", lvls, 3, lc) addTooltipProperty("DamageMultiplierUnits", lc) function setDamageMultiplierHeroes(int level, real value) def.setLvlDataUnreal("Nde4", level, 4, value) function presetDamageMultiplierHeroes(RealLevelClosure lc) def.setLevelsDataUnreal("Nde4", lvls, 4, lc) addTooltipProperty("DamageMultiplierHeroes", lc) function setChancetoDemolish(int level, real value) def.setLvlDataUnreal("Nde1", level, 1, value) function presetChancetoDemolish(RealLevelClosure lc) def.setLevelsDataUnreal("Nde1", lvls, 1, lc) addTooltipProperty("ChancetoDemolish", lc) public class AbilityDefinitionRuneofSpiritLink extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aspp') function setDistributedDamageFactor(int level, real value) def.setLvlDataUnreal("spl1", level, 1, value) function presetDistributedDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("spl1", lvls, 1, lc) addTooltipProperty("DistributedDamageFactor", lc) public class AbilityDefinitionSlowPoison extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aspo') function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Spo1", level, 1, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Spo1", lvls, 1, lc) addTooltipProperty("DamagePerSecond", lc) function setStackingType(int level, string value) def.setLvlDataString("Spo4", level, 4, value) function presetStackingType(StringLevelClosure lc) def.setLevelsDataString("Spo4", lvls, 4, lc) addTooltipProperty("StackingType", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Spo3", level, 3, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Spo3", lvls, 3, lc) addTooltipProperty("AttackSpeedFactor", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Spo2", level, 2, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Spo2", lvls, 2, lc) addTooltipProperty("MovementSpeedFactor", lc) public class AbilityDefinitionMalganisDarkConversion extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANdc') function setConversionUnit(int level, string value) def.setLvlDataString("Ndc2", level, 0, value) function presetConversionUnit(StringLevelClosure lc) def.setLevelsDataString("Ndc2", lvls, 0, lc) addTooltipProperty("ConversionUnit", lc) function setRacetoConvert(int level, string value) def.setLvlDataString("Ndc1", level, 1, value) function presetRacetoConvert(StringLevelClosure lc) def.setLevelsDataString("Ndc1", lvls, 1, lc) addTooltipProperty("RacetoConvert", lc) public class AbilityDefinitionAuraDevotionCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACav') function setPercentBonus(int level, bool value) def.setLvlDataBoolean("Had2", level, 2, value) function presetPercentBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Had2", lvls, 2, lc) addTooltipProperty("PercentBonus", lc) function setArmorBonus(int level, real value) def.setLvlDataUnreal("Had1", level, 1, value) function presetArmorBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Had1", lvls, 1, lc) addTooltipProperty("ArmorBonus", lc) public class AbilityDefinitionAuraTrueshotCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACat') function setFlatBonus(int level, bool value) def.setLvlDataBoolean("Ear4", level, 4, value) function presetFlatBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear4", lvls, 4, lc) addTooltipProperty("FlatBonus", lc) function setRangedBonus(int level, bool value) def.setLvlDataBoolean("Ear3", level, 3, value) function presetRangedBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear3", lvls, 3, lc) addTooltipProperty("RangedBonus", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Ear1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Ear1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setMeleeBonus(int level, bool value) def.setLvlDataBoolean("Ear2", level, 2, value) function presetMeleeBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ear2", lvls, 2, lc) addTooltipProperty("MeleeBonus", lc) public class AbilityDefinitionItemRestoreAoe extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIra') function setManaPointsRestored(int level, int value) def.setLvlDataInt("Imps", level, 2, value) function presetManaPointsRestored(IntLevelClosure lc) def.setLevelsDataInt("Imps", lvls, 2, lc) addTooltipProperty("ManaPointsRestored", lc) function setHitPointsRestored(int level, int value) def.setLvlDataInt("Ihps", level, 1, value) function presetHitPointsRestored(IntLevelClosure lc) def.setLevelsDataInt("Ihps", lvls, 1, lc) addTooltipProperty("HitPointsRestored", lc) public class AbilityDefinitionKeeperoftheGroveThornsAura extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEah') function setDamageisPercentReceived(int level, bool value) def.setLvlDataBoolean("Eah2", level, 2, value) function presetDamageisPercentReceived(BooleanLevelClosure lc) def.setLevelsDataBoolean("Eah2", lvls, 2, lc) addTooltipProperty("DamageisPercentReceived", lc) function setDamageDealttoAttackers(int level, real value) def.setLvlDataUnreal("Eah1", level, 1, value) function presetDamageDealttoAttackers(RealLevelClosure lc) def.setLevelsDataUnreal("Eah1", lvls, 1, lc) addTooltipProperty("DamageDealttoAttackers", lc) public class AbilityDefinitionSpawnHydra extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aspy') function setNumberofUnits(int level, int value) def.setLvlDataInt("Sod1", level, 1, value) function presetNumberofUnits(IntLevelClosure lc) def.setLevelsDataInt("Sod1", lvls, 1, lc) addTooltipProperty("NumberofUnits", lc) function setUnitType(int level, string value) def.setLvlDataString("Sod2", level, 2, value) function presetUnitType(StringLevelClosure lc) def.setLevelsDataString("Sod2", lvls, 2, lc) addTooltipProperty("UnitType", lc) public class AbilityDefinitionAspx extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aspx') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionTinkererClusterRocketsLevel2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANc2') function setEffectDuration(int level, real value) def.setLvlDataUnreal("Ncs6", level, 6, value) function presetEffectDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs6", lvls, 6, lc) addTooltipProperty("EffectDuration", lc) function setDamageInterval(int level, real value) def.setLvlDataUnreal("Ncs2", level, 2, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs2", lvls, 2, lc) addTooltipProperty("DamageInterval", lc) function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ncs4", level, 4, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs4", lvls, 4, lc) addTooltipProperty("MaxDamage", lc) function setMissileCount(int level, int value) def.setLvlDataInt("Ncs3", level, 3, value) function presetMissileCount(IntLevelClosure lc) def.setLevelsDataInt("Ncs3", lvls, 3, lc) addTooltipProperty("MissileCount", lc) function setDamageAmount(int level, real value) def.setLvlDataUnreal("Ncs1", level, 1, value) function presetDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs1", lvls, 1, lc) addTooltipProperty("DamageAmount", lc) function setBuildingDamageFactor(int level, real value) def.setLvlDataUnreal("Ncs5", level, 5, value) function presetBuildingDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs5", lvls, 5, lc) addTooltipProperty("BuildingDamageFactor", lc) public class AbilityDefinitionDreadlordVampiricAura extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUav') function setAttackDamageStolen(int level, real value) def.setLvlDataUnreal("Uav1", level, 1, value) function presetAttackDamageStolen(RealLevelClosure lc) def.setLevelsDataUnreal("Uav1", lvls, 1, lc) addTooltipProperty("AttackDamageStolen", lc) public class AbilityDefinitionTinkererClusterRocketsLevel3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANc3') function setEffectDuration(int level, real value) def.setLvlDataUnreal("Ncs6", level, 6, value) function presetEffectDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs6", lvls, 6, lc) addTooltipProperty("EffectDuration", lc) function setDamageInterval(int level, real value) def.setLvlDataUnreal("Ncs2", level, 2, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs2", lvls, 2, lc) addTooltipProperty("DamageInterval", lc) function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ncs4", level, 4, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs4", lvls, 4, lc) addTooltipProperty("MaxDamage", lc) function setMissileCount(int level, int value) def.setLvlDataInt("Ncs3", level, 3, value) function presetMissileCount(IntLevelClosure lc) def.setLevelsDataInt("Ncs3", lvls, 3, lc) addTooltipProperty("MissileCount", lc) function setDamageAmount(int level, real value) def.setLvlDataUnreal("Ncs1", level, 1, value) function presetDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs1", lvls, 1, lc) addTooltipProperty("DamageAmount", lc) function setBuildingDamageFactor(int level, real value) def.setLvlDataUnreal("Ncs5", level, 5, value) function presetBuildingDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs5", lvls, 5, lc) addTooltipProperty("BuildingDamageFactor", lc) public class AbilityDefinitionDeathKnightUnholyAura extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUau') function setPercentBonus(int level, bool value) def.setLvlDataBoolean("Uau3", level, 3, value) function presetPercentBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Uau3", lvls, 3, lc) addTooltipProperty("PercentBonus", lc) function setLifeRegenerationIncrease(int level, real value) def.setLvlDataUnreal("Uau2", level, 2, value) function presetLifeRegenerationIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Uau2", lvls, 2, lc) addTooltipProperty("LifeRegenerationIncrease", lc) function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Uau1", level, 1, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Uau1", lvls, 1, lc) addTooltipProperty("MovementSpeedIncrease", lc) public class AbilityDefinitionItemPotionVampirism extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIpv') function setAmountIsRawValue(int level, bool value) def.setLvlDataBoolean("ipv3", level, 3, value) function presetAmountIsRawValue(BooleanLevelClosure lc) def.setLevelsDataBoolean("ipv3", lvls, 3, lc) addTooltipProperty("AmountIsRawValue", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("ipv1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("ipv1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setLifeStealAmount(int level, real value) def.setLvlDataUnreal("ipv2", level, 2, value) function presetLifeStealAmount(RealLevelClosure lc) def.setLevelsDataUnreal("ipv2", lvls, 2, lc) addTooltipProperty("LifeStealAmount", lc) public class AbilityDefinitionOrbofVenomPoisonAttack extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apo2') function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi2", level, 2, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi2", lvls, 2, lc) addTooltipProperty("AttackSpeedFactor", lc) function setStackingType(int level, string value) def.setLvlDataString("Poi4", level, 4, value) function presetStackingType(StringLevelClosure lc) def.setLevelsDataString("Poi4", lvls, 4, lc) addTooltipProperty("StackingType", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Poi1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Poi1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi3", level, 3, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi3", lvls, 3, lc) addTooltipProperty("MovementSpeedFactor", lc) public class AbilityDefinitionCoupleInstantArcher extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aco2') function setMoveToPartner(int level, bool value) def.setLvlDataBoolean("coa2", level, 2, value) function presetMoveToPartner(BooleanLevelClosure lc) def.setLevelsDataBoolean("coa2", lvls, 2, lc) addTooltipProperty("MoveToPartner", lc) function setResultingUnitType(int level, string value) def.setLvlDataString("coau", level, 0, value) function presetResultingUnitType(StringLevelClosure lc) def.setLevelsDataString("coau", lvls, 0, lc) addTooltipProperty("ResultingUnitType", lc) function setPartnerUnitType(int level, string value) def.setLvlDataString("coa1", level, 1, value) function presetPartnerUnitType(StringLevelClosure lc) def.setLevelsDataString("coa1", lvls, 1, lc) addTooltipProperty("PartnerUnitType", lc) public class AbilityDefinitionPotionofManaRegengreater extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIpr') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionTinkererClusterRocketsLevel1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANc1') function setEffectDuration(int level, real value) def.setLvlDataUnreal("Ncs6", level, 6, value) function presetEffectDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs6", lvls, 6, lc) addTooltipProperty("EffectDuration", lc) function setDamageInterval(int level, real value) def.setLvlDataUnreal("Ncs2", level, 2, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs2", lvls, 2, lc) addTooltipProperty("DamageInterval", lc) function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ncs4", level, 4, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs4", lvls, 4, lc) addTooltipProperty("MaxDamage", lc) function setMissileCount(int level, int value) def.setLvlDataInt("Ncs3", level, 3, value) function presetMissileCount(IntLevelClosure lc) def.setLevelsDataInt("Ncs3", lvls, 3, lc) addTooltipProperty("MissileCount", lc) function setDamageAmount(int level, real value) def.setLvlDataUnreal("Ncs1", level, 1, value) function presetDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs1", lvls, 1, lc) addTooltipProperty("DamageAmount", lc) function setBuildingDamageFactor(int level, real value) def.setLvlDataUnreal("Ncs5", level, 5, value) function presetBuildingDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs5", lvls, 5, lc) addTooltipProperty("BuildingDamageFactor", lc) public class AbilityDefinitionCoupleInstantHippogryph extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aco3') function setMoveToPartner(int level, bool value) def.setLvlDataBoolean("coa2", level, 2, value) function presetMoveToPartner(BooleanLevelClosure lc) def.setLevelsDataBoolean("coa2", lvls, 2, lc) addTooltipProperty("MoveToPartner", lc) function setResultingUnitType(int level, string value) def.setLvlDataString("coau", level, 0, value) function presetResultingUnitType(StringLevelClosure lc) def.setLevelsDataString("coau", lvls, 0, lc) addTooltipProperty("ResultingUnitType", lc) function setPartnerUnitType(int level, string value) def.setLvlDataString("coa1", level, 1, value) function presetPartnerUnitType(StringLevelClosure lc) def.setLevelsDataString("coa1", lvls, 1, lc) addTooltipProperty("PartnerUnitType", lc) public class AbilityDefinitionSpawnOnDeathskeleton extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asod') function setNumberofUnits(int level, int value) def.setLvlDataInt("Sod1", level, 1, value) function presetNumberofUnits(IntLevelClosure lc) def.setLevelsDataInt("Sod1", lvls, 1, lc) addTooltipProperty("NumberofUnits", lc) function setUnitType(int level, string value) def.setLvlDataString("Sod2", level, 2, value) function presetUnitType(StringLevelClosure lc) def.setLevelsDataString("Sod2", lvls, 2, lc) addTooltipProperty("UnitType", lc) public class AbilityDefinitionPotionofManaRegenlesser extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIpl') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionDeathKnightAnimateDead extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUan') function setRaisedUnitsAreInvulnerable(int level, bool value) def.setLvlDataBoolean("Hre2", level, 2, value) function presetRaisedUnitsAreInvulnerable(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hre2", lvls, 2, lc) addTooltipProperty("RaisedUnitsAreInvulnerable", lc) function setInheritUpgrades(int level, bool value) def.setLvlDataBoolean("Uan3", level, 3, value) function presetInheritUpgrades(BooleanLevelClosure lc) def.setLevelsDataBoolean("Uan3", lvls, 3, lc) addTooltipProperty("InheritUpgrades", lc) function setNumberofCorpsesRaised(int level, int value) def.setLvlDataInt("Uan1", level, 1, value) function presetNumberofCorpsesRaised(IntLevelClosure lc) def.setLevelsDataInt("Uan1", lvls, 1, lc) addTooltipProperty("NumberofCorpsesRaised", lc) public class AbilityDefinitionItemPlaceMine extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIpm') function setUnitType(int level, string value) def.setLvlDataString("ipmu", level, 0, value) function presetUnitType(StringLevelClosure lc) def.setLevelsDataString("ipmu", lvls, 0, lc) addTooltipProperty("UnitType", lc) public class AbilityDefinitionBloodMagePhoenix extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHpx') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionAlchemistAcidBomb extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANab') function setDamageInterval(int level, real value) def.setLvlDataUnreal("Nab6", level, 6, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Nab6", lvls, 6, lc) addTooltipProperty("DamageInterval", lc) function setPrimaryDamage(int level, real value) def.setLvlDataUnreal("Nab4", level, 4, value) function presetPrimaryDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Nab4", lvls, 4, lc) addTooltipProperty("PrimaryDamage", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Nab1", level, 1, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Nab1", lvls, 1, lc) addTooltipProperty("MovementSpeedReduction", lc) function setArmorPenalty(int level, int value) def.setLvlDataInt("Nab3", level, 3, value) function presetArmorPenalty(IntLevelClosure lc) def.setLevelsDataInt("Nab3", lvls, 3, lc) addTooltipProperty("ArmorPenalty", lc) function setSecondaryDamage(int level, real value) def.setLvlDataUnreal("Nab5", level, 5, value) function presetSecondaryDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Nab5", lvls, 5, lc) addTooltipProperty("SecondaryDamage", lc) function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Nab2", level, 2, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Nab2", lvls, 2, lc) addTooltipProperty("AttackSpeedReduction", lc) public class AbilityDefinitionPermanentImmolationflying extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apmf') function setManaDrainedperSecond(int level, real value) def.setLvlDataUnreal("Eim2", level, 2, value) function presetManaDrainedperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Eim2", lvls, 2, lc) addTooltipProperty("ManaDrainedperSecond", lc) function setBufferManaRequired(int level, real value) def.setLvlDataUnreal("Eim3", level, 3, value) function presetBufferManaRequired(RealLevelClosure lc) def.setLevelsDataUnreal("Eim3", lvls, 3, lc) addTooltipProperty("BufferManaRequired", lc) function setDamageperInterval(int level, real value) def.setLvlDataUnreal("Eim1", level, 1, value) function presetDamageperInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Eim1", lvls, 1, lc) addTooltipProperty("DamageperInterval", lc) public class AbilityDefinitionTornadoSpin extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Atsp') function setMinimumHitIntervalseconds(int level, real value) def.setLvlDataUnreal("Tsp2", level, 2, value) function presetMinimumHitIntervalseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Tsp2", lvls, 2, lc) addTooltipProperty("MinimumHitIntervalseconds", lc) function setAirTimeseconds(int level, real value) def.setLvlDataUnreal("Tsp1", level, 1, value) function presetAirTimeseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Tsp1", lvls, 1, lc) addTooltipProperty("AirTimeseconds", lc) public class AbilityDefinitionAntimagicShield extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aams') function setMagicDamageReduction(int level, real value) def.setLvlDataUnreal("Ams2", level, 2, value) function presetMagicDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Ams2", lvls, 2, lc) addTooltipProperty("MagicDamageReduction", lc) function setManaLoss(int level, int value) def.setLvlDataInt("Ams4", level, 4, value) function presetManaLoss(IntLevelClosure lc) def.setLevelsDataInt("Ams4", lvls, 4, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Ams1", level, 1, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ams1", lvls, 1, lc) addTooltipProperty("SummonedUnitDamage", lc) function setShieldLife(int level, int value) def.setLvlDataInt("Ams3", level, 3, value) function presetShieldLife(IntLevelClosure lc) def.setLevelsDataInt("Ams3", lvls, 3, lc) addTooltipProperty("ShieldLife", lc) public class AbilityDefinitionOrbofDarknessBlackArrow extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANbs') function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Nba2", level, 2, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Nba2", lvls, 2, lc) addTooltipProperty("NumberofSummonedUnits", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Nba1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Nba1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Nbau", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Nbau", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) function setSummonedUnitDurationseconds(int level, real value) def.setLvlDataUnreal("Nba3", level, 3, value) function presetSummonedUnitDurationseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Nba3", lvls, 3, lc) addTooltipProperty("SummonedUnitDurationseconds", lc) public class AbilityDefinitionTinkererDemolishLevel3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANd3') function setDamageMultiplierBuildings(int level, real value) def.setLvlDataUnreal("Nde2", level, 2, value) function presetDamageMultiplierBuildings(RealLevelClosure lc) def.setLevelsDataUnreal("Nde2", lvls, 2, lc) addTooltipProperty("DamageMultiplierBuildings", lc) function setDamageMultiplierUnits(int level, real value) def.setLvlDataUnreal("Nde3", level, 3, value) function presetDamageMultiplierUnits(RealLevelClosure lc) def.setLevelsDataUnreal("Nde3", lvls, 3, lc) addTooltipProperty("DamageMultiplierUnits", lc) function setDamageMultiplierHeroes(int level, real value) def.setLvlDataUnreal("Nde4", level, 4, value) function presetDamageMultiplierHeroes(RealLevelClosure lc) def.setLevelsDataUnreal("Nde4", lvls, 4, lc) addTooltipProperty("DamageMultiplierHeroes", lc) function setChancetoDemolish(int level, real value) def.setLvlDataUnreal("Nde1", level, 1, value) function presetChancetoDemolish(RealLevelClosure lc) def.setLevelsDataUnreal("Nde1", lvls, 1, lc) addTooltipProperty("ChancetoDemolish", lc) public class AbilityDefinitionSlowAIos extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIos') function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Slo1", level, 1, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Slo1", lvls, 1, lc) addTooltipProperty("MovementSpeedFactor", lc) function setAlwaysAutocast(int level, bool value) def.setLvlDataBoolean("Slo3", level, 3, value) function presetAlwaysAutocast(BooleanLevelClosure lc) def.setLevelsDataBoolean("Slo3", lvls, 3, lc) addTooltipProperty("AlwaysAutocast", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Slo2", level, 2, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Slo2", lvls, 2, lc) addTooltipProperty("AttackSpeedFactor", lc) public class AbilityDefinitionBattleRoar extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANbr') function setDamageIncrease(int level, real value) def.setLvlDataUnreal("Nbr1", level, 1, value) function presetDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Nbr1", lvls, 1, lc) addTooltipProperty("DamageIncrease", lc) function setDefenseIncrease(int level, int value) def.setLvlDataInt("Roa2", level, 2, value) function presetDefenseIncrease(IntLevelClosure lc) def.setLevelsDataInt("Roa2", lvls, 2, lc) addTooltipProperty("DefenseIncrease", lc) function setPreferHostiles(int level, bool value) def.setLvlDataBoolean("Roa5", level, 5, value) function presetPreferHostiles(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa5", lvls, 5, lc) addTooltipProperty("PreferHostiles", lc) function setLifeRegenerationRate(int level, real value) def.setLvlDataUnreal("Roa3", level, 3, value) function presetLifeRegenerationRate(RealLevelClosure lc) def.setLevelsDataUnreal("Roa3", lvls, 3, lc) addTooltipProperty("LifeRegenerationRate", lc) function setManaRegen(int level, real value) def.setLvlDataUnreal("Roa4", level, 4, value) function presetManaRegen(RealLevelClosure lc) def.setLevelsDataUnreal("Roa4", lvls, 4, lc) addTooltipProperty("ManaRegen", lc) function setPreferFriendlies(int level, bool value) def.setLvlDataBoolean("Roa6", level, 6, value) function presetPreferFriendlies(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa6", lvls, 6, lc) addTooltipProperty("PreferFriendlies", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Roa7", level, 7, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Roa7", lvls, 7, lc) addTooltipProperty("MaxUnits", lc) public class AbilityDefinitionTinkererDemolishLevel1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANd1') function setDamageMultiplierBuildings(int level, real value) def.setLvlDataUnreal("Nde2", level, 2, value) function presetDamageMultiplierBuildings(RealLevelClosure lc) def.setLevelsDataUnreal("Nde2", lvls, 2, lc) addTooltipProperty("DamageMultiplierBuildings", lc) function setDamageMultiplierUnits(int level, real value) def.setLvlDataUnreal("Nde3", level, 3, value) function presetDamageMultiplierUnits(RealLevelClosure lc) def.setLevelsDataUnreal("Nde3", lvls, 3, lc) addTooltipProperty("DamageMultiplierUnits", lc) function setDamageMultiplierHeroes(int level, real value) def.setLvlDataUnreal("Nde4", level, 4, value) function presetDamageMultiplierHeroes(RealLevelClosure lc) def.setLevelsDataUnreal("Nde4", lvls, 4, lc) addTooltipProperty("DamageMultiplierHeroes", lc) function setChancetoDemolish(int level, real value) def.setLvlDataUnreal("Nde1", level, 1, value) function presetChancetoDemolish(RealLevelClosure lc) def.setLevelsDataUnreal("Nde1", lvls, 1, lc) addTooltipProperty("ChancetoDemolish", lc) public class AbilityDefinitionTinkererDemolishLevel2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANd2') function setDamageMultiplierBuildings(int level, real value) def.setLvlDataUnreal("Nde2", level, 2, value) function presetDamageMultiplierBuildings(RealLevelClosure lc) def.setLevelsDataUnreal("Nde2", lvls, 2, lc) addTooltipProperty("DamageMultiplierBuildings", lc) function setDamageMultiplierUnits(int level, real value) def.setLvlDataUnreal("Nde3", level, 3, value) function presetDamageMultiplierUnits(RealLevelClosure lc) def.setLevelsDataUnreal("Nde3", lvls, 3, lc) addTooltipProperty("DamageMultiplierUnits", lc) function setDamageMultiplierHeroes(int level, real value) def.setLvlDataUnreal("Nde4", level, 4, value) function presetDamageMultiplierHeroes(RealLevelClosure lc) def.setLevelsDataUnreal("Nde4", lvls, 4, lc) addTooltipProperty("DamageMultiplierHeroes", lc) function setChancetoDemolish(int level, real value) def.setLvlDataUnreal("Nde1", level, 1, value) function presetChancetoDemolish(RealLevelClosure lc) def.setLevelsDataUnreal("Nde1", lvls, 1, lc) addTooltipProperty("ChancetoDemolish", lc) public class AbilityDefinitionAttributeModifierSkill extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aamk') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionDispelMagic extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adis') function setManaLoss(int level, real value) def.setLvlDataUnreal("Adm1", level, 1, value) function presetManaLoss(RealLevelClosure lc) def.setLevelsDataUnreal("Adm1", lvls, 1, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Adm2", level, 2, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Adm2", lvls, 2, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionBashBeastmasterBear extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANbh') function setNeverMiss(int level, bool value) def.setLvlDataBoolean("Hbh5", level, 5, value) function presetNeverMiss(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hbh5", lvls, 5, lc) addTooltipProperty("NeverMiss", lc) public class AbilityDefinitionBrewmasterBreathofFire extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANbf') function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ucs2", level, 2, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs2", lvls, 2, lc) addTooltipProperty("MaxDamage", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Nbf5", level, 5, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Nbf5", lvls, 5, lc) addTooltipProperty("DamagePerSecond", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Ucs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Ucs4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Ucs3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs3", lvls, 3, lc) addTooltipProperty("Distance", lc) public class AbilityDefinitionPolymorph extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aply') function setMorphUnitsGround(int level, string value) def.setLvlDataString("Ply2", level, 2, value) function presetMorphUnitsGround(StringLevelClosure lc) def.setLevelsDataString("Ply2", lvls, 2, lc) addTooltipProperty("MorphUnitsGround", lc) function setMorphUnitsWater(int level, string value) def.setLvlDataString("Ply5", level, 5, value) function presetMorphUnitsWater(StringLevelClosure lc) def.setLevelsDataString("Ply5", lvls, 5, lc) addTooltipProperty("MorphUnitsWater", lc) function setMorphUnitsAmphibious(int level, string value) def.setLvlDataString("Ply4", level, 4, value) function presetMorphUnitsAmphibious(StringLevelClosure lc) def.setLevelsDataString("Ply4", lvls, 4, lc) addTooltipProperty("MorphUnitsAmphibious", lc) function setMorphUnitsAir(int level, string value) def.setLvlDataString("Ply3", level, 3, value) function presetMorphUnitsAir(StringLevelClosure lc) def.setLevelsDataString("Ply3", lvls, 3, lc) addTooltipProperty("MorphUnitsAir", lc) function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Ply1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Ply1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionPurgeorb extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIpg') function setHeroPauseDuration(int level, real value) def.setLvlDataUnreal("Prg5", level, 5, value) function presetHeroPauseDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Prg5", lvls, 5, lc) addTooltipProperty("HeroPauseDuration", lc) function setUnitPauseDuration(int level, real value) def.setLvlDataUnreal("Prg4", level, 4, value) function presetUnitPauseDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Prg4", lvls, 4, lc) addTooltipProperty("UnitPauseDuration", lc) function setMovementUpdateFrequency(int level, int value) def.setLvlDataInt("Prg1", level, 1, value) function presetMovementUpdateFrequency(IntLevelClosure lc) def.setLevelsDataInt("Prg1", lvls, 1, lc) addTooltipProperty("MovementUpdateFrequency", lc) function setAttackUpdateFrequency(int level, int value) def.setLvlDataInt("Prg2", level, 2, value) function presetAttackUpdateFrequency(IntLevelClosure lc) def.setLevelsDataInt("Prg2", lvls, 2, lc) addTooltipProperty("AttackUpdateFrequency", lc) function setManaLoss(int level, int value) def.setLvlDataInt("Prg6", level, 6, value) function presetManaLoss(IntLevelClosure lc) def.setLevelsDataInt("Prg6", lvls, 6, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Prg3", level, 3, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Prg3", lvls, 3, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionDarkRangerBlackArrow extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANba') function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Nba2", level, 2, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Nba2", lvls, 2, lc) addTooltipProperty("NumberofSummonedUnits", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Nba1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Nba1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Nbau", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Nbau", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) function setSummonedUnitDurationseconds(int level, real value) def.setLvlDataUnreal("Nba3", level, 3, value) function presetSummonedUnitDurationseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Nba3", lvls, 3, lc) addTooltipProperty("SummonedUnitDurationseconds", lc) public class AbilityDefinitionCargoHoldEntangledGoldMine extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aenc') function setCargoCapacity(int level, int value) def.setLvlDataInt("Car1", level, 1, value) function presetCargoCapacity(IntLevelClosure lc) def.setLevelsDataInt("Car1", lvls, 1, lc) addTooltipProperty("CargoCapacity", lc) public class AbilityDefinitionAerialShackles extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amls') function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("mls1", level, 1, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("mls1", lvls, 1, lc) addTooltipProperty("DamagePerSecond", lc) public class AbilityDefinitionOrbofVenom extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIpb') function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("Iob5", level, 5, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("Iob5", lvls, 5, lc) addTooltipProperty("EnabledAttackIndex", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Idam", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Idam", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setDamageBonusDice(int level, int value) def.setLvlDataInt("Idic", level, 1, value) function presetDamageBonusDice(IntLevelClosure lc) def.setLevelsDataInt("Idic", lvls, 1, lc) addTooltipProperty("DamageBonusDice", lc) public class AbilityDefinitionDetectShade extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Atru') function setDetectionType(int level, string value) def.setLvlDataString("Det1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Det1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionAlliedBuilding extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aall') function setShowUnitIndicator(int level, bool value) def.setLvlDataBoolean("Neu4", level, 4, value) function presetShowUnitIndicator(BooleanLevelClosure lc) def.setLevelsDataBoolean("Neu4", lvls, 4, lc) addTooltipProperty("ShowUnitIndicator", lc) function setActivationRadius(int level, real value) def.setLvlDataUnreal("Neu1", level, 1, value) function presetActivationRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Neu1", lvls, 1, lc) addTooltipProperty("ActivationRadius", lc) function setShowSelectUnitButton(int level, bool value) def.setLvlDataBoolean("Neu3", level, 3, value) function presetShowSelectUnitButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Neu3", lvls, 3, lc) addTooltipProperty("ShowSelectUnitButton", lc) function setInteractionType(int level, string value) def.setLvlDataString("Neu2", level, 2, value) function presetInteractionType(StringLevelClosure lc) def.setLevelsDataString("Neu2", lvls, 2, lc) addTooltipProperty("InteractionType", lc) public class AbilityDefinitionControlMagic extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acmg') function setChargeforCurrentLife(int level, real value) def.setLvlDataUnreal("Cmg3", level, 3, value) function presetChargeforCurrentLife(RealLevelClosure lc) def.setLevelsDataUnreal("Cmg3", lvls, 3, lc) addTooltipProperty("ChargeforCurrentLife", lc) function setManaperSummonedHitpoint(int level, real value) def.setLvlDataUnreal("Cmg2", level, 2, value) function presetManaperSummonedHitpoint(RealLevelClosure lc) def.setLevelsDataUnreal("Cmg2", lvls, 2, lc) addTooltipProperty("ManaperSummonedHitpoint", lc) function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Nch1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Nch1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) public class AbilityDefinitionDreadlordCarrionSwarm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUcs') function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ucs2", level, 2, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs2", lvls, 2, lc) addTooltipProperty("MaxDamage", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Ucs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Ucs4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Ucs3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs3", lvls, 3, lc) addTooltipProperty("Distance", lc) public class AbilityDefinitionAllPlus1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIx1') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionAllPlus2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIx2') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionCrownofKingsAllPlus5 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIx5') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionCorrosiveBreath extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acor') function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Cor1", level, 1, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Cor1", lvls, 1, lc) addTooltipProperty("DamagePerSecond", lc) public class AbilityDefinitionRootAncients extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aro1') function setUprootedDefenseType(int level, string value) def.setLvlDataString("Roo4", level, 4, value) function presetUprootedDefenseType(StringLevelClosure lc) def.setLevelsDataString("Roo4", lvls, 4, lc) addTooltipProperty("UprootedDefenseType", lc) function setRootedTurning(int level, bool value) def.setLvlDataBoolean("Roo3", level, 3, value) function presetRootedTurning(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roo3", lvls, 3, lc) addTooltipProperty("RootedTurning", lc) function setUprootedWeapons(int level, string value) def.setLvlDataString("Roo2", level, 2, value) function presetUprootedWeapons(StringLevelClosure lc) def.setLevelsDataString("Roo2", lvls, 2, lc) addTooltipProperty("UprootedWeapons", lc) function setRootedWeapons(int level, string value) def.setLvlDataString("Roo1", level, 1, value) function presetRootedWeapons(StringLevelClosure lc) def.setLevelsDataString("Roo1", lvls, 1, lc) addTooltipProperty("RootedWeapons", lc) public class AbilityDefinitionRootAncientProtector extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aro2') function setUprootedDefenseType(int level, string value) def.setLvlDataString("Roo4", level, 4, value) function presetUprootedDefenseType(StringLevelClosure lc) def.setLevelsDataString("Roo4", lvls, 4, lc) addTooltipProperty("UprootedDefenseType", lc) function setRootedTurning(int level, bool value) def.setLvlDataBoolean("Roo3", level, 3, value) function presetRootedTurning(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roo3", lvls, 3, lc) addTooltipProperty("RootedTurning", lc) function setUprootedWeapons(int level, string value) def.setLvlDataString("Roo2", level, 2, value) function presetUprootedWeapons(StringLevelClosure lc) def.setLevelsDataString("Roo2", lvls, 2, lc) addTooltipProperty("UprootedWeapons", lc) function setRootedWeapons(int level, string value) def.setLvlDataString("Roo1", level, 1, value) function presetRootedWeapons(StringLevelClosure lc) def.setLevelsDataString("Roo1", lvls, 1, lc) addTooltipProperty("RootedWeapons", lc) public class AbilityDefinitionFactory extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANfy') function setSpawnUnitID(int level, string value) def.setLvlDataString("Nfyu", level, 0, value) function presetSpawnUnitID(StringLevelClosure lc) def.setLevelsDataString("Nfyu", lvls, 0, lc) addTooltipProperty("SpawnUnitID", lc) function setLeashRange(int level, real value) def.setLvlDataUnreal("Nfy2", level, 2, value) function presetLeashRange(RealLevelClosure lc) def.setLevelsDataUnreal("Nfy2", lvls, 2, lc) addTooltipProperty("LeashRange", lc) function setSpawnInterval(int level, real value) def.setLvlDataUnreal("Nfy1", level, 1, value) function presetSpawnInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Nfy1", lvls, 1, lc) addTooltipProperty("SpawnInterval", lc) public class AbilityDefinitionKeeperoftheGroveForceofNature extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEfn') function setSummonedUnitType(int level, string value) def.setLvlDataString("Efnu", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Efnu", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Efn1", level, 1, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Efn1", lvls, 1, lc) addTooltipProperty("NumberofSummonedUnits", lc) public class AbilityDefinitionLichDeathandDecay extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUdd') function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Udd2", level, 2, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Udd2", lvls, 2, lc) addTooltipProperty("BuildingReduction", lc) function setMaxLifeDrainedperSecond(int level, real value) def.setLvlDataUnreal("Udd1", level, 1, value) function presetMaxLifeDrainedperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Udd1", lvls, 1, lc) addTooltipProperty("MaxLifeDrainedperSecond", lc) public class AbilityDefinitionItemWeb extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIwb') function setAirUnitHeight(int level, real value) def.setLvlDataUnreal("Ens2", level, 2, value) function presetAirUnitHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Ens2", lvls, 2, lc) addTooltipProperty("AirUnitHeight", lc) function setAirUnitLowerDuration(int level, real value) def.setLvlDataUnreal("Ens1", level, 1, value) function presetAirUnitLowerDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ens1", lvls, 1, lc) addTooltipProperty("AirUnitLowerDuration", lc) function setMeleeAttackRange(int level, real value) def.setLvlDataUnreal("Ens3", level, 3, value) function presetMeleeAttackRange(RealLevelClosure lc) def.setLevelsDataUnreal("Ens3", lvls, 3, lc) addTooltipProperty("MeleeAttackRange", lc) public class AbilityDefinitionWardenFanofKnives extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEfk') function setMaximumSpeedAdjustment(int level, real value) def.setLvlDataUnreal("Efk4", level, 4, value) function presetMaximumSpeedAdjustment(RealLevelClosure lc) def.setLevelsDataUnreal("Efk4", lvls, 4, lc) addTooltipProperty("MaximumSpeedAdjustment", lc) function setMaximumNumberofTargets(int level, int value) def.setLvlDataInt("Efk3", level, 3, value) function presetMaximumNumberofTargets(IntLevelClosure lc) def.setLevelsDataInt("Efk3", lvls, 3, lc) addTooltipProperty("MaximumNumberofTargets", lc) function setDamagePerTarget(int level, real value) def.setLvlDataUnreal("Efk1", level, 1, value) function presetDamagePerTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Efk1", lvls, 1, lc) addTooltipProperty("DamagePerTarget", lc) function setMaximumTotalDamage(int level, real value) def.setLvlDataUnreal("Efk2", level, 2, value) function presetMaximumTotalDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Efk2", lvls, 2, lc) addTooltipProperty("MaximumTotalDamage", lc) public class AbilityDefinitionBattlestationsChaos extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sbtl') function setSummonBusyUnits(int level, bool value) def.setLvlDataBoolean("Btl2", level, 2, value) function presetSummonBusyUnits(BooleanLevelClosure lc) def.setLevelsDataBoolean("Btl2", lvls, 2, lc) addTooltipProperty("SummonBusyUnits", lc) function setAllowedUnitType(int level, string value) def.setLvlDataString("Btl1", level, 0, value) function presetAllowedUnitType(StringLevelClosure lc) def.setLevelsDataString("Btl1", lvls, 0, lc) addTooltipProperty("AllowedUnitType", lc) public class AbilityDefinitionCorporealForm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acpf') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionDeathKnightDeathCoil extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUdc') function setAmountHealedDamaged(int level, real value) def.setLvlDataUnreal("Udc1", level, 1, value) function presetAmountHealedDamaged(RealLevelClosure lc) def.setLevelsDataUnreal("Udc1", lvls, 1, lc) addTooltipProperty("AmountHealedDamaged", lc) public class AbilityDefinitionPhaseShift extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apsh') function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Hbn2", level, 2, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hbn2", lvls, 2, lc) addTooltipProperty("AttackSpeedReduction", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Hbn1", level, 1, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hbn1", lvls, 1, lc) addTooltipProperty("MovementSpeedReduction", lc) public class AbilityDefinitionSleepAlways extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asla') function setSleepOnce(int level, bool value) def.setLvlDataBoolean("sla1", level, 1, value) function presetSleepOnce(BooleanLevelClosure lc) def.setLevelsDataBoolean("sla1", lvls, 1, lc) addTooltipProperty("SleepOnce", lc) function setAllowOnAnyPlayerSlot(int level, bool value) def.setLvlDataBoolean("sla2", level, 2, value) function presetAllowOnAnyPlayerSlot(BooleanLevelClosure lc) def.setLevelsDataBoolean("sla2", lvls, 2, lc) addTooltipProperty("AllowOnAnyPlayerSlot", lc) public class AbilityDefinitionFigurineUrsaWarrior extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIuw') function setSummonUnitType(int level, string value) def.setLvlDataString("Ist2", level, 4, value) function presetSummonUnitType(StringLevelClosure lc) def.setLevelsDataString("Ist2", lvls, 4, lc) addTooltipProperty("SummonUnitType", lc) function setSummonAmount(int level, int value) def.setLvlDataInt("Isn2", level, 2, value) function presetSummonAmount(IntLevelClosure lc) def.setLevelsDataInt("Isn2", lvls, 2, lc) addTooltipProperty("SummonAmount", lc) function setSummonUnitType1(int level, string value) def.setLvlDataString("Ist1", level, 3, value) function presetSummonUnitType1(StringLevelClosure lc) def.setLevelsDataString("Ist1", lvls, 3, lc) addTooltipProperty("SummonUnitType1", lc) function setSummonAmount1(int level, int value) def.setLvlDataInt("Isn1", level, 1, value) function presetSummonAmount1(IntLevelClosure lc) def.setLevelsDataInt("Isn1", lvls, 1, lc) addTooltipProperty("SummonAmount1", lc) public class AbilityDefinitionElunesGrace extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aegr') function setChancetoDeflect(int level, real value) def.setLvlDataUnreal("Def6", level, 6, value) function presetChancetoDeflect(RealLevelClosure lc) def.setLevelsDataUnreal("Def6", lvls, 6, lc) addTooltipProperty("ChancetoDeflect", lc) function setDeflectDamageTakenSpells(int level, real value) def.setLvlDataUnreal("Def8", level, 8, value) function presetDeflectDamageTakenSpells(RealLevelClosure lc) def.setLevelsDataUnreal("Def8", lvls, 8, lc) addTooltipProperty("DeflectDamageTakenSpells", lc) function setDeflectDamageTakenPiercing(int level, real value) def.setLvlDataUnreal("Def7", level, 7, value) function presetDeflectDamageTakenPiercing(RealLevelClosure lc) def.setLevelsDataUnreal("Def7", lvls, 7, lc) addTooltipProperty("DeflectDamageTakenPiercing", lc) public class AbilityDefinitionReturnLumber extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arlm') function setAcceptsGold(int level, bool value) def.setLvlDataBoolean("Rtn1", level, 1, value) function presetAcceptsGold(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rtn1", lvls, 1, lc) addTooltipProperty("AcceptsGold", lc) function setAcceptsLumber(int level, bool value) def.setLvlDataBoolean("Rtn2", level, 2, value) function presetAcceptsLumber(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rtn2", lvls, 2, lc) addTooltipProperty("AcceptsLumber", lc) public class AbilityDefinitionRegenLifeArll extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arll') function setHitPointsRegeneratedPerSecond(int level, int value) def.setLvlDataInt("Ihpr", level, 1, value) function presetHitPointsRegeneratedPerSecond(IntLevelClosure lc) def.setLevelsDataInt("Ihpr", lvls, 1, lc) addTooltipProperty("HitPointsRegeneratedPerSecond", lc) public class AbilityDefinitionDemonHunterEvasion extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEev') function setChancetoEvade(int level, real value) def.setLvlDataUnreal("Eev1", level, 1, value) function presetChancetoEvade(RealLevelClosure lc) def.setLevelsDataUnreal("Eev1", lvls, 1, lc) addTooltipProperty("ChancetoEvade", lc) public class AbilityDefinitionPitLordHowlofTerror extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANht') function setDamageIncrease(int level, real value) def.setLvlDataUnreal("Roa1", level, 1, value) function presetDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Roa1", lvls, 1, lc) addTooltipProperty("DamageIncrease", lc) function setDefenseIncrease(int level, int value) def.setLvlDataInt("Roa2", level, 2, value) function presetDefenseIncrease(IntLevelClosure lc) def.setLevelsDataInt("Roa2", lvls, 2, lc) addTooltipProperty("DefenseIncrease", lc) function setPreferHostiles(int level, bool value) def.setLvlDataBoolean("Roa5", level, 5, value) function presetPreferHostiles(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa5", lvls, 5, lc) addTooltipProperty("PreferHostiles", lc) function setManaRegen(int level, real value) def.setLvlDataUnreal("Roa4", level, 4, value) function presetManaRegen(RealLevelClosure lc) def.setLevelsDataUnreal("Roa4", lvls, 4, lc) addTooltipProperty("ManaRegen", lc) function setLifeRegenerationRate(int level, real value) def.setLvlDataUnreal("Roa3", level, 3, value) function presetLifeRegenerationRate(RealLevelClosure lc) def.setLevelsDataUnreal("Roa3", lvls, 3, lc) addTooltipProperty("LifeRegenerationRate", lc) function setPreferFriendlies(int level, bool value) def.setLvlDataBoolean("Roa6", level, 6, value) function presetPreferFriendlies(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa6", lvls, 6, lc) addTooltipProperty("PreferFriendlies", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Roa7", level, 7, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Roa7", lvls, 7, lc) addTooltipProperty("MaxUnits", lc) public class AbilityDefinitionAlchemistHealingSpray extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANhs') function setDamageInterval(int level, real value) def.setLvlDataUnreal("Ncs2", level, 2, value) function presetDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs2", lvls, 2, lc) addTooltipProperty("DamageInterval", lc) function setMaxDamage(int level, real value) def.setLvlDataUnreal("Ncs4", level, 4, value) function presetMaxDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs4", lvls, 4, lc) addTooltipProperty("MaxDamage", lc) function setMissileCount(int level, int value) def.setLvlDataInt("Ncs3", level, 3, value) function presetMissileCount(IntLevelClosure lc) def.setLevelsDataInt("Ncs3", lvls, 3, lc) addTooltipProperty("MissileCount", lc) function setWaveCount(int level, int value) def.setLvlDataInt("Nhs6", level, 6, value) function presetWaveCount(IntLevelClosure lc) def.setLevelsDataInt("Nhs6", lvls, 6, lc) addTooltipProperty("WaveCount", lc) function setDamageAmount(int level, real value) def.setLvlDataUnreal("Ncs1", level, 1, value) function presetDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs1", lvls, 1, lc) addTooltipProperty("DamageAmount", lc) function setBuildingDamageFactor(int level, real value) def.setLvlDataUnreal("Ncs5", level, 5, value) function presetBuildingDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Ncs5", lvls, 5, lc) addTooltipProperty("BuildingDamageFactor", lc) public class AbilityDefinitionEntangledGoldMine extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aegm') function setIntervalDuration(int level, real value) def.setLvlDataUnreal("Egm2", level, 2, value) function presetIntervalDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Egm2", lvls, 2, lc) addTooltipProperty("IntervalDuration", lc) function setGoldperInterval(int level, int value) def.setLvlDataInt("Egm1", level, 1, value) function presetGoldperInterval(IntLevelClosure lc) def.setLevelsDataInt("Egm1", lvls, 1, lc) addTooltipProperty("GoldperInterval", lc) public class AbilityDefinitionKeeperoftheGroveEntanglingRoots extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AEer') function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Eer1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Eer1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionLightningShield extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Alsh') function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Lsh1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Lsh1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionVampiricattackAIva extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIva') function setLifeStolenPerAttack(int level, real value) def.setLvlDataUnreal("Ivam", level, 1, value) function presetLifeStolenPerAttack(RealLevelClosure lc) def.setLevelsDataUnreal("Ivam", lvls, 1, lc) addTooltipProperty("LifeStolenPerAttack", lc) public class AbilityDefinitionCoupleHippogryph extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acoh') function setResultingUnitType(int level, string value) def.setLvlDataString("coau", level, 0, value) function presetResultingUnitType(StringLevelClosure lc) def.setLevelsDataString("coau", lvls, 0, lc) addTooltipProperty("ResultingUnitType", lc) function setPartnerUnitType(int level, string value) def.setLvlDataString("coa1", level, 1, value) function presetPartnerUnitType(StringLevelClosure lc) def.setLevelsDataString("coa1", lvls, 1, lc) addTooltipProperty("PartnerUnitType", lc) public class AbilityDefinitionPaladinResurrection extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHre') function setRaisedUnitsAreInvulnerable(int level, bool value) def.setLvlDataBoolean("Hre2", level, 2, value) function presetRaisedUnitsAreInvulnerable(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hre2", lvls, 2, lc) addTooltipProperty("RaisedUnitsAreInvulnerable", lc) function setNumberofCorpsesRaised(int level, int value) def.setLvlDataInt("Hre1", level, 1, value) function presetNumberofCorpsesRaised(IntLevelClosure lc) def.setLevelsDataInt("Hre1", lvls, 1, lc) addTooltipProperty("NumberofCorpsesRaised", lc) public class AbilityDefinitionCryptLordCarrionScarabs extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUcb') function setUnitsSummonedTypeOne(int level, int value) def.setLvlDataInt("Rai1", level, 1, value) function presetUnitsSummonedTypeOne(IntLevelClosure lc) def.setLevelsDataInt("Rai1", lvls, 1, lc) addTooltipProperty("UnitsSummonedTypeOne", lc) function setUnitsSummonedTypeTwo(int level, int value) def.setLvlDataInt("Rai2", level, 2, value) function presetUnitsSummonedTypeTwo(IntLevelClosure lc) def.setLevelsDataInt("Rai2", lvls, 2, lc) addTooltipProperty("UnitsSummonedTypeTwo", lc) function setKillOnCasterDeath(int level, bool value) def.setLvlDataBoolean("Ucb6", level, 6, value) function presetKillOnCasterDeath(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ucb6", lvls, 6, lc) addTooltipProperty("KillOnCasterDeath", lc) function setMaxUnitsSummoned(int level, int value) def.setLvlDataInt("Ucb5", level, 5, value) function presetMaxUnitsSummoned(IntLevelClosure lc) def.setLevelsDataInt("Ucb5", lvls, 5, lc) addTooltipProperty("MaxUnitsSummoned", lc) function setUnitTypeTwo(int level, string value) def.setLvlDataString("Rai4", level, 4, value) function presetUnitTypeTwo(StringLevelClosure lc) def.setLevelsDataString("Rai4", lvls, 4, lc) addTooltipProperty("UnitTypeTwo", lc) function setUnitTypeOne(int level, string value) def.setLvlDataString("Rai3", level, 3, value) function presetUnitTypeOne(StringLevelClosure lc) def.setLevelsDataString("Rai3", lvls, 3, lc) addTooltipProperty("UnitTypeOne", lc) public class AbilityDefinitionBerserkerUpgrade extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sbsk') function setNewUnitType(int level, string value) def.setLvlDataString("Cha1", level, 0, value) function presetNewUnitType(StringLevelClosure lc) def.setLevelsDataString("Cha1", lvls, 0, lc) addTooltipProperty("NewUnitType", lc) public class AbilityDefinitionRuneofGreaterResurrection extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'APrr') function setRaisedUnitsAreInvulnerable(int level, bool value) def.setLvlDataBoolean("Hre2", level, 2, value) function presetRaisedUnitsAreInvulnerable(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hre2", lvls, 2, lc) addTooltipProperty("RaisedUnitsAreInvulnerable", lc) public class AbilityDefinitionManaFlare extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amfl') function setHeroMaximumDamage(int level, real value) def.setLvlDataUnreal("mfl4", level, 4, value) function presetHeroMaximumDamage(RealLevelClosure lc) def.setLevelsDataUnreal("mfl4", lvls, 4, lc) addTooltipProperty("HeroMaximumDamage", lc) function setHeroDamagePerManaPoint(int level, real value) def.setLvlDataUnreal("mfl2", level, 2, value) function presetHeroDamagePerManaPoint(RealLevelClosure lc) def.setLevelsDataUnreal("mfl2", lvls, 2, lc) addTooltipProperty("HeroDamagePerManaPoint", lc) function setCasterOnlySplash(int level, bool value) def.setLvlDataBoolean("mfl6", level, 6, value) function presetCasterOnlySplash(BooleanLevelClosure lc) def.setLevelsDataBoolean("mfl6", lvls, 6, lc) addTooltipProperty("CasterOnlySplash", lc) function setDamageCooldown(int level, real value) def.setLvlDataUnreal("mfl5", level, 5, value) function presetDamageCooldown(RealLevelClosure lc) def.setLevelsDataUnreal("mfl5", lvls, 5, lc) addTooltipProperty("DamageCooldown", lc) function setUnitDamagePerManaPoint(int level, real value) def.setLvlDataUnreal("mfl1", level, 1, value) function presetUnitDamagePerManaPoint(RealLevelClosure lc) def.setLevelsDataUnreal("mfl1", lvls, 1, lc) addTooltipProperty("UnitDamagePerManaPoint", lc) function setUnitMaximumDamage(int level, real value) def.setLvlDataUnreal("mfl3", level, 3, value) function presetUnitMaximumDamage(RealLevelClosure lc) def.setLevelsDataUnreal("mfl3", lvls, 3, lc) addTooltipProperty("UnitMaximumDamage", lc) public class AbilityDefinitionTaurenChieftainReincarnation extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOre') function setReincarnationDelay(int level, real value) def.setLvlDataUnreal("Ore1", level, 1, value) function presetReincarnationDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Ore1", lvls, 1, lc) addTooltipProperty("ReincarnationDelay", lc) public class AbilityDefinitionCoupleArcher extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acoa') function setResultingUnitType(int level, string value) def.setLvlDataString("coau", level, 0, value) function presetResultingUnitType(StringLevelClosure lc) def.setLevelsDataString("coau", lvls, 0, lc) addTooltipProperty("ResultingUnitType", lc) function setPartnerUnitType(int level, string value) def.setLvlDataString("coa1", level, 1, value) function presetPartnerUnitType(StringLevelClosure lc) def.setLevelsDataString("coa1", lvls, 1, lc) addTooltipProperty("PartnerUnitType", lc) public class AbilityDefinitionBallsofFire extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abof') function setBuildingReduction(int level, real value) def.setLvlDataUnreal("Hfs5", level, 5, value) function presetBuildingReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs5", lvls, 5, lc) addTooltipProperty("BuildingReduction", lc) function setMaximumDamage(int level, real value) def.setLvlDataUnreal("Hfs6", level, 6, value) function presetMaximumDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs6", lvls, 6, lc) addTooltipProperty("MaximumDamage", lc) function setHalfDamageDealt(int level, real value) def.setLvlDataUnreal("Hfs3", level, 3, value) function presetHalfDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs3", lvls, 3, lc) addTooltipProperty("HalfDamageDealt", lc) function setFullDamageDealt(int level, real value) def.setLvlDataUnreal("Hfs1", level, 1, value) function presetFullDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs1", lvls, 1, lc) addTooltipProperty("FullDamageDealt", lc) function setHalfDamageInterval(int level, real value) def.setLvlDataUnreal("Hfs4", level, 4, value) function presetHalfDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs4", lvls, 4, lc) addTooltipProperty("HalfDamageInterval", lc) function setFullDamageInterval(int level, real value) def.setLvlDataUnreal("Hfs2", level, 2, value) function presetFullDamageInterval(RealLevelClosure lc) def.setLevelsDataUnreal("Hfs2", lvls, 2, lc) addTooltipProperty("FullDamageInterval", lc) public class AbilityDefinitionPurge extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aprg') function setHeroPauseDuration(int level, real value) def.setLvlDataUnreal("Prg5", level, 5, value) function presetHeroPauseDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Prg5", lvls, 5, lc) addTooltipProperty("HeroPauseDuration", lc) function setUnitPauseDuration(int level, real value) def.setLvlDataUnreal("Prg4", level, 4, value) function presetUnitPauseDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Prg4", lvls, 4, lc) addTooltipProperty("UnitPauseDuration", lc) function setMovementUpdateFrequency(int level, int value) def.setLvlDataInt("Prg1", level, 1, value) function presetMovementUpdateFrequency(IntLevelClosure lc) def.setLevelsDataInt("Prg1", lvls, 1, lc) addTooltipProperty("MovementUpdateFrequency", lc) function setAttackUpdateFrequency(int level, int value) def.setLvlDataInt("Prg2", level, 2, value) function presetAttackUpdateFrequency(IntLevelClosure lc) def.setLevelsDataInt("Prg2", lvls, 2, lc) addTooltipProperty("AttackUpdateFrequency", lc) function setManaLoss(int level, int value) def.setLvlDataInt("Prg6", level, 6, value) function presetManaLoss(IntLevelClosure lc) def.setLevelsDataInt("Prg6", lvls, 6, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Prg3", level, 3, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Prg3", lvls, 3, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionSlow extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aslo') function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Slo1", level, 1, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Slo1", lvls, 1, lc) addTooltipProperty("MovementSpeedFactor", lc) function setAlwaysAutocast(int level, bool value) def.setLvlDataBoolean("Slo3", level, 3, value) function presetAlwaysAutocast(BooleanLevelClosure lc) def.setLevelsDataBoolean("Slo3", lvls, 3, lc) addTooltipProperty("AlwaysAutocast", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Slo2", level, 2, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Slo2", lvls, 2, lc) addTooltipProperty("AttackSpeedFactor", lc) public class AbilityDefinitionRuneofLesserResurrection extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'APrl') function setRaisedUnitsAreInvulnerable(int level, bool value) def.setLvlDataBoolean("Hre2", level, 2, value) function presetRaisedUnitsAreInvulnerable(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hre2", lvls, 2, lc) addTooltipProperty("RaisedUnitsAreInvulnerable", lc) public class AbilityDefinitionItemTownPortal extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItp') function setMaximumNumberofUnits(int level, int value) def.setLvlDataInt("Itpm", level, 1, value) function presetMaximumNumberofUnits(IntLevelClosure lc) def.setLevelsDataInt("Itpm", lvls, 1, lc) addTooltipProperty("MaximumNumberofUnits", lc) function setUseTeleportClustering(int level, bool value) def.setLvlDataBoolean("Itp2", level, 2, value) function presetUseTeleportClustering(BooleanLevelClosure lc) def.setLevelsDataBoolean("Itp2", lvls, 2, lc) addTooltipProperty("UseTeleportClustering", lc) public class AbilityDefinitionTinkererRoboGoblinLevel1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANg1') function setStrengthBonus(int level, int value) def.setLvlDataInt("Nrg5", level, 5, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Nrg5", lvls, 5, lc) addTooltipProperty("StrengthBonus", lc) function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setDefenseBonus(int level, int value) def.setLvlDataInt("Nrg6", level, 6, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Nrg6", lvls, 6, lc) addTooltipProperty("DefenseBonus", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionMilitia extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amil') function setAlternateFormUnit(int level, string value) def.setLvlDataString("Mil2", level, 2, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Mil2", lvls, 2, lc) addTooltipProperty("AlternateFormUnit", lc) function setNormalFormUnit(int level, string value) def.setLvlDataString("Mil1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Mil1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) public class AbilityDefinitionVengeance extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Avng') function setUnitsSummonedTypeTwo(int level, int value) def.setLvlDataInt("Rai2", level, 2, value) function presetUnitsSummonedTypeTwo(IntLevelClosure lc) def.setLevelsDataInt("Rai2", lvls, 2, lc) addTooltipProperty("UnitsSummonedTypeTwo", lc) function setKillOnCasterDeath(int level, bool value) def.setLvlDataBoolean("Ucb6", level, 6, value) function presetKillOnCasterDeath(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ucb6", lvls, 6, lc) addTooltipProperty("KillOnCasterDeath", lc) function setMaxUnitsSummoned(int level, int value) def.setLvlDataInt("Ucb5", level, 5, value) function presetMaxUnitsSummoned(IntLevelClosure lc) def.setLevelsDataInt("Ucb5", lvls, 5, lc) addTooltipProperty("MaxUnitsSummoned", lc) function setUnitTypeOne(int level, string value) def.setLvlDataString("Rai3", level, 3, value) function presetUnitTypeOne(StringLevelClosure lc) def.setLevelsDataString("Rai3", lvls, 3, lc) addTooltipProperty("UnitTypeOne", lc) function setUnitsSummonedTypeOne(int level, int value) def.setLvlDataInt("Rai1", level, 1, value) function presetUnitsSummonedTypeOne(IntLevelClosure lc) def.setLevelsDataInt("Rai1", lvls, 1, lc) addTooltipProperty("UnitsSummonedTypeOne", lc) function setUnitTypeForLimitCheck(int level, string value) def.setLvlDataString("Raiu", level, 0, value) function presetUnitTypeForLimitCheck(StringLevelClosure lc) def.setLevelsDataString("Raiu", lvls, 0, lc) addTooltipProperty("UnitTypeForLimitCheck", lc) function setUnitTypeTwo(int level, string value) def.setLvlDataString("Rai4", level, 4, value) function presetUnitTypeTwo(StringLevelClosure lc) def.setLevelsDataString("Rai4", lvls, 4, lc) addTooltipProperty("UnitTypeTwo", lc) public class AbilityDefinitionIntelligenceModPlus2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItm') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionAttackBonusPlus8 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItl') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionAttackBonusPlus10 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItn') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionTinkererRoboGoblinLevel3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANg3') function setStrengthBonus(int level, int value) def.setLvlDataInt("Nrg5", level, 5, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Nrg5", lvls, 5, lc) addTooltipProperty("StrengthBonus", lc) function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setDefenseBonus(int level, int value) def.setLvlDataInt("Nrg6", level, 6, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Nrg6", lvls, 6, lc) addTooltipProperty("DefenseBonus", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionDeathDamageAOEsapper extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adda') function setPartialDamageAmount(int level, real value) def.setLvlDataUnreal("Dda4", level, 4, value) function presetPartialDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda4", lvls, 4, lc) addTooltipProperty("PartialDamageAmount", lc) function setFullDamageRadius(int level, real value) def.setLvlDataUnreal("Dda1", level, 1, value) function presetFullDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda1", lvls, 1, lc) addTooltipProperty("FullDamageRadius", lc) function setFullDamageAmount(int level, real value) def.setLvlDataUnreal("Dda2", level, 2, value) function presetFullDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda2", lvls, 2, lc) addTooltipProperty("FullDamageAmount", lc) function setPartialDamageRadius(int level, real value) def.setLvlDataUnreal("Dda3", level, 3, value) function presetPartialDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda3", lvls, 3, lc) addTooltipProperty("PartialDamageRadius", lc) public class AbilityDefinitionAroo extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aroo') function setUprootedDefenseType(int level, string value) def.setLvlDataString("Roo4", level, 4, value) function presetUprootedDefenseType(StringLevelClosure lc) def.setLevelsDataString("Roo4", lvls, 4, lc) addTooltipProperty("UprootedDefenseType", lc) function setRootedTurning(int level, bool value) def.setLvlDataBoolean("Roo3", level, 3, value) function presetRootedTurning(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roo3", lvls, 3, lc) addTooltipProperty("RootedTurning", lc) function setUprootedWeapons(int level, string value) def.setLvlDataString("Roo2", level, 2, value) function presetUprootedWeapons(StringLevelClosure lc) def.setLevelsDataString("Roo2", lvls, 2, lc) addTooltipProperty("UprootedWeapons", lc) function setRootedWeapons(int level, string value) def.setLvlDataString("Roo1", level, 1, value) function presetRootedWeapons(StringLevelClosure lc) def.setLevelsDataString("Roo1", lvls, 1, lc) addTooltipProperty("RootedWeapons", lc) public class AbilityDefinitionTinkererRoboGoblinLevel2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANg2') function setStrengthBonus(int level, int value) def.setLvlDataInt("Nrg5", level, 5, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Nrg5", lvls, 5, lc) addTooltipProperty("StrengthBonus", lc) function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setDefenseBonus(int level, int value) def.setLvlDataInt("Nrg6", level, 6, value) function presetDefenseBonus(IntLevelClosure lc) def.setLevelsDataInt("Nrg6", lvls, 6, lc) addTooltipProperty("DefenseBonus", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionLichFrostArmor extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUfa') function setArmorDuration(int level, real value) def.setLvlDataUnreal("Ufa1", level, 1, value) function presetArmorDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ufa1", lvls, 1, lc) addTooltipProperty("ArmorDuration", lc) function setArmorBonus(int level, real value) def.setLvlDataUnreal("Ufa2", level, 2, value) function presetArmorBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Ufa2", lvls, 2, lc) addTooltipProperty("ArmorBonus", lc) public class AbilityDefinitionTankUpgrade extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Srtt') function setNewUnitType(int level, string value) def.setLvlDataString("Cha1", level, 0, value) function presetNewUnitType(StringLevelClosure lc) def.setLevelsDataString("Cha1", lvls, 0, lc) addTooltipProperty("NewUnitType", lc) public class AbilityDefinitionCripple extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acri') function setDamageReduction(int level, real value) def.setLvlDataUnreal("Cri3", level, 3, value) function presetDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Cri3", lvls, 3, lc) addTooltipProperty("DamageReduction", lc) function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Cri2", level, 2, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Cri2", lvls, 2, lc) addTooltipProperty("AttackSpeedReduction", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Cri1", level, 1, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Cri1", lvls, 1, lc) addTooltipProperty("MovementSpeedReduction", lc) public class AbilityDefinitionFlakCannon extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aflk') function setSmallDamageRadius(int level, real value) def.setLvlDataUnreal("flk2", level, 2, value) function presetSmallDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("flk2", lvls, 2, lc) addTooltipProperty("SmallDamageRadius", lc) function setSmallDamageAmount(int level, real value) def.setLvlDataUnreal("flk5", level, 5, value) function presetSmallDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("flk5", lvls, 5, lc) addTooltipProperty("SmallDamageAmount", lc) function setMediumDamageAmount(int level, real value) def.setLvlDataUnreal("flk4", level, 4, value) function presetMediumDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("flk4", lvls, 4, lc) addTooltipProperty("MediumDamageAmount", lc) function setMediumDamageRadius(int level, real value) def.setLvlDataUnreal("flk1", level, 1, value) function presetMediumDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("flk1", lvls, 1, lc) addTooltipProperty("MediumDamageRadius", lc) function setFullDamageAmount(int level, real value) def.setLvlDataUnreal("flk3", level, 3, value) function presetFullDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("flk3", lvls, 3, lc) addTooltipProperty("FullDamageAmount", lc) public class AbilityDefinitionPossessionChanneling extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aps2') function setTargetIsMagicImmune(int level, bool value) def.setLvlDataBoolean("Pos4", level, 4, value) function presetTargetIsMagicImmune(BooleanLevelClosure lc) def.setLevelsDataBoolean("Pos4", lvls, 4, lc) addTooltipProperty("TargetIsMagicImmune", lc) function setMaximumCreepLevel(int level, int value) def.setLvlDataInt("Pos1", level, 1, value) function presetMaximumCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Pos1", lvls, 1, lc) addTooltipProperty("MaximumCreepLevel", lc) function setDamageAmplification(int level, real value) def.setLvlDataUnreal("Pos2", level, 2, value) function presetDamageAmplification(RealLevelClosure lc) def.setLevelsDataUnreal("Pos2", lvls, 2, lc) addTooltipProperty("DamageAmplification", lc) function setTargetIsInvulnerable(int level, bool value) def.setLvlDataBoolean("Pos3", level, 3, value) function presetTargetIsInvulnerable(BooleanLevelClosure lc) def.setLevelsDataBoolean("Pos3", lvls, 3, lc) addTooltipProperty("TargetIsInvulnerable", lc) public class AbilityDefinitionRocketAttack extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aroc') function setMaximumNumberofTargets(int level, int value) def.setLvlDataInt("Efk3", level, 3, value) function presetMaximumNumberofTargets(IntLevelClosure lc) def.setLevelsDataInt("Efk3", lvls, 3, lc) addTooltipProperty("MaximumNumberofTargets", lc) function setDamagePerTarget(int level, real value) def.setLvlDataUnreal("Efk1", level, 1, value) function presetDamagePerTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Efk1", lvls, 1, lc) addTooltipProperty("DamagePerTarget", lc) function setMaximumTotalDamage(int level, real value) def.setLvlDataUnreal("Efk2", level, 2, value) function presetMaximumTotalDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Efk2", lvls, 2, lc) addTooltipProperty("MaximumTotalDamage", lc) public class AbilityDefinitionBrewmasterStormEarthandFire extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANef') function setSummonedUnitTypes(int level, string value) def.setLvlDataString("Nef1", level, 1, value) function presetSummonedUnitTypes(StringLevelClosure lc) def.setLevelsDataString("Nef1", lvls, 1, lc) addTooltipProperty("SummonedUnitTypes", lc) public class AbilityDefinitionTinkererEngineeringUpgrade extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANeg') function setAbilityUpgrade(int level, string value) def.setLvlDataString("Neg5", level, 5, value) function presetAbilityUpgrade(StringLevelClosure lc) def.setLevelsDataString("Neg5", lvls, 5, lc) addTooltipProperty("AbilityUpgrade", lc) function setAbilityUpgrade1(int level, string value) def.setLvlDataString("Neg4", level, 4, value) function presetAbilityUpgrade1(StringLevelClosure lc) def.setLevelsDataString("Neg4", lvls, 4, lc) addTooltipProperty("AbilityUpgrade1", lc) function setAbilityUpgrade2(int level, string value) def.setLvlDataString("Neg6", level, 6, value) function presetAbilityUpgrade2(StringLevelClosure lc) def.setLevelsDataString("Neg6", lvls, 6, lc) addTooltipProperty("AbilityUpgrade2", lc) function setMoveSpeedBonus(int level, real value) def.setLvlDataUnreal("Neg1", level, 1, value) function presetMoveSpeedBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Neg1", lvls, 1, lc) addTooltipProperty("MoveSpeedBonus", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Neg2", level, 2, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Neg2", lvls, 2, lc) addTooltipProperty("DamageBonus", lc) function setAbilityUpgrade3(int level, string value) def.setLvlDataString("Neg3", level, 3, value) function presetAbilityUpgrade3(StringLevelClosure lc) def.setLevelsDataString("Neg3", lvls, 3, lc) addTooltipProperty("AbilityUpgrade3", lc) public class AbilityDefinitionMine extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amin') function setActivationDelay(int level, real value) def.setLvlDataUnreal("Min1", level, 1, value) function presetActivationDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Min1", lvls, 1, lc) addTooltipProperty("ActivationDelay", lc) function setInvisibilityTransitionTime(int level, real value) def.setLvlDataUnreal("Min2", level, 2, value) function presetInvisibilityTransitionTime(RealLevelClosure lc) def.setLevelsDataUnreal("Min2", lvls, 2, lc) addTooltipProperty("InvisibilityTransitionTime", lc) public class AbilityDefinitionMagicImmunity extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amim') function setMagicDamageFactor(int level, real value) def.setLvlDataUnreal("mim1", level, 1, value) function presetMagicDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("mim1", lvls, 1, lc) addTooltipProperty("MagicDamageFactor", lc) public class AbilityDefinitionLichFrostNova extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUfn') function setAreaofEffectDamage(int level, real value) def.setLvlDataUnreal("Ufn1", level, 1, value) function presetAreaofEffectDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ufn1", lvls, 1, lc) addTooltipProperty("AreaofEffectDamage", lc) function setSpecificTargetDamage(int level, real value) def.setLvlDataUnreal("Ufn2", level, 2, value) function presetSpecificTargetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ufn2", lvls, 2, lc) addTooltipProperty("SpecificTargetDamage", lc) public class AbilityDefinitionRoar extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aroa') function setDamageIncrease(int level, real value) def.setLvlDataUnreal("Roa1", level, 1, value) function presetDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Roa1", lvls, 1, lc) addTooltipProperty("DamageIncrease", lc) function setDefenseIncrease(int level, int value) def.setLvlDataInt("Roa2", level, 2, value) function presetDefenseIncrease(IntLevelClosure lc) def.setLevelsDataInt("Roa2", lvls, 2, lc) addTooltipProperty("DefenseIncrease", lc) function setPreferHostiles(int level, bool value) def.setLvlDataBoolean("Roa5", level, 5, value) function presetPreferHostiles(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa5", lvls, 5, lc) addTooltipProperty("PreferHostiles", lc) function setManaRegen(int level, real value) def.setLvlDataUnreal("Roa4", level, 4, value) function presetManaRegen(RealLevelClosure lc) def.setLevelsDataUnreal("Roa4", lvls, 4, lc) addTooltipProperty("ManaRegen", lc) function setLifeRegenerationRate(int level, real value) def.setLvlDataUnreal("Roa3", level, 3, value) function presetLifeRegenerationRate(RealLevelClosure lc) def.setLevelsDataUnreal("Roa3", lvls, 3, lc) addTooltipProperty("LifeRegenerationRate", lc) function setPreferFriendlies(int level, bool value) def.setLvlDataBoolean("Roa6", level, 6, value) function presetPreferFriendlies(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa6", lvls, 6, lc) addTooltipProperty("PreferFriendlies", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Roa7", level, 7, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Roa7", lvls, 7, lc) addTooltipProperty("MaxUnits", lc) public class AbilityDefinitionRunedBracers extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsr') function setDamageBonus(int level, real value) def.setLvlDataUnreal("isr1", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("isr1", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) function setDamageReduction(int level, real value) def.setLvlDataUnreal("isr2", level, 2, value) function presetDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("isr2", lvls, 2, lc) addTooltipProperty("DamageReduction", lc) public class AbilityDefinitionLichDarkRitual extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUdr') function setLeaveTargetAlive(int level, bool value) def.setLvlDataBoolean("Udp5", level, 5, value) function presetLeaveTargetAlive(BooleanLevelClosure lc) def.setLevelsDataBoolean("Udp5", lvls, 5, lc) addTooltipProperty("LeaveTargetAlive", lc) function setLifeConvertedtoMana(int level, real value) def.setLvlDataUnreal("Udp1", level, 1, value) function presetLifeConvertedtoMana(RealLevelClosure lc) def.setLevelsDataUnreal("Udp1", lvls, 1, lc) addTooltipProperty("LifeConvertedtoMana", lc) function setLifeConvertedtoLife(int level, real value) def.setLvlDataUnreal("Udp2", level, 2, value) function presetLifeConvertedtoLife(RealLevelClosure lc) def.setLevelsDataUnreal("Udp2", lvls, 2, lc) addTooltipProperty("LifeConvertedtoLife", lc) function setLifeConversionAsPercent(int level, bool value) def.setLvlDataBoolean("Udp4", level, 4, value) function presetLifeConversionAsPercent(BooleanLevelClosure lc) def.setLevelsDataBoolean("Udp4", lvls, 4, lc) addTooltipProperty("LifeConversionAsPercent", lc) function setManaConversionAsPercent(int level, bool value) def.setLvlDataBoolean("Udp3", level, 3, value) function presetManaConversionAsPercent(BooleanLevelClosure lc) def.setLevelsDataBoolean("Udp3", lvls, 3, lc) addTooltipProperty("ManaConversionAsPercent", lc) public class AbilityDefinitionTichondriusDarkSummoning extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUds') function setMaximumUnits(int level, int value) def.setLvlDataInt("Uds1", level, 1, value) function presetMaximumUnits(IntLevelClosure lc) def.setLevelsDataInt("Uds1", lvls, 1, lc) addTooltipProperty("MaximumUnits", lc) function setUseTeleportClustering(int level, bool value) def.setLvlDataBoolean("Hmt3", level, 3, value) function presetUseTeleportClustering(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hmt3", lvls, 3, lc) addTooltipProperty("UseTeleportClustering", lc) function setCastingDelayseconds(int level, real value) def.setLvlDataUnreal("Uds2", level, 2, value) function presetCastingDelayseconds(RealLevelClosure lc) def.setLevelsDataUnreal("Uds2", lvls, 2, lc) addTooltipProperty("CastingDelayseconds", lc) public class AbilityDefinitionItemSpeed extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsp') function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Ispi", level, 1, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Ispi", lvls, 1, lc) addTooltipProperty("MovementSpeedIncrease", lc) public class AbilityDefinitionBloodlust extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ablo') function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Blo2", level, 2, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Blo2", lvls, 2, lc) addTooltipProperty("MovementSpeedIncrease", lc) function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("Blo1", level, 1, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Blo1", lvls, 1, lc) addTooltipProperty("AttackSpeedIncrease", lc) function setScalingFactor(int level, real value) def.setLvlDataUnreal("Blo3", level, 3, value) function presetScalingFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Blo3", lvls, 3, lc) addTooltipProperty("ScalingFactor", lc) public class AbilityDefinitionDeathKnightDeathPact extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AUdp') function setLeaveTargetAlive(int level, bool value) def.setLvlDataBoolean("Udp5", level, 5, value) function presetLeaveTargetAlive(BooleanLevelClosure lc) def.setLevelsDataBoolean("Udp5", lvls, 5, lc) addTooltipProperty("LeaveTargetAlive", lc) function setLifeConvertedtoMana(int level, real value) def.setLvlDataUnreal("Udp1", level, 1, value) function presetLifeConvertedtoMana(RealLevelClosure lc) def.setLevelsDataUnreal("Udp1", lvls, 1, lc) addTooltipProperty("LifeConvertedtoMana", lc) function setLifeConvertedtoLife(int level, real value) def.setLvlDataUnreal("Udp2", level, 2, value) function presetLifeConvertedtoLife(RealLevelClosure lc) def.setLevelsDataUnreal("Udp2", lvls, 2, lc) addTooltipProperty("LifeConvertedtoLife", lc) function setLifeConversionAsPercent(int level, bool value) def.setLvlDataBoolean("Udp4", level, 4, value) function presetLifeConversionAsPercent(BooleanLevelClosure lc) def.setLevelsDataBoolean("Udp4", lvls, 4, lc) addTooltipProperty("LifeConversionAsPercent", lc) function setManaConversionAsPercent(int level, bool value) def.setLvlDataBoolean("Udp3", level, 3, value) function presetManaConversionAsPercent(BooleanLevelClosure lc) def.setLevelsDataBoolean("Udp3", lvls, 3, lc) addTooltipProperty("ManaConversionAsPercent", lc) public class AbilityDefinitionBlightPlacement extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ablp') function setCreatesBlight(int level, bool value) def.setLvlDataBoolean("Bli2", level, 2, value) function presetCreatesBlight(BooleanLevelClosure lc) def.setLevelsDataBoolean("Bli2", lvls, 2, lc) addTooltipProperty("CreatesBlight", lc) function setExpansionAmount(int level, real value) def.setLvlDataUnreal("Bli1", level, 1, value) function presetExpansionAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Bli1", lvls, 1, lc) addTooltipProperty("ExpansionAmount", lc) public class AbilityDefinitionSeaWitchForkedLightning extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANfl') function setNumberofTargetsHit(int level, int value) def.setLvlDataInt("Ocl2", level, 2, value) function presetNumberofTargetsHit(IntLevelClosure lc) def.setLevelsDataInt("Ocl2", lvls, 2, lc) addTooltipProperty("NumberofTargetsHit", lc) function setDamageperTarget(int level, real value) def.setLvlDataUnreal("Ocl1", level, 1, value) function presetDamageperTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ocl1", lvls, 1, lc) addTooltipProperty("DamageperTarget", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Ucs4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Ucs3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Ucs3", lvls, 3, lc) addTooltipProperty("Distance", lc) public class AbilityDefinitionStrengthMod extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsm') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionScrollofLifeRegen extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsl') function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("irl4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setDispelOnAttack(int level, bool value) def.setLvlDataBoolean("irl5", level, 5, value) function presetDispelOnAttack(BooleanLevelClosure lc) def.setLevelsDataBoolean("irl5", lvls, 5, lc) addTooltipProperty("DispelOnAttack", lc) function setManaRegenerated(int level, real value) def.setLvlDataUnreal("irl2", level, 2, value) function presetManaRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl2", lvls, 2, lc) addTooltipProperty("ManaRegenerated", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("irl3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("irl3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) function setLifeRegenerated(int level, real value) def.setLvlDataUnreal("irl1", level, 1, value) function presetLifeRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("irl1", lvls, 1, lc) addTooltipProperty("LifeRegenerated", lc) public class AbilityDefinitionHealCreepNormalAnhe extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Anhe') function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Hea1", level, 1, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Hea1", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) public class AbilityDefinitionAttackSpeedIncrease extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsx') function setAttackSpeedIncrease(int level, real value) def.setLvlDataUnreal("Isx1", level, 1, value) function presetAttackSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Isx1", lvls, 1, lc) addTooltipProperty("AttackSpeedIncrease", lc) public class AbilityDefinitionDefend extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adef') function setDamageTaken(int level, real value) def.setLvlDataUnreal("Def1", level, 1, value) function presetDamageTaken(RealLevelClosure lc) def.setLevelsDataUnreal("Def1", lvls, 1, lc) addTooltipProperty("DamageTaken", lc) function setChancetoDeflect(int level, real value) def.setLvlDataUnreal("Def6", level, 6, value) function presetChancetoDeflect(RealLevelClosure lc) def.setLevelsDataUnreal("Def6", lvls, 6, lc) addTooltipProperty("ChancetoDeflect", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Def3", level, 3, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Def3", lvls, 3, lc) addTooltipProperty("MovementSpeedFactor", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Def4", level, 4, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Def4", lvls, 4, lc) addTooltipProperty("AttackSpeedFactor", lc) function setDamageDealt(int level, real value) def.setLvlDataUnreal("Def2", level, 2, value) function presetDamageDealt(RealLevelClosure lc) def.setLevelsDataUnreal("Def2", lvls, 2, lc) addTooltipProperty("DamageDealt", lc) function setDeflectDamageTakenSpells(int level, real value) def.setLvlDataUnreal("Def8", level, 8, value) function presetDeflectDamageTakenSpells(RealLevelClosure lc) def.setLevelsDataUnreal("Def8", lvls, 8, lc) addTooltipProperty("DeflectDamageTakenSpells", lc) function setDeflectDamageTakenPiercing(int level, real value) def.setLvlDataUnreal("Def7", level, 7, value) function presetDeflectDamageTakenPiercing(RealLevelClosure lc) def.setLevelsDataUnreal("Def7", lvls, 7, lc) addTooltipProperty("DeflectDamageTakenPiercing", lc) function setMagicDamageReduction(int level, real value) def.setLvlDataUnreal("Def5", level, 5, value) function presetMagicDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Def5", lvls, 5, lc) addTooltipProperty("MagicDamageReduction", lc) public class AbilityDefinitionSentryWardAIsw extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIsw') function setWardUnitType(int level, string value) def.setLvlDataString("hwdu", level, 0, value) function presetWardUnitType(StringLevelClosure lc) def.setLevelsDataString("hwdu", lvls, 0, lc) addTooltipProperty("WardUnitType", lc) public class AbilityDefinitionGrabTree extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Agra') function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("gra4", level, 4, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("gra4", lvls, 4, lc) addTooltipProperty("EnabledAttackIndex", lc) function setMaximumAttacks(int level, int value) def.setLvlDataInt("gra5", level, 5, value) function presetMaximumAttacks(IntLevelClosure lc) def.setLevelsDataInt("gra5", lvls, 5, lc) addTooltipProperty("MaximumAttacks", lc) function setAttachDelay(int level, real value) def.setLvlDataUnreal("gra1", level, 1, value) function presetAttachDelay(RealLevelClosure lc) def.setLevelsDataUnreal("gra1", lvls, 1, lc) addTooltipProperty("AttachDelay", lc) function setDisabledAttackIndex(int level, int value) def.setLvlDataInt("gra3", level, 3, value) function presetDisabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("gra3", lvls, 3, lc) addTooltipProperty("DisabledAttackIndex", lc) function setRemoveDelay(int level, real value) def.setLvlDataUnreal("gra2", level, 2, value) function presetRemoveDelay(RealLevelClosure lc) def.setLevelsDataUnreal("gra2", lvls, 2, lc) addTooltipProperty("RemoveDelay", lc) public class AbilityDefinitionDecouple extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adec') function setPartnerUnitTypeOne(int level, string value) def.setLvlDataString("dcp1", level, 1, value) function presetPartnerUnitTypeOne(StringLevelClosure lc) def.setLevelsDataString("dcp1", lvls, 1, lc) addTooltipProperty("PartnerUnitTypeOne", lc) function setPartnerUnitTypeTwo(int level, string value) def.setLvlDataString("dcp2", level, 2, value) function presetPartnerUnitTypeTwo(StringLevelClosure lc) def.setLevelsDataString("dcp2", lvls, 2, lc) addTooltipProperty("PartnerUnitTypeTwo", lc) public class AbilityDefinitionDustofAppearance extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItb') function setDetectionType(int level, string value) def.setLvlDataString("Det1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Det1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionAttackBonusAItc extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItc') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionItemDetectAoe extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIta') function setDetectionRadius(int level, string value) def.setLvlDataString("Idet", level, 1, value) function presetDetectionRadius(StringLevelClosure lc) def.setLevelsDataString("Idet", lvls, 1, lc) addTooltipProperty("DetectionRadius", lc) public class AbilityDefinitionAttackBonusPlus5 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItj') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionAttackBonusPlus7 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItk') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionAttackBonusPlus2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIth') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionDevour extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adev') function setMaxCreepLevel(int level, int value) def.setLvlDataInt("Dev1", level, 1, value) function presetMaxCreepLevel(IntLevelClosure lc) def.setLevelsDataInt("Dev1", lvls, 1, lc) addTooltipProperty("MaxCreepLevel", lc) public class AbilityDefinitionAttackBonusPlus4 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIti') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionMountainKingThunderClap extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHtc') function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Htc4", level, 4, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Htc4", lvls, 4, lc) addTooltipProperty("AttackSpeedReduction", lc) function setSpecificTargetDamage(int level, real value) def.setLvlDataUnreal("Htc2", level, 2, value) function presetSpecificTargetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Htc2", lvls, 2, lc) addTooltipProperty("SpecificTargetDamage", lc) function setAOEDamage(int level, real value) def.setLvlDataUnreal("Htc1", level, 1, value) function presetAOEDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Htc1", lvls, 1, lc) addTooltipProperty("AOEDamage", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Htc3", level, 3, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Htc3", lvls, 3, lc) addTooltipProperty("MovementSpeedReduction", lc) public class AbilityDefinitionAttackBonusAItf extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItf') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionAdet extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adet') function setDetectionType(int level, string value) def.setLvlDataString("Det1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Det1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionFingerofDeath extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANfd') function setGraphicDelay(int level, real value) def.setLvlDataUnreal("Nfd1", level, 1, value) function presetGraphicDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Nfd1", lvls, 1, lc) addTooltipProperty("GraphicDelay", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Nfd3", level, 3, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Nfd3", lvls, 3, lc) addTooltipProperty("Damage", lc) function setGraphicDuration(int level, real value) def.setLvlDataUnreal("Nfd2", level, 2, value) function presetGraphicDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Nfd2", lvls, 2, lc) addTooltipProperty("GraphicDuration", lc) public class AbilityDefinitionAttackBonusPlus1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AItg') function setAttackBonus(int level, int value) def.setLvlDataInt("Iatt", level, 1, value) function presetAttackBonus(IntLevelClosure lc) def.setLevelsDataInt("Iatt", lvls, 1, lc) addTooltipProperty("AttackBonus", lc) public class AbilityDefinitionSeaWitchFrostArrows extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANfa') function setStackFlags(int level, string value) def.setLvlDataString("Hca4", level, 4, value) function presetStackFlags(StringLevelClosure lc) def.setLevelsDataString("Hca4", lvls, 4, lc) addTooltipProperty("StackFlags", lc) function setExtraDamage(int level, real value) def.setLvlDataUnreal("Hca1", level, 1, value) function presetExtraDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Hca1", lvls, 1, lc) addTooltipProperty("ExtraDamage", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Hca3", level, 3, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Hca3", lvls, 3, lc) addTooltipProperty("AttackSpeedFactor", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Hca2", level, 2, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Hca2", lvls, 2, lc) addTooltipProperty("MovementSpeedFactor", lc) public class AbilityDefinitionFireBolt extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANfb') function setDamage(int level, real value) def.setLvlDataUnreal("Htb1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Htb1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionMountainKingThunderBolt extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHtb') function setDamage(int level, real value) def.setLvlDataUnreal("Htb1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Htb1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionSentinel extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aesn') function setHoveringSightRadius(int level, real value) def.setLvlDataUnreal("Esn2", level, 2, value) function presetHoveringSightRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Esn2", lvls, 2, lc) addTooltipProperty("HoveringSightRadius", lc) function setInFlightSightRadius(int level, real value) def.setLvlDataUnreal("Esn1", level, 1, value) function presetInFlightSightRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Esn1", lvls, 1, lc) addTooltipProperty("InFlightSightRadius", lc) function setNumberofOwls(int level, int value) def.setLvlDataInt("Esn4", level, 4, value) function presetNumberofOwls(IntLevelClosure lc) def.setLevelsDataInt("Esn4", lvls, 4, lc) addTooltipProperty("NumberofOwls", lc) function setHoveringHeight(int level, real value) def.setLvlDataUnreal("Esn3", level, 3, value) function presetHoveringHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Esn3", lvls, 3, lc) addTooltipProperty("HoveringHeight", lc) public class AbilityDefinitionArchMageSummonWaterElemental extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AHwe') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionLoadBurrow extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Sloa') function setAllowedUnitType(int level, string value) def.setLvlDataString("Loa1", level, 0, value) function presetAllowedUnitType(StringLevelClosure lc) def.setLevelsDataString("Loa1", lvls, 0, lc) addTooltipProperty("AllowedUnitType", lc) public class AbilityDefinitionDispelMagiccreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adsm') function setManaLoss(int level, real value) def.setLvlDataUnreal("Adm1", level, 1, value) function presetManaLoss(RealLevelClosure lc) def.setLevelsDataUnreal("Adm1", lvls, 1, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Adm2", level, 2, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Adm2", lvls, 2, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionFragShards extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Afsh') function setSmallDamageRadius(int level, real value) def.setLvlDataUnreal("flk2", level, 2, value) function presetSmallDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("flk2", lvls, 2, lc) addTooltipProperty("SmallDamageRadius", lc) function setSmallDamageAmount(int level, real value) def.setLvlDataUnreal("flk5", level, 5, value) function presetSmallDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("flk5", lvls, 5, lc) addTooltipProperty("SmallDamageAmount", lc) function setMediumDamageAmount(int level, real value) def.setLvlDataUnreal("flk4", level, 4, value) function presetMediumDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("flk4", lvls, 4, lc) addTooltipProperty("MediumDamageAmount", lc) function setMediumDamageRadius(int level, real value) def.setLvlDataUnreal("flk1", level, 1, value) function presetMediumDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("flk1", lvls, 1, lc) addTooltipProperty("MediumDamageRadius", lc) function setFullDamageAmount(int level, real value) def.setLvlDataUnreal("flk3", level, 3, value) function presetFullDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("flk3", lvls, 3, lc) addTooltipProperty("FullDamageAmount", lc) public class AbilityDefinitionDetectSentryWard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adt1') function setDetectionType(int level, string value) def.setLvlDataString("Det1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Det1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionPhoenixFire extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apxf') function setInitialDamage(int level, real value) def.setLvlDataUnreal("pxf1", level, 1, value) function presetInitialDamage(RealLevelClosure lc) def.setLevelsDataUnreal("pxf1", lvls, 1, lc) addTooltipProperty("InitialDamage", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("pxf2", level, 2, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("pxf2", lvls, 2, lc) addTooltipProperty("DamagePerSecond", lc) public class AbilityDefinitionRaiseDead extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arai') function setUnitsSummonedTypeOne(int level, int value) def.setLvlDataInt("Rai1", level, 1, value) function presetUnitsSummonedTypeOne(IntLevelClosure lc) def.setLevelsDataInt("Rai1", lvls, 1, lc) addTooltipProperty("UnitsSummonedTypeOne", lc) function setUnitTypeForLimitCheck(int level, string value) def.setLvlDataString("Raiu", level, 0, value) function presetUnitTypeForLimitCheck(StringLevelClosure lc) def.setLevelsDataString("Raiu", lvls, 0, lc) addTooltipProperty("UnitTypeForLimitCheck", lc) function setUnitsSummonedTypeTwo(int level, int value) def.setLvlDataInt("Rai2", level, 2, value) function presetUnitsSummonedTypeTwo(IntLevelClosure lc) def.setLevelsDataInt("Rai2", lvls, 2, lc) addTooltipProperty("UnitsSummonedTypeTwo", lc) function setUnitTypeTwo(int level, string value) def.setLvlDataString("Rai4", level, 4, value) function presetUnitTypeTwo(StringLevelClosure lc) def.setLevelsDataString("Rai4", lvls, 4, lc) addTooltipProperty("UnitTypeTwo", lc) function setUnitTypeOne(int level, string value) def.setLvlDataString("Rai3", level, 3, value) function presetUnitTypeOne(StringLevelClosure lc) def.setLevelsDataString("Rai3", lvls, 3, lc) addTooltipProperty("UnitTypeOne", lc) public class AbilityDefinitionAnwm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Anwm') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionShadowMeld extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ashm') function setDayNightDuration(int level, real value) def.setLvlDataUnreal("Shm2", level, 2, value) function presetDayNightDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Shm2", lvls, 2, lc) addTooltipProperty("DayNightDuration", lc) function setActionDuration(int level, real value) def.setLvlDataUnreal("Shm3", level, 3, value) function presetActionDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Shm3", lvls, 3, lc) addTooltipProperty("ActionDuration", lc) function setFadeDuration(int level, real value) def.setLvlDataUnreal("Shm1", level, 1, value) function presetFadeDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Shm1", lvls, 1, lc) addTooltipProperty("FadeDuration", lc) public class AbilityDefinitionRoarAra2 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ara2') function setDamageIncrease(int level, real value) def.setLvlDataUnreal("Roa1", level, 1, value) function presetDamageIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Roa1", lvls, 1, lc) addTooltipProperty("DamageIncrease", lc) function setDefenseIncrease(int level, int value) def.setLvlDataInt("Roa2", level, 2, value) function presetDefenseIncrease(IntLevelClosure lc) def.setLevelsDataInt("Roa2", lvls, 2, lc) addTooltipProperty("DefenseIncrease", lc) function setPreferHostiles(int level, bool value) def.setLvlDataBoolean("Roa5", level, 5, value) function presetPreferHostiles(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa5", lvls, 5, lc) addTooltipProperty("PreferHostiles", lc) function setManaRegen(int level, real value) def.setLvlDataUnreal("Roa4", level, 4, value) function presetManaRegen(RealLevelClosure lc) def.setLevelsDataUnreal("Roa4", lvls, 4, lc) addTooltipProperty("ManaRegen", lc) function setLifeRegenerationRate(int level, real value) def.setLvlDataUnreal("Roa3", level, 3, value) function presetLifeRegenerationRate(RealLevelClosure lc) def.setLevelsDataUnreal("Roa3", lvls, 3, lc) addTooltipProperty("LifeRegenerationRate", lc) function setPreferFriendlies(int level, bool value) def.setLvlDataBoolean("Roa6", level, 6, value) function presetPreferFriendlies(BooleanLevelClosure lc) def.setLevelsDataBoolean("Roa6", lvls, 6, lc) addTooltipProperty("PreferFriendlies", lc) function setMaxUnits(int level, int value) def.setLvlDataInt("Roa7", level, 7, value) function presetMaxUnits(IntLevelClosure lc) def.setLevelsDataInt("Roa7", lvls, 7, lc) addTooltipProperty("MaxUnits", lc) public class AbilityDefinitionGhostVisible extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aeth') function setDoesNotBlockBuildings(int level, bool value) def.setLvlDataBoolean("Eth2", level, 2, value) function presetDoesNotBlockBuildings(BooleanLevelClosure lc) def.setLevelsDataBoolean("Eth2", lvls, 2, lc) addTooltipProperty("DoesNotBlockBuildings", lc) function setImmunetoMorphEffects(int level, bool value) def.setLvlDataBoolean("Eth1", level, 1, value) function presetImmunetoMorphEffects(BooleanLevelClosure lc) def.setLevelsDataBoolean("Eth1", lvls, 1, lc) addTooltipProperty("ImmunetoMorphEffects", lc) public class AbilityDefinitionDetectgeneral extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adtg') function setDetectionType(int level, string value) def.setLvlDataString("Det1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Det1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionPIlotTankRifleman extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Stpr') function setConvertedUnitType(int level, string value) def.setLvlDataString("tpi2", level, 2, value) function presetConvertedUnitType(StringLevelClosure lc) def.setLevelsDataString("tpi2", lvls, 2, lc) addTooltipProperty("ConvertedUnitType", lc) function setRequiredUnitType(int level, string value) def.setLvlDataString("tpi1", level, 1, value) function presetRequiredUnitType(StringLevelClosure lc) def.setLevelsDataString("tpi1", lvls, 1, lc) addTooltipProperty("RequiredUnitType", lc) public class AbilityDefinitionFreezeDamageBonus extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIzb') function setEnabledAttackIndex(int level, int value) def.setLvlDataInt("Iob5", level, 5, value) function presetEnabledAttackIndex(IntLevelClosure lc) def.setLevelsDataInt("Iob5", lvls, 5, lc) addTooltipProperty("EnabledAttackIndex", lc) function setDamageBonus(int level, real value) def.setLvlDataUnreal("Idam", level, 1, value) function presetDamageBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Idam", lvls, 1, lc) addTooltipProperty("DamageBonus", lc) public class AbilityDefinitionEtherealForm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aetf') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionDetonate extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Adtn') function setDamagetoSummonedUnits(int level, real value) def.setLvlDataUnreal("Dtn2", level, 2, value) function presetDamagetoSummonedUnits(RealLevelClosure lc) def.setLevelsDataUnreal("Dtn2", lvls, 2, lc) addTooltipProperty("DamagetoSummonedUnits", lc) function setManaLossperunit(int level, real value) def.setLvlDataUnreal("Dtn1", level, 1, value) function presetManaLossperunit(RealLevelClosure lc) def.setLevelsDataUnreal("Dtn1", lvls, 1, lc) addTooltipProperty("ManaLossperunit", lc) public class AbilityDefinitionRavenFormMedivh extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amrf') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionAOwd extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOwd') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionAbsorbMana extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aabs') function setMaximumManaAbsorbed(int level, real value) def.setLvlDataUnreal("abs2", level, 2, value) function presetMaximumManaAbsorbed(RealLevelClosure lc) def.setLevelsDataUnreal("abs2", lvls, 2, lc) addTooltipProperty("MaximumManaAbsorbed", lc) function setMaximumLifeAbsorbed(int level, real value) def.setLvlDataUnreal("abs1", level, 1, value) function presetMaximumLifeAbsorbed(RealLevelClosure lc) def.setLevelsDataUnreal("abs1", lvls, 1, lc) addTooltipProperty("MaximumLifeAbsorbed", lc) public class AbilityDefinitionAuraRegenerationStatue extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aabr') function setPercentage(int level, bool value) def.setLvlDataBoolean("Oar2", level, 2, value) function presetPercentage(BooleanLevelClosure lc) def.setLevelsDataBoolean("Oar2", lvls, 2, lc) addTooltipProperty("Percentage", lc) function setAmountofHitPointsRegenerated(int level, real value) def.setLvlDataUnreal("Oar1", level, 1, value) function presetAmountofHitPointsRegenerated(RealLevelClosure lc) def.setLevelsDataUnreal("Oar1", lvls, 1, lc) addTooltipProperty("AmountofHitPointsRegenerated", lc) public class AbilityDefinitionUnsummon extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Auns') function setAccumulationStep(int level, int value) def.setLvlDataInt("Sal2", level, 2, value) function presetAccumulationStep(IntLevelClosure lc) def.setLevelsDataInt("Sal2", lvls, 2, lc) addTooltipProperty("AccumulationStep", lc) function setSalvageCostRatio(int level, real value) def.setLvlDataUnreal("Sal1", level, 1, value) function presetSalvageCostRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Sal1", lvls, 1, lc) addTooltipProperty("SalvageCostRatio", lc) public class AbilityDefinitionTaurenChieftainShockWave extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOsh') function setDamage(int level, real value) def.setLvlDataUnreal("Osh1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Osh1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Osh3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Osh3", lvls, 3, lc) addTooltipProperty("Distance", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Osh4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Osh4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setMaximumDamage(int level, real value) def.setLvlDataUnreal("Osh2", level, 2, value) function presetMaximumDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Osh2", lvls, 2, lc) addTooltipProperty("MaximumDamage", lc) public class AbilityDefinitionCrippleWarlock extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Scri') function setDamageReduction(int level, real value) def.setLvlDataUnreal("Cri3", level, 3, value) function presetDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Cri3", lvls, 3, lc) addTooltipProperty("DamageReduction", lc) function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Cri2", level, 2, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Cri2", lvls, 2, lc) addTooltipProperty("AttackSpeedReduction", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Cri1", level, 1, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Cri1", lvls, 1, lc) addTooltipProperty("MovementSpeedReduction", lc) public class AbilityDefinitionFarseerSpiritWolf extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOsf') function setSummonedUnit(int level, string value) def.setLvlDataString("Osf1", level, 0, value) function presetSummonedUnit(StringLevelClosure lc) def.setLevelsDataString("Osf1", lvls, 0, lc) addTooltipProperty("SummonedUnit", lc) function setNumberofSummonedUnits(int level, int value) def.setLvlDataInt("Osf2", level, 2, value) function presetNumberofSummonedUnits(IntLevelClosure lc) def.setLevelsDataInt("Osf2", lvls, 2, lc) addTooltipProperty("NumberofSummonedUnits", lc) public class AbilityDefinitionPilotTankMortarTeam extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Stpm') function setConvertedUnitType(int level, string value) def.setLvlDataString("tpi2", level, 2, value) function presetConvertedUnitType(StringLevelClosure lc) def.setLevelsDataString("tpi2", lvls, 2, lc) addTooltipProperty("ConvertedUnitType", lc) function setRequiredUnitType(int level, string value) def.setLvlDataString("tpi1", level, 1, value) function presetRequiredUnitType(StringLevelClosure lc) def.setLevelsDataString("tpi1", lvls, 1, lc) addTooltipProperty("RequiredUnitType", lc) public class AbilityDefinitionShadowHunterSerpentWard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOsw') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionAntimagicShieldAIxs extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIxs') function setMagicDamageReduction(int level, real value) def.setLvlDataUnreal("Ixs2", level, 2, value) function presetMagicDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Ixs2", lvls, 2, lc) addTooltipProperty("MagicDamageReduction", lc) function setDamageToSummonedUnits(int level, real value) def.setLvlDataUnreal("Ixs1", level, 1, value) function presetDamageToSummonedUnits(RealLevelClosure lc) def.setLevelsDataUnreal("Ixs1", lvls, 1, lc) addTooltipProperty("DamageToSummonedUnits", lc) function setManaLoss(int level, int value) def.setLvlDataInt("Ams4", level, 4, value) function presetManaLoss(IntLevelClosure lc) def.setLevelsDataInt("Ams4", lvls, 4, lc) addTooltipProperty("ManaLoss", lc) function setShieldLife(int level, int value) def.setLvlDataInt("Ams3", level, 3, value) function presetShieldLife(IntLevelClosure lc) def.setLevelsDataInt("Ams3", lvls, 3, lc) addTooltipProperty("ShieldLife", lc) public class AbilityDefinitionPermanentAllPlus1 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AIxm') function setHideButton(int level, bool value) def.setLvlDataBoolean("Ihid", level, 4, value) function presetHideButton(BooleanLevelClosure lc) def.setLevelsDataBoolean("Ihid", lvls, 4, lc) addTooltipProperty("HideButton", lc) function setIntelligenceBonus(int level, int value) def.setLvlDataInt("Iint", level, 2, value) function presetIntelligenceBonus(IntLevelClosure lc) def.setLevelsDataInt("Iint", lvls, 2, lc) addTooltipProperty("IntelligenceBonus", lc) function setAgilityBonus(int level, int value) def.setLvlDataInt("Iagi", level, 1, value) function presetAgilityBonus(IntLevelClosure lc) def.setLevelsDataInt("Iagi", lvls, 1, lc) addTooltipProperty("AgilityBonus", lc) function setStrengthBonus(int level, int value) def.setLvlDataInt("Istr", level, 3, value) function presetStrengthBonus(IntLevelClosure lc) def.setLevelsDataInt("Istr", lvls, 3, lc) addTooltipProperty("StrengthBonus", lc) public class AbilityDefinitionAbolishMagic extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aadm') function setManaLoss(int level, real value) def.setLvlDataUnreal("Adm1", level, 1, value) function presetManaLoss(RealLevelClosure lc) def.setLevelsDataUnreal("Adm1", lvls, 1, lc) addTooltipProperty("ManaLoss", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Adm2", level, 2, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Adm2", lvls, 2, lc) addTooltipProperty("SummonedUnitDamage", lc) public class AbilityDefinitionRavenFormDruidoftheTalon extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arav') function setNormalFormUnit(int level, string value) def.setLvlDataString("Eme1", level, 1, value) function presetNormalFormUnit(StringLevelClosure lc) def.setLevelsDataString("Eme1", lvls, 1, lc) addTooltipProperty("NormalFormUnit", lc) function setLandingDelayTime(int level, real value) def.setLvlDataUnreal("Eme4", level, 4, value) function presetLandingDelayTime(RealLevelClosure lc) def.setLevelsDataUnreal("Eme4", lvls, 4, lc) addTooltipProperty("LandingDelayTime", lc) function setAltitudeAdjustmentDuration(int level, real value) def.setLvlDataUnreal("Eme3", level, 3, value) function presetAltitudeAdjustmentDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Eme3", lvls, 3, lc) addTooltipProperty("AltitudeAdjustmentDuration", lc) function setMorphingFlags(int level, string value) def.setLvlDataString("Eme2", level, 2, value) function presetMorphingFlags(StringLevelClosure lc) def.setLevelsDataString("Eme2", lvls, 2, lc) addTooltipProperty("MorphingFlags", lc) function setAlternateFormUnit(int level, string value) def.setLvlDataString("Emeu", level, 0, value) function presetAlternateFormUnit(StringLevelClosure lc) def.setLevelsDataString("Emeu", lvls, 0, lc) addTooltipProperty("AlternateFormUnit", lc) public class AbilityDefinitionPlagueToss extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Apts') function setWardUnitType(int level, string value) def.setLvlDataString("hwdu", level, 0, value) function presetWardUnitType(StringLevelClosure lc) def.setLevelsDataString("hwdu", lvls, 0, lc) addTooltipProperty("WardUnitType", lc) public class AbilityDefinitionVampiricattack extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'SCva') function setLifeStolenPerAttack(int level, real value) def.setLvlDataUnreal("Ivam", level, 1, value) function presetLifeStolenPerAttack(RealLevelClosure lc) def.setLevelsDataUnreal("Ivam", lvls, 1, lc) addTooltipProperty("LifeStolenPerAttack", lc) public class AbilityDefinitionCargoHoldDeath extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Achd') function setMovementUpdateFrequency(int level, real value) def.setLvlDataUnreal("Chd1", level, 1, value) function presetMovementUpdateFrequency(RealLevelClosure lc) def.setLevelsDataUnreal("Chd1", lvls, 1, lc) addTooltipProperty("MovementUpdateFrequency", lc) function setSummonedUnitDamage(int level, real value) def.setLvlDataUnreal("Chd3", level, 3, value) function presetSummonedUnitDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Chd3", lvls, 3, lc) addTooltipProperty("SummonedUnitDamage", lc) function setAttackUpdateFrequency(int level, real value) def.setLvlDataUnreal("Chd2", level, 2, value) function presetAttackUpdateFrequency(RealLevelClosure lc) def.setLevelsDataUnreal("Chd2", lvls, 2, lc) addTooltipProperty("AttackUpdateFrequency", lc) public class AbilityDefinitionAcha extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Acha') function setNewUnitType(int level, string value) def.setLvlDataString("Cha1", level, 0, value) function presetNewUnitType(StringLevelClosure lc) def.setLevelsDataString("Cha1", lvls, 0, lc) addTooltipProperty("NewUnitType", lc) public class AbilityDefinitionUnholyFrenzycreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACuf') function setAttackSpeedBonus(int level, real value) def.setLvlDataUnreal("Uhf1", level, 1, value) function presetAttackSpeedBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Uhf1", lvls, 1, lc) addTooltipProperty("AttackSpeedBonus", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Uhf2", level, 2, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Uhf2", lvls, 2, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionRenew extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aren') function setPowerbuildRate(int level, real value) def.setLvlDataUnreal("Rep4", level, 4, value) function presetPowerbuildRate(RealLevelClosure lc) def.setLevelsDataUnreal("Rep4", lvls, 4, lc) addTooltipProperty("PowerbuildRate", lc) function setNavalRangeBonus(int level, real value) def.setLvlDataUnreal("Rep5", level, 5, value) function presetNavalRangeBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Rep5", lvls, 5, lc) addTooltipProperty("NavalRangeBonus", lc) function setRepairTimeRatio(int level, real value) def.setLvlDataUnreal("Rep2", level, 2, value) function presetRepairTimeRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Rep2", lvls, 2, lc) addTooltipProperty("RepairTimeRatio", lc) function setRepairCostRatio(int level, real value) def.setLvlDataUnreal("Rep1", level, 1, value) function presetRepairCostRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Rep1", lvls, 1, lc) addTooltipProperty("RepairCostRatio", lc) function setPowerbuildCost(int level, real value) def.setLvlDataUnreal("Rep3", level, 3, value) function presetPowerbuildCost(RealLevelClosure lc) def.setLevelsDataUnreal("Rep3", lvls, 3, lc) addTooltipProperty("PowerbuildCost", lc) public class AbilityDefinitionRegenLife extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arel') function setHitPointsRegeneratedPerSecond(int level, int value) def.setLvlDataInt("Ihpr", level, 1, value) function presetHitPointsRegeneratedPerSecond(IntLevelClosure lc) def.setLevelsDataInt("Ihpr", lvls, 1, lc) addTooltipProperty("HitPointsRegeneratedPerSecond", lc) public class AbilityDefinitionBlightGrowthLarge extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abgl') function setCreatesBlight(int level, bool value) def.setLvlDataBoolean("Bli2", level, 2, value) function presetCreatesBlight(BooleanLevelClosure lc) def.setLevelsDataBoolean("Bli2", lvls, 2, lc) addTooltipProperty("CreatesBlight", lc) function setExpansionAmount(int level, real value) def.setLvlDataUnreal("Bli1", level, 1, value) function presetExpansionAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Bli1", lvls, 1, lc) addTooltipProperty("ExpansionAmount", lc) public class AbilityDefinitionBlightedGoldmine extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abgm') function setGoldperInterval(int level, int value) def.setLvlDataInt("Bgm1", level, 1, value) function presetGoldperInterval(IntLevelClosure lc) def.setLevelsDataInt("Bgm1", lvls, 1, lc) addTooltipProperty("GoldperInterval", lc) function setRadiusofMiningRing(int level, real value) def.setLvlDataUnreal("Bgm4", level, 4, value) function presetRadiusofMiningRing(RealLevelClosure lc) def.setLevelsDataUnreal("Bgm4", lvls, 4, lc) addTooltipProperty("RadiusofMiningRing", lc) function setIntervalDuration(int level, real value) def.setLvlDataUnreal("Bgm2", level, 2, value) function presetIntervalDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Bgm2", lvls, 2, lc) addTooltipProperty("IntervalDuration", lc) function setMaxNumberofMiners(int level, int value) def.setLvlDataInt("Bgm3", level, 3, value) function presetMaxNumberofMiners(IntLevelClosure lc) def.setLevelsDataInt("Bgm3", lvls, 3, lc) addTooltipProperty("MaxNumberofMiners", lc) public class AbilityDefinitionUnholyAuracreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACua') function setPercentBonus(int level, bool value) def.setLvlDataBoolean("Uau3", level, 3, value) function presetPercentBonus(BooleanLevelClosure lc) def.setLevelsDataBoolean("Uau3", lvls, 3, lc) addTooltipProperty("PercentBonus", lc) function setLifeRegenerationIncrease(int level, real value) def.setLvlDataUnreal("Uau2", level, 2, value) function presetLifeRegenerationIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Uau2", lvls, 2, lc) addTooltipProperty("LifeRegenerationIncrease", lc) function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Uau1", level, 1, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Uau1", lvls, 1, lc) addTooltipProperty("MovementSpeedIncrease", lc) public class AbilityDefinitionRepairOrc extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arep') function setPowerbuildRate(int level, real value) def.setLvlDataUnreal("Rep4", level, 4, value) function presetPowerbuildRate(RealLevelClosure lc) def.setLevelsDataUnreal("Rep4", lvls, 4, lc) addTooltipProperty("PowerbuildRate", lc) function setNavalRangeBonus(int level, real value) def.setLvlDataUnreal("Rep5", level, 5, value) function presetNavalRangeBonus(RealLevelClosure lc) def.setLevelsDataUnreal("Rep5", lvls, 5, lc) addTooltipProperty("NavalRangeBonus", lc) function setRepairTimeRatio(int level, real value) def.setLvlDataUnreal("Rep2", level, 2, value) function presetRepairTimeRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Rep2", lvls, 2, lc) addTooltipProperty("RepairTimeRatio", lc) function setRepairCostRatio(int level, real value) def.setLvlDataUnreal("Rep1", level, 1, value) function presetRepairCostRatio(RealLevelClosure lc) def.setLevelsDataUnreal("Rep1", lvls, 1, lc) addTooltipProperty("RepairCostRatio", lc) function setPowerbuildCost(int level, real value) def.setLvlDataUnreal("Rep3", level, 3, value) function presetPowerbuildCost(RealLevelClosure lc) def.setLevelsDataUnreal("Rep3", lvls, 3, lc) addTooltipProperty("PowerbuildCost", lc) public class AbilityDefinitionEntanglingSeaweed extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aenw') function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Eer1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Eer1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionNeutralSpies extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Ansp') function setGoldCostperStructure(int level, int value) def.setLvlDataInt("Nsp1", level, 1, value) function presetGoldCostperStructure(IntLevelClosure lc) def.setLevelsDataInt("Nsp1", lvls, 1, lc) addTooltipProperty("GoldCostperStructure", lc) function setLumberCostperUse(int level, int value) def.setLvlDataInt("Nsp2", level, 2, value) function presetLumberCostperUse(IntLevelClosure lc) def.setLevelsDataInt("Nsp2", lvls, 2, lc) addTooltipProperty("LumberCostperUse", lc) function setDetectionType(int level, string value) def.setLvlDataString("Nsp3", level, 3, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Nsp3", lvls, 3, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionEntangle extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aent') function setResultingUnitType(int level, string value) def.setLvlDataString("ent1", level, 0, value) function presetResultingUnitType(StringLevelClosure lc) def.setLevelsDataString("ent1", lvls, 0, lc) addTooltipProperty("ResultingUnitType", lc) public class AbilityDefinitionRejuvination extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Arej') function setManaPointsGained(int level, real value) def.setLvlDataUnreal("Rej2", level, 2, value) function presetManaPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej2", lvls, 2, lc) addTooltipProperty("ManaPointsGained", lc) function setNoTargetRequired(int level, bool value) def.setLvlDataBoolean("Rej4", level, 4, value) function presetNoTargetRequired(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rej4", lvls, 4, lc) addTooltipProperty("NoTargetRequired", lc) function setHitPointsGained(int level, real value) def.setLvlDataUnreal("Rej1", level, 1, value) function presetHitPointsGained(RealLevelClosure lc) def.setLevelsDataUnreal("Rej1", lvls, 1, lc) addTooltipProperty("HitPointsGained", lc) function setAllowWhenFull(int level, string value) def.setLvlDataString("Rej3", level, 3, value) function presetAllowWhenFull(StringLevelClosure lc) def.setLevelsDataString("Rej3", lvls, 3, lc) addTooltipProperty("AllowWhenFull", lc) public class AbilityDefinitionEntanglingRootscreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aenr') function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Eer1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Eer1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) public class AbilityDefinitionSelfDestruct extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asds') function setPartialDamageAmount(int level, real value) def.setLvlDataUnreal("Dda4", level, 4, value) function presetPartialDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda4", lvls, 4, lc) addTooltipProperty("PartialDamageAmount", lc) function setFullDamageRadius(int level, real value) def.setLvlDataUnreal("Dda1", level, 1, value) function presetFullDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda1", lvls, 1, lc) addTooltipProperty("FullDamageRadius", lc) function setFullDamageAmount(int level, real value) def.setLvlDataUnreal("Dda2", level, 2, value) function presetFullDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda2", lvls, 2, lc) addTooltipProperty("FullDamageAmount", lc) function setExplodesonDeath(int level, bool value) def.setLvlDataBoolean("Sds6", level, 6, value) function presetExplodesonDeath(BooleanLevelClosure lc) def.setLevelsDataBoolean("Sds6", lvls, 6, lc) addTooltipProperty("ExplodesonDeath", lc) function setBuildingDamageFactor(int level, real value) def.setLvlDataUnreal("Sds1", level, 5, value) function presetBuildingDamageFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Sds1", lvls, 5, lc) addTooltipProperty("BuildingDamageFactor", lc) function setPartialDamageRadius(int level, real value) def.setLvlDataUnreal("Dda3", level, 3, value) function presetPartialDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda3", lvls, 3, lc) addTooltipProperty("PartialDamageRadius", lc) public class AbilityDefinitionBlightGrowthSmall extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abgs') function setCreatesBlight(int level, bool value) def.setLvlDataBoolean("Bli2", level, 2, value) function presetCreatesBlight(BooleanLevelClosure lc) def.setLevelsDataBoolean("Bli2", lvls, 2, lc) addTooltipProperty("CreatesBlight", lc) function setExpansionAmount(int level, real value) def.setLvlDataUnreal("Bli1", level, 1, value) function presetExpansionAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Bli1", lvls, 1, lc) addTooltipProperty("ExpansionAmount", lc) public class AbilityDefinitionEnsnare extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aens') function setAirUnitHeight(int level, real value) def.setLvlDataUnreal("Ens2", level, 2, value) function presetAirUnitHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Ens2", lvls, 2, lc) addTooltipProperty("AirUnitHeight", lc) function setAirUnitLowerDuration(int level, real value) def.setLvlDataUnreal("Ens1", level, 1, value) function presetAirUnitLowerDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ens1", lvls, 1, lc) addTooltipProperty("AirUnitLowerDuration", lc) function setMeleeAttackRange(int level, real value) def.setLvlDataUnreal("Ens3", level, 3, value) function presetMeleeAttackRange(RealLevelClosure lc) def.setLevelsDataUnreal("Ens3", lvls, 3, lc) addTooltipProperty("MeleeAttackRange", lc) public class AbilityDefinitionDeathDamageAOEmineBIG extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amnz') function setPartialDamageAmount(int level, real value) def.setLvlDataUnreal("Dda4", level, 4, value) function presetPartialDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda4", lvls, 4, lc) addTooltipProperty("PartialDamageAmount", lc) function setFullDamageRadius(int level, real value) def.setLvlDataUnreal("Dda1", level, 1, value) function presetFullDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda1", lvls, 1, lc) addTooltipProperty("FullDamageRadius", lc) function setFullDamageAmount(int level, real value) def.setLvlDataUnreal("Dda2", level, 2, value) function presetFullDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda2", lvls, 2, lc) addTooltipProperty("FullDamageAmount", lc) function setPartialDamageRadius(int level, real value) def.setLvlDataUnreal("Dda3", level, 3, value) function presetPartialDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda3", lvls, 3, lc) addTooltipProperty("PartialDamageRadius", lc) public class AbilityDefinitionSerpentWardtentacleForgottenone extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACtn') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionTornadoDamage extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Atdg') function setMediumDamageRadius(int level, real value) def.setLvlDataUnreal("Tdg2", level, 2, value) function presetMediumDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Tdg2", lvls, 2, lc) addTooltipProperty("MediumDamageRadius", lc) function setMediumDamagePerSecond(int level, real value) def.setLvlDataUnreal("Tdg3", level, 3, value) function presetMediumDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Tdg3", lvls, 3, lc) addTooltipProperty("MediumDamagePerSecond", lc) function setSmallDamageRadius(int level, real value) def.setLvlDataUnreal("Tdg4", level, 4, value) function presetSmallDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Tdg4", lvls, 4, lc) addTooltipProperty("SmallDamageRadius", lc) function setSmallDamagePerSecond(int level, real value) def.setLvlDataUnreal("Tdg5", level, 5, value) function presetSmallDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Tdg5", lvls, 5, lc) addTooltipProperty("SmallDamagePerSecond", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Tdg1", level, 1, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Tdg1", lvls, 1, lc) addTooltipProperty("DamagePerSecond", lc) public class AbilityDefinitionThunderBoltCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACtb') function setDamage(int level, real value) def.setLvlDataUnreal("Ctb1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ctb1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionThunderClapCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACtc') function setDamage(int level, real value) def.setLvlDataUnreal("Ctc1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Ctc1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setExtraDamageToTarget(int level, real value) def.setLvlDataUnreal("Ctc2", level, 2, value) function presetExtraDamageToTarget(RealLevelClosure lc) def.setLevelsDataUnreal("Ctc2", lvls, 2, lc) addTooltipProperty("ExtraDamageToTarget", lc) function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("Ctc4", level, 4, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Ctc4", lvls, 4, lc) addTooltipProperty("AttackSpeedReduction", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("Ctc3", level, 3, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Ctc3", lvls, 3, lc) addTooltipProperty("MovementSpeedReduction", lc) public class AbilityDefinitionSelfDestructClockwerkGoblins extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asdg') function setExplodesonDeath(int level, bool value) def.setLvlDataBoolean("Sds6", level, 6, value) function presetExplodesonDeath(BooleanLevelClosure lc) def.setLevelsDataBoolean("Sds6", lvls, 6, lc) addTooltipProperty("ExplodesonDeath", lc) public class AbilityDefinitionDeathDamageAOEmine extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amnx') function setPartialDamageAmount(int level, real value) def.setLvlDataUnreal("Dda4", level, 4, value) function presetPartialDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda4", lvls, 4, lc) addTooltipProperty("PartialDamageAmount", lc) function setFullDamageRadius(int level, real value) def.setLvlDataUnreal("Dda1", level, 1, value) function presetFullDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda1", lvls, 1, lc) addTooltipProperty("FullDamageRadius", lc) function setFullDamageAmount(int level, real value) def.setLvlDataUnreal("Dda2", level, 2, value) function presetFullDamageAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Dda2", lvls, 2, lc) addTooltipProperty("FullDamageAmount", lc) function setPartialDamageRadius(int level, real value) def.setLvlDataUnreal("Dda3", level, 3, value) function presetPartialDamageRadius(RealLevelClosure lc) def.setLevelsDataUnreal("Dda3", lvls, 3, lc) addTooltipProperty("PartialDamageRadius", lc) public class AbilityDefinitionManaBurndemon extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Amnb') function setMaxManaDrained(int level, real value) def.setLvlDataUnreal("Emb1", level, 1, value) function presetMaxManaDrained(RealLevelClosure lc) def.setLevelsDataUnreal("Emb1", lvls, 1, lc) addTooltipProperty("MaxManaDrained", lc) function setBoltLifetime(int level, real value) def.setLvlDataUnreal("Emb3", level, 3, value) function presetBoltLifetime(RealLevelClosure lc) def.setLevelsDataUnreal("Emb3", lvls, 3, lc) addTooltipProperty("BoltLifetime", lc) function setBoltDelay(int level, real value) def.setLvlDataUnreal("Emb2", level, 2, value) function presetBoltDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Emb2", lvls, 2, lc) addTooltipProperty("BoltDelay", lc) public class AbilityDefinitionShockwaveTrap extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACst') function setDamage(int level, real value) def.setLvlDataUnreal("Osh1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Osh1", lvls, 1, lc) addTooltipProperty("Damage", lc) function setDistance(int level, real value) def.setLvlDataUnreal("Osh3", level, 3, value) function presetDistance(RealLevelClosure lc) def.setLevelsDataUnreal("Osh3", lvls, 3, lc) addTooltipProperty("Distance", lc) function setFinalArea(int level, real value) def.setLvlDataUnreal("Osh4", level, 4, value) function presetFinalArea(RealLevelClosure lc) def.setLevelsDataUnreal("Osh4", lvls, 4, lc) addTooltipProperty("FinalArea", lc) function setMaximumDamage(int level, real value) def.setLvlDataUnreal("Osh2", level, 2, value) function presetMaximumDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Osh2", lvls, 2, lc) addTooltipProperty("MaximumDamage", lc) public class AbilityDefinitionShadowStrikeCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACss') function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Esh2", level, 2, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Esh2", lvls, 2, lc) addTooltipProperty("MovementSpeedFactor", lc) function setInitialDamage(int level, real value) def.setLvlDataUnreal("Esh5", level, 5, value) function presetInitialDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Esh5", lvls, 5, lc) addTooltipProperty("InitialDamage", lc) function setDecayPower(int level, real value) def.setLvlDataUnreal("Esh4", level, 4, value) function presetDecayPower(RealLevelClosure lc) def.setLevelsDataUnreal("Esh4", lvls, 4, lc) addTooltipProperty("DecayPower", lc) function setDecayingDamage(int level, real value) def.setLvlDataUnreal("Esh1", level, 1, value) function presetDecayingDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Esh1", lvls, 1, lc) addTooltipProperty("DecayingDamage", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Esh3", level, 3, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Esh3", lvls, 3, lc) addTooltipProperty("AttackSpeedFactor", lc) public class AbilityDefinitionBashmaulSPBearlevel3 extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ANb2') function setNeverMiss(int level, bool value) def.setLvlDataBoolean("Hbh5", level, 5, value) function presetNeverMiss(BooleanLevelClosure lc) def.setLevelsDataBoolean("Hbh5", lvls, 5, lc) addTooltipProperty("NeverMiss", lc) public class AbilityDefinitionSlowCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACsw') function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Slo1", level, 1, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Slo1", lvls, 1, lc) addTooltipProperty("MovementSpeedFactor", lc) function setAlwaysAutocast(int level, bool value) def.setLvlDataBoolean("Slo3", level, 3, value) function presetAlwaysAutocast(BooleanLevelClosure lc) def.setLevelsDataBoolean("Slo3", lvls, 3, lc) addTooltipProperty("AlwaysAutocast", lc) function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Slo2", level, 2, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Slo2", lvls, 2, lc) addTooltipProperty("AttackSpeedFactor", lc) public class AbilityDefinitionReturnGold extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Argd') function setAcceptsGold(int level, bool value) def.setLvlDataBoolean("Rtn1", level, 1, value) function presetAcceptsGold(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rtn1", lvls, 1, lc) addTooltipProperty("AcceptsGold", lc) function setAcceptsLumber(int level, bool value) def.setLvlDataBoolean("Rtn2", level, 2, value) function presetAcceptsLumber(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rtn2", lvls, 2, lc) addTooltipProperty("AcceptsLumber", lc) public class AbilityDefinitionWarStompseagiant extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Awrg') function setTerrainDeformationAmplitude(int level, real value) def.setLvlDataUnreal("Wrs2", level, 2, value) function presetTerrainDeformationAmplitude(RealLevelClosure lc) def.setLevelsDataUnreal("Wrs2", lvls, 2, lc) addTooltipProperty("TerrainDeformationAmplitude", lc) function setTerrainDeformationDurationms(int level, int value) def.setLvlDataInt("Wrs3", level, 3, value) function presetTerrainDeformationDurationms(IntLevelClosure lc) def.setLevelsDataInt("Wrs3", lvls, 3, lc) addTooltipProperty("TerrainDeformationDurationms", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Wrs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Wrs1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionBladeMasterBladestorm extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOww') function setMagicDamageReduction(int level, real value) def.setLvlDataUnreal("Oww2", level, 2, value) function presetMagicDamageReduction(RealLevelClosure lc) def.setLevelsDataUnreal("Oww2", lvls, 2, lc) addTooltipProperty("MagicDamageReduction", lc) function setDamagePerSecond(int level, real value) def.setLvlDataUnreal("Oww1", level, 1, value) function presetDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Oww1", lvls, 1, lc) addTooltipProperty("DamagePerSecond", lc) public class AbilityDefinitionTaurenChieftainWarStomp extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOws') function setDamage(int level, real value) def.setLvlDataUnreal("Wrs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Wrs1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionWarStomphydra extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Awrh') function setTerrainDeformationAmplitude(int level, real value) def.setLvlDataUnreal("Wrs2", level, 2, value) function presetTerrainDeformationAmplitude(RealLevelClosure lc) def.setLevelsDataUnreal("Wrs2", lvls, 2, lc) addTooltipProperty("TerrainDeformationAmplitude", lc) function setTerrainDeformationDurationms(int level, int value) def.setLvlDataInt("Wrs3", level, 3, value) function presetTerrainDeformationDurationms(IntLevelClosure lc) def.setLevelsDataInt("Wrs3", lvls, 3, lc) addTooltipProperty("TerrainDeformationDurationms", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Wrs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Wrs1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionBladeMasterWindWalk extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'AOwk') function setBackstabDamage(int level, bool value) def.setLvlDataBoolean("Owk4", level, 4, value) function presetBackstabDamage(BooleanLevelClosure lc) def.setLevelsDataBoolean("Owk4", lvls, 4, lc) addTooltipProperty("BackstabDamage", lc) function setMovementSpeedIncrease(int level, real value) def.setLvlDataUnreal("Owk2", level, 2, value) function presetMovementSpeedIncrease(RealLevelClosure lc) def.setLevelsDataUnreal("Owk2", lvls, 2, lc) addTooltipProperty("MovementSpeedIncrease", lc) function setTransitionTime(int level, real value) def.setLvlDataUnreal("Owk1", level, 1, value) function presetTransitionTime(RealLevelClosure lc) def.setLevelsDataUnreal("Owk1", lvls, 1, lc) addTooltipProperty("TransitionTime", lc) function setBackstabDamage1(int level, real value) def.setLvlDataUnreal("Owk3", level, 3, value) function presetBackstabDamage1(RealLevelClosure lc) def.setLevelsDataUnreal("Owk3", lvls, 3, lc) addTooltipProperty("BackstabDamage1", lc) public class AbilityDefinitionSummonSeaElemental extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACwe') function setSummonedUnitCount(int level, int value) def.setLvlDataInt("Hwe2", level, 1, value) function presetSummonedUnitCount(IntLevelClosure lc) def.setLevelsDataInt("Hwe2", lvls, 1, lc) addTooltipProperty("SummonedUnitCount", lc) function setSummonedUnitType(int level, string value) def.setLvlDataString("Hwe1", level, 0, value) function presetSummonedUnitType(StringLevelClosure lc) def.setLevelsDataString("Hwe1", lvls, 0, lc) addTooltipProperty("SummonedUnitType", lc) public class AbilityDefinitionWebcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACwb') function setAirUnitHeight(int level, real value) def.setLvlDataUnreal("Ens2", level, 2, value) function presetAirUnitHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Ens2", lvls, 2, lc) addTooltipProperty("AirUnitHeight", lc) function setAirUnitLowerDuration(int level, real value) def.setLvlDataUnreal("Ens1", level, 1, value) function presetAirUnitLowerDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Ens1", lvls, 1, lc) addTooltipProperty("AirUnitLowerDuration", lc) function setMeleeAttackRange(int level, real value) def.setLvlDataUnreal("Ens3", level, 3, value) function presetMeleeAttackRange(RealLevelClosure lc) def.setLevelsDataUnreal("Ens3", lvls, 3, lc) addTooltipProperty("MeleeAttackRange", lc) public class AbilityDefinitionReturnGoldLumber extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Argl') function setAcceptsGold(int level, bool value) def.setLvlDataBoolean("Rtn1", level, 1, value) function presetAcceptsGold(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rtn1", lvls, 1, lc) addTooltipProperty("AcceptsGold", lc) function setAcceptsLumber(int level, bool value) def.setLvlDataBoolean("Rtn2", level, 2, value) function presetAcceptsLumber(BooleanLevelClosure lc) def.setLevelsDataBoolean("Rtn2", lvls, 2, lc) addTooltipProperty("AcceptsLumber", lc) public class AbilityDefinitionSelfDestruct3ClockwerkGoblins extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asd3') function setExplodesonDeath(int level, bool value) def.setLvlDataBoolean("Sds6", level, 6, value) function presetExplodesonDeath(BooleanLevelClosure lc) def.setLevelsDataBoolean("Sds6", lvls, 6, lc) addTooltipProperty("ExplodesonDeath", lc) public class AbilityDefinitionSelfDestruct2ClockwerkGoblins extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Asd2') function setExplodesonDeath(int level, bool value) def.setLvlDataBoolean("Sds6", level, 6, value) function presetExplodesonDeath(BooleanLevelClosure lc) def.setLevelsDataBoolean("Sds6", lvls, 6, lc) addTooltipProperty("ExplodesonDeath", lc) public class AbilityDefinitionGraveyard extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Agyd') function setRadiusofCorpses(int level, real value) def.setLvlDataUnreal("Gyd3", level, 3, value) function presetRadiusofCorpses(RealLevelClosure lc) def.setLevelsDataUnreal("Gyd3", lvls, 3, lc) addTooltipProperty("RadiusofCorpses", lc) function setMaximumNumberofCorpses(int level, int value) def.setLvlDataInt("Gyd1", level, 1, value) function presetMaximumNumberofCorpses(IntLevelClosure lc) def.setLevelsDataInt("Gyd1", lvls, 1, lc) addTooltipProperty("MaximumNumberofCorpses", lc) function setRadiusofGravestones(int level, real value) def.setLvlDataUnreal("Gyd2", level, 2, value) function presetRadiusofGravestones(RealLevelClosure lc) def.setLevelsDataUnreal("Gyd2", lvls, 2, lc) addTooltipProperty("RadiusofGravestones", lc) function setCorpseUnitType(int level, string value) def.setLvlDataString("Gydu", level, 0, value) function presetCorpseUnitType(StringLevelClosure lc) def.setLevelsDataString("Gydu", lvls, 0, lc) addTooltipProperty("CorpseUnitType", lc) public class AbilityDefinitionWarStompcreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Awrs') function setTerrainDeformationAmplitude(int level, real value) def.setLvlDataUnreal("Wrs2", level, 2, value) function presetTerrainDeformationAmplitude(RealLevelClosure lc) def.setLevelsDataUnreal("Wrs2", lvls, 2, lc) addTooltipProperty("TerrainDeformationAmplitude", lc) function setTerrainDeformationDurationms(int level, int value) def.setLvlDataInt("Wrs3", level, 3, value) function presetTerrainDeformationDurationms(IntLevelClosure lc) def.setLevelsDataInt("Wrs3", lvls, 3, lc) addTooltipProperty("TerrainDeformationDurationms", lc) function setDamage(int level, real value) def.setLvlDataUnreal("Wrs1", level, 1, value) function presetDamage(RealLevelClosure lc) def.setLevelsDataUnreal("Wrs1", lvls, 1, lc) addTooltipProperty("Damage", lc) public class AbilityDefinitionWarp extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Awrp') function setTeleportAreaWidth(int level, real value) def.setLvlDataUnreal("Wrp1", level, 1, value) function presetTeleportAreaWidth(RealLevelClosure lc) def.setLevelsDataUnreal("Wrp1", lvls, 1, lc) addTooltipProperty("TeleportAreaWidth", lc) function setTeleportAreaHeight(int level, real value) def.setLvlDataUnreal("Wrp2", level, 2, value) function presetTeleportAreaHeight(RealLevelClosure lc) def.setLevelsDataUnreal("Wrp2", lvls, 2, lc) addTooltipProperty("TeleportAreaHeight", lc) public class AbilityDefinitionVampiricAuracreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACvp') function setAttackDamageStolen(int level, real value) def.setLvlDataUnreal("Uav1", level, 1, value) function presetAttackDamageStolen(RealLevelClosure lc) def.setLevelsDataUnreal("Uav1", lvls, 1, lc) addTooltipProperty("AttackDamageStolen", lc) public class AbilityDefinitionVenomSpearsCreep extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'ACvs') function setAttackSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi2", level, 2, value) function presetAttackSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi2", lvls, 2, lc) addTooltipProperty("AttackSpeedFactor", lc) function setStackingType(int level, string value) def.setLvlDataString("Poi4", level, 4, value) function presetStackingType(StringLevelClosure lc) def.setLevelsDataString("Poi4", lvls, 4, lc) addTooltipProperty("StackingType", lc) function setDamageperSecond(int level, real value) def.setLvlDataUnreal("Poi1", level, 1, value) function presetDamageperSecond(RealLevelClosure lc) def.setLevelsDataUnreal("Poi1", lvls, 1, lc) addTooltipProperty("DamageperSecond", lc) function setMovementSpeedFactor(int level, real value) def.setLvlDataUnreal("Poi3", level, 3, value) function presetMovementSpeedFactor(RealLevelClosure lc) def.setLevelsDataUnreal("Poi3", lvls, 3, lc) addTooltipProperty("MovementSpeedFactor", lc) public class AbilityDefinitionBurrowDetectionFlyers extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abdt') function setDetectionType(int level, string value) def.setLvlDataString("Det1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Det1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionBlightDispelSmall extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abds') function setCreatesBlight(int level, bool value) def.setLvlDataBoolean("Bli2", level, 2, value) function presetCreatesBlight(BooleanLevelClosure lc) def.setLevelsDataBoolean("Bli2", lvls, 2, lc) addTooltipProperty("CreatesBlight", lc) function setExpansionAmount(int level, real value) def.setLvlDataUnreal("Bli1", level, 1, value) function presetExpansionAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Bli1", lvls, 1, lc) addTooltipProperty("ExpansionAmount", lc) public class AbilityDefinitionLiquidFire extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Aliq') function setAttackSpeedReduction(int level, real value) def.setLvlDataUnreal("liq3", level, 3, value) function presetAttackSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("liq3", lvls, 3, lc) addTooltipProperty("AttackSpeedReduction", lc) function setMovementSpeedReduction(int level, real value) def.setLvlDataUnreal("liq2", level, 2, value) function presetMovementSpeedReduction(RealLevelClosure lc) def.setLevelsDataUnreal("liq2", lvls, 2, lc) addTooltipProperty("MovementSpeedReduction", lc) function setRepairsAllowed(int level, bool value) def.setLvlDataBoolean("liq4", level, 4, value) function presetRepairsAllowed(BooleanLevelClosure lc) def.setLevelsDataBoolean("liq4", lvls, 4, lc) addTooltipProperty("RepairsAllowed", lc) function setExtraDamagePerSecond(int level, real value) def.setLvlDataUnreal("liq1", level, 1, value) function presetExtraDamagePerSecond(RealLevelClosure lc) def.setLevelsDataUnreal("liq1", lvls, 1, lc) addTooltipProperty("ExtraDamagePerSecond", lc) public class AbilityDefinitionDetectGyrocopter extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Agyv') function setDetectionType(int level, string value) def.setLvlDataString("Det1", level, 1, value) function presetDetectionType(StringLevelClosure lc) def.setLevelsDataString("Det1", lvls, 1, lc) addTooltipProperty("DetectionType", lc) public class AbilityDefinitionLightningAttack extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Alit') function setGraphicDuration(int level, real value) def.setLvlDataUnreal("Lit2", level, 2, value) function presetGraphicDuration(RealLevelClosure lc) def.setLevelsDataUnreal("Lit2", lvls, 2, lc) addTooltipProperty("GraphicDuration", lc) function setGraphicDelay(int level, real value) def.setLvlDataUnreal("Lit1", level, 1, value) function presetGraphicDelay(RealLevelClosure lc) def.setLevelsDataUnreal("Lit1", lvls, 1, lc) addTooltipProperty("GraphicDelay", lc) public class AbilityDefinitionBlightDispelLarge extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Abdl') function setCreatesBlight(int level, bool value) def.setLvlDataBoolean("Bli2", level, 2, value) function presetCreatesBlight(BooleanLevelClosure lc) def.setLevelsDataBoolean("Bli2", lvls, 2, lc) addTooltipProperty("CreatesBlight", lc) function setExpansionAmount(int level, real value) def.setLvlDataUnreal("Bli1", level, 1, value) function presetExpansionAmount(RealLevelClosure lc) def.setLevelsDataUnreal("Bli1", lvls, 1, lc) addTooltipProperty("ExpansionAmount", lc) public class AbilityDefinitionChaosCargoLoad extends AbilityDefinition construct(int newAbilityId) super(newAbilityId, 'Achl') function setUnitTypeAllowed(int level, string value) def.setLvlDataString("Chl1", level, 0, value) function presetUnitTypeAllowed(StringLevelClosure lc) def.setLevelsDataString("Chl1", lvls, 0, lc) addTooltipProperty("UnitTypeAllowed", lc)