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_dwarven_dwarvenguardian_c.ini < prev    next >
Text File  |  2006-01-31  |  23KB  |  744 lines

  1. ;------------------------------------------------------------------------------
  2. ;
  3. ;    DwarvenGuardian_C.ini
  4. ;
  5. ;------------------------------------------------------------------------------
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7.  
  8. Object DwarvenGuardian_C
  9.     ; *** ART Parameters ***
  10.  
  11.     SelectPortrait         = HPGimli
  12.  
  13.     Draw = W3DHordeModelDraw ModuleTag_01
  14.         OkToChangeModelColor = Yes    
  15.         StaticModelLODMode = Yes
  16.         
  17.         ; specify options for static LODs
  18.         LodOptions                            = LOW
  19.             AllowMultipleModels                = ALLOW_MULTIPLE_MODELS_LOW
  20.             MaxRandomTextures                = MAX_RANDOM_TEXTURES_LOW
  21.             MaxRandomAnimations                = MAX_RANDOM_ANIMATIONS_LOW
  22.             MaxAnimFrameDelta                = MAX_ANIM_FRAME_DELTA_LOW
  23.         End
  24.         
  25.         LodOptions                            = MEDIUM
  26.             AllowMultipleModels                = ALLOW_MULTIPLE_MODELS_MED
  27.             MaxRandomTextures                = MAX_RANDOM_TEXTURES_MED
  28.             MaxRandomAnimations                = MAX_RANDOM_ANIMATIONS_MED
  29.             MaxAnimFrameDelta                = MAX_ANIM_FRAME_DELTA_MED
  30.         End
  31.         
  32.         LodOptions                            = HIGH
  33.             AllowMultipleModels                = ALLOW_MULTIPLE_MODELS_HIGH
  34.             MaxRandomTextures                = MAX_RANDOM_TEXTURES_HIGH
  35.             MaxRandomAnimations                = MAX_RANDOM_ANIMATIONS_HIGH
  36.             MaxAnimFrameDelta                = MAX_ANIM_FRAME_DELTA_HIGH
  37.         End
  38.  
  39.         WadingParticleSys = WaterRipplesTrail  ; used when the unit is wading in shallow water.
  40. ;;================ MODELS =================================================================
  41.         DefaultModelConditionState
  42.             Model               = EUDwarfG_C_SKN
  43.             Skeleton            = RUGimli_SKL
  44.         End
  45.  
  46.         ModelConditionState WEAPONSET_PLAYER_UPGRADE
  47.             Model               = EUDwarfG_C_SKN
  48.             Skeleton            = RUGimli_SKL
  49.         End
  50.         
  51.         ModelConditionState = USER_4        ; This state is used in cinematics to get the old style armor
  52.             Model               = EUDwarfG_C_SKN
  53.             Skeleton            = RUGimli_SKL
  54.         End
  55.  
  56. ;;=============== ANIMATIONS ===============================================================
  57.  
  58. ;;======= FALLING & FLYING
  59.  
  60.         AnimationState                        = PASSENGER
  61.             Animation                        = Grabbed
  62.                 AnimationName                = RUGimli_LEPB ; Don't have real flailing anim, needs to be replaced
  63.                 AnimationMode                = LOOP
  64.             End
  65.         End
  66.         
  67.         AnimationState                        = THROWN_PROJECTILE
  68.             Animation                       = FlyA
  69.                 AnimationName                   = RUGimli_FLYA
  70.                 AnimationMode               = LOOP
  71.             End
  72.             Flags                           = RANDOMSTART
  73.         End
  74.         
  75.         AnimationState                        = FREEFALL
  76.             Animation                        = Falling
  77.                 AnimationName                = RUGimli_FLYA
  78.                 AnimationMode                = LOOP
  79.                 AnimationBlendTime            = 10
  80.             End
  81.         End
  82.  
  83.         
  84.         
  85.         AnimationState                        = STUNNED_FLAILING 
  86.             Animation                       = FlyA
  87.                 AnimationName               = RUGimli_FLYA
  88.                 AnimationMode               = LOOP
  89.             End
  90.             Flags                           = RANDOMSTART
  91.         End
  92.  
  93.         AnimationState                         = DYING SPLATTED
  94.             Animation                         = Splatted_On_Ground
  95.                 AnimationName                 = RUGimli_LNDA
  96.                 AnimationMode                 = ONCE
  97.             End
  98.             EnteringStateFX                    = FX_OrcHitGround
  99.         End
  100.         AnimationState                        = DYING AFLAME
  101.             Animation                        = MFDA
  102.                 AnimationName                = RUGimli_DIEC
  103.                 AnimationMode                = LOOP
  104.             End
  105.         End
  106.         AnimationState                        = DYING
  107.             Animation                        = DIEB
  108.                 AnimationName                = RUGimli_DIEA
  109.                 AnimationMode                = ONCE
  110.             End
  111.             Animation                        = DIEC
  112.                 AnimationName                = RUGimli_DIEC
  113.                 AnimationMode                = ONCE
  114.             End
  115.         End
  116.  
  117. ;;======= LANDING & STANDING
  118.  
  119.         AnimationState                        = STUNNED_STANDING_UP
  120.             Animation                        = GTPA
  121.                 AnimationName                = RUGimli_GTPA
  122.                 AnimationMode                = ONCE
  123.                 AnimationSpeedFactorRange = 1.5 1.5
  124.             End
  125.         End
  126.  
  127.  
  128.     
  129.         AnimationState            =     STUNNED
  130.             Animation            =     Slatted_On_Ground
  131.             AnimationName                 = RUGimli_LNDA
  132.                 AnimationMode                 = ONCE
  133.             End
  134.             EnteringStateFX                    = FX_OrcHitGround
  135.  
  136.        End 
  137.         
  138.         
  139.         AnimationState        = MOVING FIRING_OR_PREATTACK_A
  140.             ShareAnimation        = Yes
  141.             Animation           = RunAndFire
  142.                 AnimationName       = RUGimli_ATRA
  143.                 AnimationMode       = LOOP
  144.             End
  145.             Flags               = RANDOMSTART  
  146.         End
  147.         
  148. ;;====== TERROR
  149.         
  150.         AnimationState                        = MOVING EMOTION_TERROR EMOTION_LOOK_TO_SKY
  151.             ;@@@KM Add distance
  152.             Animation                    = TerrorFromTheSky
  153.                 AnimationName            = RUGimli_RUNA
  154.                 AnimationMode            = LOOP
  155.             End
  156.             Animation                    = TerrorFromTheSky
  157.                 AnimationName            = RUGimli_RUNB
  158.                 AnimationMode            = LOOP
  159.             End
  160.             Flags = RANDOMSTART
  161.         End
  162.         AnimationState                        = MOVING EMOTION_TERROR
  163.             ;@@@KM Add distance
  164.             Animation                        = TerrorFromTheSky
  165.                 AnimationName                = RUGimli_RUNA
  166.                 AnimationMode                = ONCE
  167.             End
  168.             Animation                        = TerrorFromTheSky
  169.                 AnimationName                = RUGimli_RUNB
  170.                 AnimationMode                = ONCE
  171.             End
  172.             Flags                            = RESTART_ANIM_WHEN_COMPLETE
  173.         End
  174.         
  175. ;;======= BACK UP
  176.         
  177.         AnimationState                        = MOVING BACKING_UP
  178.             ;@@@KM Add distance
  179.             Animation                        = BAKA
  180.                 AnimationName                = RUGimli_RUNA
  181.                 AnimationMode                = LOOP
  182.             End
  183.             Flags = RANDOMSTART
  184.         End
  185.  
  186.         AnimationState                        = MOVING PANICKING
  187.             ;@@@KM - Add Distance
  188.             Animation                        = MFDA
  189.                 AnimationName                = RUGimli_RUNB
  190.                 AnimationMode                = LOOP
  191.             End
  192.             Flags                            = RANDOMSTART
  193.             ;ParticleSysBone                = None InfantryDustTrails
  194.         End
  195.         
  196.         AnimationState                        = MOVING ATTACKING
  197.             ShareAnimation                    = Yes;
  198.             Animation                        = RUNA
  199.                 AnimationName                = RUGimli_RUNB
  200.                 AnimationMode                = LOOP
  201.                 Distance                    = 25
  202.             End
  203.             Flags                            = RANDOMSTART
  204.             ;ParticleSysBone                = None InfantryDustTrails
  205.         End
  206.         
  207.         AnimationState                        = MOVING
  208.             ;@@@KM - Add Distance
  209.             ShareAnimation                    = Yes;
  210.             Animation                        = RUNB
  211.                 AnimationName                = RUGimli_RUNA
  212.                 AnimationMode                = LOOP
  213.                 Distance                    = 30
  214.             End
  215.             Flags                            = RANDOMSTART
  216.             ;ParticleSysBone                = None InfantryDustTrails
  217.         End
  218. ;;======= UNCONTROLLABLY AFRAID
  219.     ; This is before Attacking so it overrides it.  Normal fear is below so you don't go to little-fear in between swings.
  220.         AnimationState                        = EMOTION_UNCONTROLLABLY_AFRAID
  221.             Animation                        = FERA
  222.                 AnimationName                = RUGimli_CHRA ; Don't have real fear, needs to be replaced
  223.                 AnimationMode                = LOOP
  224.             End
  225.         End
  226. ;;---------------------- ATTACKING ----------------------------------------------------------------
  227.         AnimationState                        = FIRING_OR_PREATTACK_A
  228.             Animation                        = ATK1
  229.                 AnimationName                = RUGimli_ATKA
  230.                 AnimationMode                = ONCE
  231.                 UseWeaponTiming                = Yes
  232.             End
  233.             Animation                        = ATK2
  234.                 AnimationName                = RUGimli_ATKB
  235.                 AnimationMode                = ONCE
  236.                 UseWeaponTiming                = Yes
  237.             End        
  238.             Animation                        = ATK3
  239.                 AnimationName                = RUGimli_ATKC
  240.                 AnimationMode                = ONCE
  241.                 UseWeaponTiming                = Yes
  242.             End
  243.             ;ParticleSysBone                = None MeleeDust
  244.         End
  245.         
  246.         AnimationState                        = ATTACKING
  247.             Animation                        = ALERT_1
  248.                 AnimationName                = RUGimli_IDLA
  249.                 AnimationMode                = LOOP
  250.             End
  251.         End
  252. ;;----------------- HIT REACTIONS -------------------------------------------------------------------------
  253.  
  254.         AnimationState                        = HIT_REACTION
  255.             Animation                        = HITA
  256.                 AnimationName                = RUGimli_HITA
  257.                 AnimationMode                = ONCE
  258.             End
  259.         End
  260.  
  261. ;;----------------- EMOTIONS ----------------------------------------------------------------
  262. ;;======= APPREHENSIVE
  263.  
  264.         AnimationState                        = EMOTION_ALERT EMOTION_AFRAID
  265.             Animation                        = APPA
  266.                 AnimationName                = GUManMocap_APPA
  267.                 AnimationMode                = ONCE
  268.             End
  269.             Animation                        = APPB
  270.                 AnimationName                = GUManMocap_APPB
  271.                 AnimationMode                = ONCE
  272.             End
  273.             Flags                            = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
  274.         End
  275.         
  276. ;;======= AFRAID
  277.  
  278.         AnimationState                        = EMOTION_AFRAID
  279.             Animation                        = FERA
  280.                 AnimationName                = RUGimli_CHRA ; Don't have real fear, needs to be replaced
  281.                 AnimationMode                = LOOP
  282.             End 
  283.         End
  284.  
  285. ;;======== POINTING
  286.  
  287.         AnimationState                        = EMOTION_POINTING
  288.             Animation                        = Pointing1
  289.                 AnimationName                = RUGimli_CHRA ; Don't have real pointing anim, needs to be replaced
  290.                 AnimationMode                = LOOP
  291.             End
  292.         End
  293.  
  294. ;;======= TAUNTING
  295.  
  296.         AnimationState                        = EMOTION_TAUNTING
  297.             Animation                        = Taunting1
  298.                 AnimationName                = RUGimli_CHRA ; Don't have real taunting anim, needs to be replaced
  299.                 AnimationMode                = ONCE
  300.             End
  301.             Flags                            = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
  302.         End
  303.  
  304. ;;======= CELEBRATING
  305.  
  306.         AnimationState                        = EMOTION_CELEBRATING
  307.             Animation                        = CHRA
  308.                 AnimationName                = RUGimli_CHRA
  309.                 AnimationMode                = ONCE
  310.             End
  311.             Animation                        = CHRB
  312.                 AnimationName                = RUGimli_CHRB
  313.                 AnimationMode                = ONCE
  314.             End
  315.             Animation                        = IDLD
  316.                 AnimationName                = RUGimli_IDLD
  317.                 AnimationMode                = ONCE
  318.             End
  319.             Flags                            =    RESTART_ANIM_WHEN_COMPLETE
  320.         End
  321.         
  322. ;;----------------- ALERT STATE ---------------------------------------------------------------------------
  323.  
  324.         AnimationState                        = EMOTION_ALERT
  325.             Animation                        = ALERT_1
  326.                 AnimationName                = RUGimli_IDLA
  327.                 AnimationMode                = LOOP;ONCE
  328.                 AnimationPriority            = 10
  329.             End
  330.             Flags                            = RESTART_ANIM_WHEN_COMPLETE ; acts like an idle animation & keeps running the animations.
  331.         End
  332.         
  333. ;;----------------- SELECTED STATES -----------------------------------------------------------------------
  334.         AnimationState        = SELECTED
  335.             StateName           = STATE_Selected
  336.             Animation           = ATNB
  337.                 AnimationName     = RUGimli_ATNB
  338.                 AnimationMode     = LOOP
  339.             End
  340.             
  341.             BeginScript
  342.                 Prev = CurDrawablePrevAnimationState()
  343.                 if Prev == "STATE_Idle" 
  344.                 then 
  345.                     CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") 
  346.                 end
  347.                 if CurDrawableModelcondition("ATTACKING")
  348.                 then
  349.                     return "IDLA"
  350.                 else
  351.                     return "ATNA"
  352.                 end
  353.             EndScript
  354.             
  355.             BeginScript
  356.                 Prev = CurDrawablePrevAnimationState()
  357.                 if Prev == "STATE_Idle" then CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") end
  358.             EndScript
  359.         End
  360.         
  361. ;;----------------- IDLE STATES ---------------------------------------------------------------------------
  362.         AnimationState                = WEAPONSET_PLAYER_UPGRADE
  363.             StateName                = STATE_Idle
  364.             Animation                = IDLB
  365.                 AnimationName       = RUGimli_IDLB
  366.                 AnimationMode       = ONCE
  367.                 AnimationSpeedFactorRange = 0.9 1.1
  368.             End
  369.             Animation                = IDLC
  370.                 AnimationName       = RUGimli_IDLC
  371.                 AnimationMode       = ONCE
  372.                 AnimationSpeedFactorRange = 0.9 1.1
  373.             End
  374.             Animation                = IDLD
  375.                 AnimationName       = RUGimli_IDLD
  376.                 AnimationMode       = ONCE
  377.                 AnimationSpeedFactorRange = 0.9 1.1
  378.             End
  379.             Animation                = CHRA
  380.                 AnimationName       = RUGimli_CHRA
  381.                 AnimationMode       = ONCE
  382.                 AnimationSpeedFactorRange = 0.9 1.1
  383.             End
  384.             Animation                = CHRB
  385.                 AnimationName       = RUGimli_CHRB
  386.                 AnimationMode       = ONCE
  387.                 AnimationSpeedFactorRange = 0.9 1.1
  388.             End
  389.             Flags                    = RESTART_ANIM_WHEN_COMPLETE            
  390.             BeginScript
  391.                 Prev = CurDrawablePrevAnimationState()
  392.                 if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
  393.             EndScript
  394.         End        
  395.         AnimationState                = USER_3
  396.             StateName                = STATE_User_3
  397.             Animation                = GUARD_STANCE
  398.                 AnimationName        = GUManMocap_IDLA
  399.                 AnimationMode        = LOOP
  400.             End
  401.         End
  402.         IdleAnimationState
  403.             StateName                = STATE_Idle
  404.             Animation                = IDLB
  405.                 AnimationName       = RUGimli_IDLB
  406.                 AnimationMode       = ONCE
  407.                 AnimationPriority   = 20
  408.                 AnimationSpeedFactorRange = 0.9 1.1
  409.                 AnimationBlendTime    = 15
  410.             End
  411.             Animation                = IDLC
  412.                 AnimationName       = RUGimli_IDLC
  413.                 AnimationMode       = ONCE
  414.                 AnimationPriority   = 1
  415.                 AnimationSpeedFactorRange = 0.9 1.1
  416.                 AnimationBlendTime    = 15
  417.             End
  418.             Animation                = IDLD
  419.                 AnimationName       = RUGimli_IDLD
  420.                 AnimationMode       = ONCE
  421.                 AnimationPriority   = 1
  422.                 AnimationSpeedFactorRange = 0.9 1.1
  423.                 AnimationBlendTime    = 15
  424.             End
  425.             Animation                = IDLE
  426.                 AnimationName       = RUGimli_IDLE
  427.                 AnimationMode       = ONCE
  428.                 AnimationPriority   = 1
  429.                 AnimationSpeedFactorRange = 0.9 1.1
  430.                 AnimationBlendTime    = 15
  431.             End
  432.             Animation                = IDLF
  433.                 AnimationName       = RUGimli_IDLF
  434.                 AnimationMode       = ONCE
  435.                 AnimationPriority   = 1
  436.                 AnimationSpeedFactorRange = 0.9 1.1
  437.                 AnimationBlendTime    = 15
  438.             End
  439.             Animation                = IDLG
  440.                 AnimationName       = RUGimli_IDLG
  441.                 AnimationMode       = ONCE
  442.                 AnimationPriority   = 1
  443.                 AnimationSpeedFactorRange = 0.9 1.1
  444.                 AnimationBlendTime    = 15
  445.             End
  446.             Animation                = IDLH
  447.                 AnimationName       = RUGimli_IDLH
  448.                 AnimationMode       = ONCE
  449.                 AnimationPriority   = 1
  450.                 AnimationSpeedFactorRange = 0.9 1.1
  451.                 AnimationBlendTime    = 15
  452.             End
  453.             BeginScript
  454.                 Prev = CurDrawablePrevAnimationState()
  455.                 if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
  456.             EndScript
  457.         End
  458. ;;--------------- TRANSITIONS ---------------------------------------------------------------------------
  459.         TransitionState       = TRANS_IdleToSelected
  460.             Animation           = ATNA
  461.                 AnimationName     = RUGimli_ATNA
  462.                 AnimationMode     = ONCE
  463.                 AnimationSpeedFactorRange = 0.9 1.0
  464.                 
  465.             End
  466.         End
  467.         TransitionState        = TRANS_SelectedToIdle
  468.             Animation            = ATNC
  469.                 AnimationName    = RUGimli_ATNC
  470.                 AnimationMode    = ONCE
  471.                 AnimationSpeedFactorRange = 0.9 1.0
  472.             End
  473.         End
  474. ;;-----------------------------------------------------------------------------------------------------------
  475.     End
  476.     
  477.     ; ***DESIGN parameters ***
  478.     Side = Dwarves
  479.     EditorSorting = UNIT
  480.     ThreatLevel = 1.0
  481.     ThingClass = HORDE_UNIT
  482.     CommandPoints = 2
  483.     BountyValue = DWARVEN_GUARDIAN_BOUNTY_VALUE
  484.     
  485.     EmotionRange = 240 ; Make sure this value is greater than the fear distribution range. 
  486.  
  487.     TransportSlotCount = TRANSPORTSLOTCOUNT_UNIT
  488.     
  489.     ;;; WEAPON SETS ;;;
  490.     WeaponSet
  491.         Conditions            = None 
  492.         Weapon                = PRIMARY    DwarvenGuardianAxe
  493.         AutoChooseSources    = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  494.     End
  495.     WeaponSet
  496.         Conditions            = PLAYER_UPGRADE
  497.         Weapon                = PRIMARY    DwarvenGuardianAxe
  498.         AutoChooseSources    = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  499.     End
  500.  
  501.     ;;; ARMOUR SETS ;;;
  502.     ArmorSet
  503.         Conditions      = None
  504.         Armor           = SoldierArmor
  505.         DamageFX        = NormalDamageFX
  506.     End
  507.     ArmorSet
  508.         Conditions      = PLAYER_UPGRADE
  509.         Armor           = SoldierHeavyArmor
  510.         DamageFX        = NormalDamageFX
  511.     End
  512.     
  513.     VisionRange = VISION_STANDARD_MELEE
  514.     ShroudClearingRange = SHROUD_CLEAR_STANDARD                
  515.  
  516.     DisplayName = OBJECT:DwarvenGuardian_C
  517.     CrushableLevel = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  518.     CrushRevengeWeapon = AntiCavalryInfantryCrushRevenge
  519.     
  520.     CommandSet = DwarvenGuardianCommandSet
  521.  
  522.  
  523.     ; *** AUDIO Parameters ***;
  524.  
  525.     ;VoiceAmbushed                = GondorSoldierVoiceAmbushed          OBSOLETE VOICE
  526.     VoiceAttack                    = GondorSoldierVoiceAttack
  527.     VoiceAttackCharge                = GondorSoldierVoiceAttackCharge
  528.     VoiceAttackMachine            = GondorSoldierVoiceAttack
  529.     VoiceAttackStructure            = GondorSoldierVoiceAttackBuilding
  530.     VoiceEnterStateAttack            = GondorSoldierVoiceEnterStateAttack
  531.     VoiceEnterStateAttackCharge        = GondorSoldierVoiceEnterStateAttackCharge
  532.     VoiceEnterStateAttackMachine        = GondorSoldierVoiceEnterStateAttackBuilding
  533.     VoiceEnterStateAttackStructure    = GondorSoldierVoiceEnterStateAttackBuilding
  534.     VoiceCreated                = GondorSoldierVoiceSalute
  535.     VoiceFullyCreated             = GondorSoldierVoiceSalute                ;GondorSoldierVoiceCreated
  536.     VoiceGuard                    = GondorSoldierVoiceMove
  537.     VoiceMove                    = GondorSoldierVoiceMove
  538.     VoiceMoveToCamp                = GondorSoldierVoiceMoveCamp
  539.     VoiceMoveWhileAttacking            = GondorSoldierVoiceDisengage                ;TEMP_GondorSoldierVoiceMoveWhileAttacking_TEMP
  540.     VoicePriority                = 49
  541.     VoiceRetreatToCastle            = GondorSoldierVoiceRetreat
  542.     VoiceSelect                    = GondorSoldierVoiceSelectMS
  543.     VoiceSelectBattle             = GondorSoldierVoiceSelectBattle
  544.     VoiceEnterStateMove            = GondorSoldierVoiceEnterStateMove
  545.     VoiceEnterStateMoveToCamp        = GondorSoldierVoiceEnterStateMoveCamp
  546.     VoiceEnterStateMoveWhileAttacking    = GondorSoldierVoiceEnterStateDisengage
  547.     VoiceEnterStateRetreatToCastle    = GondorSoldierVoiceEnterStateRetreat
  548.  
  549.     SoundImpact                    = ImpactHorse
  550.  
  551.     UnitSpecificSounds
  552.         VoiceGarrison                            = GondorSoldierVoiceGarrison              
  553.         VoiceDesperateAttack                        = GondorSoldierVoiceDesperateCharge 
  554.         VoiceAttackUnitWebbedHumanoidWithGondorFighterInside    = GondorSoldierVoiceAttackWebbedSoldier
  555.         VoiceAttackUnitWebbedHumanoidWithGondorArcherInside    = GondorSoldierVoiceAttackWebbedSoldier
  556.     End
  557.  
  558.     #include "..\..\..\includes\StandardUnitEvaEvents.inc"
  559.  
  560.     Behavior = LargeGroupAudioUpdate ModuleTag_LGAU
  561.         Key = Human Unit Infantry Gondor_Soldier
  562.     End
  563.     
  564.     ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
  565.         MaxUpdateRangeCap = 800
  566.         AnimationSound = Sound: TauntHumanHitShield    Animation:GUMAArms_SKL.GUManMocap_IDLC    Frames: 17 27
  567.         AnimationSound = Sound: TauntHumanHitShield    Animation:GUMAArms_SKL.GUManMocap_TNTC    Frames: 74 82 94 125 139
  568.  
  569.         AnimationSound = Sound:BodyFallGeneric1        Animation:GUMAArms_SKL.GUManMocap_DIEB    Frames:89
  570.         AnimationSound = Sound:BodyFallGeneric1        Animation:GUMAArms_SKL.GUManMocap_DIEC    Frames:71
  571.         AnimationSound = Sound:BodyFallGeneric1        Animation:GUMAArms_SKL.GUManMocap_DIED    Frames:29
  572.         AnimationSound = Sound:BodyFallGeneric1        Animation:GUMAArms_SKL.GUManMocap_DIEE    Frames:28
  573.         AnimationSound = Sound:BodyFallGeneric1        Animation:GUMAArms_SKL.GUMAARMS_LNDA    Frames:0
  574.     End
  575.  
  576.  
  577.     ; *** ENGINEERING Parameters ***
  578.  
  579.     RadarPriority = UNIT
  580.     KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT ATTACK_NEEDS_LINE_OF_SIGHT NOTIFY_OF_PREATTACK GRAB_AND_DROP
  581.     
  582.     Body = ActiveBody ModuleTag_02
  583.         CheerRadius       = EMOTION_CHEER_RADIUS
  584.         MaxHealth         = DWARVEN_GUARDIAN_HEALTH
  585.         MaxHealthDamaged  = DWARVEN_GUARDIAN_HEALTH_DAMAGED
  586.         ;RecoveryTime      = DWARVEN_GUARDIAN_HEALTH_RECOVERY_TIME
  587.     End
  588.     
  589.     Behavior = WeaponSetUpgrade WeaponSetUpgradeModuleTag
  590.         TriggeredBy = Upgrade_ElvenForgedBlades Upgrade_TechnologyElvenForgedBlades
  591.         RequiresAllTriggers = Yes
  592.     End
  593.  
  594.     Behavior = ArmorUpgrade ArmorUpgradeModuleTag
  595.         TriggeredBy = Upgrade_ElvenHeavyArmor
  596.         ArmorSetFlag            = PLAYER_UPGRADE
  597.         ;KillArmorUpgrade = Yes ;This cancels any previous armor upgrade.
  598.     End
  599.     
  600.     ;-------------------------------------------------------------------------
  601.     ;
  602.     ;    Sub object upgrading.
  603.     ;
  604.     Behavior = SubObjectsUpgrade Armor_Upgrade
  605.         TriggeredBy        = Upgrade_ElvenHeavyArmor
  606.         UpgradeTexture    = dwarf_a.tga 0 rudwarf_b.tga
  607.         RecolorHouse    = Yes
  608.         ExcludeSubobjects = Forged_Blade
  609.     End
  610.     
  611.     Behavior = SubObjectsUpgrade ForgedBlade_Upgrade
  612.         TriggeredBy        = Upgrade_ElvenForgedBlades
  613.         ShowSubObjects    = Forged_Blade
  614.     End    
  615.     ;-------------------------------------------------------------------------
  616.         
  617.     Behavior = AIUpdateInterface ModuleTag_03
  618.         AutoAcquireEnemiesWhenIdle    =    Yes ATTACK_BUILDINGS
  619.         MoodAttackCheckRate            =    500
  620.         AILuaEventsList                =    GondorFighterFunctions
  621.         MinCowerTime                =    3000
  622.         MaxCowerTime                =    5000
  623.         AttackPriority                =     AttackPriority_Infantry
  624.     End
  625.  
  626.     LocomotorSet
  627.         Locomotor = HumanLocomotor
  628.         Condition = SET_NORMAL 
  629.         Speed     = NORMAL_GOOD_INFANTRY_MEMBER_SPEED
  630.     End
  631.  
  632.     Behavior = PhysicsBehavior ModuleTag_04
  633.         GravityMult = 1.0
  634.         ShockStunnedTimeLow        = 1400    ;msec
  635.         ShockStunnedTimeHigh    = 2400    ;msec
  636.         ShockStandingTime        = 666    ;msec
  637.     End 
  638.  
  639.     Behavior = AttributeModifierUpgrade ModuleTag_AMU
  640.         TriggeredBy = Upgrade_GondorFighterFearless
  641.         AttributeModifier = FearlessForever
  642.     End
  643.      
  644.     Behavior = SquishCollide ModuleTag_06
  645.         ;nothing
  646.     End
  647.     
  648.     Behavior = HordeMemberCollide ModuleTag_HMC
  649.         ;nothing
  650.     End
  651.     
  652.     Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
  653.         HitReactionLifeTimer1 = 2500 ; level 1 (light  damage)  hit reaction animations in ms
  654.         HitReactionLifeTimer2 = 2500 ; level 2 (medium damage)  hit reaction animations in ms
  655.         HitReactionLifeTimer3 = 2500 ; level 3 (heavy  damage)  hit reaction animations in ms
  656.  
  657.         HitReactionThreshold1 = 5.0   ; level 1 (light  damage) threshold trigger
  658.         HitReactionThreshold2 = 25.0  ; level 2 (medium damage) threshold trigger
  659.         HitReactionThreshold3 = 50.0  ; level 3 (heavy  damage) threshold trigger
  660.         
  661.         FastHitsResetReaction = Yes    If set -- when hits occur faster than the reaction animations, it will reset the animation. (like getting riddled with machine gun bullets)
  662.     End
  663.  
  664.     Behavior = SlowDeathBehavior ModuleTag_05
  665.         DeathTypes = ALL -KNOCKBACK
  666.         SinkDelay = 3000
  667.         SinkRate = 0.60     ; in Dist/Sec
  668.         DestructionDelay = 10000
  669.         Sound = INITIAL HumanVoiceDie ;GondorSoldierVoiceDie
  670.     End
  671.     
  672.     Behavior = SlowDeathBehavior ModuleTag_07
  673.         ; Same as normal death, but no sound (sound already played by SoundImpact = ... )
  674.         DeathTypes = NONE +KNOCKBACK
  675.         SinkDelay = 3000
  676.         SinkRate = 0.60     ; in Dist/Sec
  677.         DestructionDelay = 10000
  678.     End
  679.  
  680.     Behavior = BezierProjectileBehavior ModuleTag_08 ; Module starts asleep, and wakes up when thrown.
  681.         ; To tweak a Bezier path
  682.         FirstHeight = 24  ; Height of Bezier control points above highest intervening terrain
  683.         SecondHeight = 24
  684.         FirstPercentIndent = 30% ; Percentage of shot distance control points are placed
  685.         SecondPercentIndent = 70%
  686.         TumbleRandomly = Yes
  687.  
  688.         CrushStyle = Yes ; I don't detonate, I just hit
  689.         DieOnImpact = Yes
  690.         BounceCount = 1   ; When I hit the ground, I'll arc again
  691.         BounceDistance = 40 ; this far
  692.         BounceFirstHeight = 24  ; Height of Bezier control points above highest intervening terrain
  693.         BounceSecondHeight = 24
  694.         BounceFirstPercentIndent = 20% ; Percentage of shot distance control points are placed
  695.         BounceSecondPercentIndent = 80%
  696.  
  697.         GroundHitFX       = FX_ThrownRockGroundHit
  698.         GroundBounceFX    = FX_ThrownRockBounceHit
  699.     End
  700.  
  701.     Geometry = CYLINDER
  702.     GeometryMajorRadius = 8.0
  703.     GeometryMinorRadius = 8.0
  704.     GeometryHeight = 19.2
  705.     GeometryIsSmall = No
  706.  
  707.     Shadow = SHADOW_DECAL
  708.     ShadowSizeX = 19;
  709.     ShadowSizeY = 19;
  710.     ShadowTexture = ShadowI;
  711. End
  712.  
  713. ;---------------------------------------------------
  714.  
  715. Object DwarvenGuardian_C_static
  716.  
  717.   ; *** ART Parameters ***
  718.   Draw = W3DScriptedModelDraw ModuleTag_Draw
  719.     DefaultModelConditionState
  720.       Model = EUDwarfG_C_tmp
  721.     End
  722.   End
  723.  
  724.     ; ***DESIGN parameters ***
  725.     DisplayName = OBJECT:DwarvenGuard
  726.     Side = Dwarves
  727.     EditorSorting = UNIT
  728.     ThreatLevel = 1.0
  729.     
  730.   ; *** ENGINEERING Parameters ***
  731.   KindOf = IMMOBILE UNATTACKABLE
  732.   
  733.   Body = ActiveBody ModuleTag_03
  734.     MaxHealth = 99999.0
  735.   End
  736.  
  737.   Geometry = BOX
  738.   GeometryMajorRadius = 26.0
  739.   GeometryMinorRadius = 2.2
  740.   GeometryHeight = 32.0
  741.   Shadow = SHADOW_VOLUME ; for demo purposes
  742.   GeometryIsSmall = Yes
  743. End
  744.