|
Register and log in to move these advertisements down
Modules - Draw + Body + BehaviorsTutorial for BFME, BFME 2, ROTWK
Ridder Geel
|
Category: |
Code |
Level: |
Intermediate
|
Created: |
Tuesday May 5, 2009 - 10:16 |
Updated: |
Monday February 18, 2013 - 13:46 |
Views: |
7962 |
Summary: |
Find info on all the modules (Body & Draw & AIUpdate are done) in the BFME series! (Far from done!) |
|
Rating
Staff says
4.3
|
Members say
4.3
|
Average
4.3/5.0
|
11 votes
|
-+-=-+-=-+-=-+-=-+- Body Modules -+-=-+-=-+-=-+-=-+-
-ActiveBody-
This one is used by most units ingame, this one is usually the Basic one, so some of the things in this "Block" can be used in any other "Body".
Code |
Body = ActiveBody BodyModuleTag
InitialHealth = 5000 ; Starts with this much health, Not needed unless you wish for the object to begin with less health than the Max value!
MaxHealth = 5000 ; Max Health
MaxHealthDamaged = 2500 ; Max Health for ModelConditionState DAMAGED, Meaning if my health is below 2500 give me DAMAGED
MaxHealthReallyDamaged = 1000 ; Max Health for ModelConditionState REALLYDAMAGED, Meaning if my health is below 1000 give me REALLYDAMAGED (Overrides DAMAGED)
RecoveryTime = 5000 ; How long does it take for me to recover all of my health?
BurningDeathBehavior = Yes ; Can I die burning?
BurningDeathFX = FX_CavalryBurningFlame ; When I die burning play this FX!
RemoveUpgradesOnDeath = Upgrade_Chicken ; When I die what upgrades are removed from me or the player?
CheerRadius = EMOTION_CHEER_RADIUS
DamagedAttributeModifier = BerserkerDamagedAttributeModifier ; I get a cool attributemodifier when I'm damaged!
ReallyDamagedAttributeModifier = BerserkerReallyDamagedAttributeModifier ; I get a even cooler attributemodifier when I'm REALLY damaged!
HealingBuffFx = None ; When i get healed Play this FX (Or in this case NO FX)
;DamageCreationLists... Interesting stuff...
;When the dude gets hit by a CATAPULT_ROCK in a specific area such as the FRONT, then OCL_RBArchRnge_Chunk1 is made!
DamageCreationList = OCL_BuildingDamageList01 CATAPULT_ROCK ; CATAPULT_ROCK hits anywhere
DamageCreationList = OCL_RBArchRnge_Chunk1 CATAPULT_ROCK FRONT_DESTROYED ; ^Up there is this one explained!^
DamageCreationList = OCL_RBArchRnge_Chunk2 CATAPULT_ROCK BACK_DESTROYED ; BACK DESTROYED
DamageCreationList = OCL_RBArchRnge_Chunk3 CATAPULT_ROCK RIGHT_DESTROYED ; RIGHT DESTROYED
DamageCreationList = OCL_RBArchRnge_Chunk4 CATAPULT_ROCK LEFT_DESTROYED ; LEFT DESTROYED
UseDefaultDamageSettings = No ; Don't add damage states that I don't explicitly ask for.
EnteringDamagedTransitionTime = 6000 ; I am paralyzed for this long when I become damaged, because I have a really cool transition anim to play.
EnteringReallyDamagedTransitionTime = 6000 ; I am paralyzed for this long when I become REALLY damaged, because I have a really cool transition anim to play.
GrabObject = EntThrownBuildingRock ; What object is "Made" when this thing is being grabbed?
GrabFX = FX_WallGrab ; What FX is played when this thing gets grabbed?
GrabDamage = 490 ; When Grabbed how much damage does this object recieve?
GrabOffset = X:16 Y:0 ; Where does the Object and FX "Appear"? (depends on where grabbed?)
DodgePercent = HERO_DODGE_PERCENT ; How much % of the time can I "dodge" a weapon (works only on weapons with: CanBeDodged = Yes)
PermanentlyKilledByFilter = NONE ; Who kills me permanently?
End
|
-InactiveBody-
Never has anything in it, this is usually used for props such as undestroyable Structures.
Code |
Body = InactiveBody ModuleTag_InactiveBody
;nothing
End
|
-StructureBody-
This one is used for most Structures.
Code |
Body = StructureBody ModuleTag_StructureBody
MaxHealth = 3000.0
MaxHealthDamaged = 2000.0
MaxHealthReallyDamaged =1000.0
DamageCreationList = OCL_BuildingDamageList01 CATAPULT_ROCK
DamageCreationList = OCL_RBBarracks_Chunk1 CATAPULT_ROCK FRONT_DESTROYED
DamageCreationList = OCL_RBBarracks_Chunk2 CATAPULT_ROCK BACK_DESTROYED
DamageCreationList = OCL_RBBarracks_Chunk3 CATAPULT_ROCK RIGHT_DESTROYED
DamageCreationList = OCL_RBBarracks_Chunk4 CATAPULT_ROCK LEFT_DESTROYED
End
|
-HighlanderBody-
As far as I know only has the MaxHealth in it, this is usually used for props such as rocks.
Code |
Body = HighlanderBody ModuleTag_HighlanderBody ;Can take damage, but won't die. Can only die from ::kill() or other unresistable damage
MaxHealth = 1.0
End
|
-ImmortalBody-
Similar to Highlander Body, This one is used for Hordes, Expansion plots, Arwen's Flood and some others.
Code |
Body = ImmortalBody ModuleTag_ImmortalBody
MaxHealth = 1
InitialHealth = 1
End
|
-RespawnBody-
Used for Heroes that can be revived.
Code |
Body = RespawnBody ModuleTag_RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = 5000
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = HERO_DODGE_PERCENT
End
|
-FreeLifeBody-
FreeLifeBody is a variation of RespawnBody, This one lets the hero gain back a % of his original health after "death", so he gets resurrected with 50% health again.
This does not make him invincable! The FreeLifeTime specifies how long the hero has to wait before being able to resurrect again.
Code |
Body = FreeLifeBody ModuleTag_FreeLifeBody ;FreeLifeBody is a variation of RespawnBody
MaxHealth = FRODO_HEALTH ;BALANCE Frodo Health
FreeLifeHealthPercent = 50% ;percentage of MaxHealth health to recover
FreeLifeTime = 600000 ;amount of time until we can rise from the dead again
FreeLifeInvincible = Yes ;During the RESURRECTED animation
FreeLifePrerequisiteUpgrade = Upgrade_Chicken ;What upgrade is needed before I resurrect?
FreeLifeAnimAndDuration = AnimState:RESURRECTED AnimTime:4600 ;The RESURRECTED animation
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = 80%
End
|
-DelayedDeathBody-
DelayedDeath is a variation of RespawnBody, this one can be used for heroes, but also trolls use them. This one allows the unit to live on for a specified time before the actual death occurs. Example is a Troll's Rampage.
Code |
Body = DelayedDeathBody ModuleTag_DelayedDeathBody ;DelayedDeath is a variation of RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_HEALTH ; BALANCE
DelayedDeathTime = 10000 ; Amount of time spent still fighting after being killed
DelayedDeathPrerequisiteUpgrade = Upgrade_BoromirLastStand ; Need this upgrade to be able to delay my death.
InvulnerableFX = FX_BoromirLastStand ; The FX played when he is "Delayed Deathing"
PermanentlyKilledByFilter = NONE ; Who kills me permanently?
DodgePercent = HERO_DODGE_PERCENT ; Dodge Chance
ImmortalUntilDeathTime = No ; Not immune to damage during rampage. So you can keep him from running stuff over.
DoHealthCheck = No ; Don't want to get the delayed death behaviour when we die normally.
CanRespawn = No ; Unit can't get revived.
End
|
-DetachableRiderBody-
This one is rarely used, It allows a horse or another creature to "Live on" after his "master" died, example: a man on a horse gets killed, the horse is not dead yet, so it can fight on without its master.
Code |
Body = DetachableRiderBody ModuleTag_DetachableRiderBody
MaxHealth = 250
MaxHealthDamaged = 125
RecoveryTime = 5000
RiderlessDeathChance = 50% ; Chance for me to become Riderless.
HealthPercentageWhenRiderDies = 50% ;When the unit "dies" the rider will be killed and the unit will be set to this health %.
TriggeredBy = Upgrade_RohanHorseDiscipline
StartsActive = No ;When set no upgrade is required
End
|
-PorcupineFormationBodyModule-
This body is used for Pikemen who are able to go into "Pike" formation. The 3 special parts for this "body" define the damage he does when crused and by what he can be crushed.
Code |
Body = PorcupineFormationBodyModule ModuleTag_porcupineFormation
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = DWARVEN_PHALANX_HEALTH
MaxHealthDamaged = DWARVEN_PHALANX_HEALTH_DAMAGED
RecoveryTime = DWARVEN_PHALANX_HEALTH_RECOVERY_TIME
DamageWeaponTemplate = PikemenPorcupineDamage ; I do this much damage when attacking in Porc. Formation.
CrushDamageWeaponTemplate = PikemenPorcupineCrushDamage ; I do this much damage when you attempt to crush me.
CrusherLevelResisted = 1 ;//What crusher level can I resist?: 1 = infantry, 2 = trees, 3 = vehicles
BurningDeathBehavior = Yes
BurningDeathFX = FX_InfantryBurningFlame
End
|
-OathbreakerBody-
I have no idea what this does... It was not used anywhere in BFME 1, 2, or ROTWK!
Code |
Body = OathbreakerBody ModuleTag_OathbreakerBody
; I have searched all of the files for any sign of this... It is in Game.dat but...
; Its used nowhere in the entire mass of code for ANY of the BFME's...
; If anyone finds a specific use PLEASE tell!
End
|
-SymbioticStructuresBody-
I'm not sure what this does what this does... Symbiosis mean the working together of 2 things, Best guess is that this structure stays alive as long as the "Keep" is alive.
Code |
Body = SymbioticStructuresBody ModuleTag_SymbioticBody
Symbiote = KeepLeft
End
|
CommentsDisplay order: Newest first Sulherokhh (Team Chamber Member) - Thursday May 21, 2009 - 6:44 Most, if not all, AI update modules work with additional modules (which they need) exclusively. It might be sensible to make a reference to those modules and/or define them in the same way right below the AI module.
---------------------
In adddition, work on the formatting. It's bothersome to read different sections with entirely different formats. Remove all TAB characters, replace with a single SPACE. Comment (';') lines that don't help explain should be removed as well.
Keep it up. Lurtzy - Thursday May 14, 2009 - 18:08 Looking really cool so far, can't wait to see more! Yarrum - Monday May 11, 2009 - 4:23 Cool tutorial. With this, I might be able to get Boromir's Last Stand power to work properly. I know they did it in Elvenstar but it never seemed to work in my game.
Go to top
|
|
|
"One site to rule them all, one site to find them, one site to host them all, and on the network bind them."
© All Rights Reserved Eric Edwards ©2013.
Website programming by Bart van Heukelom, design by Clément Roy.
BFME, Battle For Middle Earth, and all assumed entities associated with them are © EA Games.
|
|