;------------------------------------------------------------------------------
;
; Boromir.ini
;
;------------------------------------------------------------------------------
;
Object GondorBoromirParent
; *** ART Parameters ***
; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
SelectPortrait = HPBorimir
; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
ButtonImage = HIBorimir
DescriptionStrategic = CONTROLBAR:LW_ToolTip_Boromir
;Draw = W3DScriptedModelDraw ModuleTag_01
Draw = W3DScriptedModelDraw ModuleTag_DRAW
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
OkToChangeModelColor = Yes
DefaultModelConditionState
Model = GUBoromir2_SKN ;RUEomer_SKN
End
; --- Idle Anims
ModelConditionState = WEAPONSET_HERO_MODE USER_3
ParticleSysBone = BAT_RIBS BladeMaster FollowBone:Yes
ParticleSysBone = BAT_HEAD AragornElendill FollowBone:Yes
End
ModelConditionState = WEAPONSET_HERO_MODE
ParticleSysBone = BAT_RIBS BladeMaster FollowBone:Yes
End
ModelConditionState = USER_3
ParticleSysBone = BAT_HEAD AragornElendill FollowBone:Yes
End
;////start---Tomalf, mounted Boromir
ExtraPublicBone = PASSENGERBONE
DependencySharedModelFlags = TURN_LEFT_HIGH_SPEED TURN_RIGHT_HIGH_SPEED MOVING ACCELERATE DECELERATE TURN_LEFT TURN_RIGHT ATTACKING BACKING_UP
; --------- On Horseback ------------
RandomTexture = gubaramir.tga 0 gufaramir.tga
RandomTexture = gubrmirhrse.tga 0 gufrmirhrse.tga
RandomTexture = gubrmirshield.tga 0 gufrmirshield.tga
ModelConditionState = MOUNTED
Model = GUFrmrHrs_SKN
WeaponLaunchBone = PRIMARY PASSENGERBONE
End
;;----------- Captain of Gondor Mounted
AnimationState = PACKING_TYPE_2 MOUNTED
StateName = STATE_CaptainMounted
Animation = GUFaramir_IDLC ;;GUBoromir_IDLC
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_IDLC ;; GUBoromir_SKL.GUBoromir_IDLC
AnimationMode = ONCE
;AnimationBlendTime = 5
AnimationSpeedFactorRange = 0.5 0.5
End
End
; --------- MOUNTED ------------
; --- Dying Anims
AnimationState = MOUNTED FREEFALL
Animation = freefall
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_FLYC
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOUNTED STUNNED_FLAILING
Animation = JustDie
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_FLYC
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOUNTED DYING SPLATTED
Animation = Land
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_LNDA
AnimationMode = ONCE
End
End
; This is the no-spawn-horse type of death
AnimationState = MOUNTED DYING
Animation = JustDie
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_DIEA
AnimationMode = ONCE
End
End
AnimationState = MOUNTED STUNNED_STANDING_UP
Animation = StandUp
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_GTPA
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.5 1.5
End
End
AnimationState = MOUNTED STUNNED
Animation = Land
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_LNDA
AnimationMode = ONCE
End
End
AnimationState = PARALYZED MOUNTED
Animation
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_IDLA
AnimationMode = LOOP
End
End
; --- Attacking Anims
AnimationState = MOUNTED FIRING_OR_PREATTACK_A ATTACKING_STRUCTURE
StateName = Attacking
Animation = attackinga building while mounted.
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_ATKA ;ATKB looked pretty silly.
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
AnimationState = MOUNTED MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = MountedRunAndFire
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_ATRA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOUNTED FIRING_OR_PREATTACK_A
Animation = AttackA
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_ATKA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation = AttackB
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_ATKB
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End
; --- Moving Anims
AnimationState = MOUNTED TURN_LEFT_HIGH_SPEED
Animation = TurnLeft
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_TNL1
AnimationMode = LOOP
AnimationSpeedFactorRange= 1.2 1.2
AnimationBlendTime = 20
End
End
AnimationState = MOUNTED TURN_RIGHT_HIGH_SPEED
Animation = TurnLeft
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_TNR1
AnimationMode = LOOP
AnimationSpeedFactorRange= 1.2 1.2
AnimationBlendTime = 20
End
End
AnimationState = MOUNTED MOVING TURN_LEFT
Animation = TurnLeft
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_TRNL
AnimationMode = LOOP
AnimationSpeedFactorRange= 1.5 1.5
End
; ;ParticleSysBone = None CalvaryDustTrails
End
AnimationState = MOUNTED MOVING TURN_RIGHT
Animation = TurnRight
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_TRNR
AnimationMode = LOOP
AnimationSpeedFactorRange= 1.5 1.5
End
; ;ParticleSysBone = None CalvaryDustTrails
End
AnimationState = MOUNTED MOVING ACCELERATE
Animation = Accelerate
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_ACCL
AnimationMode = LOOP
End
;ParticleSysBone = None CalvaryDustTrails
End
AnimationState = MOUNTED MOVING DECELERATE
Animation = Decelerate
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_DECL
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.55 0.55
End
;ParticleSysBone = None CalvaryDustTrails
End
AnimationState = MOUNTED MOVING WALKING
Animation = Walk
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_WLKA
AnimationMode = LOOP
End
Flags = RANDOMSTART
;ParticleSysBone = None InfantryDustTrails
End
AnimationState = MOUNTED MOVING BACKING_UP
Animation = BackingUp
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_BAKA
AnimationMode = LOOP
End
Flags = RANDOMSTART
;ParticleSysBone = None InfantryDustTrails
End
AnimationState = MOUNTED MOVING
Animation = RunA
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_RUNA
AnimationMode = LOOP
End
Flags = RANDOMSTART
;ParticleSysBone = None CalvaryDustTrails
End
; --- Selected Anims
AnimationState = MOUNTED SELECTED
SimilarRestart = Yes
StateName = AtAttentionIdle
Animation = ATNB
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_IDLH
AnimationMode = LOOP
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end
if Prev == "AtAttentionIdle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end
if Prev == "STATE_CaptainMounted" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end
EndScript
End
TransitionState = TRANS_MountedSelect
Animation = ATNA
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_ATNA
AnimationMode = ONCE
End
End
;////end---Tomalf, mounted Boromir
; HITA not available on Theoden
; AnimationState = MOUNTED HIT_REACTION
; Animation = Hit_Level_1_a
; AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_HITA
; AnimationMode = ONCE
; End
; End
; --- Idle Anims
AnimationState = MOUNTED
StateName = Idle
Animation = IdleA
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_IDLA
AnimationPriority = 30
AnimationMode = ONCE
AnimationBlendTime = 15
End
//addiotnal animation, IdleB
Animation = IdleB
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_IDLB
AnimationMode = ONCE
AnimationBlendTime = 15
End
Animation = IdleC
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_IDLC
AnimationMode = ONCE
AnimationBlendTime = 15
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
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
Animation = IDLC
AnimationName = GUBoromir_SKL.GUBoromir_IDLC
AnimationMode = ONCE
AnimationPriority = 1
AnimationBlendTime = 5
End
Animation = IDLE
AnimationName = GUBoromir_SKL.GUBoromir_IDLE
AnimationMode = ONCE
AnimationPriority = 1
AnimationBlendTime = 5
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
AnimationSpeedFactorRange = 0.4 0.6 ;Tomalf
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
AnimationState = FIRING_OR_PREATTACK_A WEAPONSET_HERO_MODE ; Blademaster Mode
StateName = STATE_ready
Animation = GUBoromir_ATD1
AnimationName = GUBoromir_SKL.GUBoromir_CHRA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Flags = RESTART_ANIM_WHEN_COMPLETE
FXEvent = Frame:25 Name: FX_BladeMasterHitOrient
FXEvent = Frame:45 Name: FX_BladeMasterHitOrient
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
End
;////start---Tomalf, mounted Boromir
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
;////end---Tomalf, mounted Boromir
#include "..\includes\StunDrawModuleSmall.inc"
; ***DESIGN parameters ***
Side = Men
EditorSorting = UNIT
ThreatLevel = BOROMIR_THREAT_LEVEL
ThingClass = CHARACTER_UNIT
BuildCost = 5;BOROMIR_EM_BUILDCOST
BuildTime = 5;BOROMIR_EM_BUILDTIME
ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG
;//DisplayMeleeDamage = BOROMIR_DAMAGE
HeroSortOrder = 50
TransportSlotCount = TRANSPORTSLOTCOUNT_HERO
WeaponSet
Conditions = None
Weapon = PRIMARY BoromirSword
;AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
;////start---Tomalf, mounted Boromir
WeaponSet
Conditions = MOUNTED
Weapon = PRIMARY BoromirSword
End
;////end---Tomalf, mounted Boromir
ArmorSet
Conditions = None
Armor = ToughHeroArmor
DamageFX = NormalDamageFX
End
;////start---Tomalf, mounted Boromir
ArmorSet
Conditions = MOUNTED
Armor = HeroArmorMounted
DamageFX = NormalDamageFX
End
;////end---Tomalf, mounted Boromir
VisionRange = VISION_HERO_STANDARD
ShroudClearingRange = SHROUD_CLEAR_HERO
MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 1.0%
BountyValue = GONDOR_BOROMIR_BOUNTY_VALUE
DisplayName = OBJECT:GondorBoromir
RecruitText = CONTROLBAR:GondorBoromirRecruit
ReviveText = CONTROLBAR:GondorBoromirRevive
Hotkey = CONTROLBAR:GondorBoromirHotkey
;////start---Tomalf, mounted Boromir
CrusherLevel = 0 ;Can I crush anything?
MountedCrusherLevel = 1 ;Crush level when mounted.
;////end---Tomalf, mounted Boromir
CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
;////start---Tomalf, mounted Boromir
MountedCrushableLevel = 2 ;Crusable level when mounted.
CrushWeapon = HeroCrush
MinCrushVelocityPercent = 50 ; Has to be moving at at least 50% of full speed.
CrushDecelerationPercent = 30 ; Lose xx percent of max velocity when crushing.
CrushKnockback = 40
CrushZFactor = 1.0
;////end---Tomalf, mounted Boromir
CommandSet = BoromirCommandSet
CommandPoints = CPBOROMIR_EM
; *** 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 = BoromirVoiceAttack
VoiceAttackCharge = BoromirVoiceAttackCharge
VoiceAttackMachine = BoromirVoiceAttack
VoiceAttackStructure = BoromirVoiceAttackBuilding
VoiceCreated = BoromirVoiceSalute ;this conflicts with his respawn dialogue line -- rehooked to spawn FX
VoiceFullyCreated = BoromirVoiceSalute ;this conflicts with his respawn dialogue line -- rehooked to spawn FX
VoiceFear = BoromirVoiceHelpMe
VoiceMove = BoromirVoiceMove
VoiceMoveToCamp = BoromirVoiceMoveCamp
VoiceMoveWhileAttacking = BoromirVoiceDisengage
VoicePriority = 84
VoiceRetreatToCastle = BoromirVoiceRetreat
VoiceSelect = BoromirVoiceSelectMS
VoiceSelectBattle = BoromirVoiceSelectBattle
VoiceGuard = BoromirVoiceMove
SoundImpact = ImpactHorse
;BoromirVoiceJoinAnybody
UnitSpecificSounds
VoiceGarrison = BoromirVoiceGarrison
VoiceEnterUnitElvenTransportShip = BoromirVoiceMove
VoiceInitiateCaptureBuilding = BoromirVoiceMove
End
;////start---Tomalf, mounted Boromir
ClientBehavior = ModelConditionSoundSelectorClientBehavior ModuleTag_MCSoundSelector
SoundState = MOUNTED
VoiceAttack = FaramirKnightVoiceAttack
VoiceAttackCharge = FaramirKnightVoiceAttackCharge
VoiceAttackMachine = FaramirKnightVoiceAttackBuilding
VoiceAttackStructure = FaramirKnightVoiceAttackBuilding
VoiceCreated = FaramirRangerVoiceSalute ;this conflicts with his respawn dialogue line
VoiceFullyCreated = FaramirRangerVoiceSalute ;this conflicts with his respawn dialogue line
VoiceFear = FaramirKnightVoiceHelpMe
VoiceMove = FaramirKnightVoiceMove
VoiceMoveToCamp = FaramirKnightVoiceMoveCamp
VoiceMoveWhileAttacking = FaramirKnightVoiceDisengage
VoiceRetreatToCastle = FaramirKnightVoiceRetreat
VoiceSelect = FaramirKnightVoiceSelectMS
VoiceSelectBattle = FaramirKnightVoiceSelectBattle
VoiceGuard = FaramirKnightVoiceMove
;SoundMoveStart = GondorHorseMoveStart ;this is for horse hordes
SoundImpact = ImpactHorse
VoicePriority = 82 ; You could do this if you wanted to...
UnitSpecificSounds
VoiceGarrison = FaramirKnightVoiceMove ; Just double-checking we don't play a ranger voice here
VoiceMoveToTrees = FaramirKnightVoiceMove ; So we don't play a ranger voice here
End
End
End
;////end---Tomalf, mounted Boromir
CrowdResponseKey = GoodMen
; #include "..\includes\DefaultInvisibilityUpdate.inc"
#include "..\includes\StandardUnitEvaEvents.inc"
EvaEventDieOwner = BoromirDie ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths
;For deaths you can respawn from, use the DeathFX
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
;////start---Tomalf, mounted Boromir
AnimationSound = Sound:HorseMoveFootsteps Animation:RUHHs_Theo_SKL.RUHHs_Theo_ACCL Frames:14 32
AnimationSound = Sound:HorseMoveFootsteps Animation:RUHHs_Theo_SKL.RUHHs_Theo_RUNA Frames:0
AnimationSound = Sound:HorseMoveFootsteps Animation:RUHHs_Theo_SKL.RUHHs_Theo_TNL1 Frames:0
AnimationSound = Sound:HorseMoveFootsteps Animation:RUHHs_Theo_SKL.RUHHs_Theo_TNR1 Frames:0
AnimationSound = Sound:HorseWhinny50Percent Animation:RUHHs_Theo_SKL.RUHHs_Theo_IDLC Frames:0
AnimationSound = Sound:HorseDieForHero Animation:RUHHs_Theo_SKL.RUHHs_Theo_LNDA Frames:0
AnimationSound = Sound:BodyFallSoldier Animation:RUHHs_Theo_SKL.RUHHs_Theo_LNDA Frames:1 9
AnimationSound = Sound:HorseDieForHero Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA Frames:0
AnimationSound = Sound:BodyFallGenericNoArmor Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA Frames:4
AnimationSound = Sound:BodyFallSoldier Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA Frames:42
;////end---Tomalf, mounted Boromir
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_EM_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
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
;////start---Tomalf, mounted Boromir
Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
End
;////end---Tomalf, mounted Boromir
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 = 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
AddEmotion = CheerForAboutToCrush_Base
End
LocomotorSet
Locomotor = HeroHumanLocomotor
Condition = SET_NORMAL
Speed = NORMAL_GOOD_HERO_SPEED
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
;////start---Tomalf, mounted Boromir
Behavior = RousingSpeechUpdate ModuleTag_11
SpecialPowerTemplate = SpecialAbilityRousingSpeech
RequiredConditions = MOUNTED
StartAbilityRange = 1.0
UpdateInterval = 500
ApproachRequiresLOS = No
BonusRadius = 250
SpeechDuration = 2500
LeaderFX = FX_TheodenSpeechFX
FollowerFX = FX_TheodenFollowerFX
CreateWave = Yes
WaveWidth = 50
ModifierName = RohanCharge
End
LocomotorSet
Locomotor = HeroHorseLocomotor
Condition = SET_MOUNTED
Speed = NORMAL_CAVALRY_HORDE_SPEED
End
;////end---Tomalf, mounted Boromir
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 = 2533 ;msec
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
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_EnableHorn
SpecialPowerTemplate = SpecialAbilityHornOfGondor
TriggeredBy = Upgrade_ObjectLevel2
End
Behavior = SpecialPowerModule ModuleTag_HornStarter
SpecialPowerTemplate = SpecialAbilityHornOfGondor
UpdateModuleStartsAttack = Yes
AntiCategory = LEADERSHIP
AttributeModifier = BoromirGondorHornAntiCategory ; Used for the anti category duration only.
AttributeModifierRange = 100.0
StartsPaused = Yes ; obtained on level 2
End
Behavior = ModelConditionSpecialAbilityUpdate ModuleTag_HornUpdate
SpecialPowerTemplate = SpecialAbilityHornOfGondor
; StartAbilityRange = 2.0
UnpackTime = 1700 ; Drawing the horn
PreparationTime = 1 ; nothing
PersistentPrepTime = 1600 ; Blowing
PackTime = 1666 ; Putting horn away
; PackSound =
; UnpackSound =
; TriggerSound =
; PrepSoundLoop =
AwardXPForTriggering = 0
End
;------------ Rider Horse -----------------------------------------------
;////start---Tomalf, mounted Boromir
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_UnpauseHorseToggle
SpecialPowerTemplate = SpecialAbilityToggleMounted
TriggeredBy = Upgrade_ObjectLevel2
End
Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter
SpecialPowerTemplate = SpecialAbilityToggleMounted
UpdateModuleStartsAttack = Yes
;InitiateSound =
StartsPaused = Yes
End
Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
SpecialPowerTemplate = SpecialAbilityToggleMounted
; MountedTemplate = GondorBoromirCavalry
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
;////end---Tomalf, mounted Boromir
;------------ Rider Horse -----------------------------------------------
;------------ CAPTAIN OF GONDOR -----------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_KingsFavorEnabler
SpecialPowerTemplate = SpecialAbilityKingsFavor
TriggeredBy = Upgrade_ObjectLevel7
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
;--------------------- Start Leadership bonus ---------------
Behavior = AttributeModifierAuraUpdate ModuleTag_BoromirLeadership
StartsActive = No ;If no, requires upgrade to turn on.
BonusName = GenericHeroLeadership
TriggeredBy = Upgrade_ObjectLevel5
RefreshDelay = 2000
Range = 200
AntiCategory = BUFF
ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_UnpauseLeadership
SpecialPowerTemplate = SpecialAbilityFakeLeadership
TriggeredBy = Upgrade_ObjectLevel5
End
Behavior = SpecialPowerModule ModuleTag_BoromirLeadershipUpdate
SpecialPowerTemplate = SpecialAbilityFakeLeadership
UpdateModuleStartsAttack = No
StartsPaused = Yes
End
;--------------------- End Leadership bonus ---------------
;--------------------- Blade Master bonus ---------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_AragornBladeMasterEnabler
SpecialPowerTemplate = SpecialAbilityAragornBladeMaster
TriggeredBy = Upgrade_ObjectLevel8
End
Behavior = SpecialPowerModule ModuleTag_AragornBladeMasterStarter ; SpecialAbility is a SpecialPower, SpecialPower is anyting special
SpecialPowerTemplate = SpecialAbilityAragornBladeMaster
StartsPaused = Yes
End
Behavior = HeroModeSpecialAbilityUpdate ModuleTag_AragornBladeMasterUpdate ; So the difference in SpecialAbility is that it takes timing from this Update, instead of simply firing.
SpecialPowerTemplate = SpecialAbilityAragornBladeMaster
HeroAttributeModifier = AragornBladeMaster
HeroEffectDuration = 30000 ; this should sync with the auto ability delay re-fire time in commandButtons.ini
UnpackTime = 1 ; insant unpack
TriggerSound = AragornBladeMaster
End
;--------------------- Blade Master bonus ---------------
;///////////////////
; AISpecialPowers
;///////////////////
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
Behavior = AISpecialPowerUpdate AragornBladeMasterAI
CommandButtonName = Command_SpecialAbilityBladeMasterBoromir
SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
End
;////start---Tomalf, mounted Boromir
Behavior = AISpecialPowerUpdate ToggleMountedAI
CommandButtonName = Command_ToggleMounted
SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MOUNTED
End
;////end---Tomalf, mounted Boromir
Geometry = CYLINDER
GeometryMajorRadius = 8.0
GeometryMinorRadius = 8.0
GeometryHeight = 19.2
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 20;
ShadowSizeY = 20;
ShadowTexture = ShadowI;
End
;;///////////////////////////////////////////////////////////////////////////////////
;;///////////////////////////////////////////////////////////////////////////////////
ChildObject GondorBoromirCavalry GondorBoromirParent
Draw = W3DScriptedModelDraw ModuleTag_W3DModelDrawInWorldBuilder
;When in Worldbuilder, show the mounted version of Theoden!
OkToChangeModelColor = Yes
DefaultModelConditionState
Model = None
End
RandomTexture = gubaramir.tga 0 gufaramir.tga
RandomTexture = gubrmirhrse.tga 0 gufrmirhrse.tga
RandomTexture = gubrmirshield.tga 0 gufrmirshield.tga
ModelConditionState = WORLD_BUILDER
Model = GUFrmrHrs_SKN
End
End
Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
SpecialPowerTemplate = SpecialAbilityToggleMounted
TriggerInstantlyOnCreate = Yes ;Instantly puts Theoden on a horse.
; MountedTemplate = GondorBoromirParent
UnpackTime = 2000
PreparationTime = 1
PersistentPrepTime = 250
PackTime = 2000
OpacityTarget = .3 ; How see-thru to be at peak of change
AwardXPForTriggering = 0
End
Body = RespawnBody ModuleTag_RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_EM_HEALTH ;BALANCE Gimli Health
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = 80%
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 = 4100 ;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.
;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:BOROMIR_EM_BUILDCOST Time:BOROMIR_EM_RESPAWNTIME Health:100% ;DEFAULT VALUES
End
End
;;///////////////////////////////////////////////////////////////////////////////////
;;///////////////////////////////////////////////////////////////////////////////////
ChildObject GondorBoromir_EM GondorBoromirParent
Body = ActiveBody ModuleTag_Body
MaxHealth = BOROMIR_EM_HEALTH
DodgePercent = 80%
End
Behavior = CreateObjectDie ModuleTag_SpawnVOLKTomb
DeathTypes = ALL
CreationList = OCL_SpawnGondorBoromir
End
Behavior = AnnounceBirthAndDeathBehavior ModuleTag_AnnounceBirthAndDeathBehavior
End
#include "includes\_LevelToGrant.inc"
End
;;///////////////////////////////////////////////////////////////////////////////////
;;///////////////////////////////////////////////////////////////////////////////////
ChildObject GondorBoromir GondorBoromirParent
Body = RespawnBody ModuleTag_RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_EM_HEALTH ;BALANCE Gimli Health
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = 80%
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 = 4100 ;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.
;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:BOROMIR_EM_BUILDCOST Time:BOROMIR_EM_RESPAWNTIME Health:100% ;DEFAULT VALUES
End
#include "includes\_LevelToGrant.inc"
End