New formation for hord/ combohord
#1
Posted 03 March 2012 - 08:01 AM
I´m newbie here and a seeking for some advice about hordes and their formations in BFME 1. I have some experience with Finalbig and moding itself already - I successful increased CP and number of unites in hordes and set them new primary stands (positions) - but now i´m lost.
My wish is create formations with diferent bonuses/ decreases effects on hord or combohord. (e. g. In original, Gondor soldiers have Block formation with increased their defence and decreased speed. I want add new formation for attack with increased speed/ dmg but decreased defence and still can be able change back to primary position.).
I tryed search in code ini.big and I probably need create a new button for this stuff, am i right? If not, what other I need? Can smbdy help me?
Thx for all responses...
Alaric
(I sorry for my english. I´m just a student from non-englishspeaking country)
#2
Posted 07 April 2012 - 06:26 AM
Let's start with your example of Gondor soldiers in block formation. Go to the gondorhordes.ini file and search for "ChildObject GondorFighterHordeBlock GondorFighterHorde."
Scroll down and you'll see "AttributeModifiers = GondorFighterBlock." This tells you to go the to the attributemodifier.ini file and search for "GondorFighterBlock." You'll then see this code block:
ModifierList GondorFighterBlock
Category = FORMATION
;Modifier = DAMAGE_MULT 40% ; 75% more armor
Modifier = ARMOR 25% ; 75% more armor
Modifier = SPEED 60%
Duration = 0 ; Duration is forever when zero
End
When you put your Gondor soldiers in block formation, their armor increases but their speed decreases. How do you know? Go to the top of the attributemodifier.ini file and you'll see all of the various modifier definitions. As you can see, Armor is additive and Speed is multiplicative. Using the modifier definitions, you can adjust as you desire. Look at some of the other formations and see how attributes change. You can then choose (or create) the formation you want and modify it as you wish. Your note said you wanted to increase the speed & damage while decreasing defense. Here's an example of what that would like like for Gondor soldiers in block formation:
ModifierList GondorFighterBlock
Category = FORMATION
Modifier = DAMAGE_MULT 120%; increased damage
Modifier = ARMOR -40%; reduced armor
Modifier = SPEED 110%; increased speed
Duration = 0 ; Duration is forever when zero
End
#3
Posted 12 April 2012 - 10:51 AM
So I done this stuff. But there is one more problem.Take my example of Gondor Soldiers again...
I Edit this Soldiers in GondorHordes.ini
Behavior = HordeContain ModuleTag_HordeContain
ObjectStatusOfContained =
InitialPayload = GondorFighter 20
Slots = 20
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = Yes ;Used to determine which armorset to use (and anything else we want!)
RandomOffset=X:2 Y:2
; Banner Carrier info
BannerCarriersAllowed = GondorBanner ; types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:GondorFighter Pos:X:-40.0 Y:0.0 ; (DEFAULT) position of banner carrier
; Positions for 20
RankInfo = RankNumber:1 UnitType:GondorFighter Position:X:0 Y:10 Position:X:0 Y:-10 Position:X:0 Y:30 Position:X:0 Y:-30 Position:X:0 Y:50 Position:X:0 Y:-50 Position:X:0 Y:70 Position:X:0 Y:-70 Position:X:0 Y:90 Position:X:0 Y:-90
RankInfo = RankNumber:2 UnitType:GondorFighter Position:X:-20 Y:10 Position:X:-20 Y:-10 Position:X:-20 Y:30 Position:X:-20 Y:-30 Position:X:-20 Y:50 Position:X:-20 Y:-50 Position:X:-20 Y:70 Position:X:-20 Y:-70 Position:X:-20 Y:90 Position:X:-20 Y:-90
RanksToReleaseWhenAttacking = 1 2
; Normal Formations
ComboHorde = Target:GondorArcherHorde Result:GondorFighterArcherComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorRangerHorde Result:GondorFighterRangerComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorKnightHorde Result:GondorKnightFighterComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
; Alternate formations
ComboHorde = Target:GondorKnightHordeWedgeFormation Result:GondorKnightFighterComboHorde InitiateVoice:TowerGuardVoiceJoinKnights
ComboHorde = Target:GondorArcherHordeWedgeFormation Result:GondorFighterArcherComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
ComboHorde = Target:GondorRangerHordeAmbushFormation Result:GondorFighterRangerComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
AlternateFormation = GondorFighterHordeBlock
AlternateFormation = GondorFighterHordeRush
MeleeAttackLeashDistance = 25; 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
Then I created new ChildObject for my new Gondor soldier´s Rush formation (If I understood your replay well, you said I can edit/ create new stats for every childobject in the game)
ChildObject GondorFighterHordeRush GondorFighterHorde
; Note - for alternate formations, all info outside of the Contain Behavior module is ignored.
; Any modifications need to be done via the Attribute Modifiers in the contain module.
Behavior = HordeContain ModuleTag_HordeContain
ObjectStatusOfContained =
InitialPayload = GondorFighter 20
Slots = 20
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = No ;Used to determine which armorset to use (and anything else we want!)
AttributeModifiers = GondorFighterRush
; Banner Carrier info
BannerCarriersAllowed = GondorBanner ; types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:GondorFighter Pos:X:-30.0 Y:0.0 ; (DEFAULT) position of banner carrier
; Positions for 20
RankInfo = RankNumber:1 UnitType:GondorFighter Position:X:0 Y:10 Position:X:0 Y:-10 Position:X:0 Y:30 Position:X:0 Y:-30
RankInfo = RankNumber:2 UnitType:GondorFighter Position:X:-5 Y:50 Position:X:-5 Y:-50
RankInfo = RankNumber:3 UnitType:GondorFighter Position:X:-10 Y:10 Position:X:-10 Y:-10 Position:X:-10 Y:30 Position:X:-10 Y:-30 Position:X:-10 Y:70 Position:X:-10 Y:-70
RankInfo = RankNumber:4 UnitType:GondorFighter Position:X:-15 Y:50 Position:X:-15 Y:-50 Position:X:-15 Y:90 Position:X:-15 Y:-90
RankInfo = RankNumber:5 UnitType:GondorFighter Position:X:-20 Y:70 Position:X:-20 Y:-70
RankInfo = RankNumber:6 UnitType:GondorFighter Position:X:-25 Y:90 Position:X:-25 Y:-90
RanksToReleaseWhenAttacking = 1 2 3 4 5 6
; Normal formations
ComboHorde = Target:GondorArcherHorde Result:GondorFighterArcherComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorRangerHorde Result:GondorFighterRangerComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorKnightHorde Result:GondorKnightFighterComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
; Alternate formations
ComboHorde = Target:GondorKnightHordeWedgeFormation Result:GondorKnightFighterComboHorde InitiateVoice:TowerGuardVoiceJoinKnights
ComboHorde = Target:GondorArcherHordeWedgeFormation Result:GondorFighterArcherComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
ComboHorde = Target:GondorRangerHordeAmbushFormation Result:GondorFighterRangerComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
AlternateFormation = GondorFighterHorde
End
End
And I edit stats as you in Attributemodifier.ini:
ModifierList GondorFighterRush
Category = FORMATION
Modifier = DAMAGE_MULT 120%; increased damage
Modifier = ARMOR -40%; reduced armor
Modifier = SPEED 110%; increased speed
Duration = 0 ; Duration is forever when zero
End
I thing there aren´t mistakes in this three codes. And all working well. But now I want my new formation on palantir. So I find some articles about it (like this: http://www.the3rdage...item-67?addview) and try create new button on palantir. I used option from Gondor soldiers Block formation but rewrite all Block to Rush expect for audio and image setting in CommandButton.ini
CommandButton Command_ToggleFormationGondorFighterRush ;;add by me
Command = HORDE_TOGGLE_FORMATION ;;Gondor Soldier
Options = TOGGLE_IMAGE_ON_FORMATION OK_FOR_MULTI_SELECT
ButtonImage = UCFormation_Block UCFormation_Line
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
TextLabel = CONTROLBAR:ToggleRushFormation CONTROLBAR:ToggleLineFormation
DescriptLabel = CONTROLBAR:ToolTipToggleGFighterLineToRushFormation CONTROLBAR:ToolTipToggleGFighterRushToLineFormation
InPalantir = Yes
DoubleClick = Yes
UnitSpecificSound = GondorSoldierVoiceBlockFormationOn GondorSoldierVoiceLineFormation
End
;CommandButton Command_SetFormationGondorFighterRush ;;add by me
; Command = HORDE_SET_FORMATION
; Options = OK_FOR_MULTI_SELECT
; Object = GondorFighterHordeRush
; ButtonImage = UCFormation_Block
; ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
; TextLabel = CONTROLBAR:ToggleRushFormation
; DescriptLabel = CONTROLBAR:ToolTipToggleRushFormation
; InPalantir = Yes
; DoubleClick = Yes
; UnitSpecificSound = GondorSoldierVoiceBlockFormationOn
;End
;CommandButton Command_SetFormationGondorFighterLine ;;add by me
; Command = HORDE_SET_FORMATION
; Options = OK_FOR_MULTI_SELECT
; Object = GondorFighterHorde
; ButtonImage = UCFormation_Line
; ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
; TextLabel = CONTROLBAR:ToggleLineFormation
; DescriptLabel = CONTROLBAR:ToolTipToggleLineFormation
; InPalantir = Yes
; DoubleClick = Yes
; UnitSpecificSound = GondorSoldierVoiceLineFormation
;End
After that I add this botton to Commandset.ini
CommandSet GondorFighterHordeCommandSet
1 = Command_Guard
2 = Command_ToggleFormationGondorFighter
3 = Command_ToggleFormationGondorFighterRush ;;add by me
4 = Command_PurchaseUpgradeGondorForgedBlades
5 = Command_PurchaseUpgradeGondorHeavyArmor
6 = Command_PurchaseUpgradeGondorBasicTraining
13 = Command_AttackMove
14 = Command_Stop
15 = Command_Guard
End
Now I Have two buttons for toggle formation in palantir. One for Block formation and one with some missing object (This is my Rush formation). But no matter what I turn on. In both cases Gondor Soldiers take position on XY for Rush formation without bunuses/decreses afected their stats. What I had done wrong? Any ideas, please?
Edited by Alaric, 13 April 2012 - 12:43 PM.
#4
Posted 15 April 2012 - 03:57 PM
I am successfuly created my Rush formation for Gondor Soldiers and I can use both of them - Block and Rush with any bonuses/ decreases.
I Used this code:
Object GondorFighterHorde
; This is required for garrisoned objects - please put in all objects.
ButtonImage = BGBarracks_Soldiers
SelectPortrait = UPGondor_Soldier
Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER EMOTION_TERROR EMOTION_LOOK_TO_SKY SELECTED
DefaultModelConditionState
Model = None ;InvisHrdeTmp5x2
End
ModelConditionState = HORDE_EMPTY
Model = None
End
ModelConditionState = WORLD_BUILDER
Model = HordeMarkGUSol
End
End
Side = Gondor
EditorSorting = UNIT
EmotionRange = 240
DisplayName = OBJECT:HordeGondorSoldier
WeaponSet
Conditions = None
Weapon = PRIMARY NormalMeleeHordeRangefinder
End
; *** AUDIO Parameters ***;
; Note: Don't put voice parameters here -- they will be ignored. Voice play requests
; are always passed through to members
UnitSpecificSounds
VoiceDesperateAttack = GondorSoldierVoiceDesperateCharge
End
BuildCost = GONDOR_SOLDIER_BUILDCOST
BuildTime = GONDOR_SOLDIER_BUILDTIME
VisionRange = GONDOR_SOLDIER_HORDE_VISION_RANGE
CommandPoints = 20
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 = 1
KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE MELEE_HORDE NOTIFY_OF_PREATTACK ARMY_SUMMARY;;UNATTACKABLE
Body = ImmortalBody ModuleTag_ImmortalBody
MaxHealth = 1
End
Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
MaxCowerTime = 5000
MinCowerTime = 3000
AILuaEventsList = InfantryFunctions ;
AttackPriority = AttackPriority_Infantry
End
Behavior = HordeContain ModuleTag_HordeContain
ObjectStatusOfContained =
InitialPayload = GondorFighter 20
Slots = 20
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = Yes ;Used to determine which armorset to use (and anything else we want!)
RandomOffset=X:2 Y:2
; Banner Carrier info
BannerCarriersAllowed = GondorBanner ; types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:GondorFighter Pos:X:-40.0 Y:0.0 ; (DEFAULT) position of banner carrier
; Positions for 20
RankInfo = RankNumber:1 UnitType:GondorFighter Position:X:0 Y:10 Position:X:0 Y:-10 Position:X:0 Y:30 Position:X:0 Y:-30 Position:X:0 Y:50 Position:X:0 Y:-50 Position:X:0 Y:70 Position:X:0 Y:-70 Position:X:0 Y:90 Position:X:0 Y:-90
RankInfo = RankNumber:2 UnitType:GondorFighter Position:X:-20 Y:10 Position:X:-20 Y:-10 Position:X:-20 Y:30 Position:X:-20 Y:-30 Position:X:-20 Y:50 Position:X:-20 Y:-50 Position:X:-20 Y:70 Position:X:-20 Y:-70 Position:X:-20 Y:90 Position:X:-20 Y:-90
RanksToReleaseWhenAttacking = 1 2
; Normal Formations
ComboHorde = Target:GondorArcherHorde Result:GondorFighterArcherComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorRangerHorde Result:GondorFighterRangerComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorKnightHorde Result:GondorKnightFighterComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
; Alternate formations
ComboHorde = Target:GondorKnightHordeWedgeFormation Result:GondorKnightFighterComboHorde InitiateVoice:TowerGuardVoiceJoinKnights
ComboHorde = Target:GondorArcherHordeWedgeFormation Result:GondorFighterArcherComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
ComboHorde = Target:GondorRangerHordeAmbushFormation Result:GondorFighterRangerComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
AlternateFormation = GondorFighterHordeBlock
MeleeAttackLeashDistance = 25; 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 = CommandButtonHuntUpdate ModuleTag_CommandButtonHuntUpdate
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 = NONE +GondorGwaihir +RohanTreeBerd +RohanEntFir +RohanEntAsh +RohanEntBirch +MordorBalrog +MordorFellBeast +MordorWitchKingOnFellBeast +MordorCaveTroll +MordorMountainTroll +MordorDrummerTroll +MordorMumakil ;Must be SCARY kindof as well.
AlwaysAfraidOf = NONE +MordorBalrog +RohanOathbreaker +MordorSauron ;+MordorWitchKing +MordorWitchKingOnFellBeast
PointAt = NONE +MordorFellBeast +MordorWitchKingOnFellBeast
HeroScanDistance = 150
FearScanDistance = INFANTRY_FEAR_SCAN_RADIUS
AddEmotion = Terror_Base
AddEmotion = Doom_Base ;OVERRIDE
;StartFXList = FX_GondorSoldierDoom ;these have been hooked up in the FXList.INI
;End
AddEmotion = UncontrollableFear_Base ;OVERRIDE
;StartFXList = FX_GondorSoldierFear
;End
AddEmotion = FearIdle_Base ;OVERRIDE
;StartFXList = FX_GondorSoldierFear
;End
AddEmotion = FearBusy_Base ;OVERRIDE
;StartFXList = FX_GondorSoldierFear
;End
AddEmotion = Point_Base ;OVERRIDE
;Duration = 13980
;StartFXList = FX_GondorSoldierPoint
;End
AddEmotion = Taunt_Base ;OVERRIDE
;AttributeModifier = GondorFighterTaunt
;End
AddEmotion = CheerIdle_Base
AddEmotion = CheerBusy_Base
AddEmotion = HeroCheerIdle_Base
AddEmotion = HeroCheerBusy_Base
AddEmotion = Alert_Base
End
LocomotorSet
Locomotor = NormalMeleeHordeLocomotor
Condition = SET_NORMAL
Speed = NORMAL_GOOD_INFANTRY_HORDE_SPEED
End
LocomotorSet
Locomotor = ScaredMeleeHordeLocomotor
Condition = SET_SCARED
Speed = NORMAL_GOOD_INFANTRY_HORDE_SPEED
End
Behavior = ProductionUpdate ProductionUpdateModuleTag
GiveNoXP = Yes
End
Behavior = LevelUpUpgrade ModuleTag_BasicTraining
TriggeredBy = Upgrade_GondorBasicTraining Upgrade_TechnologyGondorBasicTraining
RequiresAllTriggers = Yes
LevelsToGain = 1
LevelCap = 2
End
Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality
TriggeredBy = Upgrade_GondorForgedBlades Upgrade_TechnologyGondorForgedBlades
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality2
TriggeredBy = Upgrade_GondorHeavyArmor Upgrade_TechnologyGondorHeavyArmor
RequiresAllTriggers = Yes
End
CommandSet = GondorFighterHordeCommandSet
Geometry = BOX
GeometryMajorRadius = 20.0
GeometryMinorRadius = 20.0
GeometryHeight = 20.0
GeometryIsSmall = No
End
;------------------------------------------------------------------------------
ChildObject GondorFighterHordeBlock GondorFighterHorde
; Note - for alternate formations, all info outside of the Contain Behavior module is ignored.
; Any modifications need to be done via the Attribute Modifiers in the contain module.
Behavior = HordeContain ModuleTag_HordeContain
ObjectStatusOfContained =
InitialPayload = GondorFighter 20
Slots = 20
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = No ;Used to determine which armorset to use (and anything else we want!)
AttributeModifiers = GondorFighterBlock
; Banner Carrier info
BannerCarriersAllowed = GondorBanner ; types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:GondorFighter Pos:X:-30.0 Y:0.0 ; (DEFAULT) position of banner carrier
; Positions for 20
RankInfo = RankNumber:1 UnitType:GondorFighter Position:X:0 Y:5 Position:X:0 Y:-5 Position:X:0 Y:15 Position:X:0 Y:-15 Position:X:0 Y:25 Position:X:0 Y:-25 Position:X:0 Y:35 Position:X:0 Y:-35 Position:X:0 Y:45 Position:X:0 Y:-45
RankInfo = RankNumber:2 UnitType:GondorFighter Position:X:-15 Y:5 Position:X:-15 Y:-5 Position:X:-15 Y:15 Position:X:-15 Y:-15 Position:X:-15 Y:25 Position:X:-15 Y:-25 Position:X:-15 Y:35 Position:X:-15 Y:-35 Position:X:-15 Y:45 Position:X:-15 Y:-45
RanksToReleaseWhenAttacking = 1 2
; Normal formations
ComboHorde = Target:GondorArcherHorde Result:GondorFighterArcherComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorRangerHorde Result:GondorFighterRangerComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorKnightHorde Result:GondorKnightFighterComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
; Alternate formations
ComboHorde = Target:GondorKnightHordeWedgeFormation Result:GondorKnightFighterComboHorde InitiateVoice:TowerGuardVoiceJoinKnights
ComboHorde = Target:GondorArcherHordeWedgeFormation Result:GondorFighterArcherComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
ComboHorde = Target:GondorRangerHordeAmbushFormation Result:GondorFighterRangerComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
AlternateFormation = GondorFighterHordeRush
End
End
;------------------------------------------------------------------------------
ChildObject GondorFighterHordeRush GondorFighterHorde
; Note - for alternate formations, all info outside of the Contain Behavior module is ignored.
; Any modifications need to be done via the Attribute Modifiers in the contain module.
Behavior = HordeContain ModuleTag_HordeContain
ObjectStatusOfContained =
InitialPayload = GondorFighter 20
Slots = 20
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = No ;Used to determine which armorset to use (and anything else we want!)
AttributeModifiers = GondorFighterRush
; Banner Carrier info
BannerCarriersAllowed = GondorBanner ; types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:GondorFighter Pos:X:-30.0 Y:0.0 ; (DEFAULT) position of banner carrier
; Positions for 20
RankInfo = RankNumber:1 UnitType:GondorFighter Position:X:0 Y:10 Position:X:0 Y:-10 Position:X:0 Y:30 Position:X:0 Y:-30
RankInfo = RankNumber:2 UnitType:GondorFighter Position:X:-5 Y:50 Position:X:-5 Y:-50
RankInfo = RankNumber:3 UnitType:GondorFighter Position:X:-10 Y:10 Position:X:-10 Y:-10 Position:X:-10 Y:30 Position:X:-10 Y:-30 Position:X:-10 Y:70 Position:X:-10 Y:-70
RankInfo = RankNumber:4 UnitType:GondorFighter Position:X:-15 Y:50 Position:X:-15 Y:-50 Position:X:-15 Y:90 Position:X:-15 Y:-90
RankInfo = RankNumber:5 UnitType:GondorFighter Position:X:-20 Y:70 Position:X:-20 Y:-70
RankInfo = RankNumber:6 UnitType:GondorFighter Position:X:-25 Y:90 Position:X:-25 Y:-90
RanksToReleaseWhenAttacking = 1 2 3 4 5 6
; Normal formations
ComboHorde = Target:GondorArcherHorde Result:GondorFighterArcherComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorRangerHorde Result:GondorFighterRangerComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
ComboHorde = Target:GondorKnightHorde Result:GondorKnightFighterComboHorde InitiateVoice:GondorSoldierVoiceJoinAnybody
; Alternate formations
ComboHorde = Target:GondorKnightHordeWedgeFormation Result:GondorKnightFighterComboHorde InitiateVoice:TowerGuardVoiceJoinKnights
ComboHorde = Target:GondorArcherHordeWedgeFormation Result:GondorFighterArcherComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
ComboHorde = Target:GondorRangerHordeAmbushFormation Result:GondorFighterRangerComboHorde InitiateVoice:TowerGuardVoiceJoinArchers
AlternateFormation = GondorFighterHorde
End
End
This is my new setup for Gondor soldiers. This mean I created rotation betwen Line formation -> Block formation -> Rush formation -> Line Formation. But now I must add new button for Rush formation, Simply open CommandButton.ini and find this:
;CommandButton Command_SetFormationGondorFighterBlock
; Command = HORDE_SET_FORMATION
; Options = OK_FOR_MULTI_SELECT
; Object = GondorFighterHordeBlock
; ButtonImage = UCFormation_Block
; ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
; TextLabel = CONTROLBAR:ToggleBlockFormation
; DescriptLabel = CONTROLBAR:ToolTipToggleBlockFormation
; InPalantir = Yes
; DoubleClick = Yes
; UnitSpecificSound = GondorSoldierVoiceBlockFormationOn
;End
Make copy of this code between ;CommandButton Command_SetFormationGondorFighterBlock and ;CommandButton Command_SetFormationGondorFighterLine And rewrite it like this one:
;CommandButton Command_SetFormationGondorFighterRush ;;add by me
; Command = HORDE_SET_FORMATION
; Options = OK_FOR_MULTI_SELECT
; Object = GondorFighterHordeRush
; ButtonImage = UCFormation_Block
; ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
; TextLabel = CONTROLBAR:ToggleRushFormation
; DescriptLabel = CONTROLBAR:ToolTipToggleRushFormation
; InPalantir = Yes
; DoubleClick = Yes
; UnitSpecificSound = GondorSoldierVoiceBlockFormationOn
;End
For now I learn nothing for changing images/ sounds in the game. Maby later I´ll learn it or I´ll find some articles about this changes. I am glad for help with attribute modifications. But I still thinking about new button for My Rush formation. I wish this button stay alone from my new rotation for more confortable and quickly use in the game.
If somebody have any ideas, pleas don´t hide it.
Alaric
Edited by Alaric, 15 April 2012 - 04:00 PM.
#6
Posted 08 September 2012 - 11:14 AM
But the problem is, I've added/decreased the numbers of warriors in hordes, and it worked alright until I edited the Uruk Pikemen/Fighter-horde. The game wont' even start, and the error message is smt like "Expected floating point value or predefined macro, but found "-38" instead. Error parsing field `RankInfo` in [the hordefile], line 306..." I tried changing the -38 to -15, still same. I've checked the line like twenty times for spelling mistakes, and can't find any. If it's of any help, here's a direct cut-and-paste from my horde-file (of course some of the "Position" lines'd be longer):
Behavior = HordeContain ModuleTag_HordeContain
ObjectStatusOfContained =
InitialPayload = IsengardFighter 15
InitialPayload = IsengardPikeman 18
Slots = 33
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = Yes ;Used to determine which armorset to use (and anything else we want!)
; Banner Carrier info
BannerCarriersAllowed = IsengardBannerOrc ; types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:IsengardFighter Pos:X:70.0 Y:0.0 ; (DEFAULT) position of banner carrier for fighter horde
BannerCarrierPosition = UnitType:IsengardPikeman Pos:X:20.0 Y:0.0 ; position of banner carrier for pikeman horde
;Positions for 33
RandomOffset=X:3 Y:3
RankInfo = RankNumber:1 UnitType:IsengardPikeman Position:X:20 Y:5 Position:X:20 Y:-5 Position:X:20 Y:15 Position:X:20 Y:-15 Position:X:20 Y:25 Position:X:20 Y:-25 Position:X:20 Y:35 Position:X:20 Y:-35 Position:X:20 Y:45
RankInfo = RankNumber:2 UnitType:IsengardPikeman Position:X:10 Y:5 Position:X:10 Y:-5 Position:X:10 Y:15 Position:X:10 Y:-15 Position:X:10 Y:25 Position:X:10 Y:-25 Position:X:10 Y:35 Position:X:10 Y:-35 Position:X:10 Y:45
RankInfo = RankNumber:3 UnitType:IsengardFighter Position:X:-10 Y:-25 Position:X:-10 Y:0 Position:X:-10 Y:25 Position:X:-10 Y:50 Position:X:-10 Y:-50
RankInfo = RankNumber:4 UnitType:IsengardFighter Position:X:-15 Y:-25 Position:X:-15 Y:0 Position:X:-15 Y:25 Position:X:-15 Y:50 Position:X:-15 Y:-50
RankInfo = RankNumber:5 UnitType:IsengardFighter Position:X:-20 Y:-25 Position:X:-20 Y:0 Position:X:-20 Y:25 Position:X:-20 Y:50 Position:X:-20 Y:-50
RanksThatStopAdvance = 2
RanksToReleaseWhenAttacking = 1 2 3 4 5
SplitHorde = SplitResult:IsengardPikemanHorde UnitType:IsengardPikeman
SplitHorde = SplitResult:IsengardFighterHorde UnitType:IsengardFighter
UseSlowHordeMovement = Yes
MeleeAttackLeashDistance = 25; How far the hordes can move from the center of the horde when melee attacking.
End
Behavior = SplitHordeSpecialPower ModuleTag_SplitHorde
SpecialPowerTemplate = SpecialAbilitySplitHorde
End
; Removed 9/2/04 R. Casey
;
; Behavior = SpecialEnemySenseUpdate ModuleTag_EnemySenseUpdate
; SpecialEnemyFilter = ALL
; ScanRange = 300
; ScanInterval = 2000
; End
Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
GravityMult = 1.0
End
A huge thanks for anyone who can offer some assistance
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users