CB:
CommandButton Command_SpecialAbilityTurgulAdG
Command = SPECIAL_POWER
SpecialPower = SpecialAbilityTurgulAdG
TextLabel = CONTROLBAR:AllianzdG
ButtonImage = HSKingDainSummonRoyalGuard
;Options = NEED_TARGET_POS CONTEXTMODE_COMMAND
RadiusCursorType = SummonOathBreakersRadiusCursor
CursorName = Bombard
InvalidCursorName = GenericInvalid
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:ToolTipAllianzdG
InPalantir = Yes
End
CS:
CommandSet TurgulCommandSet
1 = Command_ToggleStance
2 = Command_SpecialAbilityTurgulLeadership
3 = Command_TurgulToggleMounted
4 = Command_SpecialAbilityAthelas
5 = Command_SpecialAbilityBladeMaster
6 = Command_CommandsetNew
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
CommandSet Turgul2CommandSet
1 = Command_ToggleStance
2 = Command_SpecialAbilityWizardBlast
3 = Command_GondorGandalfLightningSword
4 = Command_GondorGandalfIstariLight
;5 = Command_SpecialAbilityWordOfPower
[b]5 = Command_SpecialAbilityTurgulAdG[/b]
6 = Command_CommandsetOld
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
Helden.ini:
;------------------------------------------------------------------------------
;
; Turgûl.ini
;
;------------------------------------------------------------------------------
; Turgûl
Object GondorTurgul
; *** ART Parameters ***
; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
SelectPortrait = HPTurgul
; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
ButtonImage = HITurgul
DescriptionStrategic = CONTROLBAR:LW_ToolTip_Boromir
Draw = W3DScriptedModelDraw ModuleTag_DRAW
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
OkToChangeModelColor = Yes
DefaultModelConditionState
Model = guturgul
End
ModelConditionState = MOUNTED
Model = guturgulmounted
End
ModelConditionState = WEAPONSET_TOGGLE_1
Model = guturgul
End
ModelConditionState = WEAPONSET_TOGGLE_2
Model = guturgul
End
;ModelConditionState = WEAPONSET_TOGGLE_3
; Model = guturgul
;End
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
AnimationState = USER_1
StateName = OATH_BREAKERS
Animation
AnimationName = MUNazgul_SKL.MUNazgul_ATKA
AnimationMode = ONCE
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
; 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
Animation = IdleC
AnimationName = RUHHs_Theo_SKL.RUHHs_Theo_IDLC
AnimationMode = ONCE
AnimationBlendTime = 15
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
; --- Idle Anims
IdleAnimationState
StateName = Idle
Animation
AnimationName = MUNazgul_SKL.MUNazgul_IDLB
AnimationPriority = 4
AnimationBlendTime = 15
AnimationMode = ONCE
End
Animation
AnimationName = MUNazgul_SKL.MUNazgul_IDLC
AnimationPriority = 1
AnimationBlendTime = 15
AnimationMode = ONCE
End
Animation
AnimationName = MUNazgul_SKL.MUNazgul_IDLD
AnimationPriority = 1
AnimationBlendTime = 15
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_to_Idle") end
EndScript
End
AnimationState = DYING BURNINGDEATH
Animation
AnimationName = MUNazgul_SKL.MUNazgul_DTHA
AnimationMode = ONCE
AnimationBlendTime = 10
End
End
AnimationState = DYING
Animation
AnimationName = MUNazgul_SKL.MUNazgul_DTHA
AnimationMode = ONCE
End
End
AnimationState = BURNINGDEATH
Animation
AnimationName = MUNazgul_SKL.MUNazgul_MFDA
AnimationMode = LOOP
Distance = 90
End
End
AnimationState = FREEFALL
Animation
AnimationName = MUNazgul_SKL.MUNazgul_FLYA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = STUNNED_FLAILING
Animation
AnimationName = MUNazgul_SKL.MUNazgul_FLYA
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Flags = RANDOMSTART
End
AnimationState = STUNNED_STANDING_UP
Animation
AnimationName = MUNazgul_SKL.MUNazgul_GTPA
AnimationMode = ONCE
End
End
AnimationState = MOVING FIRING_OR_PREATTACK_A
Animation
AnimationName = MUNazgul_SKL.MUNazgul_RUNB
AnimationMode = LOOP
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
AnimationState = FIRING_OR_PREATTACK_A
Animation
AnimationName = MUNazgul_SKL.MUNazgul_ATKA
AnimationMode = ONCE
End
Animation
AnimationName = MUNazgul_SKL.MUNazgul_ATKB
AnimationMode = ONCE
End
End
AnimationState = MOVING
Animation
AnimationName = MUNazgul_SKL.MUNazgul_RUNA
AnimationMode = LOOP
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
; --------- Click and Hit Reactions ------------
AnimationState = HIT_REACTION HIT_LEVEL_1
Animation = Hit_Level_1_a
AnimationName = MUNazgul_SKL.MUNazgul_HITA
AnimationMode = ONCE
End
End
AnimationState = LEVELED
Animation = Hit_Level_1_a
AnimationName = MUNazgul_SKL.MUNazgul_LVLA
AnimationMode = ONCE
End
End
; AnimationState = ENGAGED
; Animation
; AnimationName = MUNazgul_SKL.MUNazgul_APPA
; AnimationMode = LOOP
; End
; End
AnimationState = EMOTION_CELEBRATING
Animation
AnimationName = MUNazgul_SKL.MUNazgul_CHRA
AnimationMode = LOOP
End
End
AnimationState = EMOTION_TAUNTING
Animation = TNTA
AnimationName = MUNazgul_SKL.MUNazgul_TNTA
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.8 1.2
End
End
AnimationState = RAISING_FLAG
Animation
AnimationName = MUNazgul_SKL.MUNazgul_CHRA
AnimationMode = LOOP
End
End
AnimationState = SELECTED
Animation
AnimationName = MUNazgul_SKL.MUNazgul_ATNB
AnimationMode = LOOP
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end
EndScript
End
TransitionState = TRANS_Idle_to_Selected
Animation = ATNA
AnimationName = MUNazgul_SKL.MUNazgul_ATNA
AnimationMode = ONCE
AnimationBlendTime = 10
End
End
TransitionState = TRANS_Selected_to_Idle
Animation = ATNF
AnimationName = MUNazgul_SKL.MUNazgul_ATNF
AnimationMode = ONCE
AnimationBlendTime = 10
End
End
End
;-------------------------------------------------------------------------------------------
; ***DESIGN parameters ***
Side = Men
EditorSorting = UNIT
ThreatLevel = BOROMIR_THREAT_LEVEL
ThingClass = CHARACTER_UNIT
BuildCost = 1
BuildTime = 1
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
ArmorSet
Conditions = None
Armor = ToughHeroArmor
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:GondorTurgul
RecruitText = CONTROLBAR:GondorTurgulRecruit
ReviveText = CONTROLBAR:GondorTurgulRevive
Hotkey = CONTROLBAR:GondorTurgulHotkey
CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = TurgulCommandSet
CommandPoints = 50
; *** 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
CrowdResponseKey = GoodMen
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
EvaEventDieOwner = NazgulDie ;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:FootstepDirtA Animation:MUBLKRIDER_SKL.MUBLKRIDER_CHRA Frames:26 38
AnimationSound = Sound:HorseMoveFootstepsLoose Animation:MUBlkRider_SKL.MUBlkRider_ACCL Frames:8 30
AnimationSound = Sound:HorseMoveFootstepsLoose Animation:MUBlkRider_SKL.MUBlkRider_RUNA Frames:0
AnimationSound = Sound:HorseMoveFootstepsLoose Animation:MUBlkRider_SKL.MUBlkRider_RUNB Frames:0
AnimationSound = Sound:HorseMoveFootstepsLoose Animation:MUBlkRider_SKL.MUBlkRider_TNL1 Frames:0
AnimationSound = Sound:HorseMoveFootstepsLoose Animation:MUBlkRider_SKL.MUBlkRider_TNR1 Frames:0
AnimationSound = Sound:HorseMoveFootstepsLoose Animation:MUBlkRider_SKL.MUBlkRider_TRNL Frames:0
AnimationSound = Sound:HorseMoveFootstepsLoose Animation:MUBlkRider_SKL.MUBlkRider_TRNR Frames:0
AnimationSound = Sound:HorseWhinny Animation:MUBlkRider_SKL.MUBlkRider_DIEA Frames:0
;AnimationSound = Sound:HorseWhinny Animation:MUBlkRider_SKL.MUBlkRider_DIEB Frames:0
AnimationSound = Sound:HorseWhinny Animation:MUBlkRider_SKL.MUBlkRider_DIEC Frames:0
;AnimationSound = Sound:HorseWhinny Animation:MUBlkRider_SKL.MUBlkRider_DIED Frames:0
AnimationSound = Sound:HorseWhinny Animation:MUBlkRider_SKL.MUBlkRider_IDLC Frames:9
AnimationSound = Sound:HorseWhinny Animation:MUBlkRider_SKL.MUBlkRider_TNTB Frames:9
AnimationSound = Sound:BodyFallGeneric1 Animation:MUBlkRider_SKL.MUBlkRider_DIEA Frames:10 46
AnimationSound = Sound:BodyFallGeneric1 Animation:MUBlkRider_SKL.MUBlkRider_DIEC Frames:20 43
AnimationSound = Sound:BodyFallGenericNoArmor Animation:MUBlkRider_SKL.MUBlkRider_DIEC Frames:70
AnimationSound = Sound:BodyFallGeneric1 Animation:MUBlkRider_SKL.MUBlkRider_LNDA Frames:3 11
AnimationSound = Sound:HorseWhinny Animation:MUBlkRider_SKL.MUBlkRider_LNDA Frames:0
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 = STUNNED ;Model condition to play when killed-to-respawn
DeathAnim = DYING ;Model condition to play when killed-to-respawn
DeathFX = FX_BoromirDieToRespawn ;FXList to play when killed-to-respawn
DeathAnimationTime = 4966 ;1133 ;How long DeathAnim will take.
InitialSpawnFX = FX_BoromirInitialSpawn
RespawnAnim = LEVELED ;Animation to play when respawning.
RespawnFX = FX_BoromirRespawn ;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 = HIBorimir_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 = NORMAL_CAVALRY_FAST_HORDE_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
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
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_EnableHorn
SpecialPowerTemplate = SpecialAbilityHornOfGondor
TriggeredBy = Upgrade_BoromirHornOfGondor
End
Behavior = SpecialPowerModule ModuleTag_HornStarter
SpecialPowerTemplate = SpecialAbilityHornOfGondor
UpdateModuleStartsAttack = Yes
AntiCategory = LEADERSHIP
AttributeModifier = BoromirGondorHornAntiCategory ; Used for the anti category duration only.
AttributeModifierRange = 70.0 ; RotWK originally 100
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
;-Pferd-
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_UnpauseHorseToggle
SpecialPowerTemplate = SpecialAbilityToggleMounted
TriggeredBy = Upgrade_TurgulToggleMounted
End
; --------- ATHELAS -----------------------------------------------------------------
Behavior = SpecialPowerModule ModuleTag_AragornAthelas
SpecialPowerTemplate = SpecialAbilityAragornAthelas
UpdateModuleStartsAttack = Yes
TriggerFX = FX_AragornAthelas
SetModelCondition = ModelConditionState:USER_2
SetModelConditionTime = 2.1
End
Behavior = SpecialAbilityUpdate ModuleTag_AragornAthelasUpdate
SpecialPowerTemplate = SpecialAbilityAragornAthelas
StartAbilityRange = 1.6
UnpackTime = 1 ; Nothing to touching it
PreparationTime = 3 ; touching it to grabbing it
PackTime = 2096 ; whacking it to holding it nice
AwardXPForTriggering = 0
End
Behavior = AutoAbilityBehavior ModuleTag_AthelasAutoAbility
SpecialAbility = SpecialAbilityAragornAthelas
MaxScanRange = 150
Query = 1 NONE +HERO ALLIES
End
Behavior = AutoHealBehavior ModuleTag_AthelasHealing
StartsActive = Yes ; Active, as in no upgrade required
ButtonTriggered = Yes ; But doesn't actually run on its own.
HealingAmount = ATHELAS_HEAL_AMOUNT
Radius = 200
HealOnlyOthers = No
SingleBurst = Yes
UnitHealPulseFX = FX_AragornAthelas
KindOf = HERO
End
;--------------------BLADEMASTER------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_AragornBladeMasterEnabler
SpecialPowerTemplate = SpecialAbilityAragornBladeMaster
TriggeredBy = Upgrade_AragornBladeMaster
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
;------- WORD OF POWER (BLUE RING BLAST) SPELL --------------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_WordEnabler
SpecialPowerTemplate = SpecialAbilityWordOfPower
TriggeredBy = Upgrade_GandalfWordOfPower
End
Behavior = SpecialPowerModule ModuleTag_WordStarter
SpecialPowerTemplate = SpecialAbilityWordOfPower
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
End
Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_WordWeaponFireUpdate
SpecialPowerTemplate = SpecialAbilityWordOfPower
WhichSpecialWeapon = 1
SkipContinue = Yes
UnpackTime = 1700
PackTime = 1
FreezeAfterTriggerDuration = 2500 ; Hold AI for this long after we fire.
AwardXPForTriggering = 0
StartAbilityRange = 80.0
SpecialWeapon = TurgulWordOfPower
End
;--------FÜHERERSCHAFT------------------;
Behavior = AttributeModifierAuraUpdate ModuleTag_Leadership
StartsActive = No
BonusName = TurgulLeadership
TriggeredBy = Upgrade_TheodenLeadership
RefreshDelay = 2000
Range = 200
AntiCategory = BUFF
ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership
SpecialPowerTemplate = SpecialAbilityFakeLeadership
TriggeredBy = Upgrade_TheodenLeadership
End
;------- ISTARI WEAPON --------------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_IstariLightEnabler
SpecialPowerTemplate = SpecialAbilityIstariLight
TriggeredBy = Upgrade_GandalfIstariLight
End
Behavior = SpecialPowerModule ModuleTag_IstariLightPower
SpecialPowerTemplate = SpecialAbilityIstariLight
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = GandalfVoiceAttackIstariLight ;this plays when he targets, not when he fires
End
Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_IstariLightUpdate
SpecialPowerTemplate = SpecialAbilityIstariLight
SkipContinue = Yes
UnpackTime = 2000
PreparationTime = 1
PersistentPrepTime = 2000
PackTime = 500
AwardXPForTriggering = 0
StartAbilityRange = GANDALF_PHASER_CAST_RANGE ; Note: This has to be smaller than the weapon range or it'll never succeed
ApproachRequiresLOS = Yes
SpecialWeapon = GandalfStaffWeapon
MustFinishAbility = Yes
WhichSpecialWeapon = 3
BusyForDuration = 2500
End
;------- WIZARD BLAST SPELL --------------------------------------------------------------------------------
Behavior = SpecialPowerModule ModuleTag_BlastStarter
SpecialPowerTemplate = SpecialAbilityWizardBlast
UpdateModuleStartsAttack = Yes
StartsPaused = No
InitiateSound = GandalfVoiceAttackWizardBlast ;this plays when he targets, not when he fires
End
Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_WizardBlastWeaponFireUpdate
SpecialPowerTemplate = SpecialAbilityWizardBlast
WhichSpecialWeapon = 2
SkipContinue = Yes
UnpackTime = 900
PreparationTime = 1
PersistentPrepTime = 1500
PackTime = 1100
AwardXPForTriggering = 0
StartAbilityRange = 80.0
MustFinishAbility = Yes
SpecialWeapon = GandalfWizardBlast
End
;------- LIGHTNING SWORD SPELL --------------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_LightningEnabler
SpecialPowerTemplate = SpecialAbilityLightningSword
TriggeredBy = Upgrade_GandalfLightningSword
End
Behavior = SpecialPowerModule ModuleTag_11
SpecialPowerTemplate = SpecialAbilityLightningSword
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = GandalfVoiceAttackLightningSword ;this plays when he targets, not when he fires
End
Behavior = ArrowStormUpdate ModuleTag_12
SpecialPowerTemplate = SpecialAbilityLightningSword
StartAbilityRange = 275.0
UnpackingVariation = 1
UnpackTime = 2500 ; Pull out arrow
PreparationTime = 1 ; Quick shot
PersistentPrepTime = 500 ; looping the quick shot
PackTime = 1500 ; back to idle
ApproachRequiresLOS = Yes ; required so that it doesn't shoot through walls
AwardXPForTriggering = 0
ActiveLoopSound = GandalfLightningLoop ; Sound loops entire time ability is actively firing
;Specific to ArrowStorm
WeaponTemplate = GandalfLightningSwordBlastWeapon
TargetRadius = 150
ShotsPerTarget = 1
ShotsPerBurst = 1
MaxShots = 25 ; will double up if run out of targets
End
;-----------------------------Pferd----------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_HorseEnabler
SpecialPowerTemplate = SpecialAbilityToggleMounted
TriggeredBy = Upgrade_Shadowfax
End
Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter
SpecialPowerTemplate = SpecialAbilityToggleMounted
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
End
Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
SpecialPowerTemplate = SpecialAbilityToggleMounted
UnpackTime = 2000
PreparationTime = 1
PersistentPrepTime = 250
PackTime = 2000
OpacityTarget = .3 ; How see-thru to be at peak of change
AwardXPForTriggering = 0
End
;-----------------------------Allianz des Guten-----------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_AragornOathbreakersEnabler
SpecialPowerTemplate = SpecialAbilityTurgulAdG
TriggeredBy = Upgrade_AragornOathbreakers
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower
SpecialPowerTemplate = SpecialAbilityTurgulAdG
OCL = OCL_TurgulAdG
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End
;-----------------CommandSets----------------------------
Behavior = MonitorConditionUpdate ModuleTag_CommandSetNew
ModelConditionFlags = WEAPONSET_TOGGLE_1
ModelConditionCommandSet = Turgul2CommandSet
End
Behavior = MonitorConditionUpdate ModuleTag_CommandSetOld
ModelConditionFlags = WEAPONSET_TOGGLE_2
ModelConditionCommandSet = TurgulCommandSet
End
; Behavior = MonitorConditionUpdate ModuleTag_CommandSetNew2
; ModelConditionFlags = WEAPONSET_TOGGLE_3
; ModelConditionCommandSet = Turgul3CommandSet
; End
;///////////////////
; 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