BFME 2 - ROTWK Code Refence  1.0
TunnelContain Class Reference

Public Attributes

SignedInteger ContainMax
 
AudioEvent EnterSound
 
AudioEvent ExitSound
 
Percentage DamagePercentToUnits
 
ObjectFilter PassengerFilter
 
ObjectFilter ManualPickUpFilter
 
FloatingPoint PassengersTestCollisionHeight
 
Boolean PassengersInTurret
 
SignedInteger NumberOfExitPaths
 
UnsignedInteger DoorOpenTime
 
Boolean AllowOwnPlayerInsideOverride
 
Boolean AllowAlliesInside
 
Boolean AllowEnemiesInside
 
Boolean AllowNeutralInside
 
Boolean ShowPips
 
Boolean CollidePickup
 
PassengerBoneKindof PassengerBonePrefix
 
IndexAnimationState BoneSpecificConditionState
 
Boolean EjectPassengersOnDeath
 
Boolean KillPassengersOnDeath
 
Boolean Enabled
 
ObjectStatus ObjectStatusOfContained
 
Strings ModifierToGiveOnExit
 
UnsignedInteger ModifierRequiredTime
 
DeathTypeFilter DeathTypes
 
ObjectStatus ExemptStatus
 
ObjectStatus RequiredStatus
 
FloatingPoint DamageAmountRequired
 
Degrees MinKillerAngle
 
Degrees MaxKillerAngle
 
Boolean MobileGarrison
 
Boolean HealObjects
 
UnsignedInteger TimeForFullHeal
 
Payload InitialRoster
 
Boolean ImmuneToClearBuildingAttacks
 
UnsignedInteger ExitDelay
 
Vector3 EntryOffset
 
Vector3 EntryPosition
 
Vector3 ExitOffset
 

Detailed Description

Behavior = TunnelContain ModuleTag_TheTunnelContain

; 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
; L01EA7B70:   
MobileGarrison = Yes; SUB_L006D3400:Boolean //Can this garrison move?
HealObjects = Yes; SUB_L006D3400:Boolean //Does this garrison heal contained objects?
TimeForFullHeal = 1000; SUB_L00E6CAE0:Unsigned Int ? //Time it takes to fully heal contained objects
InitialRoster = MordorOrc 10; L00C7B880: Object - Count //Initial people in the garrison
ImmuneToClearBuildingAttacks = Yes; SUB_L006D3400:Boolean //Are we immune to ClearBuilding attacks? (Yes means we won't leave the building due to those attacks)
; L01F35400:   
ExitDelay = 500; SUB_L00E6CB10:Unsigned Integer Value //Time (ms) between each unit leaving
EntryOffset = X : 50.0 Y : 0.0 Z : 0.0; SUB_L006D5320:XYZ Vector //Position to walk to before going to the entry position
EntryPosition = X : 0.0 Y : 0.0 Z : 0.0; SUB_L006D5320:XYZ Vector //Position to enter the garrison at
ExitOffset = X : 50.0 Y : 0.0 Z : 0.0; SUB_L006D5320:XYZ Vector //Position to walk to before going to after leaving from the entry position
; L01EA7C4C:   
TimeForFullHeal = 1000; SUB_L00E6CAE0:Unsigned Int ? //Time it takes to fully heal contained objects

End

Member Data Documentation

◆ ContainMax

SignedInteger ContainMax

Max amount of units allowed in this container

◆ EnterSound

AudioEvent EnterSound

Sound to play when entering the container

◆ ExitSound

AudioEvent ExitSound

Sound to play when leaving the container

◆ DamagePercentToUnits

Percentage DamagePercentToUnits

This percent of damage that this object gets is given to what is contained

◆ PassengerFilter

ObjectFilter PassengerFilter

Who is allowed to get in the container

◆ ManualPickUpFilter

ObjectFilter ManualPickUpFilter

we do not want the user to be able to manually pick up an orc with a troll.

◆ PassengersTestCollisionHeight

FloatingPoint PassengersTestCollisionHeight

Check collision to disable certain high units from entering?

◆ PassengersInTurret

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

◆ NumberOfExitPaths

SignedInteger NumberOfExitPaths

Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn

◆ DoorOpenTime

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

◆ AllowOwnPlayerInsideOverride

Boolean AllowOwnPlayerInsideOverride

Normally, the Allies check encompasses OwnPlayer. but we reeeeally only want our own guys.

◆ AllowAlliesInside

Boolean AllowAlliesInside

Allow this object's Allies to use the container

◆ AllowEnemiesInside

Boolean AllowEnemiesInside

Allow this object's Enemies to use the container

◆ AllowNeutralInside

Boolean AllowNeutralInside

Allow objects that are neutral to this object to use the container

◆ ShowPips

Boolean ShowPips

Show Healthbar of contained units

◆ CollidePickup

Boolean CollidePickup

Collide with what you pick up?

◆ PassengerBonePrefix

PassengerBoneKindof PassengerBonePrefix

Put the contained units at given bone(s) with this prefix if they are this KindOf. Multiple Entries Allowed

◆ BoneSpecificConditionState

IndexAnimationState BoneSpecificConditionState

Gives the unit at the bones mentioned in the "BonePrefix" with a certain number a PassengerVariation state. Multiple Entries Allowed

◆ EjectPassengersOnDeath

Boolean EjectPassengersOnDeath

Relase my contained units on death

◆ KillPassengersOnDeath

Boolean KillPassengersOnDeath

Kill contained units when I die

◆ Enabled

Boolean Enabled

Is this module enabled? :S

◆ ObjectStatusOfContained

ObjectStatus ObjectStatusOfContained

Object Status given to contained units.

◆ ModifierToGiveOnExit

Strings ModifierToGiveOnExit

Strings(ModifierList) Modifier to give to a unit when it leaves the container. Multiple Entries Allowed.

◆ ModifierRequiredTime

UnsignedInteger ModifierRequiredTime

How long the unit has to be in the container in order to get the modifier

◆ ExemptStatus

ObjectStatus ExemptStatus

May not have this Status

◆ RequiredStatus

ObjectStatus RequiredStatus

Must have this Status

◆ DamageAmountRequired

FloatingPoint DamageAmountRequired

Damage required before this behavior can occur

◆ MinKillerAngle

Degrees MinKillerAngle

◆ MaxKillerAngle

Degrees MaxKillerAngle

◆ MobileGarrison

Boolean MobileGarrison

Can this garrison move?

◆ HealObjects

Boolean HealObjects

Does this garrison heal contained objects?

◆ TimeForFullHeal

UnsignedInteger TimeForFullHeal

Time it takes to fully heal contained objects

◆ InitialRoster

Payload InitialRoster

Initial people in the garrison

◆ ImmuneToClearBuildingAttacks

Boolean ImmuneToClearBuildingAttacks

Are we immune to ClearBuilding attacks? (Yes means we won't leave the building due to those attacks)

◆ ExitDelay

UnsignedInteger ExitDelay

Time (ms) between each unit leaving

◆ EntryOffset

Vector3 EntryOffset

Position to walk to before going to the entry position

◆ EntryPosition

Vector3 EntryPosition

Position to enter the garrison at

◆ ExitOffset

Vector3 ExitOffset

Position to walk to before going to after leaving from the entry position