home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 April / Gamestar_83_2006-04_dvd.iso / Dema / lotrbfme2_demo.exe / INI.big / data_ini_object_goodfaction_hordes_rohan_rohanhordes.ini < prev    next >
Text File  |  2006-01-31  |  34KB  |  971 lines

  1. ;------------------------------------------------------------------------------
  2. ;
  3. ;    RohanHordes.ini
  4. ;
  5. ;------------------------------------------------------------------------------
  6. Object RohanRohirrimHordeObsolete
  7.  
  8.     ; This is required for garrisoned objects - please put in all objects.
  9.     ButtonImage        = BGStables_Rohirrim
  10.     SelectPortrait        = UPGondor_Rohirrim
  11.  
  12.     Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
  13.         DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER SELECTED EMOTION_TERROR EMOTION_CELEBRATING
  14.         DefaultModelConditionState
  15.             Model = None ;InvisHrdeTmp5x1
  16.         End
  17.         ModelConditionState = HORDE_EMPTY
  18.             Model = None
  19.         End        
  20.         ModelConditionState = WORLD_BUILDER
  21.             Model = HordeMarkRURoh
  22.         End
  23.     End
  24.     
  25.     Side = Obsolete
  26.     EditorSorting = UNIT
  27.     EmotionRange = 240
  28.     DisplayName = OBJECT:HordeRohanRohirrim
  29.     
  30.     WeaponSet
  31.         Conditions    = None 
  32.         Weapon        = PRIMARY    NormalMeleeHordeRangefinder        ; Spear
  33.     End
  34.  
  35.     ; *** AUDIO Parameters ***;
  36.     ; Note: Don't put voice parameters here -- they will be ignored. Voice play requests
  37.     ; are always passed through to members
  38.  
  39.     BuildCost = ROHAN_ROHIRRIM_BUILDCOST            
  40.     BuildTime = ROHAN_ROHIRRIM_BUILDTIME            
  41.     VisionRange = ROHAN_ROHIRRIM_HORDE_VISION_RANGE
  42.     CommandPoints = 20
  43.           
  44.     FormationWidth = 2 ; Width it occupies in formations. Current choices are 1 or 2.
  45.     FormationDepth = 1 ; Depth it occupies in formations. Current choices are 1 or 2.
  46.     
  47.     CrushableLevel = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  48.     CrusherLevel = 1 
  49.     MinCrushVelocityPercent = 50% ; Has to be moving at at least 25% of full speed.
  50.     CrushDecelerationPercent = 30% ; Lose 10 percent (100/5 horde members) of max velocity when crushing.
  51.     CrushKnockback = 40  ; how hard we knock back crushed units.
  52.     CrushZFactor = 1.0  ; How much we knock upwards.
  53.         
  54.     TransportSlotCount = TRANSPORTSLOTCOUNT_SMALL_HORDE
  55.     KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAVALRY HORDE MELEE_HORDE  ARMY_SUMMARY;UNATTACKABLE 
  56.     CommandSet = RohirrimHordeCommandSet
  57.     
  58.     Body = ImmortalBody ModuleTag_ImmortalBody
  59.         MaxHealth = 1
  60.     End
  61.     
  62.     #include "..\..\..\includes\StandardHordeEvaEvents.inc"
  63.     
  64.     Behavior = StancesBehavior ModuleTag_StancesBehavior
  65.         StanceTemplate = FighterHorde
  66.     End
  67.   
  68.     #include "..\..\..\includes\CaptureBuilding.inc"
  69.     
  70.     Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
  71.         AutoAcquireEnemiesWhenIdle    = Yes ATTACK_BUILDINGS
  72.         MoodAttackCheckRate            = 500
  73.         MaxCowerTime                = 5000
  74.         MinCowerTime                = 3000
  75.         AILuaEventsList                = CavalryFunctions  
  76.         AttackPriority                = AttackPriority_Cavalry
  77.     End
  78.  
  79.     Behavior = HorseHordeContain ModuleTag_HordeContain
  80.         ObjectStatusOfContained = 
  81.         InitialPayload = RohanRohirrim GOOD_RIDER_HORDE_SIZE
  82.         Slots = 5
  83.         PassengerFilter = NONE +CAVALRY +RohanBanner
  84.         ShowPips = No
  85.         RandomOffset = X:3 Y:4
  86.         ThisFormationIsTheMainFormation = Yes    ;Used to determine which armorset to use (and anything else we want!)
  87.  
  88.         ; Banner Carrier info        
  89.         BannerCarriersAllowed    = RohanBanner                                        ; types of units that are allowed as banner carriers
  90.         BannerCarrierPosition    = UnitType:RohanRohirrim    Pos:X:40.0 Y:0.0        ; (DEFAULT) position of banner carrier for archer horde
  91.         
  92.         RankInfo = RankNumber:1 UnitType:RohanRohirrim Position:X:6 Y:0        Position:X:0 Y:25        Position:X:0 Y:-25        Position:X:-7 Y:50        Position:X:-7 Y:-50 
  93.  
  94.         RanksToReleaseWhenAttacking = 1
  95.         ;AlternateFormation = RohanRohirrimHordeWedgeFormation
  96.         MeleeAttackLeashDistance = 25; How far the hordes can move from the center of the horde when melee attacking.
  97.     End
  98.  
  99.     Behavior = HordeNotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
  100.         ScanWidth = 40.0 ; A little less than the width of the horde (which is 2 * 24 = 48)
  101.     End
  102.  
  103.     Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
  104.         GravityMult = 1.0
  105.     End
  106.     
  107.     Behavior = EmotionTrackerUpdate    Module_EmotionTracker
  108.         TauntAndPointDistance        =    INFANTRY_TAUNT_POINT_RADIUS        ; max distance to taunted/pointed objet
  109.          TauntAndPointUpdateDelay    =    1000    ; how often scan (milliseconds)
  110.          TauntAndPointExcluded        =    NONE
  111.         AfraidOf                    =    NONE +GondorGwaihir +RohanTreeBerd +RohanEntFir +RohanEntAsh +RohanEntBirch +MordorCaveTroll +MordorMountainTroll +MordorDrummerTroll +MordorFellBeast +MordorWitchKingOnFellBeast +MordorMumakil;Must be SCARY kindof as well.
  112.         AlwaysAfraidOf                =    NONE +MordorBalrog +RohanOathbreaker +MordorSauron ;+MordorWitchKing +MordorWitchKingOnFellBeast
  113.          PointAt                =    NONE +MordorFellBeast +MordorWitchKingOnFellBeast 
  114.          HeroScanDistance        =    150
  115.          FearScanDistance        =    CAVALRY_FEAR_SCAN_RADIUS
  116.          
  117.         AddEmotion                    =    Terror_Base
  118.         
  119.          AddEmotion                    =    OVERRIDE Point_Base
  120.              Duration            =    2500
  121.          End
  122.          
  123.          AddEmotion                    =    Taunt_Base
  124.         AddEmotion                    =    CheerIdle_Base
  125.          AddEmotion                    =    CheerBusy_Base
  126.          
  127.          AddEmotion                    =    OVERRIDE HeroCheerIdle_Base
  128.             ;StartFXList                =    RohirrimHeroCheerSound             
  129.          End
  130.          AddEmotion                    =    OVERRIDE HeroCheerBusy_Base
  131.              ;StartFXList                =    RohirrimHeroCheerSound             
  132.          End
  133.         AddEmotion    =    Alert_Base
  134.         AddEmotion    =   CheerForAboutToCrush_Base
  135.  
  136.      End        
  137.     
  138.     LocomotorSet
  139.         Locomotor     = NormalCavalryHordeLocomotor
  140.         Condition     = SET_NORMAL
  141.         Speed         = NORMAL_CAVALRY_HORDE_SPEED
  142.     End
  143.  
  144.     Behavior = ProductionUpdate ProductionUpdateModuleTag
  145.         GiveNoXP = Yes
  146.     End
  147.  
  148.     Behavior = LevelUpUpgrade ModuleTag_BasicTraining
  149.         TriggeredBy = Upgrade_RohanBasicTraining
  150.         LevelsToGain = 1
  151.         LevelCap = 2
  152.     End
  153.     
  154.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality
  155.         TriggeredBy = Upgrade_RohanForgedBladesForRohirrim
  156.     End
  157.     
  158.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality2
  159.         TriggeredBy = Upgrade_RohanHeavyArmorForRohirrim
  160.     End
  161.     
  162.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality3
  163.         TriggeredBy = Upgrade_RohanHorseShield
  164.     End
  165.     
  166.     Geometry = BOX
  167.     GeometryMajorRadius = 12.0
  168.     GeometryMinorRadius = 24.0
  169.     GeometryHeight = 20.0
  170.     GeometryIsSmall = No
  171. End
  172.  
  173.  
  174. ChildObject RohanRohirrimArcherHorde RohanRohirrimHordeObsolete
  175.  
  176.     DisplayName = OBJECT:HordeRohanRohirrimArchers
  177.  
  178.     ButtonImage     = BGStables_Rohirrim
  179.     SelectPortrait    = UPGondor_Rohirrim
  180.  
  181.     BuildCost = ROHAN_ROHIRRIM_ARCHER_BUILDCOST            
  182.     BuildTime = ROHAN_ROHIRRIM_ARCHER_BUILDTIME
  183.  
  184.     WeaponSet
  185.         Conditions    = None 
  186.         Weapon        = PRIMARY    NormalMissileHordeRangefinder    ; Bow
  187.     End
  188.     
  189.     CommandSet = RohirrimArcherHordeCommandSet
  190.     KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAVALRY HORDE MELEE_HORDE ARMY_SUMMARY ARCHER ;UNATTACKABLE     
  191.  
  192.     Behavior = HorseHordeContain ModuleTag_HordeContain
  193.         ObjectStatusOfContained = 
  194.         InitialPayload = RohanRohirrimArcher GOOD_RIDER_HORDE_SIZE
  195.         Slots = 5
  196.         PassengerFilter = NONE +CAVALRY +RohanBanner
  197.         ShowPips = No
  198.         RandomOffset = X:3 Y:4
  199.         ThisFormationIsTheMainFormation = Yes    ;Used to determine which armorset to use (and anything else we want!)
  200.  
  201.         ; Banner Carrier info        
  202.         BannerCarriersAllowed    = RohanBanner                                        ; types of units that are allowed as banner carriers
  203.         BannerCarrierPosition    = UnitType:RohanRohirrimArcher    Pos:X:30.0 Y:0.0        ; (DEFAULT) position of banner carrier for archer horde
  204.         
  205.         RankInfo = RankNumber:1 UnitType:RohanRohirrimArcher Position:X:6 Y:0        Position:X:0 Y:25        Position:X:0 Y:-25        Position:X:-7 Y:50        Position:X:-7 Y:-50 
  206.  
  207.         RanksToReleaseWhenAttacking = 1
  208.         AlternateFormation = RohanRohirrimArcherHordeWedgeFormation
  209.     End
  210.     
  211.         Behavior = StancesBehavior ModuleTag_StancesBehavior
  212.         StanceTemplate = FighterHorde
  213.     End
  214.   
  215.     #include "..\..\..\includes\CaptureBuilding.inc"
  216.     
  217.     Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
  218.         AutoAcquireEnemiesWhenIdle    = Yes ATTACK_BUILDINGS
  219.         MoodAttackCheckRate            = 500
  220.         MaxCowerTime                = 5000
  221.         MinCowerTime                = 3000
  222.         AILuaEventsList                = CavalryFunctions  
  223.         AttackPriority                = AttackPriority_Cavalry
  224. ;        Turret
  225. ;            TurretTurnRate            = 360        ; turn rate, in degrees per sec
  226. ;            ControlledWeaponSlots    = PRIMARY
  227. ;        End
  228.     End
  229.  
  230.     Behavior = ProductionUpdate ProductionUpdateModuleTag
  231.         GiveNoXP = Yes
  232.     End
  233.  
  234.     Behavior = LevelUpUpgrade ModuleTag_BasicTraining
  235.         TriggeredBy = Upgrade_RohanBasicTraining
  236.         LevelsToGain = 1
  237.         LevelCap = 2
  238.     End
  239.     
  240.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality
  241.         TriggeredBy = Upgrade_RohanFireArrows
  242.     End
  243.     
  244.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality2
  245.         TriggeredBy = Upgrade_RohanHeavyArmorForRohirrimArchers
  246.     End
  247.     
  248. End
  249.  
  250.  
  251.  
  252. ;////////////////////////////////////////////////////////////////////////////////
  253. ChildObject RohanRohirrimArcherHordeWedgeFormation RohanRohirrimHordeObsolete
  254.  
  255.     ; This is handled in RohanHorseWedge modifiers.  
  256.     ; For alternate formations, all data outside of the Horde Contain 
  257.     ; is ignored.  MinCrushVelocityPercent = 25% 
  258.  
  259.     Behavior = HorseHordeContain ModuleTag_HordeContain
  260.         ObjectStatusOfContained = 
  261.         InitialPayload = RohanRohirrimArcher GOOD_RIDER_HORDE_SIZE
  262.         Slots = 5
  263.         PassengerFilter = NONE +CAVALRY +RohanBanner
  264.         ShowPips = No
  265.         ThisFormationIsTheMainFormation = No    ;Used to determine which armorset to use (and anything else we want!)
  266.         RandomOffset = X:7 Y:3
  267.         
  268.         ; Banner Carrier info        
  269.         BannerCarriersAllowed    = RohanBanner                                        ; types of units that are allowed as banner carriers
  270.         BannerCarrierPosition    = UnitType:RohanRohirrimArcher    Pos:X:30.0 Y:0.0    ; (DEFAULT) position of banner carrier for archer horde
  271.         
  272.         RankInfo = RankNumber:1 UnitType:RohanRohirrimArcher Position:X:0 Y:0        Position:X:-30 Y:30        Position:X:-30 Y:-30        Position:X:-60 Y:60        Position:X:-60 Y:-60 
  273.         
  274.         RanksToReleaseWhenAttacking = 1
  275.         
  276.         AlternateFormation = RohanRohirrimArcherHorde
  277.         AttributeModifiers = RohanHorseWegde
  278.     End
  279. End
  280.  
  281. ;////////////////////////////////////////////////////////////////////////////////
  282. Object RohanArcherHorde        ;YeomanArcher
  283.  
  284.     ; This is required for garrisoned objects - please put in all objects.
  285.     ButtonImage        = BDArcheryRange_MenofDale
  286.     SelectPortrait        = UPDwarven_MenofDale
  287.  
  288.     Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
  289.         DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER SELECTED EMOTION_TERROR
  290.         DefaultModelConditionState
  291.             Model = None ;InvisHrdeTmp5x2
  292.         End
  293.         ModelConditionState = HORDE_EMPTY
  294.             Model = None
  295.         End        
  296.         
  297.         ModelConditionState = WORLD_BUILDER
  298.             Model = HordeMarkRUYeo
  299.         End
  300.     End
  301.     
  302.     Side = Obsolete
  303.     EditorSorting = UNIT
  304.     EmotionRange = 240
  305.     DisplayName = OBJECT:HordeRohanArcher
  306.     
  307.     WeaponSet
  308.         Conditions = None 
  309.         Weapon = PRIMARY    NormalMissileHordeRangefinder
  310.     End
  311.     
  312.     CommandSet = RohanArcherHordeCommandSet
  313.  
  314.     ; *** AUDIO Parameters ***
  315.     ; Note: Don't put voice parameters here -- they will be ignored. Voice play requests
  316.     ; are always passed through to members
  317.     #include "..\..\..\includes\StandardHordeEvaEvents.inc"
  318.  
  319.  
  320.      CrushableLevel = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  321.     CrusherLevel = 0
  322.  
  323.     BuildCost = ROHAN_YEOMAN_BUILDCOST                
  324.     BuildTime = ROHAN_YEOMAN_BUILDTIME                
  325.     VisionRange = ROHAN_YEOMAN_HORDE_VISION_RANGE
  326.     ShroudClearingRange = 161
  327.     CommandPoints = 15
  328.     
  329.     FormationWidth = 2 ; Width it occupies in formations. Current choices are 1 or 2.
  330.     FormationDepth = 1 ; Depth it occupies in formations. Current choices are 1 or 2.
  331.     
  332.     TransportSlotCount = TRANSPORTSLOTCOUNT_SMALL_HORDE
  333.     KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE ARCHER ARMY_SUMMARY;UNATTACKABLE 
  334.     
  335.     Body = ImmortalBody ModuleTag_ImmortalBody
  336.         MaxHealth = 1
  337.     End
  338.     
  339.     Behavior = StancesBehavior ModuleTag_StancesBehavior
  340.         StanceTemplate = FighterHorde
  341.     End
  342.   
  343.     #include "..\..\..\includes\CaptureBuilding.inc"
  344.     
  345.     Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
  346.         AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
  347.         MoodAttackCheckRate        = 500
  348.         MaxCowerTime                =    5000
  349.         MinCowerTime                =    3000
  350.         CanAttackWhileContained    = Yes  ; Can fire out of garrisoned building    
  351.         AILuaEventsList                = InfantryFunctions  
  352.         AttackPriority                =     AttackPriority_Archer      
  353.     End
  354.  
  355.     Behavior = HordeContain ModuleTag_HordeContain
  356.         ObjectStatusOfContained = 
  357.         InitialPayload = RohanArcher GOOD_MEN_HORDE_SIZE
  358.         Slots = 5
  359.         PassengerFilter = NONE +INFANTRY
  360.         ShowPips = No
  361.         ThisFormationIsTheMainFormation = Yes    ;Used to determine which armorset to use (and anything else we want!)
  362.         AlternateFormation = RohanArcherHordeSkirmishFormation
  363.  
  364.         ; Banner Carrier info        
  365.         BannerCarriersAllowed    = RohanBanner                                        ; types of units that are allowed as banner carriers
  366.         BannerCarrierPosition    = UnitType:RohanArcher        Pos:X:20.0 Y:0.0        ; (DEFAULT) position of banner carrier for archer horde
  367.         
  368.         ; Positions for 5
  369.         RandomOffset = X:6 Y:4
  370.         RankInfo = RankNumber:1 UnitType:RohanArcher Position:X:0 Y:0    Position:X:0 Y:25        Position:X:0 Y:-25        Position:X:0 Y:50        Position:X:0 Y:-50 
  371.  
  372.         RanksToReleaseWhenAttacking = 1 
  373.  
  374.         ; Example of Eva event for horde death
  375.         ;EvaEventLastMemberDeath = ArchersDie ; Play this Eva event when the last member dies
  376.         MeleeAttackLeashDistance = 25; How far the hordes can move from the center of the horde when melee attacking.
  377.     End
  378.  
  379.     Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
  380.         GravityMult = 1.0
  381.     End
  382.     
  383.      Behavior = EmotionTrackerUpdate    Module_EmotionTracker
  384.         TauntAndPointDistance        =    INFANTRY_TAUNT_POINT_RADIUS        ; max distance to taunted/pointed objet
  385.         TauntAndPointUpdateDelay    =    1000    ; how often scan (milliseconds)
  386.         TauntAndPointExcluded        =    NONE
  387.         AfraidOf                    =    NONE +GondorGwaihir +RohanTreeBerd +RohanEntFir +RohanEntAsh +RohanEntBirch +MordorCaveTroll +MordorMountainTroll +MordorDrummerTroll +MordorFellBeast +MordorWitchKingOnFellBeast +MordorMumakil;Must be SCARY kindof as well.
  388.         AlwaysAfraidOf                =    NONE +MordorBalrog +RohanOathbreaker +MordorSauron ;+MordorWitchKing +MordorWitchKingOnFellBeast
  389.          PointAt                =    NONE +MordorFellBeast +MordorWitchKingOnFellBeast 
  390.         HeroScanDistance        =    150
  391.         FearScanDistance        =    CAVALRY_FEAR_SCAN_RADIUS
  392.  
  393.  
  394.  
  395.         AddEmotion    =    Terror_Base
  396.         AddEmotion    =    Doom_Base
  397.         AddEmotion    =   BraceForBeingCrushed_Base
  398.         AddEmotion    =    UncontrollableFear_Base
  399.         AddEmotion    =    FearIdle_Base
  400.         AddEmotion    =    FearBusy_Base
  401.         AddEmotion    =    Point_Base
  402.         AddEmotion    =    Taunt_Base    
  403.         AddEmotion    =    CheerIdle_Base
  404.         AddEmotion    =    CheerBusy_Base
  405.         AddEmotion    =    HeroCheerIdle_Base
  406.         AddEmotion    =    HeroCheerBusy_Base
  407.         AddEmotion    =    Alert_Base
  408.     End    
  409.         
  410.     LocomotorSet
  411.         Locomotor     = NormalRangedHordeLocomotor
  412.         Condition     = SET_NORMAL
  413.         Speed         = NORMAL_GOOD_INFANTRY_HORDE_SPEED
  414.     End
  415.  
  416.     Behavior = ProductionUpdate ProductionUpdateModuleTag
  417.         GiveNoXP = Yes
  418.     End
  419.  
  420.     Behavior = LevelUpUpgrade ModuleTag_BasicTraining
  421.         TriggeredBy = Upgrade_RohanBasicTraining
  422.         LevelsToGain = 1
  423.         LevelCap = 2
  424.     End
  425.     
  426.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality
  427.         TriggeredBy = Upgrade_RohanFireArrows
  428.     End
  429.     
  430.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality2
  431.         TriggeredBy = Upgrade_RohanHeavyArmorForArchers
  432.     End
  433.     
  434.     Geometry = BOX
  435.     GeometryMajorRadius = 20.0
  436.     GeometryMinorRadius = 20.0
  437.     GeometryHeight = 20.0
  438.     GeometryIsSmall = No
  439. End
  440.  
  441.  
  442. ;////////////////////////////////////////////////////////////////////////////////
  443. ChildObject RohanArcherHordeSkirmishFormation RohanArcherHorde
  444.     ; Note - for alternate formations, all info outside of the Contain Behavior module is ignored.
  445.     ; Any modifications need to be done via the Attribute Modifiers in the contain module.
  446.     Behavior = HordeContain ModuleTag_HordeContain
  447.         ObjectStatusOfContained = 
  448.         InitialPayload = RohanArcher GOOD_MEN_HORDE_SIZE
  449.         Slots = 5
  450.         PassengerFilter = NONE +INFANTRY
  451.         ShowPips = No
  452.         ThisFormationIsTheMainFormation = No    ;Used to determine which armorset to use (and anything else we want!)
  453.         RandomOffset = X:7 Y:7
  454.         
  455.         ; Banner Carrier info        
  456.         BannerCarriersAllowed    = RohanBanner                                        ; types of units that are allowed as banner carriers
  457.         BannerCarrierPosition    = UnitType:RohanArcher    Pos:X:15.0 Y:0.0        ; (DEFAULT) position of banner carrier
  458.         
  459.         RankInfo = RankNumber:1 UnitType:RohanArcher Position:X:0 Y:-40    Position:X:-25 Y:-25    Position:X:0 Y:0    Position:X:-25 Y:25    Position:X:0 Y:40 
  460.         
  461.     
  462.         RanksToReleaseWhenAttacking = 1
  463.         AlternateFormation = RohanArcherHorde
  464.         AttributeModifiers = RohanArcherSkirmish
  465.     End
  466. End
  467.  
  468. ;////////////////////////////////////////////////////////////////////////////////
  469. Object RohanRoyalGuardHorde
  470.  
  471.     Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
  472.         DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER SELECTED EMOTION_TERROR
  473.         DefaultModelConditionState
  474.             Model = None ;InvisHrdeTmp5x1
  475.         End
  476.         ModelConditionState = HORDE_EMPTY
  477.             Model = None
  478.         End        
  479.         ModelConditionState = WORLD_BUILDER
  480.             Model = HordeMarkRUHuo
  481.         End
  482.     End
  483.     
  484.     Side = Obsolete
  485.     EditorSorting = UNIT
  486.     EmotionRange = 240
  487.     DisplayName = OBJECT:Horde
  488.     
  489.     WeaponSet
  490.         Conditions = None 
  491.         Weapon = PRIMARY    NormalMeleeHordeRangefinder
  492.     End
  493.     
  494.     CommandSet = RohanRoyalGuardHordeCommandSet
  495.  
  496.  
  497.     ; *** AUDIO Parameters ***;
  498.     ; Note: Don't put voice parameters here -- they will be ignored. Voice play requests
  499.     ; are always passed through to members
  500.     #include "..\..\..\includes\StandardHordeEvaEvents.inc"
  501.  
  502.  
  503.     BuildCost = 50
  504.     BuildTime = 5.0      
  505.     VisionRange = 121
  506.     CommandPoints = 5
  507.           
  508.     FormationWidth = 2 ; Width it occupies in formations. Current choices are 1 or 2.
  509.     FormationDepth = 1 ; Depth it occupies in formations. Current choices are 1 or 2.
  510.     
  511.     CrushableLevel = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  512.     CrusherLevel = 1 
  513.     MinCrushVelocityPercent = 50 ; Has to be moving at at least 50% of full speed.
  514.     CrushDecelerationPercent = 10 ; Lose 20 percent of max velocity when crushing.
  515.     CrushKnockback = 40  ; how hard we knock back crushed units.
  516.     CrushZFactor = 1.0  ; How much we knock upwards.
  517.         
  518.     
  519.     TransportSlotCount = TRANSPORTSLOTCOUNT_SMALL_HORDE
  520.     KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAVALRY HORDE MELEE_HORDE ARMY_SUMMARY;UNATTACKABLE 
  521.     
  522.     Body = ImmortalBody ModuleTag_ImmortalBody
  523.         MaxHealth = 1
  524.     End
  525.     
  526.     Behavior = StancesBehavior ModuleTag_StancesBehavior
  527.         StanceTemplate = FighterHorde
  528.     End
  529.   
  530.     #include "..\..\..\includes\CaptureBuilding.inc"
  531.     
  532.     Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
  533.         AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
  534.         MoodAttackCheckRate        = 500
  535.         MaxCowerTime                =    5000
  536.         MinCowerTime                =    3000
  537.         AILuaEventsList                = CavalryFunctions  
  538.     End
  539.  
  540.     Behavior = HorseHordeContain ModuleTag_HordeContain
  541.         ObjectStatusOfContained = 
  542.         InitialPayload = RohanRoyalGuard GOOD_RIDER_HORDE_SIZE
  543.         Slots = 5
  544.         PassengerFilter = NONE +CAVALRY
  545.         ShowPips = No
  546.         RandomOffset = X:7 Y:3
  547.         ThisFormationIsTheMainFormation = Yes    ;Used to determine which armorset to use (and anything else we want!)
  548.         
  549.         RankInfo = RankNumber:1 UnitType:RohanRoyalGuard Position:X:0 Y:0        Position:X:0 Y:20        Position:X:0 Y:-20        Position:X:0 Y:40        Position:X:0 Y:-40 
  550.  
  551.         RanksToReleaseWhenAttacking = 1
  552.     End
  553.     
  554.     Behavior = HordeNotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
  555.         ScanWidth = 40.0 ; A little less than the width of the horde (which is 2 * 24 = 48)
  556.     End
  557.  
  558.     Behavior = EmotionTrackerUpdate    Module_EmotionTracker
  559.         TauntAndPointDistance        =    INFANTRY_TAUNT_POINT_RADIUS        ; max distance to taunted/pointed objet
  560.          TauntAndPointUpdateDelay    =    1000    ; how often scan (milliseconds)
  561.          TauntAndPointExcluded        =    NONE
  562.         AfraidOf                    =    NONE +GondorGwaihir +RohanTreeBerd +RohanEntFir +RohanEntAsh +RohanEntBirch +MordorCaveTroll +MordorMountainTroll +MordorDrummerTroll +MordorFellBeast +MordorWitchKingOnFellBeast +MordorMumakil;Must be SCARY kindof as well.
  563.         AlwaysAfraidOf                =    NONE +MordorBalrog +RohanOathbreaker +MordorSauron ;+MordorWitchKing +MordorWitchKingOnFellBeast
  564.          PointAt                =    NONE +MordorFellBeast +MordorWitchKingOnFellBeast 
  565.          HeroScanDistance        =    150
  566.          FearScanDistance        =    CAVALRY_FEAR_SCAN_RADIUS
  567.          
  568.         AddEmotion            =    Terror_Base
  569.          AddEmotion            =    OVERRIDE Point_Base
  570.              Duration        =    2500
  571.          End
  572.          
  573.          AddEmotion            =    Taunt_Base
  574.         AddEmotion            =    CheerIdle_Base
  575.          AddEmotion            =    CheerBusy_Base
  576.          
  577.          AddEmotion            =    OVERRIDE HeroCheerIdle_Base
  578.             ;StartFXList        =    RohirrimHeroCheerSound             
  579.          End
  580.          AddEmotion            =    OVERRIDE HeroCheerBusy_Base
  581.              ;StartFXList        =    RohirrimHeroCheerSound             
  582.          End
  583.         AddEmotion            =    Alert_Base
  584.         AddEmotion            =   CheerForAboutToCrush_Base
  585.          
  586.      End        
  587.  
  588.  
  589.     Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
  590.         GravityMult = 1.0
  591.     End
  592.     
  593.     LocomotorSet
  594.         Locomotor     = NormalCavalryHordeLocomotor
  595.         Condition     = SET_NORMAL
  596.         Speed         = NORMAL_CAVALRY_HORDE_SPEED        
  597.     End
  598.  
  599.     Geometry = BOX
  600.     GeometryMajorRadius = 12.0
  601.     GeometryMinorRadius = 24.0
  602.     GeometryHeight = 20.0
  603.     GeometryIsSmall = No
  604. End
  605.  
  606. ;////////////////////////////////////////////////////////////////////////////////
  607. ;////////////////////////////////////////////////////////////////////////////////
  608. ;////////////////////////////////////////////////////////////////////////////////
  609. ;////////////////////////////////////////////////////////////////////////////////
  610.  
  611. ;////////////////////////////////////////////////////////////////////////////////
  612. Object RohanElvenWarriorHorde
  613.  
  614.     ; This is required for garrisoned objects - please put in all objects.
  615.     ButtonImage            = BEElvenBarracks_LorienWarrior
  616.     SelectPortrait         = UPElven_LorienWarrior
  617.  
  618.  
  619.     Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
  620.         DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER SELECTED EMOTION_TERROR
  621.         DefaultModelConditionState
  622.             Model = None ;InvisHrdeTmp5x2
  623.         End
  624.         ModelConditionState = HORDE_EMPTY
  625.             Model = None
  626.         End        
  627.         ModelConditionState = WORLD_BUILDER
  628.             Model = HordeTemp_5By2
  629.         End
  630.     End
  631.     
  632.     Side = Obsolete
  633.     EditorSorting = UNIT
  634.     EmotionRange = 240
  635.     DisplayName = OBJECT:HordeRohanElves
  636.     
  637.     WeaponSet
  638.         Conditions = None 
  639.         Weapon = PRIMARY    ElvenArcherMissileHordeRangefinder
  640.     End
  641.     WeaponSet
  642.         Conditions = WEAPONSET_TOGGLE_1
  643.         Weapon = PRIMARY    NormalMeleeHordeRangefinder
  644.     End
  645.     
  646.     CommandSet = RohanElvenWarriorHordeCommandSet
  647.  
  648.     ; *** AUDIO Parameters ***
  649.     ; Note: Don't put voice parameters here -- they will be ignored. Voice play requests
  650.     ; are always passed through to members
  651.     #include "..\..\..\includes\StandardHordeEvaEvents.inc"
  652.  
  653.  
  654.      CrushableLevel = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  655.     CrusherLevel = 0
  656.  
  657.     BuildCost = ROHAN_ELVENWARRIOR_BUILDCOST            
  658.     BuildTime = ROHAN_ELVENWARRIOR_BUILDTIME            
  659.     VisionRange = ROHAN_ELVENWARRIOR_HORDE_VISION_RANGE
  660.     ShroudClearingRange = 161
  661.     CommandPoints = 20
  662.         
  663.     FormationWidth = 2 ; Width it occupies in formations. Current choices are 1 or 2.
  664.     FormationDepth = 1 ; Depth it occupies in formations. Current choices are 1 or 2.
  665.     
  666.     TransportSlotCount = TRANSPORTSLOTCOUNT_SMALL_HORDE
  667.     KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE ARCHER ARMY_SUMMARY MELEE_HORDE;UNATTACKABLE 
  668.     
  669.     Body = ImmortalBody ModuleTag_ImmortalBody
  670.         MaxHealth = 1
  671.     End
  672.     
  673.     Behavior = StancesBehavior ModuleTag_StancesBehavior
  674.         StanceTemplate = FighterHorde
  675.     End
  676.   
  677.     #include "..\..\..\includes\CaptureBuilding.inc"
  678.     
  679.     Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
  680.         AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS STEALTHED
  681.         MoodAttackCheckRate        = 500
  682.         MaxCowerTime                =    5000
  683.         MinCowerTime                =    3000
  684.         CanAttackWhileContained    = Yes  ; Can fire out of garrisoned building        
  685.         AILuaEventsList                = InfantryFunctions    
  686.         AttackPriority                =     AttackPriority_Archer
  687.     End
  688.  
  689.     Behavior = HordeContain ModuleTag_HordeContain
  690.         ObjectStatusOfContained = 
  691.         InitialPayload = RohanElvenWarrior GOOD_MEN_HORDE_SIZE
  692.         Slots = 5
  693.         PassengerFilter = NONE +INFANTRY
  694.         ShowPips = No
  695.         ThisFormationIsTheMainFormation = Yes    ;Used to determine which armorset to use (and anything else we want!)
  696.         RandomOffset = X:1 Y:1
  697.         
  698.         ; Banner Carrier info        
  699.         BannerCarriersAllowed    = RohanBanner                                        ; types of units that are allowed as banner carriers
  700.         BannerCarrierPosition    = UnitType:RohanElvenWarrior    Pos:X:35.0 Y:0.0    ; (DEFAULT) position of banner carrier for elven warrior horde
  701.         
  702.         ; Positions for 5
  703.         RankInfo = RankNumber:1 UnitType:RohanElvenWarrior Position:X:13 Y:0    Position:X:13 Y:25        Position:X:13 Y:-25        Position:X:13 Y:50        Position:X:13 Y:-50 
  704.         
  705.         
  706.         RanksToReleaseWhenAttacking = 1 
  707.         MeleeAttackLeashDistance = 25; How far the hordes can move from the center of the horde when melee attacking.
  708.     End
  709.     
  710.     Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
  711.         GravityMult = 1.0
  712.     End
  713.     
  714.      Behavior = EmotionTrackerUpdate    Module_EmotionTracker
  715.         TauntAndPointDistance        =    INFANTRY_TAUNT_POINT_RADIUS        ; max distance to taunted/pointed objet
  716.         TauntAndPointUpdateDelay    =    1000    ; how often scan (milliseconds)
  717.         TauntAndPointExcluded        =    NONE
  718.         AfraidOf                    =    NONE +GondorGwaihir +RohanTreeBerd +RohanEntFir +RohanEntAsh +RohanEntBirch +MordorCaveTroll +MordorMountainTroll +MordorDrummerTroll +MordorFellBeast +MordorWitchKingOnFellBeast +MordorMumakil;Must be SCARY kindof as well.
  719.         AlwaysAfraidOf                =    NONE +MordorBalrog +RohanOathbreaker +MordorSauron ;+MordorWitchKing +MordorWitchKingOnFellBeast
  720.          PointAt                =    NONE +MordorFellBeast +MordorWitchKingOnFellBeast +GondorGwaihir
  721.         HeroScanDistance        =    150
  722.         FearScanDistance        =    ARCHER_FEAR_SCAN_RADIUS
  723.  
  724.  
  725.  
  726.         AddEmotion    =    Terror_Base
  727.         AddEmotion    =    Doom_Base
  728.         AddEmotion    =   BraceForBeingCrushed_Base
  729.         AddEmotion    =    UncontrollableFear_Base
  730.         AddEmotion    =    FearIdle_Base
  731.         AddEmotion    =    FearBusy_Base
  732.         AddEmotion    =    Point_Base
  733.         AddEmotion    =    Taunt_Base    
  734.         AddEmotion    =    CheerIdle_Base
  735.         AddEmotion    =    CheerBusy_Base
  736.         AddEmotion    =    HeroCheerIdle_Base
  737.         AddEmotion    =    HeroCheerBusy_Base
  738.         AddEmotion    =    Alert_Base
  739.     End            
  740.  
  741.     
  742.     LocomotorSet
  743.         Locomotor     = NormalMeleeHordeLocomotor
  744.         Condition     = SET_NORMAL
  745.         Speed         = NORMAL_GOOD_FAST_HORDE_SPEED        
  746.     End
  747.  
  748.     Behavior = ProductionUpdate ProductionUpdateModuleTag
  749.         GiveNoXP = Yes
  750.     End
  751.  
  752.     Behavior = LevelUpUpgrade ModuleTag_BasicTraining
  753.         TriggeredBy = Upgrade_RohanBasicTraining
  754.         LevelsToGain = 1
  755.         LevelCap = 2
  756.     End
  757.     
  758.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality
  759.         TriggeredBy = Upgrade_RohanHeavyArmorForElves
  760.     End
  761.     
  762.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality2
  763.         TriggeredBy = Upgrade_RohanForgedBladesForElves
  764.     End
  765.     
  766.     Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality3
  767.         TriggeredBy = Upgrade_RohanFireArrows
  768.     End
  769.     
  770.     Geometry = BOX
  771.     GeometryMajorRadius = 20.0
  772.     GeometryMinorRadius = 20.0
  773.     GeometryHeight = 20.0
  774.     GeometryIsSmall = No
  775. End
  776.  
  777. ;////////////////////////////////////////////////////////////////////////////////
  778. ChildObject RohanElvenWarriorHorde_Summoned RohanElvenWarriorHorde
  779.     IsTrainable = No
  780.     CommandPoints = 0
  781.     CommandSet = RohanElvenWarriorHordeCommandSet_Summoned
  782.     EquivalentTo = RohanElvenWarriorHorde
  783.  
  784.     KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE ARCHER MELEE_HORDE SUMMONED
  785.     
  786.     Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate
  787.     ; This one displays the timer, but the one in the uint does the work 
  788.         MinLifetime        = 180000
  789.         MaxLifetime        = 180000
  790.         DeathType        = FADED
  791.     End    
  792.     Behavior = HordeContain ModuleTag_HordeContain
  793.         ObjectStatusOfContained = 
  794.         InitialPayload = RohanElvenWarrior_Summoned GOOD_MEN_HORDE_SIZE
  795.         Slots = 5
  796.         PassengerFilter = NONE +INFANTRY
  797.         ShowPips = No
  798.         ThisFormationIsTheMainFormation = Yes    ;Used to determine which armorset to use (and anything else we want!)
  799.         RandomOffset = X:1 Y:1
  800.         
  801.         ; Banner Carrier info        
  802. ;        BannerCarriersAllowed    = RohanBanner                                        ; types of units that are allowed as banner carriers
  803. ;        BannerCarrierPosition    = UnitType:RohanElvenWarrior    Pos:X:35.0 Y:0.0    ; (DEFAULT) position of banner carrier for elven warrior horde
  804.         
  805.         ; Positions for 5
  806.         RankInfo = RankNumber:1 UnitType:RohanElvenWarrior_Summoned Position:X:13 Y:0    Position:X:13 Y:25        Position:X:13 Y:-25        Position:X:13 Y:50        Position:X:13 Y:-50 
  807.         
  808.         RanksToReleaseWhenAttacking = 1 
  809.         MeleeAttackLeashDistance = 25; How far the hordes can move from the center of the horde when melee attacking.
  810.     End
  811.     
  812. End
  813.  
  814.  
  815. ;////////////////////////////////////////////////////////////////////////////////
  816. Object RohanHobbitHorde
  817.  
  818.     ; This is required for garrisoned objects - please put in all objects.
  819.     ButtonImage = BRArcheryRange_YeomanArchers
  820.  
  821.     Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
  822.         DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER SELECTED EMOTION_TERROR
  823.         DefaultModelConditionState
  824.             Model = None ;InvisHrdeTmp5x2
  825.         End
  826.         ModelConditionState = HORDE_EMPTY
  827.             Model = None
  828.         End        
  829.         
  830.         ModelConditionState = WORLD_BUILDER
  831.             Model = HordeMarkRUYeo
  832.         End
  833.     End
  834.     
  835.     Side = Obsolete
  836.     EditorSorting = UNIT
  837.     EmotionRange = 240
  838.     DisplayName = OBJECT:Horde
  839.     
  840.     WeaponSet
  841.         Conditions = None 
  842.         Weapon = PRIMARY    NormalMissileHordeRangefinder
  843.     End
  844.     
  845.     CommandSet = RohanHobbitHordeCommandSet
  846.  
  847.     ; *** AUDIO Parameters ***
  848.     ; Note: Don't put voice parameters here -- they will be ignored. Voice play requests
  849.     ; are always passed through to members
  850.     #include "..\..\..\includes\StandardHordeEvaEvents.inc"
  851.  
  852.  
  853.     BuildCost = 800
  854.     BuildTime = 25.0
  855.     VisionRange = 300
  856.     ShroudClearingRange = 161
  857.     CommandPoints = 4
  858.     
  859.     FormationWidth = 2 ; Width it occupies in formations. Current choices are 1 or 2.
  860.     FormationDepth = 1 ; Depth it occupies in formations. Current choices are 1 or 2.
  861.     
  862.     TransportSlotCount = TRANSPORTSLOTCOUNT_SMALL_HORDE
  863.     KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE ARCHER ARMY_SUMMARY;UNATTACKABLE 
  864.     
  865.     Body = ImmortalBody ModuleTag_ImmortalBody
  866.         MaxHealth = 1
  867.     End
  868.     
  869.     Behavior = StancesBehavior ModuleTag_StancesBehavior
  870.         StanceTemplate = FighterHorde
  871.     End
  872.   
  873.     #include "..\..\..\includes\CaptureBuilding.inc"
  874.     
  875.     Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
  876.         AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
  877.         MoodAttackCheckRate        = 500
  878.         MaxCowerTime                =    5000
  879.         MinCowerTime                =    3000
  880.         CanAttackWhileContained    = Yes  ; Can fire out of garrisoned building        
  881.         AttackPriority                =     AttackPriority_Archer
  882.     End
  883.  
  884.     Behavior = HordeContain ModuleTag_HordeContain
  885.         ObjectStatusOfContained = 
  886.         InitialPayload = RohanFrodo 1
  887.         InitialPayload = RohanSam 1
  888.         InitialPayload = RohanMerry 1
  889.         InitialPayload = RohanPippin 1
  890.         Slots = 4
  891.         PassengerFilter = NONE +HOBBIT
  892.         ShowPips = No
  893.         ThisFormationIsTheMainFormation = Yes    ;Used to determine which armorset to use (and anything else we want!)
  894.         RandomOffset = X:5 Y:5
  895.  
  896.         ;LeadersAllowed = GondorArcher
  897.         ;LeaderPosition   = X:60.0 Y:0.0 Z:0.0
  898.         ;LeaderRank        = 0
  899.         RankInfo = RankNumber:1 UnitType:RohanFrodo Position:X:20 Y:0
  900.         RankInfo = RankNumber:2 UnitType:RohanSam Position:X:20 Y:30
  901.         RankInfo = RankNumber:3 UnitType:RohanMerry Position:X:-15 Y:0
  902.         RankInfo = RankNumber:4 UnitType:RohanPippin Position:X:-15 Y:30
  903.         
  904.         RanksToReleaseWhenAttacking = 1 2 3 4
  905.     End
  906.  
  907.     Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
  908.         GravityMult = 1.0
  909.     End
  910.     
  911.     LocomotorSet
  912.         Locomotor     = NormalRangedHordeLocomotor
  913.         Condition     = SET_NORMAL
  914.         Speed         = NORMAL_GOOD_INFANTRY_HORDE_SPEED    
  915.     End
  916.  
  917.     Geometry = BOX
  918.     GeometryMajorRadius = 20.0
  919.     GeometryMinorRadius = 20.0
  920.     GeometryHeight = 20.0
  921.     GeometryIsSmall = No
  922. End
  923.  
  924.  
  925. ChildObject RohanHobbitHordeFrodoSam RohanHobbitHorde
  926.  
  927.   CommandPoints = 2
  928.     
  929.   Behavior = HordeContain ModuleTag_HordeContain
  930.     ObjectStatusOfContained = 
  931.         InitialPayload = RohanFrodo 1
  932.         InitialPayload = RohanSam 1
  933.         Slots = 2
  934.         PassengerFilter = NONE +HOBBIT
  935.         ShowPips = No
  936.         ThisFormationIsTheMainFormation = Yes    ;Used to determine which armorset to use (and anything else we want!)
  937.         RandomOffset = X:5 Y:5
  938.  
  939.         ;LeadersAllowed = GondorArcher
  940.         ;LeaderPosition   = X:60.0 Y:0.0 Z:0.0
  941.         ;LeaderRank        = 0
  942.         RankInfo = RankNumber:1 UnitType:RohanFrodo Position:X:20 Y:0
  943.         RankInfo = RankNumber:2 UnitType:RohanSam Position:X:20 Y:30
  944.         RanksToReleaseWhenAttacking = 1 2
  945.     End
  946. End
  947.  
  948. ChildObject RohanHobbitHordeMerryPippin RohanHobbitHorde
  949.  
  950.   CommandPoints = 2
  951.  
  952.   Behavior = HordeContain ModuleTag_HordeContain
  953.     ObjectStatusOfContained = 
  954.         InitialPayload = RohanMerry 1
  955.         InitialPayload = RohanPippin 1
  956.         Slots = 2
  957.         PassengerFilter = NONE +HOBBIT
  958.         ShowPips = No
  959.         ThisFormationIsTheMainFormation = Yes    ;Used to determine which armorset to use (and anything else we want!)
  960.         RandomOffset = X:5 Y:5
  961.  
  962.         ;LeadersAllowed = GondorArcher
  963.         ;LeaderPosition   = X:60.0 Y:0.0 Z:0.0
  964.         ;LeaderRank        = 0
  965.         RankInfo = RankNumber:1 UnitType:RohanMerry Position:X:20 Y:0
  966.         RankInfo = RankNumber:2 UnitType:RohanPippin Position:X:20 Y:30
  967.         RanksToReleaseWhenAttacking = 1 2
  968.     End
  969. End
  970.  
  971.