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