package UnitObjEditing import NoWurst import ObjEditingNatives public enum MovementType None Foot Horse Fly Hover Float Amphipic public enum Race Commoner Creeps Critters Demon Human Naga Nightelf Orc Other Undead Unknown public enum ArmorType Normal Small Medium Large Fortified Hero Divine Unarmored public enum AttackType Unknown Normal Pierce Siege Spells Chaos Magic Hero public enum WeaponSound Nothing AxeMediumChop MetalHeavyBash MetalHeavyChop MetalHeavySlice MetalLightChop MetalLightSlice MetalMediumBash MetalMediumChop MetalMediumSlice RockHeavyBash WoodHeavyBash WoodLightBash WoodMediumBash public enum ArmorSoundType Ethereal Metal Flesh Stone Wood public enum WeaponType None Normal Instant Artillery ArtilleryLine Missile MissileSplash MissileBounce MissileLine public function WeaponType.toObjectString() returns string switch this case Normal return "normal" case Instant return "instant" case Artillery return "artillery" case ArtilleryLine return "aline" case Missile return "missile" case MissileSplash return "msplash" case MissileBounce return "mbounce" case MissileLine return "mline" default return "_" public function WeaponSound.toString() returns string switch this case WeaponSound.Nothing return "Nothing" case WeaponSound.AxeMediumChop return "AxeMediumChop" case WeaponSound.MetalHeavyBash return "MetalHeavyBash" case WeaponSound.MetalHeavyChop return "MetalHeavyChop" case WeaponSound.MetalHeavySlice return "MetalHeavySlice" case WeaponSound.MetalLightChop return "MetalLightChop" case WeaponSound.MetalLightSlice return "MetalLightSlice" case WeaponSound.MetalMediumBash return "MetalMediumBash" case WeaponSound.MetalMediumChop return "MetalMediumChop" case WeaponSound.MetalMediumSlice return "MetalMediumSlice" case WeaponSound.RockHeavyBash return "RockHeavyBash" case WeaponSound.WoodHeavyBash return "WoodHeavyBash" case WeaponSound.WoodLightBash return "WoodLightBash" case WeaponSound.WoodMediumBash return "WoodMediumBash" default return null public function ArmorSoundType.toString() returns string switch this case ArmorSoundType.Ethereal return "Ethereal" case ArmorSoundType.Flesh return "Flesh" case ArmorSoundType.Wood return "Wood" case ArmorSoundType.Stone return "Stone" case ArmorSoundType.Metal return "Metal" default return null public function ArmorType.toObjectString() returns string string result = "normal" switch this case Normal result = "normal" case Small result = "small" case Medium result = "medium" case Large result = "large" case Fortified result = "fort" case Hero result = "hero" case Divine result = "divine" case Unarmored result = "none" return result public function AttackType.toObjectString() returns string string result = "unknown" switch this case Unknown result = "unknown" case Normal result = "normal" case Pierce result = "pierce" case Siege result = "siege" case Spells result = "spells" case Chaos result = "chaos" case Magic result = "magic" case Hero result = "hero" return result public function Race.toObjectString() returns string string result = "unknown" switch this case Commoner result = "commoner" case Creeps result = "creeps" case Critters result = "critters" case Demon result = "demon" case Human result = "human" case Naga result = "naga" case Nightelf result = "nightelf" case Orc result = "orc" case Other result = "other" case Undead result = "undead" case Unknown result = "unknown" return result public function MovementType.toObjectString() returns string var result = "" switch this case None case Foot result = "foot" case Horse result = "horse" case Fly result = "fly" case Hover result = "hover" case Float result = "float" case Amphipic result = "amph" return result public class W3UDefinition ObjectDefinition def construct(int newUnitId, int origUnitId) def = createObjectDefinition("w3u", newUnitId, origUnitId) function setTooltipExtended(string data) def.setString("utub", data) function setTooltipBasic(string data) def.setString("utip", data) function setRequirementsLevels(string data) def.setString("urqa", data) function setRequirements(string data) def.setString("ureq", data) function setName(string data) def.setString("unam", data) function setHotkey(string data) def.setString("uhot", data) function setDescription(string data) def.setString("ides", data) function setButtonPositionY(int data) def.setInt("ubpy", data) function setButtonPositionX(int data) def.setInt("ubpx", data) public class UnitOrBuildingOrHeroDefinition extends W3UDefinition construct(int newUnitId, int origUnitId) super(newUnitId, origUnitId) function setUseExtendedLineofSight(boolean data) def.setBoolean("ulos", data) function setUseClickHelper(boolean data) def.setBoolean("uuch", data) function setUpgradesUsed(string data) def.setString("upgr", data) function setUnitSoundSet(string data) def.setString("usnd", data) function setUnitClassification(string data) def.setString("utyp", data) function setMovementType(MovementType mtype) def.setString("umvt", mtype.toObjectString()) function setTurnRate(real data) def.setUnreal("umvr", data) function setTintingColorBlue(int data) def.setInt("uclb", data) function setTintingColorGreen(int data) def.setInt("uclg", data) function setTintingColorRed(int data) def.setInt("uclr", data) function setTilesets(string data) def.setString("util", data) function setTeamColor(int data) def.setInt("utco", data) function setTargetedAs(string data) def.setString("utar", data) function setTarget(string data) def.setString("utaa", data) function setStockStartDelay(int data) def.setInt("usst", data) function setStockReplenishInterval(int data) def.setInt("usrg", data) function setStockMaximum(int data) def.setInt("usma", data) function setSpeedMinimum(int data) def.setInt("umis", data) function setSpeedMaximum(int data) def.setInt("umas", data) function setSpeedBase(int data) def.setInt("umvs", data) function setSpecial(string data) def.setString("uspa", data) function setSleeps(boolean data) def.setBoolean("usle", data) function setSightRadiusNight(int data) def.setInt("usin", data) function setSightRadiusDay(int data) def.setInt("usid", data) function setShadowTextureBuilding(string data) def.setString("ushb", data) function setShadowImageWidth(real data) def.setReal("ushw", data) function setShadowImageUnit(string data) def.setString("ushu", data) function setShadowImageHeight(real data) def.setReal("ushh", data) function setShadowImageCenterY(real data) def.setReal("ushy", data) function setShadowImageCenterX(real data) def.setReal("ushx", data) function setSelectionScale(real data) def.setReal("ussc", data) function setSelectionCircleOnWater(boolean data) def.setBoolean("usew", data) function setSelectionCircleHeight(real data) def.setReal("uslz", data) function setScalingValue(real data) def.setReal("usca", data) function setScaleProjectiles(boolean data) def.setBoolean("uscb", data) function setRequiredBoneNames(string data) def.setString("ubpr", data) function setRequiredAttachmentLinkNames(string data) def.setString("ualp", data) function setRequiredAnimationNamesAttachments(string data) def.setString("uaap", data) function setRequiredAnimationNames(string data) def.setString("uani", data) function setRepairTime(int data) def.setInt("urtm", data) function setRepairLumberCost(int data) def.setInt("ulur", data) function setRepairGoldCost(int data) def.setInt("ugor", data) function setRandomSound(string data) def.setString("ursl", data) function setRace(Race data) def.setString("urac", data.toObjectString()) function setPropulsionWindowdegrees(real data) def.setUnreal("uprw", data) function setProjectileLaunchZSwimming(real data) def.setUnreal("ulsz", data) function setProjectileLaunchZ(real data) def.setUnreal("ulpz", data) function setProjectileLaunchY(real data) def.setUnreal("ulpy", data) function setProjectileLaunchX(real data) def.setUnreal("ulpx", data) function setProjectileImpactZSwimming(real data) def.setUnreal("uisz", data) function setProjectileImpactZ(real data) def.setUnreal("uimz", data) function setPriority(int data) def.setInt("upri", data) function setPointValue(int data) def.setInt("upoi", data) function setPlaceableInEditor(boolean data) def.setBoolean("uine", data) function setOrientationInterpolation(int data) def.setInt("uori", data) function setOccluderHeight(real data) def.setUnreal("uocc", data) function setNormalAbilities(string data) def.setString("uabi", data) function setNameEditorSuffix(string data) def.setString("unsf", data) function setMovementSound(string data) def.setString("umsl", data) function setModelFileExtraVersions(string data) def.setString("uver", data) function setModelFile(string data) def.setString("umdl", data) function setMinimumAttackRange(int data) def.setInt("uamn", data) function setMaximumRollAngledegrees(real data) def.setReal("umxr", data) function setMaximumPitchAngledegrees(real data) def.setReal("umxp", data) function setManaRegeneration(real data) def.setUnreal("umpr", data) function setManaMaximum(int data) def.setInt("umpm", data) function setManaInitialAmount(int data) def.setInt("umpi", data) function setLumberCost(int data) def.setInt("ulum", data) function setSoundLoopingFadeOutRate(int data) def.setInt("ulfo", data) function setSoundLoopingFadeInRate(int data) def.setInt("ulfi", data) function setIsaBuilding(boolean data) def.setBoolean("ubdg", data) function setIconScoreScreen(string data) def.setString("ussi", data) function setIconGameInterface(string data) def.setString("uico", data) function setHitPointsRegenerationType(string data) def.setString("uhrt", data) function setHitPointsRegenerationRate(real data) def.setUnreal("uhpr", data) function setHitPointsMaximumBase(int data) def.setInt("uhpm", data) function setMovementHeightMinimum(real data) def.setUnreal("umvf", data) function setMovementHeight(real data) def.setUnreal("umvh", data) function setHasWaterShadow(boolean data) def.setBoolean("ushr", data) function setHasTilesetSpecificData(boolean data) def.setBoolean("utss", data) function setGoldCost(int data) def.setInt("ugol", data) function setGoldBountyAwardedSidesperDie(int data) def.setInt("ubsi", data) function setGoldBountyAwardedNumberofDice(int data) def.setInt("ubdi", data) function setGoldBountyAwardedBase(int data) def.setInt("ubba", data) function setFoodProduced(int data) def.setInt("ufma", data) function setFoodCost(int data) def.setInt("ufoo", data) function setFogOfWarSampleRadius(real data) def.setReal("ufrd", data) function setElevationSampleRadius(real data) def.setReal("uerd", data) function setElevationSamplePoints(int data) def.setInt("uept", data) function setDisplayasNeutralHostile(boolean data) def.setBoolean("uhos", data) function setDependencyEquivalents(string data) def.setString("udep", data) function setDefenseUpgradeBonus(int data) def.setInt("udup", data) function setArmorType(ArmorType data) def.setString("udty", data.toObjectString()) function setDefenseBase(int data) def.setInt("udef", data) function setDefaultActiveAbility(string data) def.setString("udaa", data) function setDeathType(int data) def.setInt("udea", data) function setDeathTimeseconds(real data) def.setUnreal("udtm", data) function setCollisionSize(real data) def.setUnreal("ucol", data) function setCategorizationSpecial(boolean data) def.setBoolean("uspe", data) function setCategorizationCampaign(boolean data) def.setBoolean("ucam", data) function setCanFlee(boolean data) def.setBoolean("ufle", data) function setCanDropItemsOnDeath(boolean data) def.setBoolean("udro", data) function setBuildTime(int data) def.setInt("ubld", data) function setAttacksEnabled(int data) def.setInt("uaen", data) function setAttack2WeaponType(WeaponType wepType) def.setString("ua2w", wepType.toObjectString()) function setAttack2WeaponSound(WeaponSound data) def.setString("ucs2", data.toString()) function setAttack2TargetsAllowed(string data) def.setString("ua2g", data) function setAttack2ShowUI(boolean data) def.setBoolean("uwu2", data) function setAttack2RangeMotionBuffer(real data) def.setUnreal("urb2", data) function setAttack2Range(int data) def.setInt("ua2r", data) function setAttack2ProjectileSpeed(int data) def.setInt("ua2z", data) function setAttack2ProjectileHomingEnabled(boolean data) def.setBoolean("umh2", data) function setAttack2ProjectileArt(string data) def.setString("ua2m", data) function setAttack2ProjectileArc(real data) def.setUnreal("uma2", data) function setAttack2MaximumNumberofTargets(int data) def.setInt("utc2", data) function setAttack2DamageUpgradeAmount(int data) def.setInt("udu2", data) function setAttack2DamageSpillRadius(real data) def.setUnreal("usr2", data) function setAttack2DamageSpillDistance(real data) def.setUnreal("usd2", data) function setAttack2DamageSidesperDie(int data) def.setInt("ua2s", data) function setAttack2DamageNumberofDice(int data) def.setInt("ua2d", data) function setAttack2DamageLossFactor(real data) def.setUnreal("udl2", data) function setAttack2DamageFactorSmall(real data) def.setUnreal("uqd2", data) function setAttack2DamageFactorMedium(real data) def.setUnreal("uhd2", data) function setAttack2DamageBase(int data) def.setInt("ua2b", data) function setAttack2CooldownTime(real data) def.setUnreal("ua2c", data) function setAttack2AttackType(AttackType data) def.setString("ua2t", data.toObjectString()) function setAttack2AreaofEffectTargets(string data) def.setString("ua2p", data) function setAttack2AreaofEffectSmallDamage(int data) def.setInt("ua2q", data) function setAttack2AreaofEffectMediumDamage(int data) def.setInt("ua2h", data) function setAttack2AreaofEffectFullDamage(int data) def.setInt("ua2f", data) function setAttack2AnimationDamagePoint(real data) def.setUnreal("udp2", data) function setAttack2AnimationBackswingPoint(real data) def.setUnreal("ubs2", data) function setAttack1WeaponType(WeaponType weaponType) def.setString("ua1w", weaponType.toObjectString()) function setAttack1WeaponSound(WeaponSound data) def.setString("ucs1", data.toString()) function setAttack1TargetsAllowed(string data) def.setString("ua1g", data) function setAttack1ShowUI(boolean data) def.setBoolean("uwu1", data) function setAttack1RangeMotionBuffer(real data) def.setUnreal("urb1", data) function setAttack1Range(int data) def.setInt("ua1r", data) function setAttack1ProjectileSpeed(int data) def.setInt("ua1z", data) function setAttack1ProjectileHomingEnabled(boolean data) def.setBoolean("umh1", data) function setAttack1ProjectileArt(string data) def.setString("ua1m", data) function setAttack1ProjectileArc(real data) def.setUnreal("uma1", data) function setAttack1MaximumNumberofTargets(int data) def.setInt("utc1", data) function setAttack1DamageUpgradeAmount(int data) def.setInt("udu1", data) function setAttack1DamageSpillRadius(real data) def.setUnreal("usr1", data) function setAttack1DamageSpillDistance(real data) def.setUnreal("usd1", data) function setAttack1DamageSidesperDie(int data) def.setInt("ua1s", data) function setAttack1DamageNumberofDice(int data) def.setInt("ua1d", data) function setAttack1DamageLossFactor(real data) def.setUnreal("udl1", data) function setAttack1DamageFactorSmall(real data) def.setUnreal("uqd1", data) function setAttack1DamageFactorMedium(real data) def.setUnreal("uhd1", data) function setAttack1DamageBase(int data) def.setInt("ua1b", data) function setAttack1CooldownTime(real data) def.setUnreal("ua1c", data) function setAttack1AttackType(AttackType data) def.setString("ua1t", data.toObjectString()) function setAttack1AreaofEffectTargets(string data) def.setString("ua1p", data) function setAttack1AreaofEffectSmallDamage(int data) def.setInt("ua1q", data) function setAttack1AreaofEffectMediumDamage(int data) def.setInt("ua1h", data) function setAttack1AreaofEffectFullDamage(int data) def.setInt("ua1f", data) function setAttack1AnimationDamagePoint(real data) def.setUnreal("udp1", data) function setAttack1AnimationBackswingPoint(real data) def.setUnreal("ubs1", data) function setArmorSoundType(ArmorSoundType data) def.setString("uarm", data.toString()) function setAnimationWalkSpeed(real data) def.setReal("uwal", data) function setAnimationRunSpeed(real data) def.setReal("urun", data) function setAnimationCastPoint(real data) def.setUnreal("ucpt", data) function setAnimationCastBackswing(real data) def.setUnreal("ucbs", data) function setAnimationBlendTimeseconds(real data) def.setReal("uble", data) function setAllowCustomTeamColor(boolean data) def.setBoolean("utcc", data) function setAIPlacementType(string data) def.setString("uabt", data) function setAIPlacementRadius(real data) def.setUnreal("uabr", data) function setAcquisitionRange(real data) def.setUnreal("uacq", data) public class UnitOrHeroDefinition extends UnitOrBuildingOrHeroDefinition construct(int newId, int origId) super(newId, origId) function setTransportedSize(int data) def.setInt("ucar", data) function setLevel(int data) def.setInt("ulev", data) function setGroupSeparationPriority(int data) def.setInt("urpr", data) function setGroupSeparationParameter(int data) def.setInt("urpp", data) function setGroupSeparationGroupNumber(int data) def.setInt("urpg", data) function setGroupSeparationEnabled(boolean data) def.setBoolean("urpo", data) function setFormationRank(int data) def.setInt("ufor", data) public class HeroDefinition extends UnitOrHeroDefinition construct(int newId, int origId) super(newId, origId) function setTooltipRevive(string data) def.setString("utpr", data) function setTooltipAwaken(string data) def.setString("uawt", data) function setStrengthPerLevel(real data) def.setUnreal("ustp", data) function setStartingStrength(int data) def.setInt("ustr", data) function setStartingIntelligence(int data) def.setInt("uint", data) function setStartingAgility(int data) def.setInt("uagi", data) function setProperNamesUsed(int data) def.setInt("upru", data) function setProperNames(string data) def.setString("upro", data) function setPrimaryAttribute(string data) def.setString("upra", data) function setIntelligencePerLevel(real data) def.setUnreal("uinp", data) function setHeroRevivalLocations(string data) def.setString("urva", data) function setHeroAbilities(string data) def.setString("uhab", data) function setAgilityPerLevel(real data) def.setUnreal("uagp", data) /** sets the techtree requirements for a specific tier for example use setRequierements */ function setRequierementsForTier(int tier, string data) switch tier case 2 def.setString("urq1", data) case 3 def.setString("urq2", data) case 4 def.setString("urq3", data) case 5 def.setString("urq4", data) case 6 def.setString("urq5", data) case 7 def.setString("urq6", data) case 8 def.setString("urq7", data) case 9 def.setString("urq8", data) default public class UnitDefinition extends UnitOrHeroDefinition construct(int newId, int origId) super(newId, origId) function setStructuresBuilt(string data) def.setString("ubui", data) function setCasterUpgradeTips(string data) def.setString("ucut", data) function setCasterUpgradeNames(string data) def.setString("ucun", data) function setCasterUpgradeArt(string data) def.setString("ucua", data) public class BuildingDefinition extends UnitOrBuildingOrHeroDefinition construct(int newId, int origId) super(newId, origId) function setUpgradesTo(string data) def.setString("uupt", data) function setUnitsTrained(string data) def.setString("utra", data) function setUnitsSold(string data) def.setString("useu", data) function setRevivesDeadHeros(boolean data) def.setBoolean("urev", data) function setResearchesAvailable(string data) def.setString("ures", data) function setPlacementRequiresWaterRadius(real data) def.setUnreal("upaw", data) function setPlacementRequires(string data) def.setString("upap", data) function setPlacementPreventedBy(string data) def.setString("upar", data) function setPathingMap(string data) def.setString("upat", data) function setNeutralBuildingValidAsRandomBuilding(boolean data) def.setBoolean("unbr", data) function setNeutralBuildingShowsMinimapIcon(boolean data) def.setBoolean("unbm", data) function setItemsSold(string data) def.setString("usei", data) function setItemsMade(string data) def.setString("umki", data) function setGroundTexture(string data) def.setString("uubs", data) function setConstructionSound(string data) def.setString("ubsl", data) public class BuildingAndHeroDefinition extends UnitOrBuildingOrHeroDefinition construct(int newId, int origId) super(newId, origId) function setUpgradesTo(string data) def.setString("uupt", data) function setUnitsTrained(string data) def.setString("utra", data) function setUnitsSold(string data) def.setString("useu", data) function setRevivesDeadHeros(boolean data) def.setBoolean("urev", data) function setResearchesAvailable(string data) def.setString("ures", data) function setPlacementRequiresWaterRadius(real data) def.setUnreal("upaw", data) function setPlacementRequires(string data) def.setString("upap", data) function setPlacementPreventedBy(string data) def.setString("upar", data) function setPathingMap(string data) def.setString("upat", data) function setNeutralBuildingValidAsRandomBuilding(boolean data) def.setBoolean("unbr", data) function setNeutralBuildingShowsMinimapIcon(boolean data) def.setBoolean("unbm", data) function setItemsSold(string data) def.setString("usei", data) function setItemsMade(string data) def.setString("umki", data) function setGroundTexture(string data) def.setString("uubs", data) function setConstructionSound(string data) def.setString("ubsl", data) function setTooltipRevive(string data) def.setString("utpr", data) function setTooltipAwaken(string data) def.setString("uawt", data) function setStrengthPerLevel(real data) def.setUnreal("ustp", data) function setStartingStrength(int data) def.setInt("ustr", data) function setStartingIntelligence(int data) def.setInt("uint", data) function setStartingAgility(int data) def.setInt("uagi", data) function setProperNamesUsed(int data) def.setInt("upru", data) function setProperNames(string data) def.setString("upro", data) function setPrimaryAttribute(string data) def.setString("upra", data) function setIntelligencePerLevel(real data) def.setUnreal("uinp", data) function setHeroRevivalLocations(string data) def.setString("urva", data) function setHeroAbilities(string data) def.setString("uhab", data) function setAgilityPerLevel(real data) def.setUnreal("uagp", data)