The moment he is made from the fortress, the game crashes with a game.dat error that gives no clues as to what the problem is.
Here is Imrahil's entire code in case someone sees something.
;
; Boromir.ini
;
;------------------------------------------------------------------------------
; Boromir
Object GondorImrahil
; *** ART Parameters ***
; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
SelectPortrait = CPCaptainofGondor
; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
ButtonImage = HICAHCaptainGondor
DescriptionStrategic = CONTROLBAR:LW_ToolTip_Imrahil
Draw = W3DScriptedModelDraw ModuleTag_DRAW
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
OkToChangeModelColor = No
; DependencySharedModelFlags = TURN_LEFT_HIGH_SPEED TURN_RIGHT_HIGH_SPEED MOVING ACCELERATE DECELERATE TURN_LEFT TURN_RIGHT ATTACKING BACKING_UP
DefaultModelConditionState
Model = guimrahil
End
;;;;;;;;;;; MOUNTED STATE ;;;;;;;;;;;;;;;
ModelConditionState = MOUNTED
Model = guimrahilhrs
Skeleton = RURohrm_SKL
WeaponLaunchBone = PRIMARY PASSENGERBONE
End
; --- stunned anims
AnimationState = FREEFALL MOUNTED
Animation = free fall
AnimationName = RURohrm_SKL.RURohrm_FLYB
AnimationMode = LOOP
AnimationBlendTime = 10
End
End
AnimationState = STUNNED_FLAILING MOUNTED
Animation = JustDie
AnimationName = RURohrm_SKL.RURohrm_FLYC
AnimationMode = LOOP
End
End
AnimationState = DYING DEATH_1 SPLATTED MOUNTED
Animation = splatted
AnimationName = RURohrm_SKL.RURohrm_LNDA
AnimationMode = ONCE
AnimationBlendTime = 2
End
FXEvent = Frame:2 Name:FX_SplatDust
End
AnimationState = DYING DEATH_1 MOUNTED
Animation = JustDie
AnimationName = RURohrm_SKL.RURohrm_DIEA
AnimationMode = ONCE
End
End
AnimationState = DYING DEATH_2 MOUNTED
Animation = FadeOut
AnimationName = RURohrm_SKL.RURohrm_IDLB
AnimationMode = ONCE
End
End
AnimationState = STUNNED_STANDING_UP MOUNTED
Animation = StandUp
AnimationName = RURohrm_SKL.RURohrm_GTPA
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.5 1.5
End
End
AnimationState = STUNNED MOUNTED
Animation = Land
AnimationName = RURohrm_SKL.RURohrm_LNDA
AnimationMode = ONCE
End
End
AnimationState = BURNINGDEATH MOUNTED
Animation
AnimationName = RURohrm_SKL.RURohrm_MFDA
AnimationMode = LOOP
Distance = 100
End
End
AnimationState = PARALYZED MOUNTED
Animation
AnimationName = RURohrm_SKL.RURohrm_IDLB
AnimationMode = LOOP
End
End
AnimationState = MOUNTED TURN_LEFT_HIGH_SPEED
Animation = TurnLeft
AnimationName = RURohrm_SKL.RURohrm_TNL1
AnimationMode = LOOP
AnimationBlendTime = 20
End
End
AnimationState = MOUNTED TURN_RIGHT_HIGH_SPEED
Animation = TurnRight
AnimationName = RURohrm_SKL.RURohrm_TNR1
AnimationMode = LOOP
AnimationBlendTime = 20
End
End
AnimationState = MOVING TURN_LEFT MOUNTED
Animation = TurnLeft
AnimationName = RURohrm_SKL.RURohrm_TRNL
AnimationMode = LOOP
End
End
AnimationState = MOVING TURN_RIGHT MOUNTED
Animation = TurnRight
AnimationName = RURohrm_SKL.RURohrm_TRNR
AnimationMode = LOOP
End
End
AnimationState = MOVING ACCELERATE MOUNTED
Animation = Accelerate
AnimationName = RURohrm_SKL.RURohrm_ACCL
AnimationMode = ONCE ; was LOOP
End
End
AnimationState = MOVING DECELERATE MOUNTED
Animation = Decelerate
AnimationName = RURohrm_SKL.RURohrm_DECL
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.55 0.55
End
End
AnimationState = MOVING WALKING MOUNTED
Animation = Walk1
AnimationName = RURohrm_SKL.RURohrm_WLKB
AnimationMode = LOOP
Distance = 25
End
Flags = RANDOMSTART
End
AnimationState = MOVING BACKING_UP MOUNTED
Animation = BACKING UP
AnimationName = RURohrm_SKL.RURohrm_BAKA
AnimationMode = LOOP
End
End
AnimationState = MOUNTED MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = TrotAndFire
AnimationName = RURohrm_SKL.RURohrm_ATRB
AnimationMode = LOOP
Distance = 70; 35
End
Flags = RANDOMSTART
End
AnimationState = MOVING MOUNTED
Animation = RunA
AnimationName = RURohrm_SKL.RURohrm_RUNA
AnimationMode = LOOP
Distance = 40
End
Flags = RANDOMSTART
End
AnimationState = FIRING_OR_PREATTACK_A MOUNTED
Animation = AttackA1
AnimationName = RURohrm_SKL.RURohrm_ATKA
AnimationMode = ONCE
End
End
AnimationState = RAISING_FLAG MOUNTED
Animation = CheerA
AnimationName = RURohrm_SKL.RURohrm_CHRA
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = CheerB
AnimationName = RURohrm_SKL.RURohrm_CHRB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = CheerC
AnimationName = RURohrm_SKL.RURohrm_CHRC
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = CheerD
AnimationName = RURohrm_SKL.RURohrm_CHRD
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = Salute
AnimationName = RURohrm_SKL.RURohrm_SLTA
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
AnimationState = EMOTION_CELEBRATING MOUNTED
Animation = CheerA
AnimationName = RURohrm_SKL.RURohrm_CHRA
AnimationMode = ONCE
End
Animation = CheerB
AnimationName = RURohrm_SKL.RURohrm_CHRB
AnimationMode = ONCE
End
Animation = CheerC
AnimationName = RURohrm_SKL.RURohrm_CHRC
AnimationMode = ONCE
End
Animation = CheerD
AnimationName = RURohrm_SKL.RURohrm_CHRD
AnimationMode = ONCE
End
Animation = Salute
AnimationName = RURohrm_SKL.RURohrm_SLTA
AnimationMode = ONCE
End
Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
End
AnimationState = EMOTION_TAUNTING MOUNTED
Animation = Taunting
AnimationName = RURohrm_SKL.RURohrm_TNTA
AnimationMode = ONCE
End
Animation = Taunting2
AnimationName = RURohrm_SKL.RURohrm_TNTB
AnimationMode = ONCE
End
Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
End
AnimationState = SELECTED MOUNTED
StateName = State_Selected
; SimilarRestart = Yes
Animation = AtAttention
AnimationName = RURohrm_SKL.RURohrm_IDLA
AnimationMode = LOOP
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Idle" then
CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected_Mounted")
EndScript
End
TransitionState = TRANS_Idle_to_Selected_Mounted
Animation = ATNA
AnimationName = RURohrm_SKL.RURohrm_ATNA
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.0 1.0
End
End
TransitionState = TRANS_Selected_to_Idle_Mounted
Animation = ATNC
AnimationName = RURohrm_SKL.RURohrm_ATNA
AnimationMode = ONCE_BACKWARDS
AnimationSpeedFactorRange = 0.6 1.0
End
Flags = START_FRAME_LAST
End
AnimationState = MOUNTED
StateName = Idle
Animation = IdleB
AnimationName = RURohrm_SKL.RURohrm_IDLB
AnimationMode = ONCE
AnimationBlendTime = 15
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "State_Selected" then
CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle_Mounted")
end
EndScript
End
; --- Idle Anims
IdleAnimationState
StateName = Idle
; Animation = IDLA
; AnimationName = GUBoromir_SKL.GUBoromir_IDLA 0 15
; AnimationMode = ONCE
; End
Animation = IDLB
AnimationName = GUBoromir_SKL.GUBoromir_IDLB
AnimationMode = ONCE
AnimationPriority = 20
End
Animation = IDLD
AnimationName = GUBoromir_SKL.GUBoromir_IDLD
AnimationMode = ONCE
AnimationPriority = 1
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end
EndScript
End
TransitionState = Trans_None_To_Sword
Animation = GUBoromir_STHA
AnimationName = GUBoromir_SKL.GUBoromir_STHA ;
AnimationMode = ONCE
End
End
TransitionState = Trans_Sword_To_None
Animation = GUBoromir_STHB
AnimationName = GUBoromir_SKL.GUBoromir_STHB ;
AnimationMode = ONCE
End
End
AnimationState = STUNNED_FLAILING
Flags = RANDOMSTART
Animation = GUBoromir_FLYA
AnimationName = GUBoromir_SKL.GUBoromir_FLYA
AnimationMode = LOOP
End
End
; --- Dying anims
AnimationState = DYING SPLATTED
Animation = GUBoromir_LNDA
AnimationName = GUBoromir_SKL.GUBoromir_LNDA
AnimationMode = ONCE
End
End
AnimationState = DYING AFLAME
Animation = DieAflame
AnimationName = GUBoromir_SKL.GUBoromir_MFDA
AnimationMode = LOOP
End
End
AnimationState = DYING
Animation = GUBoromir_DTHA
AnimationName = GUBoromir_SKL.GUBoromir_DTHA
AnimationMode = ONCE
End
End
AnimationState = PARALYZED
Animation
AnimationName = GUBoromir_IDLB
AnimationMode = LOOP
End
End
; --- Stunned anims
AnimationState = STUNNED_STANDING_UP
Animation = GUBoromir_GTPA
AnimationName = GUBoromir_SKL.GUBoromir_GTPA
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.3 1.3
End
End
AnimationState = STUNNED
Animation = GUBoromir_LNDA
AnimationName = GUBoromir_SKL.GUBoromir_LNDA
AnimationMode = ONCE
End
End
AnimationState = PACKING_TYPE_2
StateName = CaptainPower
Animation = GUBoromir_CHRA
AnimationName = GUBoromir_SKL.GUBoromir_CHRA
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.2 1.2
End
End
; -- Horn anims
AnimationState = UNPACKING SPECIAL_POWER_1
Animation
AnimationName = GUBoromir_SKL.GUBoromir_HRNA
AnimationMode = ONCE
End
End
AnimationState = PREPARING SPECIAL_POWER_1
Animation
AnimationName = GUBoromir_SKL.GUBoromir_HRNB
AnimationMode = ONCE
End
EnteringStateFX = FX_BoromirHorn
End
AnimationState = PACKING SPECIAL_POWER_1
Animation
AnimationName = GUBoromir_SKL.GUBoromir_HRNC
AnimationMode = ONCE
End
End
AnimationState = SPECIAL_POWER_1
Animation
AnimationName = GUBoromir_SKL.GUBoromir_HRNB
AnimationMode = LOOP
End
End
; -- Last Stand Animations
AnimationState = UNPACKING SPECIAL_WEAPON_ONE
Animation
AnimationName = GUBoromir_SKL.GUBoromir_SPCA
AnimationMode = ONCE
End
End
AnimationState = PREPARING SPECIAL_WEAPON_ONE
Animation
AnimationName = GUBoromir_SKL.GUBoromir_SPCB
AnimationMode = ONCE
End
Animation
AnimationName = GUBoromir_SKL.GUBoromir_SPCC
AnimationMode = ONCE
End
EnteringStateFX = FX_BoromirHorn
End
AnimationState = PACKING SPECIAL_WEAPON_ONE
Animation
AnimationName = GUBoromir_SKL.GUBoromir_SPCE
AnimationMode = ONCE
End
End
AnimationState = SPECIAL_WEAPON_ONE
Animation
AnimationName = GUBoromir_SKL.GUBoromir_SPCB
AnimationMode = ONCE
End
Animation
AnimationName = GUBoromir_SKL.GUBoromir_SPCC
AnimationMode = ONCE
End
End
; --- Moving Anims
AnimationState = MOVING WANDER WEAPONSTATE_CLOSE_RANGE
StateName = WithSword
;ParticleSysBone = None InfantryDustTrails
Animation = GUBoromir_WLKA
AnimationName = GUBoromir_SKL.GUBoromir_WLKA
AnimationMode = LOOP
End
End
; non mo cap
; AnimationState = MOVING WEAPONSTATE_CLOSE_RANGE
; StateName = WithSword
; Flags = RANDOMSTART
; ;ParticleSysBone = None InfantryDustTrails
; Animation = GUBoromir_RUNB
; AnimationName = GUBoromir_SKL.GUBoromir_RUNB
; AnimationMode = LOOP
; End
; End
; AnimationState = MOVING DAMAGED
; Flags = RANDOMSTART
; ;ParticleSysBone = None InfantryDustTrails
; Animation = GUBoromir_IWKA
; AnimationName = GUBoromir_SKL.GUBoromir_IWKA
; AnimationMode = LOOP
; End
; End
AnimationState = MOVING WANDER
;ParticleSysBone = None InfantryDustTrails
Animation = GUBoromir_WLKA
AnimationName = GUBoromir_SKL.GUBoromir_WLKA
AnimationMode = LOOP
End
End
AnimationState = MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = RunAndFire
AnimationName = GUBoromir_SKL.GUBoromir_ATRA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOVING
;ParticleSysBone = None InfantryDustTrails
Flags = RANDOMSTART
Animation = GUBoromir_RUNB
AnimationName = GUBoromir_SKL.GUBoromir_RUNA
AnimationMode = LOOP
End
End
; Attacking Anims [Weapon_A]
AnimationState = FIRING_OR_PREATTACK_A WEAPONSTATE_CLOSE_RANGE
StateName = WithSword
Animation = ATKA
AnimationName = GUBoromir_SKL.GUBoromir_ATKA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation = ATKB
AnimationName = GUBoromir_SKL.GUBoromir_ATKB
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
AnimationState = FIRING_OR_PREATTACK_A
Animation = GUBoromir_ATD1
AnimationName = GUBoromir_SKL.GUBoromir_ATKB
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
; --------- Idle Anims -non mocap-
; AnimationState = WEAPONSTATE_CLOSE_RANGE
; StateName = WithSword
; Animation = GUBoromir_IDLC
; AnimationName = GUBoromir_SKL.GUBoromir_IDLC
; AnimationMode = ONCE
; End
; End
; ATTACKING
AnimationState = ATTACKING
Animation = ALERT_1
AnimationName = GUBoromir_SKL.GUBoromir_IDLA
AnimationMode = LOOP; ONCE
End
; Flags = RESTART_ANIM_WHEN_COMPLETE ; acts like an idle animation & keeps running the animations.
End
; --------- Selected Anims and Transitions
TransitionState = TRANS_Idle_to_Selected
Animation = ATND
AnimationName = GUBoromir_SKL.GUBoromir_ATND
AnimationMode = ONCE
End
End
TransitionState = TRANS_Selected_To_Idle
Animation = ATNE
AnimationName = GUBoromir_SKL.GUBoromir_ATNE
AnimationMode = ONCE
End
End
AnimationState = LEVELED ; This state clears itself in 3 seconds
Animation = LevelUp
AnimationName = GUBoromir_SKL.GUBoromir_CHRA
AnimationMode = ONCE
End
End
AnimationState = RAISING_FLAG
Animation = CHRA
AnimationName = GUBoromir_SKL.GUBoromir_CHRA
AnimationMode = Once
End
Animation = CHRB
AnimationName = GUBoromir_SKL.GUBoromir_CHRB
AnimationMode = Once
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
AnimationState = SELECTED
StateName = Selected
SimilarRestart = Yes
Animation = ATNB
AnimationName = GUBoromir_SKL.GUBoromir_ATNB
AnimationMode = LOOP
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end
EndScript
End
;------------emotions---------------
AnimationState = EMOTION_TAUNTING
Animation = CHRA
AnimationName = GUBoromir_SKL.GUBoromir_CHRA
AnimationMode = Once
End
End
AnimationState = EMOTION_CELEBRATING
Animation = CHRB
AnimationName = GUBoromir_SKL.GUBoromir_CHRB
AnimationMode = Once
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
AnimationState = EMOTION_ALERT EMOTION_MORALE_HIGH
Animation = Taunting
AnimationName = GUBoromir_SKL.GUBoromir_TNTB
AnimationMode = ONCE
End
Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
End
; READY IDLE
AnimationState = EMOTION_ALERT
Animation = ALERT_1
AnimationName = GUBoromir_SKL.GUBoromir_IDLA
AnimationMode = LOOP ;ONCE
End
; Flags = RESTART_ANIM_WHEN_COMPLETE ; acts like an idle animation & keeps running the animations.
End
; --------- Click and Hit Reactions ------------
AnimationState = HIT_REACTION HIT_LEVEL_1
Animation = Hit_Level_1_a
AnimationName = GUBoromir_SKL.GUBoromir_HITA
AnimationMode = ONCE
End
End
AnimationState = FIRING_OR_PREATTACK_A WEAPONSET_HERO_MODE ; Blademaster Mode
StateName = STATE_ready
Animation = GUBoromir_ATD1
AnimationName = GUBoromir_SKL.GUBoromir_ATKB
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Flags = RESTART_ANIM_WHEN_COMPLETE
FXEvent = Frame:25 Name: FX_BladeMasterHitOrient
FXEvent = Frame:45 Name: FX_BladeMasterHitOrient
End
End
Draw = W3DScriptedModelDraw DustEffects
DefaultModelConditionState
Model = None
End
IdleAnimationState
End
AnimationState = MOUNTED MOVING WADING
ParticleSysBone = None FootstepSlash
End
AnimationState = MOUNTED MOVING ACCELERATE
ParticleSysBone = None GenericSiegeTrailDust
End
AnimationState = MOUNTED MOVING ACCELERATE
ParticleSysBone = None GenericSiegeTrailDust
End
AnimationState = MOUNTED MOVING
End
End
#include "..\..\..\includes\StunDrawModuleSmall.inc"
; ***DESIGN parameters ***
Side = Men
EditorSorting = UNIT
ThreatLevel = BOROMIR_THREAT_LEVEL
ThingClass = CHARACTER_UNIT
BuildCost = 2000
BuildTime = 1
ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG
;//DisplayMeleeDamage = BOROMIR_DAMAGE
HeroSortOrder = 50
TransportSlotCount = TRANSPORTSLOTCOUNT_HERO
WeaponSet
Conditions = None
Weapon = PRIMARY ImrahilSword
;AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
WeaponSet
Conditions = MOUNTED
Weapon = PRIMARY ImrahilSwordMounted
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
ArmorSet
Conditions = None
Armor = HeroArmor
DamageFX = NormalDamageFX
End
ArmorSet
Conditions = MOUNTED
Armor = HeroArmorMounted
DamageFX = NormalDamageFX
End
VisionRange = VISION_HERO_STANDARD
ShroudClearingRange = SHROUD_CLEAR_HERO
MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 1.0%
BountyValue = GONDOR_BOROMIR_BOUNTY_VALUE
DisplayName = OBJECT:GondorImrahil
RecruitText = CONTROLBAR:GondorImrahilRecruit
ReviveText = CONTROLBAR:GondorImrahilRevive
Hotkey = CONTROLBAR:GondorImrahilHotkey
CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = ImrahilCommandSet
CommandPoints = 40
; *** AUTO RESOLVE DATA ***
AutoResolveUnitType = AutoResolveUnit_Hero
AutoResolveCombatChain = AutoResolve_HeroCombatChain
AutoResolveBody = AutoResolve_BoromirBody
AutoResolveArmor
Armor = AutoResolve_BoromirArmor
End
AutoResolveWeapon
Weapon = AutoResolve_BoromirWeapon
End
AutoResolveLeadership = AutoResolve_BoromirBonus
; *** AUDIO Parameters ***;
VoiceAttack = HeroWestMaleVoiceAttack
VoiceAttackAir = HeroWestMaleVoiceAttack
VoiceAttackCharge = HeroWestMaleVoiceAttackCharge
VoiceAttackMachine = HeroWestMaleVoiceAttack
VoiceAttackStructure = HeroWestMaleVoiceAttackBuilding
VoiceCreated = HeroWestMaleVoiceSalute
VoiceFear = HeroWestMaleVoiceHelpMe
VoiceFullyCreated = HeroWestMaleVoiceSalute
VoiceGuard = HeroWestMaleVoiceMove
VoiceMove = HeroWestMaleVoiceMove
VoiceMoveToCamp = HeroWestMaleVoiceMoveCamp
VoiceMoveWhileAttacking = HeroWestMaleVoiceDisengage
VoicePriority = 95
VoiceRetreatToCastle = HeroWestMaleVoiceRetreat
VoiceSelect = HeroWestMaleVoiceSelectMS
VoiceSelectBattle = HeroWestMaleVoiceSelectBattle
SoundImpact = ImpactHorse
UnitSpecificSounds
VoiceEnterUnitElvenTransportShip = HeroWestMaleVoiceMoveShip
VoiceEnterUnitMordorMumakil = HeroWestMaleVoiceMove
VoiceEnterUnitSlaughterHouse = HeroWestMaleVoiceMove
VoiceEnterUnitTransportShip = HeroWestMaleVoiceMove
VoiceGarrison = HeroWestMaleVoiceMoveGarrison
VoiceInitiateCaptureBuilding = HeroWestMaleVoiceCaptureBuilding
End
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
CrowdResponseKey = GoodMen
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:SwordIntoScabbard1 Animation:GUBoromir_SKL.GUBoromir_HRNA Frames:7
AnimationSound = Sound:BoromirHorn Animation:GUBoromir_SKL.GUBoromir_HRNB Frames:0
AnimationSound = Sound:SwordShingClean1 Animation:GUBoromir_SKL.GUBoromir_HRNC Frames:5
AnimationSound = Sound:FootstepDirtA Animation:GUBoromir_SKL.GUBoromir_RUNA Frames:10 22
AnimationSound = Sound:FootstepDirtA Animation:GUBoromir_SKL.GUBoromir_RUNB Frames:10 22
AnimationSound = Sound:FootstepDirtA Animation:GUBoromir_SKL.GUBoromir_ATRA Frames:11 23 35 47
AnimationSound = Sound:FootstepDirtA Animation:GUBoromir_SKL.GUBoromir_MFDA Frames:8 20 31 41
AnimationSound = Sound:BodyFallGenericNoArmor Animation:GUBoromir_SKL.GUBoromir_DTHA Frames:116
AnimationSound = Sound:BodyFallSoldier Animation:GUBoromir_SKL.GUBoromir_LNDA Frames:4
AnimationSound = Sound:BodyFallGenericNoArmor Animation:GUBoromir_SKL.GUBoromir_SPCE Frames:82
End
Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system
Key = Humanoid_Male Man Man_Male Unit Infantry Hero
UnitWeight = 2
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE HERO ARMY_SUMMARY HEAVY_MELEE_HITTER
PathfindDiameter = 40.0
CamouflageDetectionMultiplier = CAMOUFLAGE_DETECTION_DISTANCE_LONG
; 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
;
; PermanentlyKilledByFilter = NONE ;Who kills me permanently?
; DodgePercent = HERO_DODGE_PERCENT
; End
; Body = ActiveBody ModuleTag_ActiveBody
; CheerRadius = EMOTION_CHEER_RADIUS
; MaxHealth = BOROMIR_HEALTH ; BALANCE
; DodgePercent = HERO_DODGE_PERCENT
; End
; Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership
; SpecialPowerTemplate = SpecialAbilityFakeLeadership
; TriggeredBy = Upgrade_BoromirLastStand
; End
Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate
SpecialPowerTemplate = SpecialAbilityFakeLeadership
UpdateModuleStartsAttack = No
StartsPaused = Yes
End
Body = RespawnBody ModuleTag_RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_HEALTH ;BALANCE Eomer Health
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = HERO_DODGE_PERCENT
End
Behavior = RespawnUpdate ModuleTag_RespawnUpdate
DeathAnim = DYING //Model condition to play when killed-to-respawn
DeathFX = FX_HeroDieToRespawn //FXList to play when killed-to-respawn
DeathAnimationTime = 5000 //How long DeathAnim will take.
InitialSpawnFX = FX_HeroInitialSpawn
RespawnAnim = LEVELED //Animation to play when respawning.
RespawnFX = FX_HeroRespawn //FXList to play when respawning.
RespawnAnimationTime = 2000 //Time it takes for respawn to play.
AutoRespawnAtObjectFilter = NONE +CASTLE_KEEP //Respawn at this location -- and at it's exit production point if possible.
ButtonImage = HICAHCaptainGondor_res
;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others
;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any
RespawnRules = AutoSpawn:No Cost:625 Time:60000 Health:100% ;DEFAULT VALUES
End
Behavior = AutoHealBehavior ModuleTag_BoromirHealing
StartsActive = Yes
HealingAmount = HERO_HEAL_AMOUNT
HealingDelay = 1000
StartHealingDelay = HERO_HEAL_DELAY
HealOnlyIfNotInCombat = Yes
End
Behavior = LifetimeUpdate ModuleTag_LifeTime ; Used after 'death' to continue for a certain time before really dying.
WaitForWakeUp = Yes
End
Behavior = StancesBehavior ModuleTag_StancesBehavior
StanceTemplate = Hero
End
#include "..\..\..\includes\CaptureBuilding.inc"
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
AILuaEventsList = BoromirFunctions
End
Behavior = EmotionTrackerUpdate Module_EmotionTracker
TauntAndPointDistance = 300
TauntAndPointUpdateDelay = 10000
AddEmotion = Doom_Base
// AddEmotion = BraceForBeingCrushed_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
AddEmotion = CheerForAboutToCrush_Base
End
LocomotorSet
Locomotor = HeroHumanLocomotor
Condition = SET_NORMAL
Speed = NORMAL_GOOD_HERO_SPEED
End
LocomotorSet
Locomotor = HeroHorseLocomotor
Condition = SET_MOUNTED
Speed = 90
End
Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityBehavior
End
Behavior = AutoHealBehavior ModuleTag_ElvenGiftHealing
StartsActive = No
TriggeredBy = Upgrade_ElvenGift
HealingAmount = ELVEN_GIFT_REGEN_AMOUNT
HealingDelay = ELVEN_GIFT_REGEN_DELAY
StartHealingDelay = HERO_HEAL_DELAY
HealOnlyIfNotInCombat = Yes
End
Behavior = AttributeModifierUpgrade ModuleTag_ElvenGiftBonus
TriggeredBy = Upgrade_ElvenGift
AttributeModifier = SpellBookElvenGifts
End
Behavior = DualWeaponBehavior ModuleTag_13
SwitchWeaponOnCloseRangeDistance = 161
End
Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
ShockStandingTime = 4000 ;msec
End
Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL
SinkDelay = 3000
SinkRate = 0.40 ; in Dist/Sec
DestructionDelay = 8000
Sound = INITIAL BoromirVoiceDie
; - Where does this stuff go? -
; UnpackTime = 2000
; PreparationTime = 1
; PersistentPrepTime = 4000
; PackTime = 2000
; WhichSpecialWeapon = 1
End
Behavior = SquishCollide ModuleTag_06
;nothing
End
Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
HitReactionLifeTimer1 = 7 ; level 1 (light damage) hit reaction animations in frames (5 per sec)
HitReactionLifeTimer2 = 15 ; level 2 (medium damage) hit reaction animations in frames (5 per sec)
HitReactionLifeTimer3 = 10 ; level 3 (heavy damage) hit reaction animations in frames (5 per sec)
HitReactionThreshold1 = 0.0 ; level 1 (light damage) threshold trigger
HitReactionThreshold2 = 25.0 ; level 2 (medium damage) threshold trigger
HitReactionThreshold3 = 50.0 ; level 3 (heavy damage) threshold trigger
End
;------------ CAPTAIN OF GONDOR -----------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_KingsFavorEnabler
SpecialPowerTemplate = SpecialAbilityKingsFavor
TriggeredBy = Upgrade_ObjectLevel6
End
Behavior = SpecialPowerModule ModuleTag_KingsFavorSpecialPowerModule
SpecialPowerTemplate = SpecialAbilityKingsFavor
StartsPaused = Yes
UpdateModuleStartsAttack = Yes
; InitiateSound = BoromirVoiceCaptainOfGondor
End
Behavior = LevelGrantSpecialPower ModuleTag_KingsFavor
SpecialPowerTemplate = SpecialAbilityKingsFavor
UnpackingVariation = 2
StartAbilityRange = 200.0
LevelFX = FX_LevelUp
Experience = 50
RadiusEffect = 150
AcceptanceFilter = KINGSFAVOR_OBJECTFILTER
UnpackTime = 2000
PreparationTime = 1
FreezeAfterTriggerDuration = 2000 ; Hold AI for this long after we fire.
End
;--------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_GothmogSummonEnabler
SpecialPowerTemplate = SpecialAbilityImrahilSummonKnights
TriggeredBy = Upgrade_ObjectLevel10
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower
SpecialPowerTemplate = SpecialAbilityImrahilSummonKnights
OCL = OCL_SpawnImrahilKnights
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
End
;--------------------- Start Leadership bonus ---------------
Behavior = AttributeModifierAuraUpdate ModuleTag_BoromirLeadership
StartsActive = No ;If no, requires upgrade to turn on.
BonusName = GenericHeroLeadership
TriggeredBy = Upgrade_ObjectLevel1
RefreshDelay = 2000
Range = 200
AntiCategory = BUFF
ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_UnpauseLeadership
SpecialPowerTemplate = SpecialAbilityFakeLeadership
TriggeredBy = Upgrade_ObjectLevel1
End
Behavior = SpecialPowerModule ModuleTag_BoromirLeadershipUpdate
SpecialPowerTemplate = SpecialAbilityFakeLeadership
UpdateModuleStartsAttack = No
StartsPaused = Yes
End
;;; SPEED BOOST ;;;
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_ImrahilBonusEnabler
SpecialPowerTemplate = SpecialAbilityImrahilSpeedBonus
TriggeredBy = Upgrade_ObjectLevel4
End
Behavior = SpecialPowerModule ModuleTag_ImrahilBonusStarter
SpecialPowerTemplate = SpecialAbilityImrahilSpeedBonus
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
End
Behavior = AttributeModifierAuraUpdate ModuleTag_LeadershipSelf
StartsActive = No
BonusName = ImrahilSpeed
TriggeredBy = Upgrade_ObjectLevel4
RefreshDelay = 2000
Range = 10
ObjectFilter = NONE +GondorImrahil
AllowSelf = Yes
End
;;; MOUNTED HORDER SPECIAL ABILITY ;;;
Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter
SpecialPowerTemplate = SpecialAbilityToggleMounted
UpdateModuleStartsAttack = Yes
;InitiateSound =
StartsPaused = No
End
Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
SpecialPowerTemplate = SpecialAbilityToggleMounted
;UnpackingVariation = 2
UnpackTime = 2000
PreparationTime = 1
PersistentPrepTime = 250
PackTime = 2000
OpacityTarget = .3 ; How see-thru to be at peak of change
AwardXPForTriggering = 0
End
;--------------------- End Leadership bonus ---------------
;///////////////////
; AISpecialPowers
;///////////////////
Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle
CommandButtonName = Command_SetStanceBattle
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE
End
Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive
CommandButtonName = Command_SetStanceAggressive
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE
End
Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround
CommandButtonName = Command_SetStanceHoldGround
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND
End
Behavior = AISpecialPowerUpdate BoromirHornOfGondorAI
CommandButtonName = Command_SpecialAbilityHornOfGondor
SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
End
Behavior = AISpecialPowerUpdate SpecialPowerBoromirGiveXPAoE
CommandButtonName = Command_SpecialAbilityCaptainOfGondorBoromir
SpecialPowerAIType = AI_SPECIAL_POWER_GIVEXP_AOE
SpecialPowerRadius = 30.0
End
Geometry = CYLINDER
GeometryMajorRadius = 8.0
GeometryMinorRadius = 8.0
GeometryHeight = 19.2
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 20;
ShadowSizeY = 20;
ShadowTexture = ShadowI;
End
;------------------------------------------------------------------------------
ChildObject GondorImrahilCavalry GondorImrahil
Draw = W3DScriptedModelDraw ModuleTag_W3DModelDrawInWorldBuilder
;When in Worldbuilder, show the mounted version of Theoden!
OkToChangeModelColor = Yes
DefaultModelConditionState
;Model = RUHHs_Theo_M
;WeaponLaunchBone = PRIMARY PASSENGERBONE
Model = None
End
ModelConditionState = WORLD_BUILDER
Model = guimrahilhrs
End
End
Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
SpecialPowerTemplate = SpecialAbilityToggleMounted
TriggerInstantlyOnCreate = Yes ;Instantly puts Theoden on a horse.
UnpackTime = 2000
PreparationTime = 1
PersistentPrepTime = 250
PackTime = 2000
OpacityTarget = .3 ; How see-thru to be at peak of change
; PackSound =
; UnpackSound =
; TriggerSound =
; PrepSoundLoop =
AwardXPForTriggering = 0
End
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound: HorseWhinny50Percent Animation: GUGdfHrs_SKL.GUGdfHrs_IDLC Frames: 0
End
; *** AUDIO Parameters ***;
;VoiceMove = TheodenVoiceMoveMounted
;SoundMoveStart = GondorHorseMoveStart
;TheodenVoiceDismountHobbit
;TheodenVoiceFavor
;TheodenVoiceGloriousCharge
;TheodenVoiceJoinHobbit
;TheodenVoiceModeFoot
;TheodenVoiceModeMount
;TheodenVoiceRespawn
;TheodenVoiceSpeech
;TheodenRousingSpeechEnd (old speech?)
ShadowSizeX = 30;
ShadowSizeY = 21;
End