BFME 2 - ROTWK Code Refence  1.0
SpawnBehavior Class Reference

Public Attributes

Upgrades TriggeredBy
 
Upgrades ConflictsWith
 
Boolean RequiresAllTriggers
 
Boolean RequiresAllConflictingTriggers
 
AnimAndDuration CustomAnimAndDuration
 
Boolean Permanent
 
DeathTypeFilter DeathTypes
 
ObjectStatus ExemptStatus
 
ObjectStatus RequiredStatus
 
FloatingPoint DamageAmountRequired
 
Degrees MinKillerAngle
 
Degrees MaxKillerAngle
 
SignedInteger SpawnNumber
 
UnsignedInteger SpawnReplaceDelay
 
Boolean OneShot
 
Boolean CanReclaimOrphans
 
Boolean AggregateHealth
 
Boolean ExitByBudding
 
Strings SpawnTemplateName
 
Boolean SpawnedRequireSpawner
 
DamageTypeFilter PropagateDamageTypesToSlavesWhenExisting
 
SignedInteger InitialBurst
 
Boolean RespectCommandLimit
 
UnsignedInteger FadeInTime
 
Boolean KillSpawnsBasedOnModelConditionState
 
Boolean ShareUpgrades
 
Boolean SpawnInsideBuilding
 

Detailed Description

Behavior = SpawnBehavior ModuleTag_TheSpawnBehavior

;L01E97D40:    
TriggeredBy = Upgrade_ElvenGift Upgrade_RohanFireArrows; L00BE9600: List of Upgrades //Must have these upgrades
ConflictsWith = Upgrade_TheodenKingsFavor Upgrade_TheodenLeadership; L00BE9600: List of Upgrades //May not have these upgrades
RequiresAllTriggers = Yes; SUB_L006D3400:Boolean //All "TriggeredBy" Upgrades required! (meaning that if only one is present the module is not active)
RequiresAllConflictingTriggers = Yes; SUB_L006D3400:Boolean //All "ConflictsWith" Upgrades required! (meaning that if only one is present the module is not 'disabled')
CustomAnimAndDuration = AnimState : USER_3 AnimTime : 0 TriggerTime : 0; L010ED8E0: Animation State - Time - Delay // Animtime:0 = set flag forever
Permanent = Yes; SUB_L006D3400:Boolean //For ever... and ever... and ever, even if the upgrades are lost...
; 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
; L01EA77F0:   
SpawnNumber = 5; SUB_L006D4430:Signed Integer Value //Spawn this amount of units
SpawnReplaceDelay = 9999; SUB_L00E6CB10:Unsigned Integer Value //Wait this long before replacing a lost unit
OneShot = Yes; SUB_L006D3400:Boolean //Only spawn once?
CanReclaimOrphans = Yes; SUB_L006D3400:Boolean //Can you get "lost" units from other (destroyed) buildings/units? (not sure)
AggregateHealth = Yes; SUB_L006D3400:Boolean //...?
ExitByBudding = Yes; SUB_L006D3400:Boolean //...? (go together with buddies? XD)
SpawnTemplateName = MordorWorker; SUB_L006D34D0:Strings(Object) //Multiple Entries Allowed
SpawnedRequireSpawner = Yes; SUB_L006D3400:Boolean //If "I" (owner) die, do my spawned units die?
PropagateDamageTypesToSlavesWhenExisting = NONE + MAGIC; L00E6CED0: ALL / NONE Damage Filter //Careful with these damage types -- because area damage types will already damage slaves.
InitialBurst = 5; SUB_L006D4430:Signed Integer Value //Initial amount of units to start with?
RespectCommandLimit = Yes; SUB_L006D3400:Boolean //If Command Limit is reached and my spawn units require CP then do not create any
FadeInTime = 1000; SUB_L006D4520:Unsigned Integer Value //Units fade in when spawning for this long (ms)
KillSpawnsBasedOnModelConditionState = Yes; SUB_L006D3400:Boolean //Must also set NoExitPath in QeueProductionExitUpdate. (So that the exit door is always available)
ShareUpgrades = Yes; SUB_L006D3400:Boolean //Give my spawned units my upgrades?
SpawnInsideBuilding = Yes; SUB_L006D3400:Boolean //Spawn inside of me and not forced outside of geometry?

End

Member Data Documentation

◆ TriggeredBy

Upgrades TriggeredBy

List of Upgrades
Must have these upgrades

◆ ConflictsWith

Upgrades ConflictsWith

List of Upgrades
May not have these upgrades

◆ RequiresAllTriggers

Boolean RequiresAllTriggers

All "TriggeredBy" Upgrades required! (meaning that if only one is present the module is not active)

◆ RequiresAllConflictingTriggers

Boolean RequiresAllConflictingTriggers

All "ConflictsWith" Upgrades required! (meaning that if only one is present the module is not 'disabled')

◆ CustomAnimAndDuration

AnimAndDuration CustomAnimAndDuration

Animation State - Time - Delay
Animtime:0 = set flag forever

◆ Permanent

Boolean Permanent

For ever... and ever... and ever, even if the upgrades are lost...

◆ 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

◆ SpawnNumber

SignedInteger SpawnNumber

Spawn this amount of units

◆ SpawnReplaceDelay

UnsignedInteger SpawnReplaceDelay

Wait this long before replacing a lost unit

◆ OneShot

Boolean OneShot

Only spawn once?

◆ CanReclaimOrphans

Boolean CanReclaimOrphans

Can you get "lost" units from other (destroyed) buildings/units? (not sure)

◆ AggregateHealth

Boolean AggregateHealth

...?

◆ ExitByBudding

Boolean ExitByBudding

...? (go together with buddies? XD)

◆ SpawnTemplateName

Strings SpawnTemplateName

Strings(Object) Multiple Entries Allowed

◆ SpawnedRequireSpawner

Boolean SpawnedRequireSpawner

If "I" (owner) die, do my spawned units die?

◆ PropagateDamageTypesToSlavesWhenExisting

DamageTypeFilter PropagateDamageTypesToSlavesWhenExisting

Careful with these damage types – because area damage types will already damage slaves.

◆ InitialBurst

SignedInteger InitialBurst

Initial amount of units to start with?

◆ RespectCommandLimit

Boolean RespectCommandLimit

If Command Limit is reached and my spawn units require CP then do not create any

◆ FadeInTime

UnsignedInteger FadeInTime

Units fade in when spawning for this long (ms)

◆ KillSpawnsBasedOnModelConditionState

Boolean KillSpawnsBasedOnModelConditionState

Must also set NoExitPath in QeueProductionExitUpdate. (So that the exit door is always available)

◆ ShareUpgrades

Boolean ShareUpgrades

Give my spawned units my upgrades?

◆ SpawnInsideBuilding

Boolean SpawnInsideBuilding

Spawn inside of me and not forced outside of geometry?