What should I fix?
Object RohanSpeerwerferHorde
// This is required for garrisoned objects - please put in all objects.
SelectPortrait = UPRohanSpearmanPortrait
ButtonImage = BGBarracks_RohanSpearmenIcon
Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER SELECTED EMOTION_TERROR EMOTION_LOOK_TO_SKY
DefaultModelConditionState
Model = None //InvisHrdeTmp5x2
End
ModelConditionState = HORDE_EMPTY
Model = None
End
ModelConditionState = WORLD_BUILDER
Model = HordeMarkGUTow
End
End
Side = Men
EditorSorting = UNIT
EmotionRange = 240
DisplayName = OBJECT:RohanSpeerwerferHorde
DisplayNameStrategic = CONTROLBAR:LW_Unit_RohanSpeerwerferHorde
DescriptionStrategic = CONTROLBAR:LW_ToolTip_RohanSpeerwerferHorde
WeaponSet
Conditions = None
Weapon = PRIMARY GoodArcherMissileHordeRangefinder
Weapon = TERTIARY GoodArcherMissileHordeRangefinderBombard
AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT ; Not AI.
End
// *** AUDIO Parameters ***//
// Note: Don't put voice parameters here -- they will be ignored. Voice play requests
// are always passed through to members
BuildCost = 350 ;ROHAN_WДCHTERMEDUSELDS_BUILDCOST
BuildTime = 30
VisionRange = 300 ;GONDOR_ARCHER_HORDE_VISION_RANGE
ShroudClearingRange = 350 ;GONDOR_ARCHER_HORDE_SHROUD_RANGE
VisionSide = 50%
VisionRear = 25%
MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 1.0%
CommandPoints = 30
CommandSet = RohanFighterHordeCommandSet
FormationWidth = 2 // Width it occupies in formations. Current choices are 1 or 2.
FormationDepth = 1 // Depth it occupies in formations. Current choices are 1 or 2.
CrushableLevel = 0 //What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrusherLevel = 0
TransportSlotCount = TRANSPORTSLOTCOUNT_SMALL_HORDE
KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY ARCHER HORDE ARMY_SUMMARY MELEE_HORDE LARGE_RECTANGLE_PATHFIND
#include "..\..\..\includes\StandardHordeEvaEvents.inc"
Body = ImmortalBody ModuleTag_ImmortalBody
MaxHealth = 1
End
ThreatLevel = GONDOR_TOWERSHIELDGUARD_HORDE_THREAT
ThreatBreakdown GondorTowerShieldGuardHorde_DetailedThreat
AIKindOf = ARCHER
End
#include "..\..\..\includes\CaptureBuilding.inc"
Behavior = StancesBehavior ModuleTag_StancesBehavior
StanceTemplate = ArcherHorde
End
Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
MaxCowerTime = 5000
MinCowerTime = 3000
CanAttackWhileContained = Yes // Can fire out of garrisoned building
AILuaEventsList = InfantryFunctions
AttackPriority = AttackPriority_Archer
End
Behavior = HordeContain ModuleTag_HordeContain
FrontAngle = 180
FlankedDelay = 4000
ObjectStatusOfContained =
InitialPayload = RohanSpeerwerfer 10
Slots = 10
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = Yes //Used to determine which armorset to use (and anything else we want!)
RandomOffset=X:0 Y:0
MeleeBehavior = Amoeba
FacingBonus = 30.0
AngleLimitCos = -0.17
InnerRange = 30
OuterRange = 80
OuterRangeBuildings = 140
End
BannerCarriersAllowed = RohanHeroldBanner ; types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:RohanSpeerwerfer Pos:X:70.0 Y:0.0 ; (DEFAULT) position of banner carrier for fighter horde
BannerCarrierMinLevel = 0
BannerCarrierDestroyHordeOnDeath = No
BannerCarrierHordeDeathType = +NORMAL ;NORMAL, NONE, CRUSHED, BURNED, EXPLODED, POISONED, TOPPLED, FLOODED, SUICIDED, LASERED, DETONATED, SPLATTED, POISONED_BETA, EXTRA_2, EXTRA_3, EXTRA_4, EXTRA_5, EXTRA_6, EXTRA_7, EXTRA_8, KNOCKBACK, SUPERNATURAL, FADED, SLAUGHTERED
RankInfo = RankNumber:1 UnitType:RohanSpeerwerfer Position:X:50 Y:0 Position:X:50 Y:20 Position:X:50 Y:-20 Position:X:50 Y:40 Position:X:50 Y:-40
RankInfo = RankNumber:2 UnitType:RohanSpeerwerfer Position:X:30 Y:0 Leader 1 0 Position:X:30 Y:20 Leader 1 1 Position:X:30 Y:-20 Leader 1 2 Position:X:30 Y:40 Leader 1 3 Position:X:30 Y:-40 Leader 1 4
RanksToReleaseWhenAttacking = 1 2
MeleeAttackLeashDistance = 1 //How far the hordes can move from the center of the horde when melee attacking.
BackUpMinDelayTime = 1 //The minimum amount of time to delay before backing up
BackUpMaxDelayTime = 3000 //The maximum amount of time to delay before backing up
BackUpMinDistance = 1 //The minimum number of cells to backup
BackUpMaxDistance = 3 //The maximum number of cells to backup
BackupPercentage = 80% //The amount of chance that a unit will back up.
End
Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
GravityMult = 1.0
End
Behavior = EmotionTrackerUpdate Module_EmotionTracker
TauntAndPointDistance = INFANTRY_TAUNT_POINT_RADIUS // max distance to taunted/pointed objet
TauntAndPointUpdateDelay = 1000 // how often scan (milliseconds)
TauntAndPointExcluded = NONE
AfraidOf = EMOTION_AFRAIDOF_OBJECTFILTER
AlwaysAfraidOf = EMOTION_ALWAYS_AFRAIDOF_OBJECTFILTER
PointAt = EMOTION_POINTAT_OBJECTFILTER
HeroScanDistance = 150
FearScanDistance = INFANTRY_FEAR_SCAN_RADIUS
AddEmotion = Terror_Base
AddEmotion = Doom_Base
// AddEmotion = BraceForBeingCrushed_Base // Pikemen don't fear getting crushed
AddEmotion = UncontrollableFear_Base
AddEmotion = FearIdle_Base
AddEmotion = FearBusy_Base
AddEmotion = Point_Base
AddEmotion = OVERRIDE Taunt_Base
// AttributeModifier = GondorFighterTaunt
End
AddEmotion = CheerIdle_Base
AddEmotion = CheerBusy_Base
AddEmotion = HeroCheerIdle_Base
AddEmotion = HeroCheerBusy_Base
AddEmotion = Alert_Base
End
Behavior = PickupStuffUpdate ModuleTag_PickupStuffUpdate
SkirmishAIOnly = Yes
StuffToPickUp = NONE +CRATE
ScanRange = 200
ScanIntervalSeconds = 0.5
End
LocomotorSet
Locomotor = NormalMeleeHordeLocomotor
Condition = SET_NORMAL
Speed = NORMAL_FOOT_MED_HORDE_SPEED ;NORMAL_GOOD_INFANTRY_HORDE_SPEED
End
Behavior = ProductionUpdate ProductionUpdateModuleTag
GiveNoXP = Yes
End
Behavior = LevelUpUpgrade ModuleTag_BasicTraining
TriggeredBy = Upgrade_RohanModBasicTraining
LevelsToGain = 1
LevelCap = 2
End
Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality
TriggeredBy = Upgrade_RohanModForgedBlades
End
Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality2
TriggeredBy = Upgrade_RohanModHeavyArmor
End
/////////////////////
// AISpecialPowers
/////////////////////
Behavior = AISpecialPowerUpdate GondorTowerShieldGuardHordeCaptureBuildingAI
CommandButtonName = Command_CaptureBuilding
SpecialPowerAIType = AI_SPECIAL_POWER_CAPTURE_BUILDING
End
Geometry = BOX
GeometryMajorRadius = 30.0
GeometryMinorRadius = 45.0
GeometryHeight = 20.0
GeometryIsSmall = No
// *** AUTO RESOLVE DATA ***
AutoResolveUnitType = AutoResolveUnit_Soldier
AutoResolveCombatChain = AutoResolve_SoldierCombatChain
AutoResolveBody = AutoResolve_GondorFighterHordeBody
AutoResolveArmor
RequiredUpgrades = Upgrade_RohanModHeavyArmor
Armor = AutoResolve_GondorSoldierHeavyArmor
End
AutoResolveArmor
ExcludedUpgrades = Upgrade_RohanModHeavyArmor
Armor = AutoResolve_GondorSoldierArmor
End
AutoResolveWeapon
RequiredUpgrades = Upgrade_RohanModForgedBlades
Weapon = AutoResolve_GondorSoldierUpgradedWeapon
End
AutoResolveWeapon
ExcludedUpgrades = Upgrade_RohanModForgedBlades
Weapon = AutoResolve_GondorSoldierWeapon
End
WorldMapArmoryUpgradesAllowed = Upgrade_RohanModBasicTraining Upgrade_RohanModForgedBlades Upgrade_RohanModHeavyArmor
End