BFME 2 - ROTWK Code Refence
1.0
|
Behavior = HorseHordeContain ModuleTag_TheHorseHordeContain
; L01F32CE8:
ContainMax = 100; SUB_L006D4430:Signed Integer Value //Max amount of units allowed in this container
EnterSound = BuildingConstructionLoop; L00E6B310:Sound(AudioEvent) //Sound to play when entering the container
ExitSound = BuildingConstructionLoop; L00E6B310:Sound(AudioEvent) //Sound to play when leaving the container
DamagePercentToUnits = 25 % ; SUB_L006D4D20:Percentage //This percent of damage that this object gets is given to what is contained
PassengerFilter = ANY + INFANTRY + HORDE + CAVALRY + HERO - SUMMONED - WildSpiderling - WildSpiderlingHorde; SUB_L00EDCA00:Object Filter //Who is allowed to get in the container
ManualPickUpFilter = ANY + CLUB - ORC; SUB_L00EDCA00:Object Filter //we do not want the user to be able to manually pick up an orc with a troll.
PassengersTestCollisionHeight = 20; SUB_L006D46C0:Float Point Value //Check collision to disable certain high units from entering?
PassengersInTurret = Yes; SUB_L006D3400:Boolean //Put the contained units in the position of the Turrets -> My passengers ride in my turret, that's where the Firepoint bones are
NumberOfExitPaths = 100; SUB_L006D4430:Signed Integer Value //Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
DoorOpenTime = 1000; SUB_L00E6CB10:Unsigned Integer Value //Time to wait for doors to open before letting the units go in or out -> 0 = this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
AllowOwnPlayerInsideOverride = Yes; SUB_L006D3400:Boolean //Normally, the Allies check encompasses OwnPlayer. but we reeeeally only want our own guys.
AllowAlliesInside = Yes; SUB_L006D3400:Boolean //Allow this object's Allies to use the container
AllowEnemiesInside = Yes; SUB_L006D3400:Boolean //Allow this object's Enemies to use the container
AllowNeutralInside = Yes; SUB_L006D3400:Boolean //Allow objects that are neutral to this object to use the container
ShowPips = Yes; SUB_L006D3400:Boolean //Show Healthbar of contained units
CollidePickup = Yes; SUB_L006D3400:Boolean //Collide with what you pick up?
PassengerBonePrefix = PassengerBone : ARROWBONE KindOf : INFANTRY; L011A2990: Bone - KindOf //Put the contained units at given bone(s) with this prefix if they are this KindOf //Multiple Entries Allowed
BoneSpecificConditionState 1 PASSENGER_VARIATION_1; L011A2B40: Amount - AnimationState //Gives the unit at the bones mentioned in the "BonePrefix" with a certain number a PassengerVariation state. //Multiple Entries Allowed
EjectPassengersOnDeath = Yes; SUB_L006D3400:Boolean //Relase my contained units on death
KillPassengersOnDeath = Yes; SUB_L006D3400:Boolean //Kill contained units when I die
Enabled = Yes; SUB_L006D3400:Boolean //Is this module enabled? :S
ObjectStatusOfContained = UNSELECTABLE CAN_ATTACK; L011A2930: List of Object Statuses //Object Statuses given to contained units.
ModifierToGiveOnExit = GothmogIronHand; SUB_L006D34D0:Strings(ModifierList) //Modifier to give to a unit when it leaves the container //Multiple Entries Allowed
ModifierRequiredTime = 1000; SUB_L00E6CB10:Unsigned Integer Value //How long the unit has to be in the container in order to get the modifier
; L01F2EA00:
DeathTypes = NONE + CRUSHED; L00E6D050: ALL / NONE Filter
ExemptStatus = SOLD; SUB_L00C118B0: BitStatus //May not have this Status
RequiredStatus = DEATH_3; SUB_L00C118B0: BitStatus //Must have this Status
DamageAmountRequired = 15.0; SUB_L006D46C0:Float Point Value//Damage required before this behavior can occur
MinKillerAngle = -46; SUB_L006D4B70:Float Point Value //Degrees
MaxKillerAngle = 46; SUB_L006D4B70:Float Point Value //Degrees
; L01F2B8F8: //Contain module
Slots = 10; SUB_L006D4430:Signed Integer Value //Amount of units allowed in the horde
ScatterNearbyOnExit = No; SUB_L006D3400:Boolean //No = I have bones for exiting
OrientLikeContainerOnExit = Yes; SUB_L006D3400:Boolean //Orient in the same direction as the object I just left
GoAggressiveOnExit = Yes; SUB_L006D3400:Boolean //AI Will tell people to set their mood to Aggressive on exiting
ResetMoodCheckTimeOnExit = Yes; SUB_L006D3400:Boolean //Reset some mood check timer?
DestroyRidersWhoAreNotFreeToExit = Yes; SUB_L006D3400:Boolean //'destroy' as opposed to 'kill' the riders that may not exit
ExitBone = WeaponA01; SUB_L006D4C30:String(Bone) //Bone name which units walk to upon exiting the container
ExitPitchRate = 30; L00E6AAC0: Pitch Angle, Pitch angle at which to eject contained ?
InitialPayload = HobbitCivilian 5; L011692F0: Object - Count //Amount of units initially in the horde //Multiple Entries Allowed
HealthRegenPerSec = 2.5; SUB_L006D46C0:Float Point Value //Amount of health gained per second for the contained units
ExitDelay = 500; SUB_L00E6CB10:Unsigned Integer Value //Delay exiting per unit by this amount of milliseconds
TypeOneForWeaponSet = CAN_RIDE_BATTERING_RAM; SUB_L00BC5910: List of KindOf's //sets WEAPONSET_PASSENGER_TYPE_ONE
TypeTwoForWeaponSet = INFANTRY; SUB_L00BC5910: List of KindOf's //sets WEAPONSET_PASSENGER_TYPE_TWO
TypeOneForWeaponState = CAN_RIDE_BATTERING_RAM; SUB_L00BC5910: List of KindOf's //sets WEAPONSTATE_ONE Model Condition
TypeTwoForWeaponState = INFANTRY; SUB_L00BC5910: List of KindOf's //sets WEAPONSTATE_TWO Model Condition
TypeThreeForWeaponState = CLUB; SUB_L00BC5910: List of KindOf's //sets WEAPONSTATE_THREE Model Condition
ForceOrientationContainer = No; SUB_L006D3400:Boolean //Can contained units orient themselves towards their targets?
CanGrabStructure = Yes; SUB_L006D3400:Boolean //Can we grab objects that are structures?
GrabWeapon = FellbeastGrabWeapon; SUB_L00E6BC20:Weapon //Fire this weapon when this guy grabs a victim
FireGrabWeaponOnVictim = No; SUB_L006D3400:Boolean //Do we fire the GrabWeapon on the guy we grabbed or not?
ConditionForEntry = ModelConditionState : MOUNTED; L01169580 //Condition required to enter the container ///(??AnimState: MOUNTED??)<<--BFME1?
ShouldThrowOutPassengers = No; SUB_L006D3400:Boolean //Should I throw out anyone that goes into me?
ThrowOutPassengersDelay = 100; SUB_L00E6CB10:Unsigned Integer Value //Delay before throwing out those passengers in ms
ThrowOutPassengersVelocity = X : 10.0 Y : 10.0 Z : 0.0; SUB_L006D5320:XYZ Vector //Velocity to give the passengers thrown
ThrowOutPassengersLandingWarhead = DwarfZerkerLeapWarhead; SUB_L00E6BC20:Weapon //Use this weapon to deal damage or such when the passenger hits the ground
FadeFilter = ALL - MONSTER; SUB_L00EDCA00:Object Filter //Guys to fade in when they enter this container
FadePassengerOnEnter = Yes; SUB_L006D3400:Boolean //Do we fade the passengers when they enter the containter?
FadePassengerOnExit = Yes; SUB_L006D3400:Boolean //Do we fade the passengers when they exit the containter?
EnterFadeTime = 6000; SUB_L006D46C0:Float Point Value //How long does the fade when entering last?
ExitFadeTime = 1000; SUB_L006D46C0:Float Point Value //How long does the fade when exiting last?
FadeReverse = Yes; SUB_L006D3400:Boolean //Do we want to invert the fading process? (Fade in instead of out)
ReleaseSnappyness = 0.05; SUB_L006D46C0:Float Point Value //1.0 is very snappy, 0.0 is very loose
UpgradeCreationTrigger = Upgrade_BattleWagonAxeThrowers DwarvenBattleWagonAxeThrower 2; L011693D0:Upgrade - Object - Amount //Upgrade buys us these guys... //Multiple Entries Allowed
; L01F1FD30:
ThisFormationIsTheMainFormation = Yes; SUB_L006D3400:Boolean //Used to determine which armorset to use (and anything else we want!)
; RankInfo = ; L010BFBC0: RankNumber - Object - Positions - (Leader : The guy to follow)//Multiple Entries Allowed
RankInfo = RankNumber : 1 UnitType : GoblinFighter 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 : GoblinFighter 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
RanksThatStopAdvance = 1; L010C0BC0: RankNumber //Move towards this RankInformationNumber when the horde becomes smaller
RanksToReleaseWhenAttacking = 1 2; L010C0B40: Integer List //The ranks to allow to attack when attacking
RanksToJustFreeWhenAttacking = 1 2; L010C0B40: Integer List //The ranks to allow to do whatever they want when attacking
; ComboHorde = ; L010C07D0: Object - Object - Sound //This horde can join with the Target horde to form a new horde which is determined by the Result parameter, and what sound to play when this happens
ComboHorde = Target : GondorArcherHorde Result : GondorFighterArcherComboHorde InitiateVoice : GondorSoldierVoiceJoinAnybody
AlternateFormation = GondorFighterHordeBlock; SUB_L006D4C30:String(Object) //The alternate formation horde object
RandomOffset = X : 5 Y : 3; SUB_L006D5380: XY Vector //Offset the positions randomly by a maximum of this much
LeaderPosition = X : 60.0 Y : 0.0 Z : 0.0; SUB_L006D5320:XYZ Vector //Position of the Leader
LeadersAllowed = GondorArcher; SUB_L006D4CF0:List of Strings(Objects) //The object that is the Leader
BannerCarrierPosition = UnitType : IsengardFighter Pos : X:70.0 Y : 0.0; L010C0340: Object - XYZ Vector //The position of the banner carrier, and what type it should Morph into
BannerCarriersAllowed = IsengardBannerOrc; SUB_L006D4CF0:List of Strings(Objects) //The units that are allowed as banner carriers for this horde
BannerCarrierDestroyHordeOnDeath = Yes; SUB_L006D3400:Boolean //If the banner carrier dies, does the horde die as well?
BannerCarrierHordeDeathType = +NORMAL; L00E6D050: ALL / NONE Filter //It seems that NONE is not needed at the beginning, but this is the Death type that occurs when it gets destroyed due to the Banner Carrier
LeaderRank = 0; SUB_L006D4430:Signed Integer Value //The rank of the leader
BackUpMinDelayTime = 1; SUB_L00E6CB10:Unsigned Integer Value //The minimum amount of time to delay before backing up
BackUpMaxDelayTime = 3000; SUB_L00E6CB10:Unsigned Integer Value //The maximum amount of time to delay before backing up
BackUpMinDistance = 1; SUB_L006D46C0:Float Point Value //The minimum number of cells to backup
BackUpMaxDistance = 3; SUB_L006D46C0:Float Point Value //The maximum number of cells to backup
BackupPercentage = 80 % ; SUB_L006D4D20:Percentage //The amount of chance that a unit will back up.
CowerRadius = 30.0; SUB_L006D46C0:Float Point Value //The radius in which the units in the horde will cower
AttributeModifiers = IsengardWargSkirmish; SUB_L006D4CF0:List of Strings(Modifiers) //Attribute modifiers applied to objects in this horde when in this formation
IsPorcupineFormation = Yes; SUB_L006D3400:Boolean //Is it the porcupine formation?
ForcedLocomotorSet = SET_CONTAINED; SUB_L006D3B30; L02233CA8 //Force this locomoter set on the units in the horde
MachineAllowed = Yes; SUB_L006D3400:Boolean //Do we allow a machine in the horde?
MachineType = IsengardSiegeLadder; SUB_L006D4C30:String(Object) //Machine allowed in the horde
UseSlowHordeMovement = Yes; SUB_L006D3400:Boolean //Dp we move slowly within the horde?
; SplitHorde = ; L010C0580: Object - Object - (RankNumber) //Multiple Entries Allowed //Split the horde into these hordes when splitting
SplitHorde = SplitResult : GondorFighterHorde UnitType : GondorFighter
SplitHorde = SplitResult : GondorRangerHorde UnitType : GondorRanger
SplitHorde = SplitResult : LAElvenWarriorHorde UnitType : LAElvenWarrior RankNumber : 1
SplitHorde = SplitResult : LAElvenWarriorHorde UnitType : LAElvenWarrior RankNumber : 2
MeleeAttackLeashDistance = 25.0; SUB_L006D46C0:Float Point Value //How far the hordes can move from the center of the horde when melee attacking.
EvaEventLastMemberDeath = BuildingStolen; L00ACAD80:EvaEvent //Play this Eva event when the last member dies
RankSplit = Yes; SUB_L006D3400:Boolean //Do we split via Ranks?
SplitHordeNumber = 5; SUB_L006D4430:Signed Integer Value //Amount of units in each horde when split (?)
NotComboFormation = Yes; SUB_L006D3400:Boolean //When Yes: This formation is not suitable for combo, so it will switch out of this when combo-ing
UseMarchingAnims = Yes; SUB_L006D3400:Boolean //Do we use the Marching Animations? (MARCHING)
FrontAngle = 360; SUB_L006D46C0:Float Point Value //What angle is the front of the horde? 360 = Can't be flanked
FlankedDelay = 2000; SUB_L00E6CB10:Unsigned Integer Value //Delay before getting flanked
FlankedDuration = 100; SUB_L00E6CB10:Unsigned Integer Value //Duration of being flanked once initially being flanked
MeleeBehavior = Amoeba; L010C0C50 //The behavior that the melee fighters have in this container
End
MinimumHordeSize = 5; SUB_L006D4520:Unsigned Integer Value //Minimum amount of objects required in the horde to be able to be in this formation
VisionRearOverride = 100 % ; SUB_L006D4D20:Percentage //How much vision do we have from the rear?
VisionSideOverride = 100 % ; SUB_L006D4D20:Percentage //How much vision do we have from the side?
BannerCarrierMinLevel = 0; L006D3FD0:Integer //Minimum level in order to get a Banner Carrier (?) //ROTWK
LivingWorldOverloadTemplate = AngmarThrallMaster; SUB_L006D4C30:String(Object) //If this horde exists in the Living World, replace it with this horde object
End
SignedInteger ContainMax |
Max amount of units allowed in this container
AudioEvent EnterSound |
Sound to play when entering the container
AudioEvent ExitSound |
Sound to play when leaving the container
Percentage DamagePercentToUnits |
This percent of damage that this object gets is given to what is contained
ObjectFilter PassengerFilter |
Who is allowed to get in the container
ObjectFilter ManualPickUpFilter |
we do not want the user to be able to manually pick up an orc with a troll.
FloatingPoint PassengersTestCollisionHeight |
Check collision to disable certain high units from entering?
Boolean PassengersInTurret |
Put the contained units in the position of the Turrets -> My passengers ride in my turret, that's where the Firepoint bones are
SignedInteger NumberOfExitPaths |
Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
UnsignedInteger DoorOpenTime |
Time to wait for doors to open before letting the units go in or out -> 0 = this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
Boolean AllowOwnPlayerInsideOverride |
Normally, the Allies check encompasses OwnPlayer. but we reeeeally only want our own guys.
Boolean AllowAlliesInside |
Allow this object's Allies to use the container
Boolean AllowEnemiesInside |
Allow this object's Enemies to use the container
Boolean AllowNeutralInside |
Allow objects that are neutral to this object to use the container
Boolean ShowPips |
Show Healthbar of contained units
Boolean CollidePickup |
Collide with what you pick up?
PassengerBoneKindof PassengerBonePrefix |
Put the contained units at given bone(s) with this prefix if they are this KindOf. Multiple Entries Allowed
IndexAnimationState BoneSpecificConditionState |
Gives the unit at the bones mentioned in the "BonePrefix" with a certain number a PassengerVariation state. Multiple Entries Allowed
Boolean EjectPassengersOnDeath |
Relase my contained units on death
Boolean KillPassengersOnDeath |
Kill contained units when I die
Boolean Enabled |
Is this module enabled? :S
ObjectStatus ObjectStatusOfContained |
Object Status given to contained units.
Strings ModifierToGiveOnExit |
Strings(ModifierList) Modifier to give to a unit when it leaves the container. Multiple Entries Allowed.
UnsignedInteger ModifierRequiredTime |
How long the unit has to be in the container in order to get the modifier
ObjectStatus ExemptStatus |
May not have this Status
ObjectStatus RequiredStatus |
Must have this Status
FloatingPoint DamageAmountRequired |
Damage required before this behavior can occur
SignedInteger Slots |
Amount of units allowed in the horde
Boolean ScatterNearbyOnExit |
No = I have bones for exiting
Boolean OrientLikeContainerOnExit |
Orient in the same direction as the object I just left
Boolean GoAggressiveOnExit |
AI Will tell people to set their mood to Aggressive on exiting
Boolean ResetMoodCheckTimeOnExit |
Reset some mood check timer?
Boolean DestroyRidersWhoAreNotFreeToExit |
'destroy' as opposed to 'kill' the riders that may not exit
String ExitBone |
String(Bone) Bone name which units walk to upon exiting the container
FloatingPoint ExitPitchRate |
Pitch Angle, Pitch angle at which to eject contained ?
Payload InitialPayload |
Amount of units initially in the horde. Multiple Entries Allowed.
FloatingPoint HealthRegen_PerSec |
Parseable Name is HealthRegen%PerSec! Amount of health gained per second for the contained units
UnsignedInteger ExitDelay |
Delay exiting per unit by this amount of milliseconds
KindofList TypeOneForWeaponSet |
Sets WEAPONSET_PASSENGER_TYPE_ONE to these kindofs
KindofList TypeTwoForWeaponSet |
Sets WEAPONSET_PASSENGER_TYPE_TWO to these kindofs
KindofList TypeOneForWeaponState |
Sets WEAPONSTATE_ONE to these kindofs
KindofList TypeTwoForWeaponState |
Sets WEAPONSTATE_TWO to these kindofs
KindofList TypeThreeForWeaponState |
Sets WEAPONSTATE_THREE to these kindofs
Boolean ForceOrientationContainer |
Can contained units orient themselves towards their targets?
Boolean CanGrabStructure |
Can we grab objects that are structures?
Weapon GrabWeapon |
Fire this weapon when this guy grabs a victim
Boolean FireGrabWeaponOnVictim |
Do we fire the GrabWeapon on the guy we grabbed or not?
ContainCondition ConditionForEntry |
Condition required to enter the container ///(??AnimState: MOUNTED??)<<–BFME1?
Boolean ShouldThrowOutPassengers |
Should I throw out anyone that goes into me?
UnsignedInteger ThrowOutPassengersDelay |
Delay before throwing out those passengers in ms
Vector3 ThrowOutPassengersVelocity |
Velocity to give the passengers thrown
Weapon ThrowOutPassengersLandingWarhead |
Use this weapon to deal damage or such when the passenger hits the ground
ObjectFilter FadeFilter |
Guys to fade in when they enter this container
Boolean FadePassengerOnEnter |
Do we fade the passengers when they enter the containter?
Boolean FadePassengerOnExit |
Do we fade the passengers when they exit the containter?
FloatingPoint EnterFadeTime |
How long does the fade when entering last?
FloatingPoint ExitFadeTime |
How long does the fade when exiting last?
Boolean FadeReverse |
Do we want to invert the fading process? (Fade in instead of out)
FloatingPoint ReleaseSnappyness |
1.0 is very snappy, 0.0 is very loose
UpgradeObjectAmount UpgradeCreationTrigger |
Upgrade buys us these guys... Multiple Entries Allowed
Boolean ThisFormationIsTheMainFormation |
Used to determine which armorset to use (and anything else we want!)
UnsignedInteger RanksThatStopAdvance |
Move towards this RankInformationNumber when the horde becomes smaller
UnsignedIntegerList RanksToReleaseWhenAttacking |
The ranks to allow to attack when attacking
UnsignedIntegerList RanksToJustFreeWhenAttacking |
The ranks to allow to do whatever they want when attacking
This horde can join with the Target horde to form a new horde which is determined by the Result parameter, and what sound to play when this happens
String AlternateFormation |
String(Object) The alternate formation horde object
Vector2 RandomOffset |
Offset the positions randomly by a maximum of this much
Vector3 LeaderPosition |
Position of the Leader
Strings LeadersAllowed |
List of Strings(Objects) The object that is the Leader
ObjectPosition BannerCarrierPosition |
The position of the banner carrier, and what type it should Morph into
Strings BannerCarriersAllowed |
List of Strings(Objects) The units that are allowed as banner carriers for this horde
Boolean BannerCarrierDestroyHordeOnDeath |
If the banner carrier dies, does the horde die as well?
DeathTypeFilter BannerCarrierHordeDeathType |
It seems that NONE is not needed at the beginning, but this is the Death type that occurs when it gets destroyed due to the Banner Carrier
SignedInteger LeaderRank |
The rank of the leader
UnsignedInteger BackUpMinDelayTime |
The minimum amount of time to delay before backing up
UnsignedInteger BackUpMaxDelayTime |
The maximum amount of time to delay before backing up
FloatingPoint BackUpMinDistance |
The minimum number of cells to backup
FloatingPoint BackUpMaxDistance |
The maximum number of cells to backup
Percentage BackupPercentage |
The amount of chance that a unit will back up.
FloatingPoint CowerRadius |
The radius in which the units in the horde will cower
Strings AttributeModifiers |
List of Strings(Modifiers) Attribute modifiers applied to objects in this horde when in this formation
Boolean IsPorcupineFormation |
Is it the porcupine formation?
LocomotorSetType ForcedLocomotorSet |
Force this locomoter set on the units in the horde
Boolean MachineAllowed |
Do we allow a machine in the horde?
String MachineType |
String(Object) //Machine allowed in the horde
Boolean UseSlowHordeMovement |
Do we move slowly within the horde?
Split the horde into these hordes when splitting. Multiple Entries Allowed.
FloatingPoint MeleeAttackLeashDistance |
How far the hordes can move from the center of the horde when melee attacking.
EvaEvent EvaEventLastMemberDeath |
Play this Eva event when the last member dies
Boolean RankSplit |
Do we split via Ranks?
SignedInteger SplitHordeNumber |
Amount of units in each horde when split (?)
Boolean NotComboFormation |
When Yes : This formation is not suitable for combo, so it will switch out of this when combo - ing
Boolean UseMarchingAnims |
Do we use the Marching Animations? (MARCHING)
FloatingPoint FrontAngle |
What angle is the front of the horde? 360 = Can't be flanked
UnsignedInteger FlankedDelay |
Delay before getting flanked
UnsignedInteger FlankedDuration |
Duration of being flanked once initially being flanked
The behavior that the melee fighters have in this container
UnsignedInteger MinimumHordeSize |
Minimum amount of objects required in the horde to be able to be in this formation
Percentage VisionRearOverride |
How much vision do we have from the rear?
Percentage VisionSideOverride |
How much vision do we have from the side?
UnsignedInteger BannerCarrierMinLevel |
Minimum level in order to get a Banner Carrier (?) //ROTWK
String LivingWorldOverloadTemplate |
String(Object) If this horde exists in the Living World, replace it with this horde object