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_elvenlorienarcher.ini
< prev
next >
Wrap
Text File
|
2006-01-31
|
36KB
|
1,189 lines
; Moved from ElvenInfantry.INI Aug 24 2005
;------------------------------------------------------------------------------
Object ElvenLorienArcher
UpgradeCameo1 = Upgrade_RohanFireArrows
ButtonImage = WOR_LorienArcher
SelectPortrait = UPElven_LorienArcher
Draw = W3DHordeModelDraw ModuleTag_01
OkToChangeModelColor = Yes
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
LodOptions = LOW
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_LOW
MaxRandomTextures = MAX_RANDOM_TEXTURES_LOW
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_LOW
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_LOW
End
LodOptions = MEDIUM
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_MED
MaxRandomTextures = MAX_RANDOM_TEXTURES_MED
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_MED
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_MED
End
LodOptions = HIGH
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_HIGH
MaxRandomTextures = MAX_RANDOM_TEXTURES_HIGH
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_HIGH
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_HIGH
End
;;====================== MODELS ================================================================
DefaultModelConditionState
Model = EULorArch_SKN
Skeleton = RUElfWar_SKL
WeaponLaunchBone = PRIMARY ARROW
WeaponLaunchBone = SECONDARY ARROWNOCK ; when upgraded to flaming arrow
WeaponLaunchBone = TERTIARY ARROW
End
; --------- With Fire arrows Upgrade ------------
ModelConditionState = WEAPONSET_PLAYER_UPGRADE USER_4
Model = EULorArch_SKN
Skeleton = RUElfWar_SKL
WeaponLaunchBone = PRIMARY ARROW
WeaponLaunchBone = SECONDARY ARROWNOCK ; when upgraded to flaming arrow
WeaponLaunchBone = TERTIARY ARROW
; ParticleSysBone = FireArowTip arrowFire FollowBone:Yes
; ParticleSysBone = FireArowTip arrowFire FollowBone:Yes
End
;;================== ANIMATIONS =================================================================
; ------ Flying ------- ;
AnimationState = PASSENGER
StateName = STATE_Grabbed
Animation = Bow
AnimationName = RUElfWar_FLLB
AnimationMode = LOOP
End
End
AnimationState = FREEFALL
StateName = STATE_Falling
Animation = Bow
AnimationName = RUElfWar_FLYA
AnimationMode = LOOP
AnimationBlendTime = 10
AnimationSpeedFactorRange = 0.5 0.5
End
End
AnimationState = STUNNED_FLAILING
StateName = STATE_Fly
Animation = Sword
AnimationName = RUElfWar_FLYB
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Flags = MAINTAIN_FRAME_ACROSS_STATES2
BeginScript
PrevState = CurDrawablePrevAnimationState()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "Ready_Bow" or PrevState == "Moving_Bow" or PrevState == "Bored_Bow" ;;;;;;#TODO put in various bow states here
then
CurDrawableShowSubObject("arrownock")
return "WantSword"
elseif PrevState == "STATE_Fly"
then
if PrevAnim == "Bow" or PrevAnim == "WantSword"
then
CurDrawableShowSubObject("arrownock")
return "WantSword"
end
end
CurDrawableHideSubObject("ArrowNock")
return "Sword"
EndScript
End
AnimationState = DYING BURNINGDEATH
Animation
AnimationName = RUElfWar_DIEB
AnimationMode = ONCE
AnimationBlendTime = 10
End
End
AnimationState = DYING DEATH_1 SPLATTED
StateName = STATE_Dead
Animation = Bow
AnimationName = RUElfWar_LNDA
AnimationMode = ONCE
End
End
; ------ Dying ------- ;
AnimationState = DYING DEATH_1
Animation = Bow1
AnimationName = RUElfWar_DIEB
AnimationMode = ONCE
End
Animation = Bow2
AnimationName = RUElfWar_DIEBV5
AnimationMode = ONCE
End
Animation = WantBow
AnimationName = RUElfWar_LNDB
AnimationMode = ONCE
End
BeginScript
PrevState = CurDrawablePrevAnimationState()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "STATE_Fly"
then
CurDrawableHideSubObject("ArrowNock")
return "WantBow"
end
if GetClientRandomNumberReal(0,2) < 1
then
CurDrawableShowSubObject("arrownock")
return "Bow1"
else
CurDrawableShowSubObject("arrownock")
return "Bow2"
end
EndScript
End
AnimationState = DYING DEATH_2
Animation = FadeOut
AnimationName = RUElfWar_IDLDX1
AnimationMode = ONCE
End
End
AnimationState = PARALYZED
Animation
AnimationName = RUElfWar_IDLE
AnimationMode = LOOP
End
End
AnimationState = BURNINGDEATH
Animation
AnimationName = RUElfWar_MFDA
AnimationMode = LOOP
Distance = 40
End
End
AnimationState = STUNNED_STANDING_UP
StateName = STATE_GetUp
Animation = Bow
AnimationName = RUElfWar_GTPB
AnimationMode = ONCE
End
Animation = WantBow
AnimationName = RUElfWar_GTPSX1
AnimationMode = ONCE
End
Flags = MAINTAIN_FRAME_ACROSS_STATES4
BeginScript
PrevState = CurDrawablePrevAnimationState()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "STATE_GetUp" or PrevState == "STATE_Land"
then
if PrevAnim == "WantBow" or PrevAnim == "Sword"
then
CurDrawableHideSubObject("ArrowNock")
return "WantBow"
end
else
CurDrawableShowSubObject("arrownock")
return "Bow"
end
EndScript
End
AnimationState = STUNNED
StateName = STATE_Land
Animation = Bow
AnimationName = RUElfWar_LNDA
AnimationMode = ONCE
End
Animation = WantBow
AnimationName = RUElfWar_LNDB
AnimationMode = ONCE
End
Flags = MAINTAIN_FRAME_ACROSS_STATES3
BeginScript
PrevState = CurDrawablePrevAnimationState()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "STATE_Fly"
then
if PrevAnim == "WantBow" or PrevAnim == "Sword"
then
CurDrawableHideSubObject("ArrowNock")
return "WantBow"
end
end
CurDrawableShowSubObject("arrownock")
return "Bow"
EndScript
End
;;======== TERROR
AnimationState = MOVING EMOTION_TERROR
StateName = Moving_Bow
Animation = RunAway_3
AnimationName = RUElfWar_RUNOT3
AnimationMode = ONCE
Distance = 40
End
Animation = RunAway_2
AnimationName = RUElfWar_RUNOT4
AnimationMode = ONCE
Distance = 40
End
Animation = RunAway
AnimationName = RUElfWar_RUNB
AnimationMode = ONCE
Distance = 40
End
Animation = finishrun_s
AnimationName = RUElfWar_RUNN
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 40
End
Animation = runtrans_sb
AnimationName = RUElfWar_RUNT
AnimationMode = ONCE
AnimationBlendTime = 5
Distance = 70
End
Animation = runtrans_bs_finish
AnimationName = RUElfWar_RUNC
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 70
End
Animation = RunAway_noblend
AnimationName = RUElfWar_RUNB
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 40
End
Flags = RESTART_ANIM_WHEN_COMPLETE MAINTAIN_FRAME_ACROSS_STATES
BeginScript
PrevAnim = CurDrawablePrevAnimation()
PrevState = CurDrawablePrevAnimationState()
CurDrawableShowSubObject("arrownock")
if PrevState == "Moving_Sword"
then
if PrevAnim == "runtrans_bs"
then
return "runtrans_bs_finish"
elseif PrevAnim == "finishrun_b"
then
return "RunAway_noblend"
else
return "finishrun_s"
end
elseif PrevAnim == "finishrun_s" or PrevAnim == "runtrans_bs_finish"
then
return "runtrans_sb"
elseif PrevAnim == "runtrans_sb" or PrevAnim == "run_b" or PrevAnim == "runnoblend_b"
then
return "RunAway_noblend"
else
Num = GetClientRandomNumberReal(0,7)
if Num < 1
then
return "RunAway_2"
elseif Num > 6
then
return "RunAway_3"
else
return "RunAway"
end
end
EndScript
End
; ------ Attacking ------- ;
AnimationState = PREATTACK_A
Animation = ReadyToDrawn
AnimationName = RUElfWar_ATKA1
AnimationMode = ONCE
AnimationBlendTime = 20 ; Must be 0 blend time otherwise the arrow will linger for the duration of the blend!
End
BeginScript
CurDrawableShowSubObject("ArrowNock")
EndScript
End
AnimationState = FIRING_OR_RELOADING_A
StateName = STATE_Firing
Animation = OneFrameOfShooting
AnimationName = RUElfWar_ATKA2
AnimationMode = ONCE
AnimationBlendTime = 0
AnimationSpeedFactorRange = 1.5 1.5
End
Flags = START_FRAME_FIRST
BeginScript
CurDrawableShowSubObject("ArrowNock")
EndScript
End
AnimationState = PREATTACK_C
Animation = ReadyToDrawn
AnimationName = RUElfWar_ATKA1
AnimationMode = ONCE
AnimationBlendTime = 20 ; Must be 0 blend time otherwise the arrow will linger for the duration of the blend!
End
BeginScript
CurDrawableShowSubObject("ArrowNock")
EndScript
End
AnimationState = FIRING_OR_RELOADING_C
StateName = STATE_Firing
Animation = OneFrameOfShooting
AnimationName = RUElfWar_ATKA2
AnimationMode = ONCE
AnimationBlendTime = 0
AnimationSpeedFactorRange = 1.5 1.5
End
Flags = START_FRAME_FIRST
BeginScript
CurDrawableShowSubObject("ArrowNock")
EndScript
End
;;------------------------- BACKUP --------------------------------------------------------------------
AnimationState = MOVING BACKING_UP
StateName = STATE_BackingUp
Animation = Bow
AnimationName = RUElfWar_BAKB
AnimationMode = LOOP
End
Animation = WantBow
AnimationName = RUElfWar_BAKS
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_STATES4
BeginScript
CurDrawableShowSubObject("arrownock")
PrevAnim = CurDrawablePrevAnimation()
PrevState = CurDrawablePrevAnimationState()
if PrevState == "STATE_BackingUp"
then
if PrevAnim == "WantBow" or PrevAnim == "Sword"
then
return "WantBow"
end
end
return "Bow"
EndScript
End
; ------------ Moving ------------- ;
AnimationState = MOVING
StateName = Moving_Bow
SimilarRestart = Yes
Animation = run_b
AnimationName = RUElfWar_RUNB
AnimationMode = LOOP
Distance = 40
End
Animation = finishrun_s
AnimationName = RUElfWar_RUNS
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 40
End
Animation = runtrans_sb
AnimationName = RUElfWar_RUNT
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 70
End
Animation = runtrans_bs_finish
AnimationName = RUElfWar_RUNC
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 70
End
Animation = runnoblend_b
AnimationName = RUElfWar_RUNB
AnimationMode = LOOP
AnimationBlendTime = 0
Distance = 40
End
Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
BeginScript
CurDrawableShowSubObject("arrownock")
PrevAnim = CurDrawablePrevAnimation()
PrevState = CurDrawablePrevAnimationState()
if PrevState == "Moving_Sword"
then
if PrevAnim == "runtrans_bs"
then
return "runtrans_bs_finish"
elseif PrevAnim == "finishrun_b"
then
return "runnoblend_b"
else
return "finishrun_s"
end
elseif PrevAnim == "finishrun_s" or PrevAnim == "runtrans_bs_finish" or PrevAnim == "WantBow"
then
return "runtrans_sb"
elseif PrevAnim == "runtrans_sb" or PrevAnim == "run_b" or PrevAnim == "runnoblend_b"
then
return "runnoblend_b"
else
return "run_b"
end
EndScript
End
;;-----------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<
; AnimationState = CONTINUOUS_FIRE_MEAN ;;;;;;;;;HACK TO STOP JITTERS
; Animation = HangFrameWhileCoasting
; AnimationName = RUElfWar_ATKA2
; AnimationMode = MANUAL
; AnimationBlendTime = 0
; End
; Flags = START_FRAME_LAST
;
; BeginScript
; CurDrawableShowSubObject("ARROWNOCK")
; if CurDrawablePrevAnimationState() == "STATE_Firing" then CurDrawableAllowToContinue() end
; EndScript
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;;;;
; ;;;; VERY IMPORTANT ARCHER INFORMATION
; ;;;; THIS WILL STOP THE JITTERS, AND BEST
; ;;;; YET, IT'S A COMPLETE HACK! Just look above.
; ;;;; We say that if we get into this state
; ;;;; from firing, just continue to fire. DONE.
; ;;;;
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; End
; AnimationState = CONTINUOUS_FIRE_SLOW
; StateName = Ready_Bow
; Animation = PutAwayArrow
; AnimationName = RUElfWar_ATKA3
; AnimationMode = ONCE
; End
;
; BeginScript
; CurDrawableShowSubObject("ARROWNOCK")
; EndScript
; End
;;;--------------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<
AnimationState = EMOTION_UNCONTROLLABLY_AFRAID
StateName = STATE_Emotion_Bow
Animation = Bow
AnimationName = RUElfWar_FERB
AnimationMode = ONCE
AnimationBlendTime = 15
End
Animation = Bow2
AnimationName = RUElfWar_FERB
AnimationMode = ONCE
AnimationBlendTime = 15
End
Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
BeginScript
PrevState = CurDrawablePrevAnimationState()
CurDrawableShowSubObject("arrownock")
if PrevState == "STATE_Emotion_Sword"
then
CurDrawableAllowToContinue()
if( CurDrawablePrevAnimFraction() > .89 )
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Ready")
end
end
EndScript
End
; -------- Alert ------- ;
AnimationState = EMOTION_ALERT
StateName = Ready_Bow
Animation = IDLB
AnimationName = RUElfWar_IDLB
AnimationMode = LOOP
End
BeginScript
CurDrawableShowSubObject("arrownock")
PrevAnim = CurDrawablePrevAnimation()
Prev = CurDrawablePrevAnimationState()
if Prev == "Bored_Bow" then CurDrawableSetTransitionAnimState("TRANS_BR_Bow") end
if Prev == "Selected_Bow" then CurDrawableSetTransitionAnimState("TRANS_SR_Bow") end
if Prev == "Selected_Sword" or Prev == "Moving_Sword" or Prev == "Ready_Sword" or Prev == "Bored_Sword" or PrevAnim == "WantBow"
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Ready")
end
EndScript
End
AnimationState = ENGAGED
StateName = Ready_Bow
Animation = IDLB
AnimationName = RUElfWar_IDLB
AnimationMode = LOOP
End
BeginScript
CurDrawableShowSubObject("arrownock")
PrevAnim = CurDrawablePrevAnimation()
Prev = CurDrawablePrevAnimationState()
if Prev == "Bored_Bow" then CurDrawableSetTransitionAnimState("TRANS_BR_Bow") end
if Prev == "Selected_Bow" then CurDrawableSetTransitionAnimState("TRANS_SR_Bow") end
if Prev == "Selected_Sword" or Prev == "Moving_Sword" or Prev == "Ready_Sword" or Prev == "Bored_Sword" or PrevAnim == "WantBow"
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Ready")
end
EndScript
End
AnimationState = ATTACKING
StateName = Ready_Bow
Animation = IDLB
AnimationName = RUElfWar_IDLB
AnimationMode = LOOP
End
BeginScript
CurDrawableShowSubObject("arrownock")
PrevAnim = CurDrawablePrevAnimation()
Prev = CurDrawablePrevAnimationState()
if Prev == "Bored_Bow" then CurDrawableSetTransitionAnimState("TRANS_BR_Bow") end
if Prev == "Selected_Bow" then CurDrawableSetTransitionAnimState("TRANS_SR_Bow") end
if Prev == "Selected_Sword" or Prev == "Moving_Sword" or Prev == "Ready_Sword" or Prev == "Bored_Sword" or PrevAnim == "WantBow"
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Ready")
end
EndScript
End
;;------------ EMOTIONS ------------------------------------------------------------------
;;======= AFRAID
AnimationState = EMOTION_AFRAID
StateName = STATE_Emotion_Bow
Animation = Bow
AnimationName = RUElfWar_FERB
AnimationMode = ONCE
AnimationBlendTime = 15
End
Animation = Bow2
AnimationName = RUElfWar_FERB
AnimationMode = ONCE
AnimationBlendTime = 15
End
Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
BeginScript
PrevState = CurDrawablePrevAnimationState()
CurDrawableShowSubObject("arrownock")
if PrevState == "STATE_Emotion_Sword"
then
CurDrawableAllowToContinue()
if( CurDrawablePrevAnimFraction() > .89 )
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Ready")
end
end
EndScript
End
;;====== CELEBRATING
AnimationState = EMOTION_CELEBRATING
StateName = STATE_Emotion_Bow
Animation = Bow
AnimationName = RUElfWar_CHRB
AnimationMode = ONCE
End
Animation = Bow2
AnimationName = RUElfWar_CHRB
AnimationMode = ONCE
End
Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
BeginScript
PrevState = CurDrawablePrevAnimationState()
CurDrawableShowSubObject("arrownock")
if PrevState == "STATE_Emotion_Sword"
then
CurDrawableAllowToContinue()
if( CurDrawablePrevAnimFraction() > .89 )
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Ready")
end
elseif PrevState == "STATE_Emotion_Bow"
then
CurDrawableAllowToContinue()
elseif PrevState == "Selected_Bow"
then
CurDrawableSetTransitionAnimState("TRANS_SR_Bow")
elseif PrevState == "Bored_Bow"
then
CurDrawableSetTransitionAnimState("TRANS_BR_Bow")
end
EndScript
End
;;====== TAUNTING
AnimationState = EMOTION_TAUNTING
StateName = STATE_Emotion_Bow
Animation = Bow1
AnimationName = RUElfWar_TNTB
AnimationMode = ONCE
End
Animation = Bow2
AnimationName = RUElfWar_TNTB ; RUElfWar_TNTBX anim does not exist
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE ;MAINTAIN_FRAME_ACROSS_STATES
BeginScript
PrevState = CurDrawablePrevAnimationState()
CurDrawableShowSubObject("arrownock")
if PrevState == "STATE_Emotion_Sword"
then
CurDrawableAllowToContinue()
if( CurDrawablePrevAnimFraction() > .89 )
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Ready")
end
elseif PrevState == "STATE_Emotion_Bow"
then
CurDrawableAllowToContinue()
elseif PrevState == "Selected_Bow"
then
CurDrawableSetTransitionAnimState("TRANS_SR_Bow")
elseif PrevState == "Bored_Bow"
then
CurDrawableSetTransitionAnimState("TRANS_BR_Bow")
end
EndScript
End
;;====== POINTING
AnimationState = EMOTION_POINTING
StateName = STATE_Emotion_Bow
Animation = Bow
AnimationName = RUElfWar_PNTA
AnimationMode = ONCE
End
Animation = Bow2
AnimationName = RUElfWar_PNTA
AnimationMode = ONCE
End
Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE
BeginScript
PrevState = CurDrawablePrevAnimationState()
CurDrawableShowSubObject("arrownock")
if PrevState == "STATE_Emotion_Sword"
then
CurDrawableAllowToContinue()
if( CurDrawablePrevAnimFraction() > .89 )
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Ready")
end
elseif PrevState == "STATE_Emotion_Bow"
then
CurDrawableAllowToContinue()
elseif PrevState == "Selected_Bow"
then
CurDrawableSetTransitionAnimState("TRANS_SR_Bow")
elseif PrevState == "Bored_Bow"
then
CurDrawableSetTransitionAnimState("TRANS_BR_Bow")
end
EndScript
End
AnimationState = RAISING_FLAG
StateName = STATE_Emotion_Bow
Animation = Bow
AnimationName = RUElfWar_CHRB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = Bow2
AnimationName = RUElfWar_CHRB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
; ------ Selected ------ ;
AnimationState = SELECTED
StateName = Selected_Bow
Animation = ATNE
AnimationName = RUElfWar_ATNE
AnimationMode = LOOP
End
BeginScript
CurDrawableShowSubObject("arrownock")
PrevAnim = CurDrawablePrevAnimation()
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Emotion_Bow" or Prev == "STATE_Emotion_Sword" then CurDrawableAllowToContinue() end
if Prev == "Bored_Bow" then CurDrawableSetTransitionAnimState("TRANS_BS_Bow") end
if Prev == "Ready_Bow" then CurDrawableSetTransitionAnimState("TRANS_RS_Bow") end
if Prev == "Selected_Sword" or Prev == "Moving_Sword" or Prev == "Ready_Sword" or Prev == "Bored_Sword" or PrevAnim == "WantBow"
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Selected")
end
EndScript
End
; --------- Hit Reactions ---------- ;
; AnimationState = HIT_REACTION HIT_LEVEL_1
; StateName = Bored_Bow
; Animation = Hit_Level_1_a
; AnimationName = RUElfWar_HITB
; AnimationMode = ONCE
; AnimationSpeedFactorRange = .9 .9
; End
; End
; ------- Bored -------- ;
IdleAnimationState
StateName = Bored_Bow
Animation = IdleBowB
AnimationName = RUElfWar_IDLDX1
AnimationMode = ONCE
End
Animation = IdleBowD
AnimationName = RUElfWar_IDLD
AnimationMode = ONCE
End
Animation = IdleNoFidget
AnimationName = RUElfWar_IDLE
AnimationMode = ONCE
AnimationPriority = 20
End
Animation = IdleNoFidget2
AnimationName = RUElfWar_IDLE
AnimationMode = ONCE
AnimationPriority = 10
End
Flags = RESTART_ANIM_WHEN_COMPLETE
BeginScript
CurDrawableShowSubObject("arrownock")
PrevAnim = CurDrawablePrevAnimation()
Prev = CurDrawablePrevAnimationState()
if Prev == "TRANS_SB_Bow" or Prev == "TRANS_RB_Bow" then return "IdleNoFidget" end
if Prev == "Selected_Bow" then CurDrawableSetTransitionAnimState("TRANS_SB_Bow") end
if Prev == "Ready_Bow" then CurDrawableSetTransitionAnimState("TRANS_RB_Bow") end
if Prev == "Selected_Sword" or Prev == "Moving_Sword" or Prev == "Ready_Sword" or Prev == "Bored_Sword" or PrevAnim == "WantBow"
then
CurDrawableSetTransitionAnimState("TRANS_SwordToBow_Selected")
end
EndScript
End
;----------------- Bow Transitions -------------------------;
TransitionState = TRANS_BS_Bow
Animation = ATND
AnimationName = RUElfWar_ATND
AnimationMode = ONCE
AnimationBlendTime = 10
End
End
TransitionState = TRANS_SR_Bow
Animation = ATNE
AnimationName = RUElfWar_ATNF
AnimationMode = ONCE
End
End
TransitionState = TRANS_SB_Bow
Animation = ATND
AnimationName = RUElfWar_ATND
AnimationMode = ONCE_BACKWARDS
End
Flags = START_FRAME_LAST
End
TransitionState = TRANS_RS_Bow
Animation = ATNF
AnimationName = RUElfWar_ATNF
AnimationMode = ONCE_BACKWARDS
End
Flags = START_FRAME_LAST
End
TransitionState = TRANS_BR_Bow
Animation = IDLB
AnimationName = RUElfWar_IDLB
AnimationMode = ONCE
AnimationBlendTime = 20
End
End
TransitionState = TRANS_RB_Bow
Animation = IDLD
AnimationName = RUElfWar_IDLD
AnimationMode = ONCE
AnimationBlendTime = 20
End
End
End
#include "..\..\..\includes\StunDrawModuleSmall.inc"
; ***DESIGN parameters ***
Side = Elves
EditorSorting = UNIT
ThreatLevel = 1.0
ThingClass = HORDE_UNIT
CommandPoints = 4
TransportSlotCount = TRANSPORTSLOTCOUNT_UNIT
WeaponSet
Conditions = None
Weapon = PRIMARY LorienElvenBow
Weapon = TERTIARY LorienElvenBowBombard
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT ; Not AI.
End
ArmorSet
Conditions = None
Armor = LorienArcherArmor
DamageFX = NormalDamageFX
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = LorienArcherHeavyArmor
DamageFX = NormalDamageFX
End
VisionRange = ELVEN_LORIENARCHER_VISION_RANGE
VisionSide = 35%
VisionRear = 25%
VisionBonusPercentPerFoot = 5.0%
ShroudClearingRange = SHROUD_CLEAR_STANDARD
BountyValue = ELVEN_LORIENWARRIOR_BOUNTY_VALUE
DisplayName = OBJECT:ElvenLorienArcher
CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrushRevengeWeapon = RangedInfantryCrushRevenge
CommandSet = ElvenLorienArcherHordeCommandSet
; *** AUDIO Parameters ***;
VoiceAttack = ElfWarriorVoiceAttackBow
VoiceAttackAir = ElfWarriorVoiceAttackBow
VoiceAttackCharge = ElfWarriorVoiceAttackCharge
VoiceAttackMachine = ElfWarriorVoiceAttackBow
VoiceAttackStructure = ElfWarriorVoiceAttackBuilding
VoiceCreated = ElfWarriorVoiceSaluteBow
VoiceFullyCreated = ElfWarriorVoiceSaluteBow
VoiceGuard = ElfWarriorVoiceMove
VoiceMove = ElfWarriorVoiceMove
VoiceMoveToCamp = ElfWarriorVoiceMoveCamp
VoiceMoveWhileAttacking = ElfWarriorVoiceDisengage
VoicePriority = 39
VoiceRetreatToCastle = ElfWarriorVoiceRetreat
VoiceSelect = ElfWarriorVoiceSelectMS
VoiceSelectBattle = ElfWarriorVoiceSelectBattle
VoiceEnterStateAttack = ElfWarriorVoiceEnterStateAttackBow
VoiceEnterStateAttackAir = ElfWarriorVoiceEnterStateAttackBow
VoiceEnterStateAttackCharge = ElfWarriorVoiceEnterStateAttackCharge
VoiceEnterStateAttackMachine = ElfWarriorVoiceEnterStateAttack
VoiceEnterStateAttackStructure = ElfWarriorVoiceEnterStateAttack
VoiceEnterStateMove = ElfWarriorVoiceEnterStateMove
VoiceEnterStateMoveToCamp = ElfWarriorVoiceEnterStateMoveCamp
VoiceEnterStateMoveWhileAttacking = ElfWarriorVoiceEnterStateDisengage
VoiceEnterStateRetreatToCastle = ElfWarriorVoiceEnterStateRetreat
SoundImpact = ImpactHorse
UnitSpecificSounds
VoiceEnterUnitElvenTransportShip = ElfWarriorVoiceMoveShip
VoiceGarrison = ElfWarriorVoiceMoveGarrison
VoicePrimaryWeaponMode = ElvenWarriorVoiceModeBow
VoiceSecondaryWeaponMode = ElvenWarriorVoiceModeSword
VoiceInitiateCaptureBuilding = ElfWarriorVoiceCaptureBuilding ; From SpecialPower SpecialAbilityCaptureBuilding
VoiceEnterStateInitiateCaptureBuilding = ElfWarriorVoiceEnterStateCaptureBuilding
VoiceMoveToTrees = ElfWarriorVoiceMoveForest
VoiceEnterStateMoveToTrees = ElfWarriorVoiceEnterStateMoveForest
End
CrowdResponseKey = Elf
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system
Key = Humanoid_Male Elf Elf_Male Unit Infantry Elf_LorienArcher
End
ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
ModelCondition = Required:EMOTION_CELEBRATING Excluded:DYING ENGAGED Sound:EmotionElfCompilationVoxCheerSinglesLoop ;MOVING ATTACKING
ModelCondition = Required:EMOTION_TAUNTING Excluded:DYING ENGAGED Sound:EmotionElfCompilationVoxTauntSinglesLoop ;MOVING ATTACKING
ModelCondition = Required:EMOTION_POINTING Excluded:DYING ENGAGED Sound:EmotionElfCompilationVoxTauntSinglesLoop
ModelCondition = Required:RAISING_FLAG Excluded:DYING ENGAGED Sound:EmotionElfCompilationVoxTauntSinglesLoop
End
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:ArrowDrawBow Animation:RUElfWar_SKL.RUElfWar_ATKA1 Frames:6
AnimationSound = Sound:ArrowDrawBow Animation:RUElfWar_SKL.RUElfWar_ATKA2 Frames:18
AnimationSound = Sound:SwordShingClean1ForHordes Animation:RUElfWar_SKL.RUElfWar_STHA Frames:24
AnimationSound = Sound:SwordIntoScabbard1ForHordes Animation:RUElfWar_SKL.RUElfWar_STHB Frames:9
AnimationSound = Sound:WeaponSwitchBowForHordes Animation:RUElfWar_SKL.RUElfWar_STHB Frames:15
AnimationSound = Sound:SwordShingClean1ForHordes Animation:RUElfWar_SKL.RUElfWar_STHC Frames:20
AnimationSound = Sound:SwordIntoScabbard1ForHordes Animation:RUElfWar_SKL.RUElfWar_STHD Frames:5
AnimationSound = Sound:WeaponSwitchBowForHordes Animation:RUElfWar_SKL.RUElfWar_STHD Frames:8
AnimationSound = Sound:SwordShingClean1ForHordes Animation:RUElfWar_SKL.RUElfWar_RUNC Frames:14
AnimationSound = Sound:SwordIntoScabbard1ForHordes Animation:RUElfWar_SKL.RUElfWar_RUNT Frames:4
AnimationSound = Sound:WeaponSwitchBowForHordes Animation:RUElfWar_SKL.RUElfWar_RUNT Frames:16
AnimationSound = Sound:BodyFallSoldier Animation:RUElfWar_SKL.RUElfWar_LNDA Frames:9
AnimationSound = Sound:BodyFallSoldier Animation:RUElfWar_SKL.RUElfWar_LNDB Frames:1
AnimationSound = Sound:BodyFallGenericNoArmor Animation:RUElfWar_SKL.RUElfWar_DIEB Frames:82
AnimationSound = Sound:BodyFallSoldier Animation:RUElfWar_SKL.RUElfWar_DIEBV5 Frames:25
AnimationSound = Sound:BodyFallSoldier Animation:RUElfWar_SKL.RUElfWar_DIESV4 Frames:26
AnimationSound = Sound:BodyFallGenericNoArmor Animation:RUElfWar_SKL.RUElfWar_DIESV5 Frames:100
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SCORE THROWN_OBJECT PATH_THROUGH_EACH_OTHER ATTACK_NEEDS_LINE_OF_SIGHT GRAB_AND_DROP
Body = ActiveBody ModuleTag_02
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = ELVEN_LORIENARCHER_HEALTH ;BALANCE RohanElvenWarrior
MaxHealthDamaged = ELVEN_LORIENARCHER_HEALTH_DAMAGED
BurningDeathBehavior = Yes
BurningDeathFX = FX_InfantryBurningFlame
End
;Fire arrow upgrade
Behavior = WeaponSetUpgrade ModuleTag_WeaponSetUpgradeTag
TriggeredBy = Upgrade_ElvenSilverthornArrows
CustomAnimAndDuration = AnimState:USER_4 AnimTime:0 TriggerTime:0 ;set flag forever
End
;Switch arrows being displayed.
Behavior = SubObjectsUpgrade ModuleTag_FireArrowSwapUpgrade
TriggeredBy = Upgrade_ElvenSilverthornArrows
ShowSubObjects = FireArowTip
End
Behavior = SubObjectsUpgrade Armor_Upgrade
TriggeredBy = Upgrade_ElvenHeavyArmor
UpgradeTexture = EULorArch.tga 0 EULorArch_HA.tga
RecolorHouse = Yes
End
Behavior = ArmorUpgrade ArmorUpgradeModuleTag
TriggeredBy = Upgrade_ElvenHeavyArmor
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
CanAttackWhileContained = Yes
; HoldGroundCloseRangeDistance = 41
AILuaEventsList = RohanElvenWarriorFunctions
BurningDeathTime = BURNINGDEATH_DURATION_INFANTRY
End
LocomotorSet
Locomotor = HumanLocomotor
Condition = SET_NORMAL
Speed = NORMAL_ELVEN_FAST_MEMBER_SPEED
End
LocomotorSet
Locomotor = HumanWanderLocomotor
Condition = SET_WANDER
Speed = NORMAL_ELVEN_FAST_MEMBER_SPEED
End
LocomotorSet
Locomotor = HumanPanicLocomotor
Condition = SET_PANIC
Speed = NORMAL_ELVEN_FAST_MEMBER_SPEED
End
LocomotorSet
Locomotor = HumanScaredLocomotor
Condition = SET_SCARED
Speed = NORMAL_ELVEN_FAST_MEMBER_SPEED
End
LocomotorSet
Locomotor = BurningDeathLocomotorInfantry
Condition = SET_BURNINGDEATH
Speed = BURNINGDEATH_WANDERSPEED_INFANTRY
End
; Fire arrow upgrade
Behavior = WeaponSetUpgrade ModuleTag_14
TriggeredBy = Upgrade_ElvenSilverthornArrows
End
Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
End
Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL -FADED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 15000
Sound = INITIAL ElfGenericVoiceDie
DeathFlags = DEATH_1
End
Behavior = SlowDeathBehavior ModuleTag_FadeDeath
DeathTypes = NONE +FADED
FadeDelay = 0
FadeTime = 5000
DestructionDelay = 5000
DeathFlags = DEATH_2
FX = INITIAL FX_UnSummonElvenAllies
End
Behavior = SquishCollide ModuleTag_06
;nothing
End
Behavior = BezierProjectileBehavior ModuleTag_08 ; Module starts asleep, and wakes up when thrown.
;
FirstHeight = 25 ; Height of Bezier control points above highest intervening terrain
SecondHeight = 25
FirstPercentIndent = 30% ; Percentage of shot distance control points are placed
SecondPercentIndent = 70%
TumbleRandomly = Yes
CrushStyle = Yes ; I don't detonate, I just hit
DieOnImpact = Yes
BounceCount = 1 ; When I hit the ground, I'll arc again
BounceDistance = 41 ; this far
BounceFirstHeight = 25 ; Height of Bezier control points above highest intervening terrain
BounceSecondHeight = 25
BounceFirstPercentIndent = 20% ; Percentage of shot distance control points are placed
BounceSecondPercentIndent = 80%
GroundHitFX = FX_ThrownRockGroundHit
GroundBounceFX = FX_ThrownRockBounceHit
End
Geometry = CYLINDER
GeometryMajorRadius = 8.0
GeometryMinorRadius = 8.0
GeometryHeight = 19.2
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 14;
ShadowSizeY = 14;
ShadowTexture = ShadowI;
End
ChildObject ElvenLorienArcher_Slaved ElvenLorienArcher
; make sure we can see all round.
VisionSide = 100%
VisionRear = 100%
ShroudClearingRange = ELVEN_MALLORN_TREE_SHROUD_CLEAR
ShockwaveResistance = SHOCKWAVE_RESISTANCE_ALWAYS
LocomotorSet
Locomotor = HumanLocomotor
Condition = SET_NORMAL
Speed = 0
End
WeaponSet
Conditions = None
Weapon = PRIMARY LorienMallornTreeBow
End
;//These guys are stuck in the barricade can't move and can't be attacked
KindOf = UNATTACKABLE NOT_AUTOACQUIRABLE
Behavior = SlavedUpdate ModuleTag_Slave
GuardMaxRange = 0
GuardWanderRange = 0
UseSlaverAsControlForEvaObjectSightedEvents = No ; Not a creep
End
Behavior = SlowDeathBehavior ModuleTag_05 ; overriden to be faster, so we fall with the barricade rubble.
DeathTypes = ALL -KNOCKBACK
SinkDelay = 10
SinkRate = 1.50 ; in Dist/Sec
DestructionDelay = 10000
Sound = INITIAL ElfGenericVoiceDie
DeathFlags = DEATH_1
End
End