home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2006 April
/
Gamestar_83_2006-04_dvd.iso
/
Dema
/
lotrbfme2_demo.exe
/
INI.big
/
data_ini_object_goodfaction_units_elven_glorfindel.ini
< prev
next >
Wrap
Text File
|
2006-01-31
|
30KB
|
996 lines
;------------------------------------------------------------------------------
;
; Glorfindel.ini
;
;------------------------------------------------------------------------------
Object ElvenGlorfindel
; *** ART Parameters ***
; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
SelectPortrait = HPGlorfindel
; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
ButtonImage = HIGlorfindel
DescriptionStrategic = CONTROLBAR:LW_ToolTip_Glorfindel
Draw = W3DScriptedModelDraw ModuleTag_DRAW
;WadingParticleSys = EntRipples
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
OkToChangeModelColor = Yes
DefaultModelConditionState
Model = EUGlrfdl_SKN
Skeleton = EUGlrfdl_SKL
End
; mounted glorfindel with Wind Rider
ModelConditionState = MOUNTED USER_3 USER_4
Model = EUGlrfnMnt_SKN
Skeleton = RUHHs_Theo_SKL
ParticleSysBone = NONE WindRiderFoot FollowBone:Yes
ParticleSysBone = BAT_SPINE2 BladeMaster FollowBone:Yes
End
ModelConditionState = MOUNTED USER_4
Model = EUGlrfnMnt_SKN
Skeleton = RUHHs_Theo_SKL
ParticleSysBone = BAT_SPINE2 BladeMaster FollowBone:Yes
End
; mounted glorfindel with Wind Rider
ModelConditionState = MOUNTED USER_3
Model = EUGlrfnMnt_SKN
Skeleton = RUHHs_Theo_SKL
ParticleSysBone = NONE WindRiderFoot FollowBone:Yes
End
ModelConditionState = MOUNTED
Model = EUGlrfnMnt_SKN
Skeleton = RUHHs_Theo_SKL
End
ModelConditionState = USER_4
ParticleSysBone = BAT_SPINE1 BladeMaster FollowBone:Yes
End
; --- Transition Anims
; --- Idle Anims
IdleAnimationState
Animation = IDLB
AnimationName = EUGlrfdl_IDLB
AnimationMode = ONCE
End
Animation = IDLC
AnimationName = EUGlrfdl_IDLC
AnimationMode = ONCE
End
Animation = IDLD
AnimationName = EUGlrfdl_IDLD
AnimationMode = ONCE
End
Animation = IDLE
AnimationName = EUGlrfdl_IDLE
AnimationMode = ONCE
End
StateName = Idle
BeginScript
CurDrawableHideSubObject("spear")
Prev = CurDrawablePrevAnimationState()
if Prev == "Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end
EndScript
End
TransitionState = TRANS_MountedSelect
Animation = ATNA
AnimationName = RUHHs_Theo_ATNA
AnimationMode = ONCE
End
End
;------------- mounted ---------
; --- Moving Anims
AnimationState = MOUNTED FREEFALL
Animation = freefall
AnimationName = RUHHs_Theo_FLYC
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOUNTED STUNNED_FLAILING
Animation = JustDie
AnimationName = RUHHs_Theo_FLYA
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.2 0.3
End
Flags = RANDOMSTART
End
AnimationState = MOUNTED DYING SPLATTED
Animation = Land
AnimationName = RUHHs_Theo_LNDA
AnimationMode = ONCE
End
End
AnimationState = MOUNTED DYING
Animation = DieA
AnimationName = RUHHs_Theo_DIEA
AnimationMode = ONCE
End
End
AnimationState = MOUNTED STUNNED_STANDING_UP
Animation = StandUp
AnimationName = RUHHs_Theo_GTPA
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.3 1.3
End
End
AnimationState = MOUNTED STUNNED
Animation = Land
AnimationName = RUHHs_Theo_LNDA
AnimationMode = ONCE
End
End
AnimationState = PARALYZED MOUNTED
Animation
AnimationName = RUHHs_Theo_IDLA
AnimationMode = LOOP
End
End
AnimationState = MOUNTED MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = MountedRunAndFire
AnimationName = RUHHs_Theo_ATRB
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOUNTED FIRING_OR_PREATTACK_A
Animation = AttackA
AnimationName = RUHHs_Theo_ATKA
AnimationMode = LOOP
UseWeaponTiming = Yes
End
Animation = AttackB
AnimationName = RUHHs_Theo_ATKB
AnimationMode = LOOP
UseWeaponTiming = Yes
End
End
AnimationState = MOUNTED TURN_LEFT_HIGH_SPEED
Animation = TurnLeft
AnimationName = RUHHs_Theo_TNL1
AnimationMode = LOOP
End
End
AnimationState = MOUNTED TURN_RIGHT_HIGH_SPEED
Animation = TurnRight
AnimationName = RUHHs_Theo_TNR1
AnimationMode = LOOP
End
End
AnimationState = MOUNTED MOVING ACCELERATE
Animation = Accelerate
AnimationName = RUHHs_Theo_ACCL
AnimationMode = LOOP
End
End
AnimationState = MOUNTED MOVING DECELERATE
Animation = Decelerate
AnimationName = RUHHs_Theo_DECL
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.6 0.6
End
End
AnimationState = MOUNTED TURN_LEFT
Animation = TurnLeft
AnimationName = RUHHs_Theo_TRNL
AnimationMode = LOOP
End
End
AnimationState = MOUNTED TURN_RIGHT
Animation = TurnRight
AnimationName = RUHHs_Theo_TRNR
AnimationMode = LOOP
End
End
AnimationState = MOUNTED MOVING WALKING
Animation = Walk
AnimationName = RUHHs_Theo_WLKA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOUNTED MOVING BACKING_UP
Animation = BackingUp
AnimationName = RUHHs_Theo_BAKA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOUNTED MOVING
Animation = RunA
AnimationName = RUHHs_Theo_RUNA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOUNTED USER_1
Animation
AnimationName = EUGlrfnMnt_SPCA
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.7 0.7
End
End
AnimationState = MOUNTED USER_2
Animation
AnimationName = EUGlrfnMnt_SPCB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.8 0.8
End
End
AnimationState = RAISING_FLAG MOUNTED
Animation = CHRA
AnimationName = RUHHs_Theo_CHRA
AnimationMode = LOOP
End
End
AnimationState = MOUNTED SELECTED
SimilarRestart = Yes
StateName = AtAttentionIdle
Animation = ATNB
AnimationName = RUHHs_Theo_IDLH
AnimationMode = LOOP
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end
EndScript
End
TransitionState = TRANS_MountedSelect
Animation = ATNA
AnimationName = RUHHs_Theo_ATNA
AnimationMode = ONCE
End
End
AnimationState = MOUNTED LEVELED
Animation = LevelUp
AnimationName = RUHHs_Theo_CHRA
AnimationMode = ONCE
End
End
AnimationState = MOUNTED
StateName = Idle
Animation = IdleA
AnimationName = RUHHs_Theo_IDLA
AnimationPriority = 30
AnimationMode = LOOP
AnimationBlendTime = 15
End
Animation = IDLB
AnimationName = RUHHs_Theo_IDLB
AnimationPriority = 15
AnimationMode = LOOP
AnimationBlendTime = 30
End
Animation = IDLC
AnimationName = RUHHs_Theo_IDLC
AnimationPriority = 15
AnimationMode = LOOP
AnimationBlendTime = 30
End
Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
End
;---------not mounted
AnimationState = STUNNED_FLAILING
Flags = RANDOMSTART
Animation
AnimationName = EUGlrfdl_FLYA
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
StateName = NoSword
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
EndScript
End
AnimationState = STUNNED_STANDING_UP
Animation
AnimationName = EUGlrfdl_GTPA
AnimationMode = ONCE
AnimationSpeedFactorRange= 1.5 1.5
End
End
AnimationState = STUNNED
Animation
AnimationName = EUGlrfdl_LNDA
AnimationMode = ONCE
End
StateName = NoSword
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
EndScript
End
; --- Dying anims
AnimationState = DYING SPLATTED
Animation
AnimationName = EUGlrfdl_LNDA
AnimationMode = ONCE
End
StateName = NoSword
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
EndScript
End
AnimationState = DYING AFLAME
Animation = DieAflame
AnimationName = EUGlrfdl_MFDA
AnimationMode = LOOP
End
End
AnimationState = DYING
Animation
AnimationName = EUGlrfdl_DTHA
AnimationMode = ONCE
AnimationPriority = 10
End
End
AnimationState = PARALYZED
Animation
AnimationName = EUGlrfdl_IDLB
AnimationMode = LOOP
End
End
AnimationState = MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = RunAndFire
AnimationName = EUGlrfdl_ATKSV2
AnimationMode = LOOP
End
Flags = RANDOMSTART
BeginScript
CurDrawableHideSubObject("spear")
EndScript
End
AnimationState = MOVING ATTACKING
Flags = RANDOMSTART
Animation = RUNB
AnimationName = EUGlrfdl_RUNB
AnimationMode = LOOP
End
StateName = NoSword
BeginScript
CurDrawableHideSubObject("spear")
Prev = CurDrawablePrevAnimationState()
if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
EndScript
End
AnimationState = MOVING
Flags = RANDOMSTART
Animation = RUNA
AnimationName = EUGlrfdl_RUNA
AnimationMode = LOOP
End
StateName = NoSword
BeginScript
CurDrawableHideSubObject("spear")
Prev = CurDrawablePrevAnimationState()
if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
EndScript
End
AnimationState = USER_1
Animation
AnimationName = EUGlrfdl_SPCA
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.75 0.75
End
End
AnimationState = USER_2
Animation
AnimationName = EUGlrfdl_SPCB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.8 0.8
End
End
; Attacking Anims [Weapon_A]
AnimationState = FIRING_OR_PREATTACK_A
StateName = Sword
Animation = ATKA
AnimationName = EUGlrfdl_ATKA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation = ATKB
AnimationName = EUGlrfdl_ATKB
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation = ATKC
AnimationName = EUGlrfdl_ATKC
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Flags = RESTART_ANIM_WHEN_COMPLETE
BeginScript
CurDrawableHideSubObject("spear")
EndScript
End
; ATTACKING
AnimationState = ATTACKING
Animation = ALERT_1
AnimationName = EUGlrfdl_IDLA
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
; --------- Click and Hit Reactions ------------
AnimationState = HIT_REACTION HIT_LEVEL_1
StateName = STATE_Bored_Sword
Animation = Hit_Level_1_A
AnimationName = EUGlrfdl_HITA
AnimationMode = ONCE
End
End
AnimationState = HIT_REACTION HIT_LEVEL_2
StateName = STATE_Bored_Sword
Animation = Hit_Level_1_A
AnimationName = EUGlrfdl_HITA
AnimationMode = ONCE
End
End
AnimationState = HIT_REACTION HIT_LEVEL_3
StateName = STATE_Bored_Sword
Animation = Hit_Level_1_A
AnimationName = EUGlrfdl_HITA
AnimationMode = ONCE
End
End
; --------- Selected Anims and Transitions
TransitionState = TRANS_Idle_to_Selected
Animation = ATNA
AnimationName = EUGlrfdl_ATNA
AnimationMode = ONCE
End
End
TransitionState = TRANS_Selected_To_Idle
Animation = ATNC
AnimationName = EUGlrfdl_ATNC
AnimationMode = ONCE
End
End
AnimationState = LEVELED
Animation = LevelUp
AnimationName = EUGlrfdl_LVLA
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.75 0.75
End
End
AnimationState = RAISING_FLAG
Animation = CHRA
AnimationName = EUGlrfdl_CHRA
AnimationMode = LOOP
End
End
AnimationState = SELECTED
StateName = Selected
SimilarRestart = Yes
Animation = ATNB
AnimationName = EUGlrfdl_ATNB
AnimationMode = LOOP
End
BeginScript
CurDrawableHideSubObject("spear")
Prev = CurDrawablePrevAnimationState()
if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end
EndScript
End
;----Emotion Animations
AnimationState = EMOTION_CELEBRATING
Animation = CHRA
AnimationName = EUGlrfdl_CHRA
AnimationMode = ONCE
AnimationPriority = 10
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
AnimationState = EMOTION_TAUNTING
Animation
AnimationName = EUGlrfdl_TNTA
AnimationMode = LOOP
End
End
AnimationState = EMOTION_ALERT EMOTION_MORALE_HIGH
Animation = Taunting
AnimationName = EUGlrfdl_TNTA
AnimationMode = ONCE
End
Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
End
; READY IDLE
AnimationState = EMOTION_ALERT
Animation = ALERT_1
AnimationName = EUGlrfdl_IDLA
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
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 = Elves
EditorSorting = UNIT
ThreatLevel = GLORFINDEL_THREAT_LEVEL
ThingClass = CHARACTER_UNIT
TransportSlotCount = TRANSPORTSLOTCOUNT_HERO
BuildCost = GLORFINDEL_BUILDCOST
BuildTime = GLORFINDEL_BUILDTIME
BountyValue = ELVEN_GLORFINDEL_BOUNTY_VALUE
ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG
;//DisplayMeleeDamage = GLORFINDEL_DAMAGE
;;;;;; WEAPON SETS ;;;;;;
WeaponSet
Conditions = None
Weapon = PRIMARY GlorfindelSword
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
WeaponSet
Conditions = CONTAINED
Weapon = SECONDARY GarrisonedUnitBow
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
;;;;;; Armor Sets ;;;;;;
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%
DisplayName = OBJECT:ElvenGlorfindel
RecruitText = CONTROLBAR:ElvenGlorfindelRecruit ;;;;;;;;;;;; Anyone who gets revived should get these
ReviveText = CONTROLBAR:ElvenGlorfindelRevive ;;
Hotkey = CONTROLBAR:ElvenGlorfindelHotkey ;; If not, it won't look too bad.
MinCrushVelocityPercent = 50 ; Has to be moving at at least 50% of full speed.
CrushDecelerationPercent = 30 ; Lose xx percent of max velocity when crushing.
CrusherLevel = 0 ;Can I crush anything?
MountedCrusherLevel = 1 ;Crush level when mounted.
CrushKnockback = 40
CrushZFactor = 1.0
CommandSet = ElvenGlorfindelCommandSet
CommandPoints = 50
; *** AUTO RESOLVE DATA ***
AutoResolveUnitType = AutoResolveUnit_Hero
AutoResolveCombatChain = AutoResolve_HeroCombatChain
AutoResolveBody = AutoResolve_GlorfindelBody
AutoResolveArmor
Armor = AutoResolve_GlorfindelArmor
End
AutoResolveWeapon
Weapon = AutoResolve_GlorfindelWeapon
End
;AutoResolveLeadership = AutoResolve_GlorfindelBonus
; *** AUDIO Parameters ***;
VoiceAttack = GlorfindelVoiceAttack
VoiceAttackAir = GlorfindelVoiceAttack
VoiceAttackCharge = GlorfindelVoiceAttackCharge
VoiceAttackMachine = GlorfindelVoiceAttack
VoiceAttackStructure = GlorfindelVoiceAttackBuilding
VoiceFear = GlorfindelVoiceHelpMe
VoiceGuard = GlorfindelVoiceMove
VoiceMove = GlorfindelVoiceMove
VoiceMoveToCamp = GlorfindelVoiceMoveCamp
VoiceMoveWhileAttacking = GlorfindelVoiceDisengage
VoicePriority = 64
VoiceRetreatToCastle = GlorfindelVoiceRetreat
VoiceSelect = GlorfindelVoiceSelectMS
VoiceSelectBattle = GlorfindelVoiceSelectBattle
SoundImpact = ImpactHorse
UnitSpecificSounds
VoiceEnterUnitElvenTransportShip = GlorfindelVoiceMoveShip
VoiceGarrison = GlorfindelVoiceMoveGarrison
VoiceInitiateCaptureBuilding = GlorfindelVoiceCaptureBuilding ; From SpecialPower SpecialAbilityCaptureBuilding
End
ClientBehavior = ModelConditionSoundSelectorClientBehavior ModuleTag_MCSoundSelector
SoundState = MOUNTED
VoiceMove = GlorfindelVoiceMoveMount
VoiceSelect = GlorfindelVoiceSelectMountedMS
End
End
CrowdResponseKey = ElfHero
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
EvaEventDieOwner = GlorfindelDie ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths
Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system
Key = Humanoid_Male Elf Elf_Male Unit Infantry Hero
;UnitWeight = 2
End
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:BodyFallSoldier Animation:EUGLRFDL_SKL.EUGLRFDL_LNDA Frames:5
AnimationSound = Sound:BodyFallSoldier Animation:EUGLRFDL_SKL.EUGLRFDL_DTHA Frames:34
AnimationSound = Sound:FootstepDirtA Animation:EUGlrfdl_SKL.EUGlrfdl_RUNA Frames:9 18 28 38 48 58
AnimationSound = Sound:FootstepDirtA Animation:EUGlrfdl_SKL.EUGlrfdl_RUNB Frames:9 18 28 38 48 58
AnimationSound = Sound:HorseMoveFootsteps Animation:RUHHs_Theo_SKL.RUHHs_Theo_ACCL Frames:16
AnimationSound = Sound:HorseMoveFootsteps Animation:RUHHs_Theo_SKL.RUHHs_Theo_RUNA Frames:8
AnimationSound = Sound:HorseMoveFootsteps Animation:RUHHs_Theo_SKL.RUHHs_Theo_TNL1 Frames:8
AnimationSound = Sound:HorseMoveFootsteps Animation:RUHHs_Theo_SKL.RUHHs_Theo_TNR1 Frames:8
AnimationSound = Sound:HorseDieForHero Animation:RUHHs_Theo_SKL.RUHHs_Theo_LNDA Frames:0
AnimationSound = Sound:BodyFallSoldier Animation:RUHHs_Theo_SKL.RUHHs_Theo_LNDA Frames:2 10
AnimationSound = Sound:HorseDieForHero Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA Frames:0
AnimationSound = Sound:BodyFallGenericNoArmor Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA Frames:6
AnimationSound = Sound:BodyFallSoldier Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA Frames:45
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
; ===== Wind Rider --------------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_GlorfindelWindRiderEnabler
SpecialPowerTemplate = SpecialAbilityGlorfindelWindRider
TriggeredBy = Upgrade_GlorfindelWindRider
End
Behavior = SpecialPowerModule ModuleTag_GlorfindelWindRiderStarter
SpecialPowerTemplate = SpecialAbilityGlorfindelWindRider
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
;InitiateSound = GlorfindelWindRider ;this didn't work
End
Behavior = SpecialAbilityUpdate ModuleTag_GlorfindelWindRiderUpdate
SpecialPowerTemplate = SpecialAbilityGlorfindelWindRider
UnpackTime = 1
RequiredConditions = MOUNTED
TriggerAttributeModifier = GlorfindelWindRider
AttributeModifierDuration = 30000
KillAttributeModifierOnRejected = Yes
;TriggerSound = GlorfindelWindRider ;this works but the hook on the CommandButton.INI is more responsive
End
; ===== Blade Of Purity --------------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_GlorfindelBladeOfPurityEnabler
SpecialPowerTemplate = SpecialAbilityGlorfindelBladeOfPurity
TriggeredBy = Upgrade_GlorfindelBladeOfPurity
End
Behavior = SpecialPowerModule ModuleTag_GlorfindelBladeOfPurityStarter
SpecialPowerTemplate = SpecialAbilityGlorfindelBladeOfPurity
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 2.0
End
Behavior = SpecialAbilityUpdate ModuleTag_GlorfindelBladeOfPurityUpdate
SpecialPowerTemplate = SpecialAbilityGlorfindelBladeOfPurity
TriggerAttributeModifier = GlorfindelBladeOfPurity
AttributeModifierDuration = 30000
End
Behavior = AutoAbilityBehavior ModuleTag_BladeOfPurityAutoAbility
SpecialAbility = SpecialAbilityGlorfindelBladeOfPurity
MaxScanRange = 200
Query = 1 ALL ENEMIES
End
; ===== Starlight --------------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_GlorfindelStarlightEnabler
SpecialPowerTemplate = SpecialAbilityGlorfindelStarlight
TriggeredBy = Upgrade_GlorindelStarlight
End
Behavior = OCLSpecialPower ModuleTag_GlorfindelStarlight
StartsPaused = Yes
SpecialPowerTemplate = SpecialAbilityGlorfindelStarlight
OCL = OCL_GlorfindelStarlightObject
CreateLocation = CREATE_AT_LOCATION
SetModelCondition = ModelConditionState:USER_2
SetModelConditionTime = 2.333
End
; special AutoAbilityBehavior for starlight, as we need to target a bunch of allies.
Behavior = AutoAbilityBehavior ModuleTag_StarlightAutoAbilityBehavior
SpecialAbility = SpecialAbilityGlorfindelStarlight
MaxScanRange = GLORFINDEL_STARLIGHT_RADIUS
Query = 2 ANY ALLIES +HORDE ; 2 friendly hordes or an enemy
Query = 1 ALL ENEMIES
End
; *** ENGINEERING Parameters ***--------------------------------------------------------------------------------
RadarPriority = UNIT
KindOf = HERO PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT PATH_THROUGH_EACH_OTHER SCORE ARMY_SUMMARY HEAVY_MELEE_HITTER
PathfindDiameter = 40.0
CamouflageDetectionMultiplier = 2.0
Body = RespawnBody ModuleTag_RespawnBody
MaxHealth = GLORFINDEL_HEALTH ;BALANCE Glorfindel 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
DeathFX = FX_GlorfindelDieToRespawn ;FXList to play when killed-to-respawn
DeathAnim = DYING ;Model condition to play when killed-to-respawn
DeathAnimationTime = 6500 ;How long DeathAnim will take.
InitialSpawnFX = FX_GlorfindelInitialSpawn
RespawnAnim = LEVELED ;Animation to play when respawning.
RespawnFX = FX_GlorfindelRespawn ;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 = HIGlorfindel_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:1125 Time:60000 Health:100% ;DEFAULT VALUES
End
Behavior = AutoHealBehavior ModuleTag_GlorfindelHealing
StartsActive = Yes
HealingAmount = HERO_HEAL_AMOUNT
HealingDelay = 1000
StartHealingDelay = HERO_HEAL_DELAY
HealOnlyIfNotInCombat = Yes
End
; autoability for casting Wind Rider and Blade of Purity, Wind Rider
Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityBehavior
End
#include "..\..\..\includes\DefaultInvisibilityUpdate.inc"
Behavior = StancesBehavior ModuleTag_StancesBehavior
StanceTemplate = Hero
End
#include "..\..\..\includes\CaptureBuilding.inc"
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS STEALTHED
MoodAttackCheckRate = 500
CanAttackWhileContained = Yes
End
LocomotorSet
Locomotor = HeroHumanLocomotor
Condition = SET_NORMAL
Speed = NORMAL_ELVEN_FAST_MEMBER_SPEED
End
LocomotorSet
Locomotor = HeroHorseLocomotor
Condition = SET_MOUNTED
Speed = NORMAL_ELVEN_CAVALRY_MEMBER_SPEED
End
Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
ShockStandingTime = 2000 ;msec
End
Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL
SinkDelay = 3000
SinkRate = 1.40 ; in Dist/Sec
DestructionDelay = 8000
Sound = INITIAL GlorfindelVoiceDie
End
Behavior = SquishCollide ModuleTag_06
;nothing
End
Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
End
Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
HitReactionLifeTimer1 = 2700 ; level 1 (light damage) hit reaction animations in msec
HitReactionLifeTimer2 = 3366 ; level 2 (medium damage) hit reaction animations in msec
HitReactionLifeTimer3 = 10 ; level 3 (heavy damage) hit reaction animations in msec
HitReactionThreshold1 = 5.0 ; level 1 (light damage) threshold trigger
HitReactionThreshold2 = 100.0 ; level 2 (medium damage) threshold trigger
HitReactionThreshold3 = 300.0 ; level 3 (heavy damage) threshold trigger
End
Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter
SpecialPowerTemplate = SpecialAbilityToggleMounted
UpdateModuleStartsAttack = Yes
;InitiateSound =
StartsPaused = No
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
;///////////////////
; AISpecialPowers
;///////////////////
Behavior = AISpecialPowerUpdate GlorfindelToggleMountedAI
CommandButtonName = Command_MountHorseGlorfindel
SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MOUNTED
End
Behavior = AISpecialPowerUpdate BladeOfPurityAI
CommandButtonName = Command_SpecialAbilityGlorfindelBladeOfPurity
SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
End
Behavior = AISpecialPowerUpdate WindRiderAI
CommandButtonName = Command_SpecialAbilityGlorfindelWindRider
SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
End
Behavior = AISpecialPowerUpdate StarLightAI
CommandButtonName = Command_GlorfindelStarlight
SpecialPowerAIType = AI_SPECIAL_POWER_HEAL_AOE
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
Geometry = CYLINDER
GeometryMajorRadius = 8.0
GeometryHeight = 25
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 20
ShadowSizeY = 20
ShadowTexture = ShadowI
End