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 >
Text File  |  2006-01-31  |  30KB  |  996 lines

  1. ;------------------------------------------------------------------------------
  2. ;
  3. ;    Glorfindel.ini
  4. ;
  5. ;------------------------------------------------------------------------------
  6.  
  7. Object ElvenGlorfindel
  8.     ; *** ART Parameters ***
  9.  
  10.     ; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
  11.     SelectPortrait = HPGlorfindel
  12.     
  13.     ; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
  14.     ButtonImage = HIGlorfindel
  15.     
  16.     DescriptionStrategic = CONTROLBAR:LW_ToolTip_Glorfindel
  17.     
  18.     Draw = W3DScriptedModelDraw ModuleTag_DRAW
  19.  
  20.         ;WadingParticleSys = EntRipples
  21.         StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
  22.         OkToChangeModelColor = Yes
  23.     
  24.         DefaultModelConditionState
  25.             Model                    = EUGlrfdl_SKN
  26.             Skeleton                = EUGlrfdl_SKL
  27.         End
  28.  
  29.         ; mounted glorfindel with Wind Rider
  30.         ModelConditionState            = MOUNTED USER_3 USER_4
  31.             Model                    = EUGlrfnMnt_SKN
  32.             Skeleton                = RUHHs_Theo_SKL
  33.             ParticleSysBone = NONE WindRiderFoot FollowBone:Yes
  34.             ParticleSysBone = BAT_SPINE2 BladeMaster FollowBone:Yes
  35.         End
  36.  
  37.         ModelConditionState            = MOUNTED USER_4
  38.             Model                    = EUGlrfnMnt_SKN
  39.             Skeleton                = RUHHs_Theo_SKL
  40.             ParticleSysBone = BAT_SPINE2 BladeMaster FollowBone:Yes
  41.         End
  42.  
  43.         ; mounted glorfindel with Wind Rider
  44.         ModelConditionState            = MOUNTED USER_3
  45.             Model                    = EUGlrfnMnt_SKN
  46.             Skeleton                = RUHHs_Theo_SKL
  47.             ParticleSysBone = NONE WindRiderFoot FollowBone:Yes
  48.         End
  49.  
  50.         ModelConditionState            = MOUNTED
  51.             Model                    = EUGlrfnMnt_SKN
  52.             Skeleton                = RUHHs_Theo_SKL
  53.         End
  54.         
  55.         ModelConditionState            = USER_4
  56.             ParticleSysBone = BAT_SPINE1 BladeMaster FollowBone:Yes
  57.         End
  58.         
  59.         
  60.  
  61.  
  62.         ; --- Transition Anims
  63.  
  64.         ; --- Idle Anims
  65.         IdleAnimationState
  66.             Animation                = IDLB
  67.                 AnimationName        = EUGlrfdl_IDLB
  68.                 AnimationMode        = ONCE
  69.             End
  70.             Animation                = IDLC
  71.                 AnimationName        = EUGlrfdl_IDLC
  72.                 AnimationMode        = ONCE
  73.             End
  74.             Animation                = IDLD
  75.                 AnimationName        = EUGlrfdl_IDLD
  76.                 AnimationMode        = ONCE
  77.             End
  78.             Animation                = IDLE
  79.                 AnimationName        = EUGlrfdl_IDLE
  80.                 AnimationMode        = ONCE
  81.             End
  82.             StateName                = Idle
  83.             BeginScript
  84.                 CurDrawableHideSubObject("spear")
  85.                 Prev = CurDrawablePrevAnimationState()
  86.                 if Prev == "Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end
  87.             EndScript
  88.  
  89.         End
  90.  
  91.  
  92.         TransitionState                =    TRANS_MountedSelect
  93.             Animation                =    ATNA
  94.                 AnimationName        =    RUHHs_Theo_ATNA
  95.                 AnimationMode        =    ONCE
  96.             End
  97.         End
  98.         
  99. ;------------- mounted ---------        
  100.  
  101.         ; --- Moving Anims
  102.  
  103.         AnimationState                =    MOUNTED FREEFALL 
  104.             Animation                =    freefall
  105.                 AnimationName        =    RUHHs_Theo_FLYC
  106.                 AnimationMode        =    LOOP
  107.             End
  108.             Flags                    =    RANDOMSTART
  109.         End
  110.  
  111.         AnimationState                =    MOUNTED STUNNED_FLAILING 
  112.             Animation                =    JustDie
  113.                 AnimationName        =    RUHHs_Theo_FLYA
  114.                 AnimationMode        =    LOOP
  115.                 AnimationSpeedFactorRange    = 0.2 0.3
  116.             End
  117.             Flags                    =    RANDOMSTART
  118.         End
  119.  
  120.         AnimationState                =    MOUNTED DYING SPLATTED
  121.             Animation                =    Land
  122.                 AnimationName        =    RUHHs_Theo_LNDA
  123.                 AnimationMode        =    ONCE
  124.             End
  125.         End
  126.  
  127.         AnimationState                =    MOUNTED DYING
  128.             Animation                =    DieA
  129.                 AnimationName        =    RUHHs_Theo_DIEA
  130.                 AnimationMode        =    ONCE
  131.             End
  132.         End
  133.         
  134.         AnimationState                =    MOUNTED STUNNED_STANDING_UP
  135.             Animation                =    StandUp
  136.                 AnimationName        =    RUHHs_Theo_GTPA
  137.                 AnimationMode        =    ONCE
  138.                 AnimationSpeedFactorRange = 1.3 1.3
  139.             End
  140.         End
  141.         
  142.         AnimationState                =    MOUNTED STUNNED
  143.             Animation                =    Land
  144.                 AnimationName        =    RUHHs_Theo_LNDA
  145.                 AnimationMode        =    ONCE
  146.             End
  147.         End
  148.  
  149.         AnimationState                        = PARALYZED MOUNTED
  150.             Animation
  151.                 AnimationName                = RUHHs_Theo_IDLA
  152.                 AnimationMode                = LOOP
  153.             End
  154.         End
  155.  
  156.         AnimationState        = MOUNTED MOVING FIRING_OR_PREATTACK_A
  157.             ShareAnimation        = Yes
  158.             Animation           = MountedRunAndFire
  159.                 AnimationName       = RUHHs_Theo_ATRB
  160.                 AnimationMode       = LOOP
  161.             End
  162.             Flags               = RANDOMSTART  
  163.         End
  164.  
  165.         AnimationState                =    MOUNTED FIRING_OR_PREATTACK_A
  166.             Animation                =    AttackA
  167.                 AnimationName        =    RUHHs_Theo_ATKA
  168.                 AnimationMode        =    LOOP
  169.                 UseWeaponTiming        =    Yes
  170.             End
  171.             Animation                =    AttackB
  172.                 AnimationName        =    RUHHs_Theo_ATKB
  173.                 AnimationMode        =    LOOP
  174.                 UseWeaponTiming        =    Yes
  175.             End
  176.         End
  177.  
  178.         AnimationState                =    MOUNTED TURN_LEFT_HIGH_SPEED
  179.             Animation                =    TurnLeft
  180.                 AnimationName        =    RUHHs_Theo_TNL1
  181.                 AnimationMode        =    LOOP
  182.             End
  183.         End
  184.  
  185.         AnimationState                =    MOUNTED TURN_RIGHT_HIGH_SPEED
  186.             Animation                =    TurnRight
  187.                 AnimationName        =    RUHHs_Theo_TNR1
  188.                 AnimationMode        =    LOOP
  189.             End
  190.         End
  191.  
  192.         AnimationState                =    MOUNTED MOVING ACCELERATE
  193.             Animation                =    Accelerate
  194.                 AnimationName        =    RUHHs_Theo_ACCL
  195.                 AnimationMode        =    LOOP
  196.             End
  197.         End
  198.  
  199.         AnimationState                =    MOUNTED MOVING DECELERATE
  200.             Animation                =    Decelerate
  201.                 AnimationName        =    RUHHs_Theo_DECL
  202.                 AnimationMode        =    ONCE
  203.                 AnimationSpeedFactorRange = 0.6 0.6    
  204.             End
  205.         End
  206.         
  207.         AnimationState                =    MOUNTED TURN_LEFT 
  208.             Animation                =    TurnLeft
  209.                 AnimationName        =    RUHHs_Theo_TRNL
  210.                 AnimationMode        =    LOOP
  211.             End
  212.         End
  213.  
  214.         AnimationState                =    MOUNTED TURN_RIGHT 
  215.             Animation                =    TurnRight
  216.                 AnimationName        =    RUHHs_Theo_TRNR
  217.                 AnimationMode        =    LOOP
  218.             End
  219.         End
  220.  
  221.         AnimationState                =    MOUNTED MOVING WALKING
  222.             Animation                =    Walk
  223.                 AnimationName        =    RUHHs_Theo_WLKA
  224.                 AnimationMode        =    LOOP
  225.             End
  226.             Flags                    =    RANDOMSTART
  227.         End
  228.         
  229.         AnimationState                =    MOUNTED MOVING BACKING_UP
  230.             Animation                =    BackingUp
  231.                 AnimationName        =    RUHHs_Theo_BAKA
  232.                 AnimationMode        =    LOOP
  233.             End
  234.             Flags                    =    RANDOMSTART
  235.         End
  236.  
  237.  
  238.         AnimationState                =    MOUNTED MOVING
  239.             Animation                =    RunA
  240.                 AnimationName        =    RUHHs_Theo_RUNA
  241.                 AnimationMode        =    LOOP
  242.             End
  243.              Flags                    =    RANDOMSTART
  244.         End
  245.         
  246.         AnimationState = MOUNTED USER_1
  247.             Animation
  248.                 AnimationName                = EUGlrfnMnt_SPCA
  249.                 AnimationMode                = ONCE
  250.                 AnimationSpeedFactorRange    = 0.7 0.7
  251.             End
  252.         End
  253.  
  254.         AnimationState = MOUNTED USER_2 
  255.             Animation
  256.                 AnimationName                = EUGlrfnMnt_SPCB
  257.                 AnimationMode                = ONCE
  258.                 AnimationSpeedFactorRange    = 0.8 0.8
  259.             End
  260.         End
  261.  
  262.         AnimationState                =    RAISING_FLAG MOUNTED
  263.                 Animation           =    CHRA
  264.                     AnimationName   =    RUHHs_Theo_CHRA
  265.                     AnimationMode   =    LOOP
  266.                 End
  267.         End
  268.  
  269.         AnimationState                =    MOUNTED SELECTED
  270.             SimilarRestart            =   Yes            
  271.             StateName                =    AtAttentionIdle
  272.             Animation                =    ATNB
  273.                 AnimationName        =    RUHHs_Theo_IDLH
  274.                 AnimationMode        =    LOOP
  275.             End
  276.             BeginScript
  277.                 Prev = CurDrawablePrevAnimationState()
  278.                 if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end
  279.             EndScript
  280.         End
  281.  
  282.         TransitionState                =    TRANS_MountedSelect
  283.             Animation                =    ATNA
  284.                 AnimationName        =    RUHHs_Theo_ATNA
  285.                 AnimationMode        =    ONCE
  286.             End
  287.         End
  288.  
  289.         AnimationState                = MOUNTED LEVELED
  290.             Animation                = LevelUp
  291.                 AnimationName        = RUHHs_Theo_CHRA
  292.                 AnimationMode        = ONCE
  293.             End
  294.         End
  295.         
  296.         AnimationState = MOUNTED
  297.             StateName = Idle
  298.             Animation                =    IdleA
  299.                 AnimationName        =    RUHHs_Theo_IDLA
  300.                 AnimationPriority    =    30
  301.                 AnimationMode        =    LOOP
  302.                 AnimationBlendTime    =    15
  303.             End            
  304.             Animation    =    IDLB
  305.                 AnimationName        =    RUHHs_Theo_IDLB
  306.                 AnimationPriority    =    15
  307.                 AnimationMode        =    LOOP
  308.                 AnimationBlendTime    =    30
  309.             End
  310.             Animation    =    IDLC
  311.                 AnimationName        =    RUHHs_Theo_IDLC
  312.                 AnimationPriority    =    15
  313.                 AnimationMode        =    LOOP
  314.                 AnimationBlendTime    =    30
  315.             End
  316.             Flags                    =    RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
  317.         End
  318.  
  319. ;---------not mounted
  320.  
  321.         AnimationState            = STUNNED_FLAILING 
  322.             Flags               = RANDOMSTART
  323.             Animation
  324.                 AnimationName   = EUGlrfdl_FLYA
  325.                 AnimationMode   = LOOP
  326.                 AnimationSpeedFactorRange    = 0.4 0.6
  327.             End
  328.             StateName           = NoSword
  329.             BeginScript
  330.                 Prev = CurDrawablePrevAnimationState()
  331.                 if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
  332.             EndScript
  333.         End
  334.  
  335.         AnimationState            = STUNNED_STANDING_UP
  336.             Animation
  337.                 AnimationName   = EUGlrfdl_GTPA
  338.                 AnimationMode   = ONCE
  339.                 AnimationSpeedFactorRange= 1.5 1.5
  340.             End
  341.         End
  342.  
  343.         AnimationState            = STUNNED 
  344.             Animation
  345.                 AnimationName   = EUGlrfdl_LNDA
  346.                 AnimationMode   = ONCE
  347.             End
  348.             StateName           = NoSword
  349.             BeginScript
  350.                 Prev = CurDrawablePrevAnimationState()
  351.                 if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
  352.             EndScript
  353.         End
  354.  
  355.         ; --- Dying anims
  356.         AnimationState                =    DYING SPLATTED
  357.             Animation
  358.                 AnimationName        =    EUGlrfdl_LNDA
  359.                 AnimationMode        =    ONCE
  360.             End
  361.             StateName                =    NoSword
  362.             BeginScript
  363.                 Prev = CurDrawablePrevAnimationState()
  364.                 if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
  365.             EndScript
  366.         End
  367.         AnimationState        = DYING AFLAME
  368.             Animation = DieAflame
  369.                 AnimationName           = EUGlrfdl_MFDA
  370.                 AnimationMode       = LOOP
  371.             End
  372.         End
  373.         
  374.  
  375.         AnimationState                =    DYING
  376.             Animation
  377.                 AnimationName        =    EUGlrfdl_DTHA
  378.                 AnimationMode        =    ONCE
  379.                 AnimationPriority   =   10
  380.             End
  381.         End
  382.         
  383.         AnimationState                        = PARALYZED
  384.             Animation
  385.                 AnimationName                = EUGlrfdl_IDLB
  386.                 AnimationMode                = LOOP
  387.             End
  388.         End
  389.  
  390.         
  391.         
  392.         AnimationState        = MOVING FIRING_OR_PREATTACK_A
  393.             ShareAnimation        = Yes
  394.             Animation           = RunAndFire
  395.                 AnimationName       = EUGlrfdl_ATKSV2
  396.                 AnimationMode       = LOOP
  397.             End
  398.             Flags               = RANDOMSTART 
  399.             BeginScript
  400.                 CurDrawableHideSubObject("spear")
  401.             EndScript
  402.         End
  403.  
  404.         AnimationState                =    MOVING ATTACKING
  405.             Flags                    =    RANDOMSTART
  406.             Animation                =    RUNB
  407.                 AnimationName        =    EUGlrfdl_RUNB
  408.                 AnimationMode        =    LOOP
  409.             End
  410.             StateName                =    NoSword
  411.             BeginScript
  412.                 CurDrawableHideSubObject("spear")
  413.                 Prev = CurDrawablePrevAnimationState()
  414.                 if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
  415.             EndScript
  416.         End
  417.  
  418.  
  419.         AnimationState                =    MOVING
  420.             Flags                    =    RANDOMSTART
  421.             Animation                =    RUNA
  422.                 AnimationName        =    EUGlrfdl_RUNA
  423.                 AnimationMode        =    LOOP
  424.             End
  425.             StateName                =    NoSword
  426.             BeginScript
  427.                 CurDrawableHideSubObject("spear")
  428.                 Prev = CurDrawablePrevAnimationState()
  429.                 if Prev == "Sword" then CurDrawableSetTransitionAnimState("TRANS_SheatheSword") end
  430.             EndScript
  431.         End
  432.         
  433.         AnimationState = USER_1
  434.             Animation
  435.                 AnimationName                = EUGlrfdl_SPCA
  436.                 AnimationMode                = ONCE
  437.                 AnimationSpeedFactorRange    = 0.75 0.75
  438.             End
  439.         End
  440.  
  441.         AnimationState = USER_2
  442.             Animation
  443.                 AnimationName                = EUGlrfdl_SPCB
  444.                 AnimationMode                = ONCE
  445.                 AnimationSpeedFactorRange    = 0.8 0.8
  446.             End
  447.         End
  448.  
  449.         ; Attacking Anims [Weapon_A]
  450.         AnimationState                =    FIRING_OR_PREATTACK_A
  451.             StateName                =    Sword
  452.             Animation                =    ATKA
  453.                 AnimationName        =    EUGlrfdl_ATKA
  454.                 AnimationMode        =    ONCE
  455.                 UseWeaponTiming        =    Yes
  456.             End
  457.             Animation                =    ATKB
  458.                 AnimationName        =    EUGlrfdl_ATKB
  459.                 AnimationMode        =    ONCE
  460.                 UseWeaponTiming        =    Yes
  461.             End
  462.             Animation                =    ATKC
  463.                 AnimationName        =    EUGlrfdl_ATKC
  464.                 AnimationMode        =    ONCE
  465.                 UseWeaponTiming        =    Yes
  466.             End
  467.             Flags                    =    RESTART_ANIM_WHEN_COMPLETE
  468.             BeginScript
  469.                 CurDrawableHideSubObject("spear")
  470.             EndScript
  471.         End
  472.  
  473.         ; ATTACKING
  474.         AnimationState        = ATTACKING
  475.             Animation           = ALERT_1
  476.                 AnimationName     = EUGlrfdl_IDLA
  477.                 AnimationMode     = ONCE
  478.             End
  479.             Flags               = RESTART_ANIM_WHEN_COMPLETE
  480.         End
  481.         
  482.         ; --------- Click and Hit Reactions ------------
  483.         AnimationState            = HIT_REACTION HIT_LEVEL_1
  484.             StateName            = STATE_Bored_Sword
  485.             Animation            = Hit_Level_1_A
  486.                 AnimationName    = EUGlrfdl_HITA
  487.                 AnimationMode    = ONCE
  488.             End
  489.         End
  490.         
  491.         AnimationState            = HIT_REACTION HIT_LEVEL_2
  492.             StateName            = STATE_Bored_Sword
  493.             Animation            = Hit_Level_1_A
  494.                 AnimationName    = EUGlrfdl_HITA
  495.                 AnimationMode    = ONCE
  496.             End
  497.         End
  498.         
  499.         AnimationState            = HIT_REACTION HIT_LEVEL_3
  500.             StateName            = STATE_Bored_Sword
  501.             Animation            = Hit_Level_1_A
  502.                 AnimationName    = EUGlrfdl_HITA
  503.                 AnimationMode    = ONCE
  504.             End
  505.         End
  506.         
  507.         ; --------- Selected Anims and Transitions
  508.         TransitionState                    =    TRANS_Idle_to_Selected
  509.             Animation                    =    ATNA
  510.                 AnimationName            =    EUGlrfdl_ATNA
  511.                 AnimationMode            =    ONCE
  512.             End
  513.         End
  514.         
  515.         TransitionState                    =    TRANS_Selected_To_Idle
  516.             Animation                    =    ATNC
  517.                 AnimationName            =    EUGlrfdl_ATNC
  518.                 AnimationMode            =    ONCE
  519.             End
  520.         End
  521.         
  522.         AnimationState                        = LEVELED
  523.             Animation                        = LevelUp
  524.                 AnimationName                = EUGlrfdl_LVLA
  525.                 AnimationMode                = ONCE
  526.                 AnimationSpeedFactorRange    = 0.75 0.75
  527.             End
  528.         End
  529.         
  530.         AnimationState                =    RAISING_FLAG
  531.             Animation                =    CHRA
  532.                 AnimationName        =    EUGlrfdl_CHRA
  533.                 AnimationMode        =    LOOP
  534.             End
  535.         End
  536.  
  537.         AnimationState                =    SELECTED
  538.             StateName                =    Selected
  539.             SimilarRestart            =   Yes            
  540.             Animation                =    ATNB
  541.                 AnimationName        =    EUGlrfdl_ATNB
  542.                 AnimationMode        =    LOOP
  543.             End
  544.             BeginScript
  545.                 CurDrawableHideSubObject("spear")
  546.                 Prev = CurDrawablePrevAnimationState()
  547.                 if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end
  548.             EndScript
  549.         End
  550.         
  551.         ;----Emotion Animations
  552.         AnimationState                =    EMOTION_CELEBRATING
  553.             Animation                =    CHRA
  554.                 AnimationName        =    EUGlrfdl_CHRA
  555.                 AnimationMode        =    ONCE
  556.                 AnimationPriority    =    10
  557.             End
  558.             Flags                    =    RESTART_ANIM_WHEN_COMPLETE                
  559.         End
  560.         
  561.         AnimationState                    = EMOTION_TAUNTING
  562.             Animation
  563.                 AnimationName            = EUGlrfdl_TNTA
  564.                 AnimationMode            = LOOP
  565.             End
  566.         End
  567.         
  568.         AnimationState                    = EMOTION_ALERT EMOTION_MORALE_HIGH
  569.             Animation                    = Taunting
  570.                 AnimationName            = EUGlrfdl_TNTA
  571.                 AnimationMode            = ONCE
  572.             End
  573.             Flags                        = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
  574.         End
  575.         
  576.         ; READY IDLE
  577.         AnimationState        = EMOTION_ALERT
  578.             Animation           = ALERT_1
  579.                 AnimationName     = EUGlrfdl_IDLA
  580.                 AnimationMode     = ONCE
  581.             End
  582.             Flags               = RESTART_ANIM_WHEN_COMPLETE
  583.         End    
  584.         
  585.     End
  586.  
  587.     Draw = W3DScriptedModelDraw DustEffects
  588.         DefaultModelConditionState
  589.           Model = None
  590.         End
  591.         IdleAnimationState
  592.         End
  593.         AnimationState = MOUNTED MOVING WADING
  594.             ParticleSysBone = None FootstepSlash
  595.         End
  596.         AnimationState = MOUNTED MOVING ACCELERATE
  597.             ParticleSysBone = None GenericSiegeTrailDust
  598.         End
  599.         AnimationState = MOUNTED MOVING ACCELERATE
  600.             ParticleSysBone = None GenericSiegeTrailDust
  601.         End
  602.         AnimationState = MOUNTED MOVING
  603.         End
  604.     End
  605.  
  606.     #include "..\..\..\includes\StunDrawModuleSmall.inc"
  607.  
  608.     ; ***DESIGN parameters ***
  609.     Side                = Elves
  610.     EditorSorting        = UNIT
  611.     ThreatLevel            = GLORFINDEL_THREAT_LEVEL
  612.     ThingClass            = CHARACTER_UNIT
  613.     TransportSlotCount    = TRANSPORTSLOTCOUNT_HERO
  614.     BuildCost           = GLORFINDEL_BUILDCOST
  615.     BuildTime           = GLORFINDEL_BUILDTIME
  616.     BountyValue         = ELVEN_GLORFINDEL_BOUNTY_VALUE
  617.     ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG
  618.     ;//DisplayMeleeDamage    = GLORFINDEL_DAMAGE
  619.  
  620.     ;;;;;; WEAPON SETS ;;;;;;    
  621.     WeaponSet
  622.         Conditions            = None 
  623.         Weapon                = PRIMARY   GlorfindelSword
  624.         AutoChooseSources    = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  625.     End
  626.     WeaponSet
  627.         Conditions            = CONTAINED
  628.         Weapon                = SECONDARY GarrisonedUnitBow
  629.         AutoChooseSources    = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  630.     End
  631.     
  632.     ;;;;;; Armor Sets ;;;;;;
  633.     ArmorSet
  634.         Conditions      = None
  635.         Armor           = HeroArmor
  636.         DamageFX        = NormalDamageFX
  637.     End
  638.     ArmorSet
  639.         Conditions      = MOUNTED
  640.         Armor           = HeroArmorMounted
  641.         DamageFX        = NormalDamageFX
  642.     End
  643.         
  644.  
  645.     VisionRange            = VISION_HERO_STANDARD
  646.     ShroudClearingRange = SHROUD_CLEAR_HERO    
  647.     
  648.     MaxVisionBonusPercent = 300%
  649.     VisionBonusTestRadius = 200
  650.     VisionBonusPercentPerFoot = 1.0%
  651.  
  652.     DisplayName             = OBJECT:ElvenGlorfindel
  653.     RecruitText             = CONTROLBAR:ElvenGlorfindelRecruit    ;;;;;;;;;;;; Anyone who gets revived should get these
  654.     ReviveText                = CONTROLBAR:ElvenGlorfindelRevive    ;;
  655.     Hotkey                    = CONTROLBAR:ElvenGlorfindelHotkey    ;;            If not, it won't look too bad.
  656.  
  657.     MinCrushVelocityPercent        = 50 ; Has to be moving at at least 50% of full speed.
  658.     CrushDecelerationPercent    = 30 ; Lose xx percent of max velocity when crushing.
  659.     CrusherLevel                = 0    ;Can I crush anything?
  660.     MountedCrusherLevel            = 1    ;Crush level when mounted.
  661.     
  662.     CrushKnockback    = 40
  663.     CrushZFactor    = 1.0
  664.  
  665.     CommandSet        = ElvenGlorfindelCommandSet
  666.     CommandPoints    = 50
  667.  
  668.  
  669.     ; *** AUTO RESOLVE DATA *** 
  670.     AutoResolveUnitType = AutoResolveUnit_Hero
  671.     AutoResolveCombatChain = AutoResolve_HeroCombatChain
  672.  
  673.     AutoResolveBody = AutoResolve_GlorfindelBody
  674.     
  675.     AutoResolveArmor
  676.         Armor = AutoResolve_GlorfindelArmor
  677.     End
  678.  
  679.     AutoResolveWeapon
  680.         Weapon = AutoResolve_GlorfindelWeapon
  681.     End
  682.     
  683.     ;AutoResolveLeadership = AutoResolve_GlorfindelBonus
  684.  
  685.  
  686.     ; *** AUDIO Parameters ***;
  687.  
  688.     VoiceAttack                             = GlorfindelVoiceAttack
  689.     VoiceAttackAir                            = GlorfindelVoiceAttack
  690.     VoiceAttackCharge                         = GlorfindelVoiceAttackCharge
  691.     VoiceAttackMachine                         = GlorfindelVoiceAttack
  692.     VoiceAttackStructure                     = GlorfindelVoiceAttackBuilding
  693.     VoiceFear                                = GlorfindelVoiceHelpMe
  694.     VoiceGuard                                = GlorfindelVoiceMove
  695.     VoiceMove                                 = GlorfindelVoiceMove
  696.     VoiceMoveToCamp                         = GlorfindelVoiceMoveCamp
  697.     VoiceMoveWhileAttacking                 = GlorfindelVoiceDisengage
  698.     VoicePriority                            = 64
  699.     VoiceRetreatToCastle                     = GlorfindelVoiceRetreat
  700.     VoiceSelect                             = GlorfindelVoiceSelectMS
  701.     VoiceSelectBattle                          = GlorfindelVoiceSelectBattle
  702.  
  703.     SoundImpact                             = ImpactHorse
  704.  
  705.     UnitSpecificSounds
  706.         VoiceEnterUnitElvenTransportShip    = GlorfindelVoiceMoveShip
  707.         VoiceGarrison                        = GlorfindelVoiceMoveGarrison
  708.         VoiceInitiateCaptureBuilding        = GlorfindelVoiceCaptureBuilding            ; From SpecialPower SpecialAbilityCaptureBuilding
  709.     End
  710.  
  711.     ClientBehavior = ModelConditionSoundSelectorClientBehavior ModuleTag_MCSoundSelector
  712.         SoundState = MOUNTED
  713.             VoiceMove            = GlorfindelVoiceMoveMount
  714.             VoiceSelect            = GlorfindelVoiceSelectMountedMS
  715.         End
  716.     End
  717.  
  718.     CrowdResponseKey = ElfHero
  719.  
  720.     #include "..\..\..\includes\StandardUnitEvaEvents.inc"
  721.     EvaEventDieOwner        = GlorfindelDie                ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths
  722.  
  723.     Behavior = LargeGroupAudioUpdate ModuleTag_LGAU            ; Tie into LargeGroupAudio system
  724.         Key = Humanoid_Male Elf Elf_Male Unit Infantry Hero
  725.         ;UnitWeight = 2
  726.     End
  727.  
  728.     ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
  729.         MaxUpdateRangeCap = 800
  730.         AnimationSound = Sound:BodyFallSoldier            Animation:EUGLRFDL_SKL.EUGLRFDL_LNDA        Frames:5
  731.         AnimationSound = Sound:BodyFallSoldier            Animation:EUGLRFDL_SKL.EUGLRFDL_DTHA        Frames:34
  732.  
  733.         AnimationSound = Sound:FootstepDirtA            Animation:EUGlrfdl_SKL.EUGlrfdl_RUNA        Frames:9 18 28 38 48 58
  734.         AnimationSound = Sound:FootstepDirtA            Animation:EUGlrfdl_SKL.EUGlrfdl_RUNB        Frames:9 18 28 38 48 58
  735.  
  736.         AnimationSound = Sound:HorseMoveFootsteps        Animation:RUHHs_Theo_SKL.RUHHs_Theo_ACCL    Frames:16 
  737.         AnimationSound = Sound:HorseMoveFootsteps        Animation:RUHHs_Theo_SKL.RUHHs_Theo_RUNA    Frames:8
  738.         AnimationSound = Sound:HorseMoveFootsteps        Animation:RUHHs_Theo_SKL.RUHHs_Theo_TNL1    Frames:8
  739.         AnimationSound = Sound:HorseMoveFootsteps        Animation:RUHHs_Theo_SKL.RUHHs_Theo_TNR1    Frames:8
  740.         AnimationSound = Sound:HorseDieForHero            Animation:RUHHs_Theo_SKL.RUHHs_Theo_LNDA    Frames:0
  741.         AnimationSound = Sound:BodyFallSoldier            Animation:RUHHs_Theo_SKL.RUHHs_Theo_LNDA    Frames:2 10
  742.         AnimationSound = Sound:HorseDieForHero            Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA    Frames:0
  743.         AnimationSound = Sound:BodyFallGenericNoArmor    Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA    Frames:6
  744.         AnimationSound = Sound:BodyFallSoldier            Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA    Frames:45
  745.     End
  746.  
  747.     ;-------------------------------
  748.  
  749.     Behavior = EmotionTrackerUpdate    Module_EmotionTracker
  750.         TauntAndPointDistance                = 300
  751.         TauntAndPointUpdateDelay            = 10000
  752.         AddEmotion            =    Terror_Base
  753.         AddEmotion            =    Doom_Base
  754.         //    AddEmotion            =   BraceForBeingCrushed_Base
  755.         AddEmotion            =    UncontrollableFear_Base
  756.         //    AddEmotion            =    FearIdle_Base
  757.         //    AddEmotion            =    FearBusy_Base
  758.         AddEmotion            =    Point_Base
  759.         AddEmotion            =    Taunt_Base
  760.          AddEmotion            =    CheerIdle_Base
  761.         AddEmotion            =    CheerBusy_Base
  762.         //    AddEmotion            =    HeroCheerIdle_Base
  763.         //    AddEmotion            =    HeroCheerBusy_Base
  764.         AddEmotion            =    Alert_Base
  765.         AddEmotion            =    CheerForAboutToCrush_Base
  766.     End
  767.  
  768.  
  769.     ; ===== Wind Rider --------------------------------------------------------------------------------
  770.     Behavior = UnpauseSpecialPowerUpgrade ModuleTag_GlorfindelWindRiderEnabler
  771.         SpecialPowerTemplate            = SpecialAbilityGlorfindelWindRider
  772.         TriggeredBy                        = Upgrade_GlorfindelWindRider
  773.     End
  774.  
  775.     Behavior = SpecialPowerModule ModuleTag_GlorfindelWindRiderStarter
  776.         SpecialPowerTemplate            = SpecialAbilityGlorfindelWindRider
  777.         UpdateModuleStartsAttack        = Yes
  778.         StartsPaused                    = Yes
  779.         ;InitiateSound                    = GlorfindelWindRider        ;this didn't work
  780.     End
  781.  
  782.     Behavior = SpecialAbilityUpdate ModuleTag_GlorfindelWindRiderUpdate
  783.         SpecialPowerTemplate            = SpecialAbilityGlorfindelWindRider
  784.         UnpackTime                        = 1
  785.         RequiredConditions                = MOUNTED
  786.         TriggerAttributeModifier        = GlorfindelWindRider
  787.         AttributeModifierDuration        = 30000
  788.         KillAttributeModifierOnRejected    = Yes
  789.         ;TriggerSound                    = GlorfindelWindRider        ;this works but the hook on the CommandButton.INI is more responsive
  790.     End    
  791.  
  792.     ; ===== Blade Of Purity --------------------------------------------------------------------------------
  793.     Behavior = UnpauseSpecialPowerUpgrade ModuleTag_GlorfindelBladeOfPurityEnabler
  794.         SpecialPowerTemplate        = SpecialAbilityGlorfindelBladeOfPurity
  795.         TriggeredBy                    = Upgrade_GlorfindelBladeOfPurity
  796.     End
  797.       Behavior = SpecialPowerModule ModuleTag_GlorfindelBladeOfPurityStarter
  798.         SpecialPowerTemplate        = SpecialAbilityGlorfindelBladeOfPurity
  799.         StartsPaused                = Yes
  800.         SetModelCondition            = ModelConditionState:USER_1
  801.         SetModelConditionTime        = 2.0
  802.     End
  803.     Behavior = SpecialAbilityUpdate ModuleTag_GlorfindelBladeOfPurityUpdate
  804.         SpecialPowerTemplate        = SpecialAbilityGlorfindelBladeOfPurity
  805.         TriggerAttributeModifier    = GlorfindelBladeOfPurity
  806.         AttributeModifierDuration    = 30000
  807.     End
  808.     Behavior = AutoAbilityBehavior ModuleTag_BladeOfPurityAutoAbility
  809.         SpecialAbility                = SpecialAbilityGlorfindelBladeOfPurity
  810.         MaxScanRange                = 200
  811.         Query                        = 1 ALL ENEMIES
  812.     End
  813.  
  814.     ; ===== Starlight --------------------------------------------------------------------------------
  815.     Behavior = UnpauseSpecialPowerUpgrade ModuleTag_GlorfindelStarlightEnabler
  816.         SpecialPowerTemplate        = SpecialAbilityGlorfindelStarlight
  817.         TriggeredBy                    = Upgrade_GlorindelStarlight
  818.     End
  819.  
  820.     Behavior = OCLSpecialPower ModuleTag_GlorfindelStarlight
  821.         StartsPaused                = Yes
  822.         SpecialPowerTemplate        = SpecialAbilityGlorfindelStarlight
  823.         OCL                            = OCL_GlorfindelStarlightObject
  824.         CreateLocation                = CREATE_AT_LOCATION
  825.         SetModelCondition            = ModelConditionState:USER_2
  826.         SetModelConditionTime        = 2.333
  827.     End
  828.  
  829.     ; special AutoAbilityBehavior for starlight, as we need to target a bunch of allies.
  830.     Behavior = AutoAbilityBehavior ModuleTag_StarlightAutoAbilityBehavior
  831.         SpecialAbility    = SpecialAbilityGlorfindelStarlight
  832.         MaxScanRange    = GLORFINDEL_STARLIGHT_RADIUS
  833.         Query            = 2 ANY ALLIES +HORDE                        ; 2 friendly hordes or an enemy
  834.         Query            = 1 ALL ENEMIES
  835.     End
  836.  
  837.     ; *** ENGINEERING Parameters ***--------------------------------------------------------------------------------
  838.     RadarPriority = UNIT
  839.     KindOf = HERO PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT PATH_THROUGH_EACH_OTHER SCORE ARMY_SUMMARY HEAVY_MELEE_HITTER
  840.     PathfindDiameter = 40.0
  841.     CamouflageDetectionMultiplier = 2.0
  842.  
  843.     Body = RespawnBody ModuleTag_RespawnBody
  844.         MaxHealth                    = GLORFINDEL_HEALTH  ;BALANCE Glorfindel Health
  845.         PermanentlyKilledByFilter    = NONE        ;Who kills me permanently?
  846.            DodgePercent                = HERO_DODGE_PERCENT
  847.     End
  848.     Behavior = RespawnUpdate ModuleTag_RespawnUpdate
  849. ;        DeathAnim                    = STUNNED                        ;Model condition to play when killed-to-respawn
  850.         DeathFX                        = FX_GlorfindelDieToRespawn        ;FXList to play when killed-to-respawn
  851.         DeathAnim                    = DYING                            ;Model condition to play when killed-to-respawn
  852.         DeathAnimationTime            = 6500                            ;How long DeathAnim will take.
  853.         InitialSpawnFX                = FX_GlorfindelInitialSpawn
  854.         RespawnAnim                    = LEVELED                        ;Animation to play when respawning.
  855.         RespawnFX                    = FX_GlorfindelRespawn            ;FXList to play when respawning.
  856.         RespawnAnimationTime        = 2000                            ;Time it takes for respawn to play.
  857.         AutoRespawnAtObjectFilter    = NONE +CASTLE_KEEP                ;Respawn at this location -- and at it's exit production point if possible.
  858.         ButtonImage                    = HIGlorfindel_res
  859.         
  860.         ;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others
  861.         ;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any
  862.         RespawnRules =    AutoSpawn:No        Cost:1125        Time:60000        Health:100%        ;DEFAULT VALUES
  863.     End
  864.  
  865.     Behavior = AutoHealBehavior ModuleTag_GlorfindelHealing
  866.         StartsActive            = Yes
  867.         HealingAmount            = HERO_HEAL_AMOUNT
  868.         HealingDelay            = 1000
  869.         StartHealingDelay        = HERO_HEAL_DELAY
  870.         HealOnlyIfNotInCombat    = Yes
  871.     End
  872.   
  873.     ; autoability for casting Wind Rider and Blade of Purity, Wind Rider
  874.     Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityBehavior
  875.     End        
  876.   
  877.     #include "..\..\..\includes\DefaultInvisibilityUpdate.inc"
  878.  
  879.     Behavior = StancesBehavior ModuleTag_StancesBehavior
  880.         StanceTemplate = Hero
  881.     End
  882.   
  883.     #include "..\..\..\includes\CaptureBuilding.inc"
  884.  
  885.     Behavior = AIUpdateInterface ModuleTag_03
  886.         AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS STEALTHED
  887.         MoodAttackCheckRate        = 500
  888.         CanAttackWhileContained       = Yes
  889.     End
  890.  
  891.     LocomotorSet
  892.         Locomotor = HeroHumanLocomotor
  893.         Condition = SET_NORMAL 
  894.         Speed     = NORMAL_ELVEN_FAST_MEMBER_SPEED
  895.     End
  896.       
  897.     LocomotorSet
  898.         Locomotor = HeroHorseLocomotor
  899.         Condition = SET_MOUNTED 
  900.         Speed     = NORMAL_ELVEN_CAVALRY_MEMBER_SPEED
  901.     End
  902.     
  903.     Behavior = PhysicsBehavior ModuleTag_04
  904.         GravityMult = 1.0
  905.         ShockStandingTime = 2000    ;msec
  906.     End
  907.      
  908.     Behavior = SlowDeathBehavior ModuleTag_05
  909.         DeathTypes = ALL 
  910.         SinkDelay = 3000
  911.         SinkRate = 1.40     ; in Dist/Sec
  912.         DestructionDelay = 8000
  913.         Sound = INITIAL GlorfindelVoiceDie
  914.     End
  915.     
  916.     Behavior = SquishCollide ModuleTag_06
  917.         ;nothing
  918.     End
  919.  
  920.     Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
  921.     End
  922.     
  923.     Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
  924.         HitReactionLifeTimer1 = 2700    ; level 1 (light  damage)  hit reaction animations in msec
  925.         HitReactionLifeTimer2 = 3366    ; level 2 (medium damage)  hit reaction animations in msec
  926.         HitReactionLifeTimer3 = 10        ; level 3 (heavy  damage)  hit reaction animations in msec
  927.  
  928.         HitReactionThreshold1 = 5.0        ; level 1 (light  damage) threshold trigger
  929.         HitReactionThreshold2 = 100.0    ; level 2 (medium damage) threshold trigger
  930.         HitReactionThreshold3 = 300.0    ; level 3 (heavy  damage) threshold trigger
  931.     End
  932.  
  933.      Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter
  934.          SpecialPowerTemplate        = SpecialAbilityToggleMounted
  935.          UpdateModuleStartsAttack    = Yes
  936.          ;InitiateSound                = 
  937.          StartsPaused                = No
  938.      End
  939.     Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
  940.          SpecialPowerTemplate    = SpecialAbilityToggleMounted
  941.          UnpackTime              = 2000
  942.          PreparationTime         = 1  
  943.          PersistentPrepTime      = 250
  944.          PackTime                = 2000    
  945.          OpacityTarget            = .3        ; How see-thru to be at peak of change
  946.          AwardXPForTriggering    = 0
  947.     End
  948.     
  949.     ;///////////////////
  950.     ; AISpecialPowers
  951.     ;///////////////////
  952.  
  953.     Behavior = AISpecialPowerUpdate GlorfindelToggleMountedAI
  954.         CommandButtonName = Command_MountHorseGlorfindel
  955.         SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MOUNTED
  956.     End
  957.     
  958.     Behavior = AISpecialPowerUpdate BladeOfPurityAI
  959.         CommandButtonName = Command_SpecialAbilityGlorfindelBladeOfPurity
  960.         SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
  961.     End
  962.     
  963.     Behavior = AISpecialPowerUpdate WindRiderAI
  964.         CommandButtonName = Command_SpecialAbilityGlorfindelWindRider
  965.         SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
  966.     End
  967.     
  968.     Behavior = AISpecialPowerUpdate StarLightAI
  969.         CommandButtonName = Command_GlorfindelStarlight
  970.         SpecialPowerAIType = AI_SPECIAL_POWER_HEAL_AOE
  971.     End
  972.     
  973.     Behavior = AutoHealBehavior ModuleTag_ElvenGiftHealing
  974.         StartsActive                = No
  975.         TriggeredBy                    = Upgrade_ElvenGift
  976.         HealingAmount                = ELVEN_GIFT_REGEN_AMOUNT
  977.         HealingDelay                = ELVEN_GIFT_REGEN_DELAY
  978.         StartHealingDelay = HERO_HEAL_DELAY
  979.         HealOnlyIfNotInCombat = Yes
  980.     End
  981.     
  982.     Behavior = AttributeModifierUpgrade ModuleTag_ElvenGiftBonus
  983.         TriggeredBy = Upgrade_ElvenGift
  984.         AttributeModifier = SpellBookElvenGifts
  985.     End
  986.  
  987.     Geometry            = CYLINDER
  988.     GeometryMajorRadius = 8.0
  989.     GeometryHeight        = 25
  990.     GeometryIsSmall        = Yes
  991.     Shadow                = SHADOW_DECAL
  992.     ShadowSizeX            = 20
  993.     ShadowSizeY            = 20
  994.     ShadowTexture        = ShadowI
  995. End
  996.