home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2006 April
/
Gamestar_83_2006-04_dvd.iso
/
Dema
/
lotrbfme2_demo.exe
/
INI.big
/
data_ini_object_evilfaction_units_mordor_mountaintroll.ini
< prev
next >
Wrap
Text File
|
2006-01-31
|
48KB
|
1,430 lines
;------------------------------------------------------------------------------
; aka Mountain Troll, MordorMountainTroll, MountainTrollMordor
Object MordorMountainTroll
; *** ART Parameters ***
; This is required for garrisoned objects - please put in all objects.
ButtonImage = WOR_MountainTroll
SelectPortrait = UPMordor_MountainTroll
DescriptionStrategic = CONTROLBAR:LW_ToolTip_MordorMountainTroll
Draw = W3DScriptedModelDraw ModuleTag_01
; Some conditions and their meaning:
;
; WEAPONSTATE_ONE using tree as club
; WEAPONSET_TOGGLE_1 rock throwing mode
; SPECIAL_WEAPON_ONE hitting a friendly troll
; USER_2 set from MordorMtTrollBored weapon, used when hitting a friendly troll
; USER_3 " " " "
WadingParticleSys = EntRipples
OkToChangeModelColor = Yes
StaticModelLODMode = Yes ; Will append M or L to the skin name depending on GameLOD
ExtraPublicBone = Trunk ; For the tree to attach to.
DefaultModelConditionState
Model = MUMntTroll_SKN
WeaponLaunchBone = PRIMARY Firepoint
End
IdleAnimationState
StateName = Idle
AllowRepeatInRandomPick = Yes
SimilarRestart = Yes
Animation = IDLA
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLA ;JUST BREATHING
AnimationMode = ONCE
AnimationBlendTime = 10
AnimationPriority = 40
End
Animation = IDLC
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLC ;BELLY SCRATCH
AnimationMode = ONCE
AnimationBlendTime = 10
AnimationPriority = 10
End
Animation = IDLF
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLF ;BIG ROAR
AnimationMode = ONCE
AnimationBlendTime = 10
AnimationPriority = 3
End
Animation = IDLH
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLH ;SHORT ROAR
AnimationMode = ONCE
AnimationBlendTime = 10
AnimationPriority = 10
End
Animation = IDLI
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLI ;NOSE WIPE
AnimationMode = ONCE
AnimationBlendTime = 10
AnimationPriority = 10
End
Flags = RESTART_ANIM_WHEN_COMPLETE
BeginScript
CurDrawableHideSubObjectPermanently("ROCK")
EndScript
End
; Splatted death goes first, independant of death flags
ModelConditionState = DYING DECAY SPLATTED
Model = MUMntTroll_DISC
RetainSubObjects = Yes
End;
AnimationState = DYING DECAY SPLATTED
Animation = dead1
AnimationName = MUMntTroll_DISC.MUMntTroll_DISC
AnimationMode = ONCE
End
End
ModelConditionState = DYING DECAY DEATH_1
Model = MUMntTroll_DISA
RetainSubObjects = Yes
End
AnimationState = DYING DECAY DEATH_1
Animation = dead1
AnimationName = MUMntTroll_DISA.MUMntTroll_DISA
AnimationMode = ONCE
End
End
ModelConditionState = DYING DECAY DEATH_2
Model = MUMntTroll_DISB
RetainSubObjects = Yes
End
AnimationState = DYING DECAY DEATH_2
Animation = dead1
AnimationName = MUMntTroll_DISB.MUMntTroll_DISB
AnimationMode = ONCE
End
End
AnimationState = CHANT_FOR_GROND ; used for cine shot in-game.
Animation = playingDrums
AnimationName = MUMntTroll_SKL.MUMntTroll_DRMA
AnimationMode = ONCE
End
End
; Flailing must go before dying in case we are dead in the air
AnimationState = STUNNED_FLAILING
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_FLYA
AnimationMode = LOOP
End
End
AnimationState = DYING DEATH_3
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLA
AnimationMode = LOOP
End
End
AnimationState = DYING SPLATTED
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_LNDA
AnimationMode = ONCE
End
End
AnimationState = DYING DEATH_1
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_DIEA
AnimationMode = ONCE
End
ParticleSysBone = B_PELVIS TrollSplatDust
ParticleSysBone = BAT_HEAD TrollSplatDust
End
AnimationState = DYING DEATH_2
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_DIEB
AnimationMode = ONCE
End
ParticleSysBone = BAT_SPINE1 TrollSplatDust1
ParticleSysBone = BAT_HEAD TrollSplatDust1
End
ModelConditionState = DYING
Model = MUMntTroll_SKN
End
AnimationState = DYING
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_DIEB
AnimationMode = ONCE
End
End
//Stoned!
ModelConditionState = STONED
Model = MUMntTroll_SKN
Texture = MUMntTroll.tga MUMntTroll_R.tga
End
AnimationState = STONED
Animation = Stoned
AnimationName = MUMntTroll_SKL.MUMntTroll_MFDA
AnimationMode = MANUAL
AnimationBlendTime = 40
End
Flags = RANDOMSTART
End
AnimationState = EATING
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_EATA
AnimationMode = ONCE
End
End
; Flailing must go before dying in case we are dead in the air
AnimationState = STUNNED_FLAILING
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_FLYA
AnimationMode = LOOP
End
End
AnimationState = STUNNED_STANDING_UP
Animation = MUMntTroll_GTPA
AnimationName = MUMntTroll_SKL.MUMntTroll_GTPA
AnimationMode = ONCE
End
End
AnimationState = STUNNED
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_LNDA
AnimationMode = ONCE
End
ParticleSysBone = B_PELVIS TrollSplatDust2
ParticleSysBone = BAT_HEAD TrollSplatDust2
End
AnimationState = PARALYZED
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLA
AnimationMode = LOOP
End
End
; --------- Just built ---------------------------------------------------------------------------------------------
AnimationState = JUST_BUILT
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_WLKC ; temp
AnimationMode = ONCE
AnimationBlendTime = 0
AnimationSpeedFactorRange = 0.9 0.9
End
LuaEvent = Frame:1 Data: show_rock
FXEvent = Frame:0 FireWhenSkipped Name:FX_TrollRightFootStep
FXEvent = Frame:16 FireWhenSkipped Name:FX_TrollLeftFootStep
FXEvent = Frame:30 FireWhenSkipped Name:FX_TrollRightFootStep
FXEvent = Frame:44 FireWhenSkipped Name:FX_TrollLeftFootStep
End
;---bop our friends on the head
AnimationState = SPECIAL_WEAPON_ONE
Animation = Punch
AnimationName = MUMntTroll_SKL.MUMntTroll_ATKH
AnimationMode = ONCE
End
Animation = Backhand
AnimationName = MUMntTroll_SKL.MUMntTroll_ATKI
AnimationMode = ONCE
End
End
;---drop a tree
AnimationState = SPECIAL_WEAPON_TWO
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLE
AnimationMode = ONCE
End
End
;--Troll is angry
AnimationState = WEAPONSET_RAMPAGE
Animation = GetMad
AnimationName = MUMntTroll_SKL.MUMntTroll_RPGC
AnimationMode = LOOP
End
End
; --------- With Club ------------
AnimationState = FIRING_OR_PREATTACK_A WEAPONSTATE_ONE
; Animation
; ; Taking this one out since it doesn't work with the logic of the attack, which is a 180 knockback (this one is vertical clubbing, could be used as anti-monster anim, not anti bunch of inf)
; AnimationName = MUMntTroll_SKL.MUMntTroll_ATKB
; End
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_ATKC
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_ATKD
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
;Running attack
AnimationState = FIRING_OR_PREATTACK_B WEAPONSTATE_ONE
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_ATRA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
AnimationState = TURN_LEFT WEAPONSTATE_ONE
Animation = Moving
AnimationName = MUMntTroll_SKL.MUMntTroll_TRNL
AnimationMode = LOOP
AnimationBlendTime = 10
End
ParticleSysBone = None InfantryDustTrails
BeginScript ; Here since normal Packing state can be skipped with a fast click.
CurDrawableShowSubObjectPermanently("Trunk01")
EndScript
End
AnimationState = TURN_RIGHT WEAPONSTATE_ONE
Animation = Moving
AnimationName = MUMntTroll_SKL.MUMntTroll_TRNR
AnimationMode = LOOP
AnimationBlendTime = 10
End
ParticleSysBone = None InfantryDustTrails
BeginScript ; Here since normal Packing state can be skipped with a fast click.
CurDrawableShowSubObjectPermanently("Trunk01")
EndScript
End
AnimationState = MOVING WEAPONSTATE_ONE ; ATTACKING
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_RUNA ; Running with club
AnimationMode = LOOP
;AnimationSpeedFactorRange = 0.77 0.77
End
Flags = RANDOMSTART
ParticleSysBone = None InfantryDustTrails
FXEvent = Frame:5 FireWhenSkipped Name:FX_TrollRightFootStep
FXEvent = Frame:17 FireWhenSkipped Name:FX_TrollLeftFootStep
End
;AnimationState = MOVING WEAPONSTATE_ONE DAMAGED
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_WLKB ; Walking with club
; AnimationMode = LOOP
; AnimationSpeedFactorRange = 1.3 1.3
; End
; Flags = RANDOMSTART
; ParticleSysBone = None InfantryDustTrails
; FXEvent = Frame:22 FireWhenSkipped Name:FX_TrollLeftFootStep
; FXEvent = Frame:45 FireWhenSkipped Name:FX_TrollRightFootStep
;End
;AnimationState = MOVING WEAPONSTATE_ONE
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_WLKB ; Walking with club
; AnimationMode = LOOP
; AnimationSpeedFactorRange = 1.36 1.36
; End
; Flags = RANDOMSTART
; ParticleSysBone = None InfantryDustTrails
; FXEvent = Frame:22 FireWhenSkipped Name:FX_TrollLeftFootStep
; FXEvent = Frame:45 FireWhenSkipped Name:FX_TrollRightFootStep
;
; BeginScript ; Here since normal Packing state can be skipped with a fast click.
; CurDrawableShowSubObjectPermanently("Trunk01")
; EndScript
;End
AnimationState = PREPARING ; Smash contained object on ground to remove leaves. note, WEAPONSTATE_ONE has
Animation ; not yet been set yet, so assume it's a tree.
AnimationName = MUMntTroll_SKL.MUMntTroll_GRBC
AnimationMode = ONCE
End
End
AnimationState = PACKING WEAPONSTATE_ONE
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_GRBD
AnimationMode = ONCE
End
BeginScript
CurDrawableShowSubObjectPermanently("Trunk01")
EndScript
End
AnimationState = EMOTION_CELEBRATING WEAPONSTATE_ONE
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLF
AnimationMode = LOOP
End
End
AnimationState = USER_2 WEAPONSTATE_ONE
Animation = ReactToTrollPoke ; The two comes from the special TrollBored weapon
AnimationName = MUMntTroll_SKL.MUMntTroll_HITE
AnimationMode = ONCE
End
End
AnimationState = USER_3 WEAPONSTATE_ONE
Animation = ExpectAnotherPoke ; The three comes from the special TrollBored weapon, and lasts longer than 2
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLJ
AnimationMode = LOOP
End
End
AnimationState = EMOTION_TAUNTING WEAPONSTATE_ONE
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLB
AnimationMode = ONCE
AnimationPriority = 20
End
Animation = Taunting3
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLH
AnimationMode = ONCE
AnimationPriority = 10
End
Animation = Taunting4
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLE
AnimationMode = ONCE
AnimationPriority = 5
End
End
AnimationState = WEAPONSTATE_ONE ;Idle with club
AllowRepeatInRandomPick = Yes
SimilarRestart = Yes
Animation = BreathWithClub
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLB
AnimationMode = ONCE
AnimationPriority = 30
AnimationSpeedFactorRange = 0.8 1.0
End
Animation = BreathWithClub
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLB
AnimationMode = ONCE
AnimationPriority = 30
AnimationSpeedFactorRange = 0.8 1.0
End
Animation = IDLE
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLE ;ROAR THEN HIT GROUND (holding club only)
AnimationMode = ONCE
AnimationBlendTime = 10
AnimationPriority = 5
End
Animation = IDLG
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLG ;BUTT SCRATCH THEN BURP
AnimationMode = ONCE
AnimationBlendTime = 10
AnimationPriority = 10
End
Flags = RESTART_ANIM_WHEN_COMPLETE
BeginScript ; Here since normal Packing state can be skipped with a fast click.
CurDrawableShowSubObjectPermanently("Trunk01")
EndScript
End
; --------- With rock or infantry ----------------------------------------------------------------------------------
;AnimationState = MOVING WEAPONSET_TOGGLE_1 ; ATTACKING
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_RUNA
; AnimationMode = LOOP
; ;AnimationSpeedFactorRange = 0.77 0.77
; End
; Flags = RANDOMSTART
; ParticleSysBone = None InfantryDustTrails
; FXEvent = Frame:5 FireWhenSkipped Name:FX_TrollRightFootStep
; FXEvent = Frame:17 FireWhenSkipped Name:FX_TrollLeftFootStep
;End
;AnimationState = MOVING WEAPONSET_TOGGLE_1 DAMAGED
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_WLKB
; AnimationMode = LOOP
; AnimationSpeedFactorRange = 1.3 1.3
; End
; Flags = RANDOMSTART
; ParticleSysBone = None InfantryDustTrails
; FXEvent = Frame:22 FireWhenSkipped Name:FX_TrollLeftFootStep
; FXEvent = Frame:45 FireWhenSkipped Name:FX_TrollRightFootStep
;End
;AnimationState = MOVING WEAPONSET_TOGGLE_1
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_WLKB
; AnimationMode = LOOP
; AnimationSpeedFactorRange = 1.36 1.36
; End
; Flags = RANDOMSTART
; ParticleSysBone = None InfantryDustTrails
; FXEvent = Frame:22 FireWhenSkipped Name:FX_TrollLeftFootStep
; FXEvent = Frame:45 FireWhenSkipped Name:FX_TrollRightFootStep
;End
; AnimationState = FIRING_OR_PREATTACK_A USING_WEAPON_A
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_THRW
; AnimationMode = ONCE
; AnimationBlendTime = 0
; UseWeaponTiming = Yes
; End
; FrameForPristineBonePositions = 16
; StateName = Throw
; End
AnimationState = FIRING_OR_PREATTACK_A WEAPONSET_TOGGLE_1 ; Throw rock.
StateName = Throw
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_THRA
AnimationMode = ONCE
; AnimationBlendTime = 0
UseWeaponTiming = Yes
End
LuaEvent = Frame:23 Data: hide_rock
FrameForPristineBonePositions = 23
End
AnimationState = RELOADING_A WEAPONSET_TOGGLE_1 ; Pickup rock.
StateName = STATE_Reload
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_GRBE ;MUMntTroll_SKL.MUMntTroll_GRBB
AnimationMode = ONCE
End
LuaEvent = Frame:35 Data: show_rock
; BeginScript
; Prev = CurDrawablePrevAnimationState()
; if Prev ~= "STATE_Reload" and Prev ~= "TRANS_SnatchRock"
; then CurDrawableSetTransitionAnimState("TRANS_SnatchRock") end
; EndScript
End
; TransitionState = TRANS_SnatchRock
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_GRBE
; AnimationMode = ONCE
; End
; End
; AnimationState = FIRING_OR_PREATTACK_B WEAPONSTATE_TWO
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_THRW
; AnimationMode = ONCE
; AnimationBlendTime = 0
; UseWeaponTiming = Yes
; End
; FrameForPristineBonePositions = 21
; StateName = Throw
; End
; AnimationState = PACKING WEAPONSTATE_TWO
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_GRBB
; AnimationMode = ONCE
; End
; ParticleSysBone = BAT_HANDR TrollRockBounceSmall FollowBone:no
; ParticleSysBone = BAT_HANDR TrollRockPickup FollowBone:no
; End
;Building attack, which you can do with a rock in yo hand
AnimationState = FIRING_OR_PREATTACK_C WEAPONSET_TOGGLE_1
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_ATKF
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
AnimationState = TURN_LEFT WEAPONSET_TOGGLE_1
Animation = Moving
AnimationName = MUMntTroll_SKL.MUMntTroll_TRNL
AnimationMode = LOOP
AnimationBlendTime = 10
End
ParticleSysBone = None InfantryDustTrails
End
AnimationState = TURN_RIGHT WEAPONSET_TOGGLE_1
Animation = Moving
AnimationName = MUMntTroll_SKL.MUMntTroll_TRNR
AnimationMode = LOOP
AnimationBlendTime = 10
End
ParticleSysBone = None InfantryDustTrails
End
AnimationState = MOVING WEAPONSET_TOGGLE_1
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_RUNA
AnimationMode = LOOP
;AnimationSpeedFactorRange = 0.77 0.77
End
Flags = RANDOMSTART
ParticleSysBone = None InfantryDustTrails
FXEvent = Frame:5 FireWhenSkipped Name:FX_TrollRightFootStep
FXEvent = Frame:17 FireWhenSkipped Name:FX_TrollLeftFootStep
End
; --------- Click and Hit Reactions with Rock ----------------------------------------------------------------------------------
AnimationState = HIT_REACTION HIT_LEVEL_1 WEAPONSET_TOGGLE_1
Animation = Hit_Level_1_a
AnimationName = MUMntTroll_SKL.MUMntTroll_HITC
AnimationMode = ONCE
End
End
AnimationState = HIT_REACTION HIT_LEVEL_2 WEAPONSET_TOGGLE_1
Animation = Hit_Level_2
AnimationName = MUMntTroll_SKL.MUMntTroll_HITB
AnimationMode = ONCE
End
End
AnimationState = HIT_REACTION HIT_LEVEL_3 WEAPONSET_TOGGLE_1
Animation = Hit_Level_3
AnimationName = MUMntTroll_SKL.MUMntTroll_HITA
AnimationMode = ONCE
End
End
AnimationState = REACT_1 WEAPONSET_TOGGLE_1
Animation = Click_React_1
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTA
AnimationMode = ONCE
End
End
AnimationState = REACT_2 WEAPONSET_TOGGLE_1
Animation = Click_React_2
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTB
AnimationMode = ONCE
End
End
AnimationState = REACT_3 WEAPONSET_TOGGLE_1
Animation = Click_React_3
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTC
AnimationMode = ONCE
End
End
AnimationState = REACT_4 WEAPONSET_TOGGLE_1
Animation = Click_React_4
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTD
AnimationMode = ONCE
End
End
AnimationState = REACT_5 WEAPONSET_TOGGLE_1
Animation = Click_React_5
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTE
AnimationMode = ONCE
End
End
AnimationState = USER_2 WEAPONSET_TOGGLE_1
Animation = ReactToTrollPoke ; The two comes from the special TrollBored weapon
AnimationName = MUMntTroll_SKL.MUMntTroll_HITE
AnimationMode = ONCE
End
End
AnimationState = USER_3 WEAPONSET_TOGGLE_1
Animation = ExpectAnotherPoke ; The three comes from the special TrollBored weapon, and lasts longer than 2
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLJ
AnimationMode = LOOP
End
End
AnimationState = SWAPPING_TO_WEAPONSET_1 WEAPONSET_TOGGLE_1 ; toggling to rock throwing. This get's the unit into a nice
Animation ; pose to blend from, rather than playing an idle for one frame.
AnimationName = MUMntTroll_SKL.MUMntTroll_GRBE
AnimationMode = MANUAL
End
End
AnimationState = EMOTION_TAUNTING WEAPONSET_TOGGLE_1
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLB
AnimationMode = ONCE
AnimationPriority = 20
End
Animation = Taunting3
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLH
AnimationMode = ONCE
AnimationPriority = 10
End
End
AnimationState = WEAPONSET_TOGGLE_1 ; Rock throwing
AllowRepeatInRandomPick = Yes
SimilarRestart = Yes
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLB ; sway
AnimationMode = ONCE
AnimationPriority = 10
AnimationSpeedFactorRange = 0.8 1.0
End
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_IDLE ; roar and pummel ground
; AnimationMode = ONCE
; AnimationPriority = 1
; AnimationSpeedFactorRange = 0.8 1.0
; End
Flags = RESTART_ANIM_WHEN_COMPLETE
BeginScript
CurDrawableShowSubObjectPermanently("ROCK")
EndScript
End
;// --------- With Bare Hands ------------
AnimationState = UNPACKING ; Reach for a tree.
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_GRBA
AnimationMode = ONCE
End
End
AnimationState = TURN_LEFT
Animation = Moving
AnimationName = MUMntTroll_SKL.MUMntTroll_TRNL
AnimationMode = LOOP
AnimationBlendTime = 10
End
ParticleSysBone = None InfantryDustTrails
End
AnimationState = TURN_RIGHT
Animation = Moving
AnimationName = MUMntTroll_SKL.MUMntTroll_TRNR
AnimationMode = LOOP
AnimationBlendTime = 10
End
ParticleSysBone = None InfantryDustTrails
End
;AnimationState = MOVING ATTACKING
; Animation = Charging
; AnimationName = MUMntTroll_SKL.MUMntTroll_RUNB
; AnimationMode = LOOP
; AnimationSpeedFactorRange = 0.8 0.8
; End
; Flags = RANDOMSTART
; ParticleSysBone = None InfantryDustTrails
; FXEvent = Frame:6 FireWhenSkipped Name:FX_TrollRightFootStep
; FXEvent = Frame:17 FireWhenSkipped Name:FX_TrollLeftFootStep
;End
; Normal fist attacks
AnimationState = FIRING_OR_PREATTACK_A
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_ATKA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_ATKE
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_ATKG
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
;Building attack
AnimationState = FIRING_OR_PREATTACK_B
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_ATKF
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
;Running attack
AnimationState = FIRING_OR_PREATTACK_C
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_ATRB
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
AnimationState = MOVING PANICKING
Animation = RUNM
AnimationName = MUMntTroll_SKL.MUMntTroll_MFDA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
;AnimationState = MOVING DAMAGED
; Animation = Moving_Damaged
; AnimationName = MUMntTroll_SKL.MUMntTroll_WLKA
; AnimationMode = LOOP
; End
; Flags = RANDOMSTART
; ParticleSysBone = None InfantryDustTrails
; FXEvent = Frame:0 FireWhenSkipped Name:FX_TrollRightFootStep
; FXEvent = Frame:16 FireWhenSkipped Name:FX_TrollLeftFootStep
;End
;AnimationState = MOVING
; Animation = Moving
; AnimationName = MUMntTroll_SKL.MUMntTroll_WLKA
; AnimationMode = LOOP
; AnimationBlendTime = 10
; End
; Flags = RANDOMSTART
; ParticleSysBone = None InfantryDustTrails
; FXEvent = Frame:16 FireWhenSkipped Name:FX_TrollLeftFootStep
; FXEvent = Frame:0 FireWhenSkipped Name:FX_TrollRightFootStep
;End
AnimationState = MOVING
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_RUNB
AnimationMode = LOOP
;AnimationSpeedFactorRange = 0.8 0.8
End
Flags = RANDOMSTART
ParticleSysBone = None InfantryDustTrails
FXEvent = Frame:6 FireWhenSkipped Name:FX_TrollRightFootStep
FXEvent = Frame:17 FireWhenSkipped Name:FX_TrollLeftFootStep
End
AnimationState = ENGAGED
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLA
AnimationMode = LOOP
End
;BeginScript
; Prev = CurDrawablePrevAnimationState()
; if Prev == "Throw" then CurDrawableSetTransitionAnimState("Trans_Throwing_To_Ready") return end
;EndScript
End
; AnimationState = DESTROYED_WEAPON this is no longer coded
; Animation
; AnimationName = MUMntTroll_SKL.MUMntTroll_ATKA
; AnimationMode = ONCE
; End
; End
; --------- Click and Hit Reactions ----------------------------------------------------------------------------------
AnimationState = HIT_REACTION HIT_LEVEL_1
Animation = Hit_Level_1_a
AnimationName = MUMntTroll_SKL.MUMntTroll_HITC
AnimationMode = ONCE
End
End
AnimationState = HIT_REACTION HIT_LEVEL_2
Animation = Hit_Level_2
AnimationName = MUMntTroll_SKL.MUMntTroll_HITB
AnimationMode = ONCE
End
End
AnimationState = HIT_REACTION HIT_LEVEL_3
Animation = Hit_Level_3
AnimationName = MUMntTroll_SKL.MUMntTroll_HITA
AnimationMode = ONCE
End
End
AnimationState = REACT_1
Animation = Click_React_1
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTA
AnimationMode = ONCE
End
End
AnimationState = REACT_2
Animation = Click_React_2
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTB
AnimationMode = ONCE
End
End
AnimationState = REACT_3
Animation = Click_React_3
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTC
AnimationMode = ONCE
End
End
AnimationState = REACT_4
Animation = Click_React_4
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTD
AnimationMode = ONCE
End
End
AnimationState = REACT_5
Animation = Click_React_5
AnimationName = MUMntTroll_SKL.MUMntTroll_RCTE
AnimationMode = ONCE
End
End
AnimationState = USER_2
Animation = ReactToTrollPoke ; The two comes from the special TrollBored weapon
AnimationName = MUMntTroll_SKL.MUMntTroll_HITE
AnimationMode = ONCE
End
End
AnimationState = USER_3
Animation = ExpectAnotherPoke ; The three comes from the special TrollBored weapon, and lasts longer than 2
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLJ
AnimationMode = LOOP
End
End
;--------------------------------------------------------------------------------------------------------------------------------------------
;Emotions
AnimationState = EMOTION_CELEBRATING
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLF
AnimationMode = LOOP
End
End
AnimationState = EMOTION_TAUNTING
Animation
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLB
AnimationMode = ONCE
AnimationPriority = 20
End
Animation = Taunting3
AnimationName = MUMntTroll_SKL.MUMntTroll_IDLH
AnimationMode = ONCE
AnimationPriority = 10
End
End
End ; draw
Draw = W3DScriptedModelDraw DustEffects
DefaultModelConditionState
Model = None
End
IdleAnimationState
End
AnimationState = MOVING WADING
ParticleSysBone = None FootstepSlash
End
AnimationState = MOVING ACCELERATE
ParticleSysBone = None GenericSiegeTrailDust
End
AnimationState = MOVING ACCELERATE
ParticleSysBone = None GenericSiegeTrailDust
End
AnimationState = MOUNTED MOVING
End
End
#include "..\..\..\includes\StunDrawModuleLarge.inc"
; ***DESIGN parameters ***
Side = Mordor
EditorSorting = UNIT
ThreatLevel = MORDOR_MOUNTAINTROLL_THREAT_LEVEL
ThreatBreakdown MordorMountainTroll_DetailedThreat
AIKindOf = SIEGEWEAPON
End
TransportSlotCount = TRANSPORTSLOTCOUNT_MONSTER
ShowHealthInSelectionDecal = Yes
WeaponSet
Conditions = None
Weapon = PRIMARY MordorCaveTrollPunch
Weapon = SECONDARY MordorCaveTrollBash
OnlyAgainst = SECONDARY STRUCTURE BLOCKING_GATE
Weapon = TERTIARY MordorCaveTrollPunch
OnlyInCondition = TERTIARY MOVING
End
WeaponSet
Conditions = WEAPONSET_TOGGLE_1
Weapon = PRIMARY TrollRockThrow
End
WeaponSet
Conditions = RAMPAGE
Weapon = PRIMARY MordorCaveTrollRampage
End
WeaponSet
Conditions = RAMPAGE PASSENGER_TYPE_ONE
Weapon = PRIMARY MordorCaveTrollTreeRampage
End
WeaponSet
Conditions = PASSENGER_TYPE_ONE
Weapon = PRIMARY MordorCaveTrollClubSwing
Weapon = SECONDARY MordorCaveTrollClubSwing
OnlyInCondition = SECONDARY MOVING
End
ArmorSet
Conditions = None
Armor = TrollArmor
DamageFX = NormalDamageFX
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = TrollHeavyArmor
DamageFX = NormalDamageFX
End
BuildFadeInOnCreateTime = 4.4
VisionRange = VISION_STANDARD_MELEE
ShroudClearingRange = SHROUD_CLEAR_TROLL
BountyValue = MORDOR_TROLL_BOUNTY_VALUE
DisplayName = OBJECT:MordorMountainTroll
CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = MordorMountainTrollCommandSet
CommandPoints = 50
CrusherLevel = 2
UseCrushAttack = No ; Don't attack using crush, just crush when you walk through.
CrushWeapon = TrollCrush
RamPower = 20
RamZMult = 0.5
CrushKnockback = 30
CrushZFactor = 1.0
; *** AUDIO Parameters ***;
VoiceAttack = TrollVoiceAttack
VoiceAttackCharge = TrollVoiceAttack
VoiceAttackMachine = TrollVoiceAttack
VoiceAttackStructure = TrollVoiceAttack
VoiceCreated = EVA:MountainTrollCreated
VoiceFullyCreated = EVA:MountainTrollCreated
VoiceGuard = TrollVoiceMove
VoiceMove = TrollVoiceMove
VoiceMoveToCamp = TrollVoiceMove
VoiceMoveWhileAttacking = TrollVoiceMove
VoicePriority = 19
VoiceSelect = TrollVoiceSelect
VoiceSelectBattle = TrollVoiceSelect
SoundImpact = ImpactHorse ;TrollDie
UnitSpecificSounds
VoiceEnterUnitEvilMenTransportShip = TrollVoiceMove
VoiceEnterUnitMordorMumakil = TrollVoiceMove
VoiceEnterUnitSlaughterHouse = TrollVoiceMove
VoiceGarrison = TrollVoiceMove
VoiceInitiateCaptureBuilding = TrollVoiceMove
End
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:ImpactTrollGrabsOrc Animation:MUMntTroll_SKL.MUMntTroll_GRBA Frames:6
;AnimationSound = Sound:OrcEatenVox Animation:MUMntTroll_SKL.MUMntTroll_GRBB Frames:0
AnimationSound = Sound:OrcEatenVox Animation:MUMntTroll_SKL.MUMntTroll_EATA Frames:0
AnimationSound = Sound:TrollChomp Animation:MUMntTroll_SKL.MUMntTroll_EATA Frames:20
AnimationSound = Sound:TrollSwallow Animation:MUMntTroll_SKL.MUMntTroll_EATA Frames:72
AnimationSound = Sound:MordorTrollCreated Animation:MUMntTroll_SKL.MUMntTroll_WLKC Frames:66
AnimationSound = Sound:TrollBodyfall Animation:MUMntTroll_SKL.MUMntTroll_LNDA Frames:3 21
AnimationSound = Sound:TrollBodyfall Animation:MUMntTroll_SKL.MUMntTroll_DIEA Frames:31
AnimationSound = Sound:TrollBodyfall Animation:MUMntTroll_SKL.MUMntTroll_DIEB Frames:85
AnimationSound = Sound:MordorGrondTrollAttack Animation:MUGRNDTRL_SKL.MUGRNDTRL_GAA2 Frames:78
AnimationSound = Sound:MordorGrondTrollAttack Animation:MUGRNDTRL_SKL.MUGRNDTRL_GAB2 Frames:80
AnimationSound = Sound:MordorGrondTrollAttack Animation:MUGRNDTRL_SKL.MUGRNDTRL_GATA Frames:137
AnimationSound = Sound:MordorTrollIdleA Animation:MUMntTroll_SKL.MUMntTroll_IDLA Frames:13
AnimationSound = Sound:TrollTreeShakeYell Animation:MUMntTroll_SKL.MUMntTroll_GRBC Frames:26
AnimationSound = Sound:TrollTreeShakeYell Animation:MUMntTroll_SKL.MUMntTroll_GRBD Frames:28
;AnimationSound = Sound:TrollTreeShakeYell Animation:MUMntTroll_SKL.MUMntTroll_GRBA Frames:14
;AnimationSound = Sound:TrollTreeShakeYell Animation:MUMntTroll_SKL.MUMntTroll_GRBB Frames:12
AnimationSound = Sound:MordorGrondTrollPush Animation:MUGRNDTRL_SKL.MUGRNDTRL_GWKA Frames:41
AnimationSound = Sound:MordorTrollIdleB Animation:MUMntTroll_SKL.MUMntTroll_IDLB Frames:7
;AnimationSound = Sound:MordorTrollIdleVox Animation:MUMntTroll_SKL.MUMntTroll_IDLE Frames:8
;AnimationSound = Sound:MordorTrollIdleVox Animation:MUMntTroll_SKL.MUMntTroll_IDLF Frames:31
;AnimationSound = Sound:MordorTrollIdleVox Animation:MUMntTroll_SKL.MUMntTroll_IDLG Frames:76
;AnimationSound = Sound:MordorTrollIdleVox Animation:MUMntTroll_SKL.MUMntTroll_IDLH Frames:0
;AnimationSound = Sound:MordorTrollIdleVox Animation:MUMntTroll_SKL.MUMntTroll_IDLI Frames:102
AnimationSound = Sound:MordorTrollIdleE Animation:MUMntTroll_SKL.MUMntTroll_IDLE Frames:6
AnimationSound = Sound:MordorTrollIdleF Animation:MUMntTroll_SKL.MUMntTroll_IDLF Frames:31
AnimationSound = Sound:MordorTrollIdleG Animation:MUMntTroll_SKL.MUMntTroll_IDLG Frames:76
AnimationSound = Sound:MordorTrollIdleH Animation:MUMntTroll_SKL.MUMntTroll_IDLH Frames:0
AnimationSound = Sound:MordorTrollIdleI Animation:MUMntTroll_SKL.MUMntTroll_IDLI Frames:102
AnimationSound = Sound:TrollFootstep Animation:MUMntTroll_SKL.MUMntTroll_RUNA Frames:4 17
AnimationSound = Sound:TrollFootstep Animation:MUMntTroll_SKL.MUMntTroll_RUNB Frames:4 17
AnimationSound = Sound:TrollFootstep Animation:MUMntTroll_SKL.MUMntTroll_WLKA Frames:0 15
AnimationSound = Sound:TrollFootstep Animation:MUMntTroll_SKL.MUMntTroll_WLKB Frames:0 22
AnimationSound = Sound:TrollFootstep Animation:MUMntTroll_SKL.MUMntTroll_WLKC Frames:14 29 44 59
AnimationSound = Sound:TrollFootstep Animation:MUMntTroll_SKL.MUMntTroll_TRNL Frames:15 29
AnimationSound = Sound:TrollFootstep Animation:MUMntTroll_SKL.MUMntTroll_TRNR Frames:15 29
AnimationSound = Sound:TrollFootstep Animation:MUMntTroll_SKL.MUMntTroll_GTPA Frames:12 80 97
AnimationSound = Sound:TrollFootstepRampage Animation:MUMntTroll_SKL.MUMntTroll_MFDA Frames:4 17 29 42
AnimationSound = Sound:TrollFootstepRampage Animation:MUMntTroll_SKL.MUMntTroll_RCTD Frames:6 66
AnimationSound = Sound:TrollFootstepRampage Animation:MUMntTroll_SKL.MUMntTroll_RPGC Frames:37 43 61 77 93 100 116 123 139 149
AnimationSound = Sound:TrollFootstepRampage Animation:MUMntTroll_SKL.MUMntTroll_THRW Frames:18
AnimationSound = Sound:TrollTreeSwingLight Animation:MUMntTroll_SKL.MUMntTroll_IDLE Frames:51
AnimationSound = Sound:TrollTreeSwingLight Animation:MUMntTroll_SKL.MUMntTroll_RCTB Frames:16
AnimationSound = Sound:TrollTreeSwingLight Animation:MUMntTroll_SKL.MUMntTroll_MFDA Frames:5 22
AnimationSound = Sound:TrollTreeSwingLight Animation:MUMntTroll_SKL.MUMntTroll_RPGC Frames:28 54 89 114
AnimationSound = Sound:TrollTreeSwingLight Animation:MUMntTroll_SKL.MUMntTroll_RCTC Frames:5
AnimationSound = Sound:TrollTreeSwingLight Animation:MUMntTroll_SKL.MUMntTroll_RCTD Frames:29
AnimationSound = Sound:TrollTreeSwingLight Animation:MUMntTroll_SKL.MUMntTroll_RCTE Frames:72
AnimationSound = Sound:TrollTreeSwingLight Animation:MUMntTroll_SKL.MUMntTroll_THRW Frames:17
AnimationSound = Sound:TrollTreeSwingLight Animation:MUMntTroll_SKL.MUMntTroll_GRBA Frames:6
AnimationSound = Sound:TrollIdleRubHeadVox Animation:MUMntTroll_SKL.MUMntTroll_RCTB Frames:3
AnimationSound = Sound:TrollGetupShakeHeadVox Animation:MUMntTroll_SKL.MUMntTroll_GTPA Frames:31
AnimationSound = Sound:ImpactTrollTreeLight Animation:MUMntTroll_SKL.MUMntTroll_IDLE Frames:53
AnimationSound = Sound:TrollGrabRock Animation:MUMntTroll_SKL.MUMntTroll_GRBB Frames:0
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_EATA Frames:3
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_GTPA Frames:105
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_HITA Frames:21
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_HITB Frames:10
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_HITC Frames:13
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_HITE Frames:10
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_RCTC Frames:6
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_RCTD Frames:30
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_RCTE Frames:53
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_RPGC Frames:1 33 58 92 117
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_EATA Frames:1
AnimationSound = Sound:TrollRoar Animation:MUMntTroll_SKL.MUMntTroll_DRMA Frames:100
AnimationSound = Sound:DrumHitSingleToSummonMountainGiants Animation:MUMntTroll_SKL.MUMntTroll_DRMA Frames:27 58 88 90
End
Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system
Key = Troll
;UnitWeight = 2 ; Trollsie counts as 2 infantry when computing group size
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS TROLL_BUFF_NUGGET MONSTER SCORE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT NO_FREEWILL_ENTER PATH_THROUGH_INFANTRY SCARY CAN_ATTACK_WALLS HEAVY_MELEE_HITTER ARMY_SUMMARY
BuildCost = MORDOR_TROLL_BUILDCOST
BuildTime = MORDOR_TROLL_BUILDTIME
ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG
Body = DelayedDeathBody ModuleTag_02
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = MORDOR_TROLL_HEALTH
MaxHealthDamaged = MORDOR_TROLL_HEALTH_DAMAGED
MaxHealthReallyDamaged = MORDOR_TROLL_HEALTH_RAMPAGE_DAMAGED
DoHealthCheck = No ; Don't want to get the delayed death behaviour when we die normally.
DelayedDeathTime = 5000
CanRespawn = No ; Unit can't get revived.
End
Behavior LifetimeUpdate LifetimeTag
WaitForWakeUp = Yes
End
Behavior = StancesBehavior ModuleTag_StancesBehavior
StanceTemplate = Artillery
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
AILuaEventsList = TrollFunctions
RampageTime = 4470
AttackPriority = AttackPriority_Cavalry
End
Behavior = BoredUpdate BoredModuleTagOne
ScanDelayTime = 40000
ScanDistance = 70 ; default value is 300 units
BoredFilter = NONE +MordorMountainTroll +MordorCaveTroll
SpecialPowerTemplate = SpecialAbilityMountainTrollBored
End
Behavior = AutoPickUpUpdate AutoPickUpForTrees
ScanDelayTime = 0
ScanDistance = 600 ; default value is 300 units
PickUpFilter = NONE +TREE ; Slightly tricky since trees don't exist. This will trigger the special stuff you have to do to grab a tree.
RunFromButton = Yes ; No natural scanning, wakes up to run exactly once when hit with a WakeAutoPickup button
RunFromButtonNumber = 2 ; In case of multiples, this lines up with the OPTION_(ONE) field in the waking button
End
Behavior = AutoPickUpUpdate AutoPickUpForTastyOrcs ; There is a seperate AutoPickUp that runs without a button
ScanDelayTime = 40000
ScanDistance = 200 ; default value is 300 units
EatObjectEntry = MyHealth:99% TargetHealth:100% Filter:NONE +ORC ;When I'm below x% of my max health, I will look for an object to eat.
RunFromButton = Yes ; No natural scanning, wakes up to run exactly once when hit with a WakeAutoPickup button
RunFromButtonNumber = 3 ; In case of multiples, this lines up with the OPTION_(ONE) field in the waking button
End
// When created, automatically switch to rock-throwing
Behavior = DoCommandUpgrade Module_DoCommandUpgrade
TriggeredBy = Upgrade_SwitchToRockThrowing
GetUpgradeCommandButtonName = Command_ToggleMountainTrollRockThrow
End
Behavior = EmotionTrackerUpdate Module_EmotionTracker
AddEmotion = Terror_Base
AddEmotion = Doom_Base
AddEmotion = BraceForBeingCrushed_Base
AddEmotion = UncontrollableFear_Base
// AddEmotion = FearIdle_Base
// AddEmotion = FearBusy_Base
AddEmotion = Point_Base
AddEmotion = Taunt_Base
AddEmotion = CheerIdle_Base
AddEmotion = CheerBusy_Base
AddEmotion = HeroCheerIdle_Base
AddEmotion = HeroCheerBusy_Base
AddEmotion = Alert_Base
End
LocomotorSet
Locomotor = TrollLocomotor
Condition = SET_NORMAL
Speed = TROLL_SPEED
End
Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
HitReactionLifeTimer1 = 1500 ; level 1 (light damage) hit reaction animations in frames (5 per sec)
HitReactionLifeTimer2 = 1500 ; level 2 (medium damage) hit reaction animations in frames (5 per sec)
HitReactionLifeTimer3 = 3000 ; level 3 (heavy damage) hit reaction animations in frames (5 per sec)
HitReactionThreshold1 = 0.0 ; level 1 (light damage) threshold trigger
HitReactionThreshold2 = 50.0 ; level 2 (medium damage) threshold trigger
HitReactionThreshold3 = 200.0 ; level 3 (heavy damage) threshold trigger
End
Behavior = ClickReactionBehavior ClickBehaviorModuleTag
ClickReactionTimer = 600 ; 10 seconds in ticks
ReactionFrames1 = 15 ; in frames (5 per sec)
ReactionFrames2 = 7 ; in frames (5 per sec)
ReactionFrames3 = 7 ; in frames (5 per sec)
ReactionFrames4 = 15 ; in frames (5 per sec)
ReactionFrames5 = 18 ; in frames (5 per sec)
End
Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 0.0 ; 1.0
ShockStandingTime = 4600 ; 27800 ;msec
FirstHeight = 0
SecondHeight = 0
End
Behavior = SlowDeathBehavior ModuleTag_50
DeathTypes = ALL -FADED
DestructionDelay = 35000
DecayBeginTime = 3000
SinkDelay = 10000
SinkRate = 0.64 ; in Dist/Sec
Sound = INITIAL TrollDie
ProbabilityModifier = 50
DeathFlags = DEATH_1 ; Tell model which death animation to play. Sets BOTH model condition and object status bits.
End
Behavior = SlowDeathBehavior ModuleTag_51
DeathTypes = ALL -FADED
DestructionDelay = 35000
DecayBeginTime = 4000
SinkDelay = 11000
SinkRate = 0.64 ; in Dist/Sec
Sound = INITIAL TrollDie
ProbabilityModifier = 50
DeathFlags = DEATH_2 ; Tell model which death animation to play. Sets BOTH model condition and object status bits.
End
Behavior = SquishCollide ModuleTag_06
;nothing
End
Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
End
;--------- GRABBING A TREE -------------------------------------------------------------------
Behavior = GrabPassengerSpecialPower ModuleTag_07
SpecialPowerTemplate = SpecialAbilityGrabPassenger
UpdateModuleStartsAttack = Yes
AllowTree = Yes
InitiateFX = FX_TrollGrabInitiate ; Evil hack so we can different voices for grab tree or grab rock
End
Behavior = SpecialAbilityUpdate ModuleTag_08
SpecialPowerTemplate = SpecialAbilityGrabPassenger
StartAbilityRange = 8.0
; Note that the timings here are not exactly right, but they are catered to fit
; the anims, so the grabs are a bit 'snatchy'.
UnpackTime = 300 ; This does not match the animation, but looks good.
PreparationTime = 1 ; touching it to grabbing it
PersistentPrepTime = 630 ; grabbing it to whacking it on the ground (if shrubbery)
PackTime = 1000 ; whacking it to holding it nice
GrabPassengerAnimAndDuration = AnimState:EATING AnimTime:3000 TriggerTime:1400
AwardXPForTriggering = 0
RejectedConditions = WEAPON_TOGGLE ; Cannot pick things up when already holding a rock to throw
End
;--------- DROPPING A TREE -------------------------------------------------------------------
Behavior = SpecialPowerModule ModuleTag_SpecialPowerModuleDropTreeStarter
SpecialPowerTemplate = SpecialAbilityTrollDropTree
UpdateModuleStartsAttack = Yes
StartsPaused = No
End
Behavior = FlingPassengerSpecialAbilityUpdate ModuleTag_FlingPassengerSpecialAbilityUpdate
SpecialPowerTemplate = SpecialAbilityTrollDropTree
UnpackTime = 1900
PackTime = 1000
CustomAnimAndDuration = AnimState:SPECIAL_WEAPON_TWO AnimTime:2967
End
Behavior = TransportContain ModuleTag_09
ObjectStatusOfContained = UNSELECTABLE
PassengerFilter = ANY +CLUB +ORC
ManualPickUpFilter = ANY +CLUB -ORC ; we do not want the user to be able to manually pick up an orc with a troll.
Slots = 1
ShowPips = No
AllowEnemiesInside = Yes
AllowNeutralInside = Yes
AllowAlliesInside = Yes
DamagePercentToUnits = 0%
TypeOneForWeaponSet = CLUB ; sets WEAPONSET_PASSENGER_TYPE_ONE
TypeOneForWeaponState = CLUB
PassengerBonePrefix = PassengerBone:Trunk KindOf:CLUB
PassengerBonePrefix = PassengerBone:Trunk KindOf:INFANTRY
EjectPassengersOnDeath = No
End
;--------- BOPPING ANOTHER TROLL ---------------------------------------------------------------
Behavior = SpecialPowerModule ModuleTag_MordorMtTrollBoredAbility
SpecialPowerTemplate = SpecialAbilityMountainTrollBored
UpdateModuleStartsAttack = Yes
End
Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_MordorMtTrollBored
SpecialPowerTemplate = SpecialAbilityMountainTrollBored
UnpackTime = 800 ; hit the guy
PackTime = 1200
AwardXPForTriggering = 0
StartAbilityRange = 12.0
SpecialWeapon = MordorMtTrollBored
WhichSpecialWeapon = 1 ; sets SPECIAL_WEAPON_ONE
RejectedConditions = WEAPON_TOGGLE ; Can't clock your buddy troll when holding a rock because there's no anim for it
End
//Toggle CommandSet Based on Weaponset condition flags
Behavior = MonitorConditionUpdate ModuleTag_CommandSetSwapper
ModelConditionFlags = ATTACKING_POSITION
ModelConditionCommandSet = MordorMountainTrollRockCommandSetStopBombard
WeaponSetFlags = WEAPONSET_TOGGLE_1
WeaponToggleCommandSet = MordorMountainTrollRockCommandSet
End
;///////////////////
; AISpecialPowers
;///////////////////
Behavior = AISpecialPowerUpdate ToggleSiegeModeAI
CommandButtonName = Command_ToggleMountainTrollRockThrow
SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_SIEGE
End
Geometry = CYLINDER
GeometryMajorRadius = 17.6
GeometryHeight = 32.0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME_NON_SELF_2; volumetric shadow that doesn't cast onto all objects using SHADOW_VOLUME_NON_SELF_2
// *** AUTO RESOLVE DATA ***
AutoResolveUnitType = AutoResolveUnit_Cavalry
AutoResolveCombatChain = AutoResolve_CavalryCombatChain
AutoResolveBody = AutoResolve_MordorMountainTrollBody
AutoResolveArmor
Armor = AutoResolve_MordorMountainTrollArmor
End
AutoResolveWeapon
Weapon = AutoResolve_MordorMountainTrollWeapon
End
End
ChildObject MordorCaveTroll_Summoned MordorMountainTroll
IsTrainable = No
CommandPoints = 0
CommandSet = MordorMountainTrollCommandSet
EquivalentTo = MordorMountainTroll
Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate // This one displays the timer, but the one in the uint does the work
MinLifetime = CREATE_A_HERO_REINFORCEMENT_LIFETIME
MaxLifetime = CREATE_A_HERO_REINFORCEMENT_LIFETIME
DeathType = FADED
End
Behavior = SlowDeathBehavior ModuleTag_FadeDeath
DeathTypes = NONE +FADED
FadeDelay = 0
FadeTime = 5000
DestructionDelay = 5000
DeathFlags = DEATH_3
End
End