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_dwarvenaxethrower.ini < prev    next >
Text File  |  2006-01-31  |  25KB  |  807 lines

  1. ; Moved from DwarvenInfantry.INI Aug 24 2005
  2.  
  3. Object DwarvenAxeThrower
  4.     ; *** ART Parameters ***
  5.  
  6.     SelectPortrait         = UPDwarvenAxeThrower
  7.     ButtonImage           = WOR_AxeThrower
  8.  
  9.     Draw = W3DHordeModelDraw ModuleTag_01
  10.         OkToChangeModelColor = Yes    
  11.         StaticModelLODMode = Yes
  12.         
  13.         ; specify options for static LODs
  14.         LodOptions                            = LOW
  15.             AllowMultipleModels                = ALLOW_MULTIPLE_MODELS_LOW
  16.             MaxRandomTextures                = MAX_RANDOM_TEXTURES_LOW
  17.             MaxRandomAnimations                = MAX_RANDOM_ANIMATIONS_LOW
  18.             MaxAnimFrameDelta                = MAX_ANIM_FRAME_DELTA_LOW
  19.         End
  20.         
  21.         LodOptions                            = MEDIUM
  22.             AllowMultipleModels                = ALLOW_MULTIPLE_MODELS_MED
  23.             MaxRandomTextures                = MAX_RANDOM_TEXTURES_MED
  24.             MaxRandomAnimations                = MAX_RANDOM_ANIMATIONS_MED
  25.             MaxAnimFrameDelta                = MAX_ANIM_FRAME_DELTA_MED
  26.         End
  27.         
  28.         LodOptions                            = HIGH
  29.             AllowMultipleModels                = ALLOW_MULTIPLE_MODELS_HIGH
  30.             MaxRandomTextures                = MAX_RANDOM_TEXTURES_HIGH
  31.             MaxRandomAnimations                = MAX_RANDOM_ANIMATIONS_HIGH
  32.             MaxAnimFrameDelta                = MAX_ANIM_FRAME_DELTA_HIGH
  33.         End
  34.  
  35.         WadingParticleSys = WaterRipplesTrail  ; used when the unit is wading in shallow water.
  36. ;;================ MODELS =================================================================
  37.         DefaultModelConditionState
  38.             Model               = EUDwarfAxe_SKN
  39.             Skeleton            = EUDwarfAxe_SKL
  40.             WeaponLaunchBone    = PRIMARY Axe01
  41.             WeaponLaunchBone    = TERTIARY Axe01
  42.         End
  43.  
  44.         ModelConditionState WEAPONSET_PLAYER_UPGRADE
  45.             Model               = EUDwarfAxe_SKN
  46.             Skeleton            = EUDwarfAxe_SKL
  47.             WeaponLaunchBone    = PRIMARY Axe01    
  48.             WeaponLaunchBone    = TERTIARY Axe01
  49.         End
  50.         
  51.         ModelConditionState = USER_4        ; This state is used in cinematics to get the old style armor
  52.             Model               = EUDwarfAxe_SKN
  53.             Skeleton            = EUDwarfAxe_SKL
  54.             WeaponLaunchBone    = PRIMARY Axe01
  55.             WeaponLaunchBone    = TERTIARY Axe01
  56.         End
  57.  
  58. ;;=============== ANIMATIONS ===============================================================
  59.  
  60. ;;======= FALLING & FLYING
  61.  
  62.         AnimationState                        = PASSENGER
  63.             Animation                        = Grabbed
  64.                 AnimationName                = EUDwarfAxe_FLLA
  65.                 AnimationMode                = LOOP
  66.             End
  67.         End
  68.                 
  69.         AnimationState                        = THROWN_PROJECTILE
  70.             Animation                       = FlyA
  71.                 AnimationName                   = EUDwarfAxe_FLYA
  72.                 AnimationMode               = LOOP
  73.             End
  74.             Flags                           = RANDOMSTART
  75.         End
  76.         
  77.         AnimationState                        = FREEFALL
  78.             Animation                        = Falling
  79.                 AnimationName                = EUDwarfAxe_FLYA
  80.                 AnimationMode                = LOOP
  81.                 AnimationBlendTime            = 10
  82.             End
  83.         End
  84.  
  85.         
  86.         
  87.         AnimationState                        = STUNNED_FLAILING 
  88.             Animation                       = FlyA
  89.                 AnimationName               = EUDwarfAxe_FLYA
  90.                 AnimationMode               = LOOP
  91.                 AnimationSpeedFactorRange    = 0.3 0.5
  92.             End
  93.             Flags                           = RANDOMSTART
  94.         End
  95.  
  96.         AnimationState                        = DYING BURNINGDEATH
  97.             Animation
  98.                 AnimationName                = EUDwarfAxe_DIEA
  99.                 AnimationMode                = ONCE
  100.                 AnimationBlendTime            = 10
  101.             End
  102.             Animation
  103.                 AnimationName                = EUDwarfAxe_DIEB
  104.                 AnimationMode                = ONCE
  105.                 AnimationBlendTime            = 10
  106.             End
  107.         End
  108.         AnimationState                         = DYING SPLATTED
  109.             Animation                         = Splatted_On_Ground
  110.                 AnimationName                 = EUDwarfAxe_LNDA
  111.                 AnimationMode                 = ONCE
  112.             End
  113.             EnteringStateFX                    = FX_OrcHitGround
  114.         End
  115.  
  116.         AnimationState                        = DYING AFLAME
  117.             Animation                        = MFDA
  118.                 AnimationName                = EUDwarfAxe_DIEA
  119.                 AnimationMode                = LOOP
  120.             End
  121.             Animation                        = MFDA
  122.                 AnimationName                = EUDwarfAxe_DIEB
  123.                 AnimationMode                = LOOP
  124.             End
  125.         End
  126.         
  127.         AnimationState                        = DYING DEATH_2                ; fading out.
  128.             Animation
  129.                 AnimationName                = EUDwarfAxe_IDLB
  130.                 AnimationMode                = LOOP
  131.             End
  132.         End
  133.         
  134.         AnimationState                        = DYING
  135.             Animation                        = DIEA
  136.                 AnimationName                = EUDwarfAxe_DIEA
  137.                 AnimationMode                = ONCE
  138.             End
  139.             Animation                        = DIEB
  140.                 AnimationName                = EUDwarfAxe_DIEB
  141.                 AnimationMode                = ONCE
  142.             End
  143.         End
  144.  
  145.         AnimationState                        = BURNINGDEATH
  146.             Animation
  147.                 AnimationName                = EUDwarfAxe_MFDA
  148.                 AnimationMode                = LOOP
  149.                 Distance                    = 40
  150.             End
  151.         End
  152.         AnimationState                        = PARALYZED
  153.             Animation
  154.                 AnimationName                = EUDwarfAxe_IDLA
  155.                 AnimationMode                = LOOP
  156.             End
  157.         End
  158.  
  159.  
  160. ;;======= LANDING & STANDING
  161.  
  162.         AnimationState                        = STUNNED_STANDING_UP
  163.             Animation                        = GTPA
  164.                 AnimationName                = EUDwarfAxe_GTPA
  165.                 AnimationMode                = ONCE
  166.                 AnimationSpeedFactorRange = 1.5 1.5
  167.             End
  168.         End
  169.  
  170.  
  171.     
  172.         AnimationState            =     STUNNED
  173.             Animation            =     Slatted_On_Ground
  174.             AnimationName                 = EUDwarfAxe_LNDA
  175.                 AnimationMode                 = ONCE
  176.             End
  177.             EnteringStateFX                    = FX_OrcHitGround
  178.  
  179.        End 
  180.         
  181.         
  182.  
  183.         
  184. ;;====== TERROR
  185.         
  186.         AnimationState                        = MOVING EMOTION_TERROR EMOTION_LOOK_TO_SKY
  187.             ;@@@KM Add distance
  188.             Animation                    = TerrorFromTheSky
  189.                 AnimationName            = EUDwarfAxe_RUNA
  190.                 AnimationMode            = LOOP
  191.             End
  192.             Animation                    = TerrorFromTheSky
  193.                 AnimationName            = EUDwarfAxe_RUNB
  194.                 AnimationMode            = LOOP
  195.             End
  196.             Flags = RANDOMSTART
  197.         End
  198.         AnimationState                        = MOVING EMOTION_TERROR
  199.             ;@@@KM Add distance
  200.             Animation                        = TerrorFromTheSky
  201.                 AnimationName                = EUDwarfAxe_RUNA
  202.                 AnimationMode                = ONCE
  203.             End
  204.             Animation                        = TerrorFromTheSky
  205.                 AnimationName                = EUDwarfAxe_RUNB
  206.                 AnimationMode                = ONCE
  207.             End
  208.             Flags                            = RESTART_ANIM_WHEN_COMPLETE
  209.         End
  210.         
  211. ;;======= BACK UP
  212.         
  213.         AnimationState                        = MOVING BACKING_UP
  214.             ;@@@KM Add distance
  215.             Animation                        = BAKA
  216.                 AnimationName                = EUDwarfAxe_BAKA
  217.                 AnimationMode                = LOOP
  218.             End
  219.             Flags = RANDOMSTART
  220.         End
  221.  
  222.         AnimationState                        = MOVING PANICKING
  223.             ;@@@KM - Add Distance
  224.             Animation                        = MFDA
  225.                 AnimationName                = EUDwarfAxe_RUNB
  226.                 AnimationMode                = LOOP
  227.             End
  228.             Flags                            = RANDOMSTART
  229.             ;ParticleSysBone                = None InfantryDustTrails
  230.         End
  231.         
  232.         AnimationState                        = MOVING ATTACKING
  233.             ShareAnimation                    = Yes;
  234.             Animation                        = RUNA
  235.                 AnimationName                = EUDwarfAxe_RUNA
  236.                 AnimationMode                = LOOP
  237.                 Distance                    = 25
  238.             End
  239.             Flags                            = RANDOMSTART
  240.             ;ParticleSysBone                = None InfantryDustTrails
  241.         End
  242.         
  243.         AnimationState                        = MOVING CHARGING
  244.             ShareAnimation                    = Yes;
  245.             Animation                        = RUNB
  246.                 AnimationName                = EUDwarfAxe_RUNB
  247.                 AnimationMode                = LOOP
  248.                 Distance                    = 30
  249.                 ;AnimationSpeedFactorRange    = 0.5 0.5
  250.             End
  251.             Flags                            = RANDOMSTART
  252.             ;ParticleSysBone                = None InfantryDustTrails
  253.         End
  254.  
  255.         AnimationState                        = MOVING
  256.             ;@@@KM - Add Distance
  257.             ShareAnimation                    = Yes;
  258.             Animation                        = RUNB
  259.                 AnimationName                = EUDwarfAxe_RUNA
  260.                 AnimationMode                = LOOP
  261.                 Distance                    = 30
  262.             End
  263.             Flags                            = RANDOMSTART
  264.             ;ParticleSysBone                = None InfantryDustTrails
  265.         End
  266. ;;======= UNCONTROLLABLY AFRAID
  267.     ; This is before Attacking so it overrides it.  Normal fear is below so you don't go to little-fear in between swings.
  268.         AnimationState                        = EMOTION_UNCONTROLLABLY_AFRAID
  269.             Animation                        = FERA
  270.                 AnimationName                = EUDwarfAxe_FERA
  271.                 AnimationMode                = LOOP
  272.             End
  273.         End
  274.  
  275. ;;---------------------- ATTACKING ----------------------------------------------------------------
  276.  
  277.         AnimationState                        = FIRING_OR_PREATTACK_A WEAPONSTATE_CLOSE_RANGE  ; Melee attack for ranged units
  278.             Animation                        = ATKB
  279.                 AnimationName                = EUDwarfAxe_ATKB
  280.                 AnimationMode                = ONCE
  281. ;                AnimationBlendTime            = 15
  282.                 UseWeaponTiming                = Yes
  283.             End
  284.         End
  285.         
  286.         AnimationState                        = FIRING_OR_PREATTACK_A
  287.             Animation                        = ATKA
  288.                 AnimationName                = EUDwarfAxe_ATKA
  289.                 AnimationMode                = ONCE
  290. ;                AnimationBlendTime            = 15
  291.                 UseWeaponTiming                = Yes
  292.             End
  293.             FrameForPristineBonePositions = 20
  294.         End
  295.             
  296.         AnimationState                        = FIRING_OR_PREATTACK_C
  297.             Animation                        = ATKA
  298.                 AnimationName                = EUDwarfAxe_ATKA
  299.                 AnimationMode                = ONCE
  300. ;                AnimationBlendTime            = 15
  301.                 UseWeaponTiming                = Yes
  302.             End
  303.         End
  304.             
  305. ;        AnimationState                        = ATTACKING
  306. ;            Animation                        = ALERT_1
  307. ;                AnimationName                = EUDwarfAxe_ATKA
  308. ;                AnimationMode                = LOOP
  309. ;            End
  310. ;        End
  311. ;;----------------- HIT REACTIONS ------
  312.  
  313. ;        AnimationState                        = HIT_REACTION
  314. ;            Animation                        = HITA
  315. ;                AnimationName                = EUDwarfAxe_HITA
  316. ;                AnimationMode                = ONCE
  317. ;            End
  318. ;        End
  319.  
  320. ;;----------------- EMOTIONS --------
  321. ;;======= APPREHENSIVE
  322.  
  323.         AnimationState                        = EMOTION_ALERT EMOTION_AFRAID
  324.             Animation                        = APPA
  325.                 AnimationName                = GUManMocap_APPA
  326.                 AnimationMode                = ONCE
  327.             End
  328.             Animation                        = APPB
  329.                 AnimationName                = GUManMocap_APPB
  330.                 AnimationMode                = ONCE
  331.             End
  332.             Flags                            = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
  333.         End
  334.         
  335. ;;======= AFRAID
  336.  
  337.         AnimationState                        = EMOTION_AFRAID
  338.             Animation                        = FERA
  339.                 AnimationName                = EUDwarfAxe_FERA
  340.                 AnimationMode                = LOOP
  341.             End 
  342.         End
  343.  
  344. ;;======== POINTING
  345.  
  346.         AnimationState                        = EMOTION_POINTING
  347.             Animation                        = Pointing1
  348.                 AnimationName                = EUDwarfAxe_PNTA
  349.                 AnimationMode                = LOOP
  350.             End
  351.         End
  352.  
  353. ;;======= TAUNTING
  354.  
  355.         AnimationState                        = EMOTION_TAUNTING
  356.             Animation                        = Taunting1
  357.                 AnimationName                = EUDwarfAxe_TNTA
  358.                 AnimationMode                = ONCE
  359.             End
  360.             Flags                            = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
  361.         End
  362.  
  363. ;;======= CELEBRATING
  364.  
  365.         AnimationState                        = EMOTION_CELEBRATING
  366.             Animation                        = CHRA
  367.                 AnimationName                = EUDwarfAxe_CHRA
  368.                 AnimationMode                = ONCE
  369.             End
  370.             Animation                        = IDLD
  371.                 AnimationName                = EUDwarfAxe_IDLD
  372.                 AnimationMode                = ONCE
  373.             End
  374.             Flags                            =    RESTART_ANIM_WHEN_COMPLETE
  375.         End
  376.         
  377. ;;----------------- ALERT STATE -----------
  378.  
  379.         AnimationState                        = EMOTION_ALERT
  380.             Animation                        = ALERT_1
  381.                 AnimationName                = EUDwarfAxe_IDLA
  382.                 AnimationMode                = LOOP;ONCE
  383.                 AnimationPriority            = 10
  384.             End
  385.             Flags                            = RESTART_ANIM_WHEN_COMPLETE ; acts like an idle animation & keeps running the animations.
  386.         End
  387.         
  388.         AnimationState                        = RAISING_FLAG
  389.             Animation                        = CHRA
  390.                 AnimationName                = EUDwarfAxe_CHRA
  391.                 AnimationMode                = LOOP
  392.             End
  393.         End
  394.         
  395.         AnimationState        = ATTACKING
  396.             Animation    
  397.                 AnimationName        = EUDwarfAxe_IDLA
  398.                 AnimationMode        = LOOP
  399.             End
  400.         End
  401.  
  402.         AnimationState        = ENGAGED
  403.             Animation    
  404.                 AnimationName        = EUDwarfAxe_IDLA
  405.                 AnimationMode        = LOOP
  406.             End
  407.         End
  408.  
  409. ;;----------------- SELECTED STATES -------------
  410.         AnimationState        = SELECTED
  411.             StateName           = STATE_Selected
  412.             Animation           = ATNB
  413.                 AnimationName     = EUDwarfAxe_ATNB
  414.                 AnimationMode     = LOOP
  415.             End
  416.             
  417.             BeginScript
  418.                 Prev = CurDrawablePrevAnimationState()
  419.                 if Prev == "STATE_Idle" 
  420.                 then 
  421.                     CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") 
  422.                 end
  423.                 if CurDrawableModelcondition("ATTACKING")
  424.                 then
  425.                     return "IDLA"
  426.                 else
  427.                     return "ATNA"
  428.                 end
  429.             EndScript
  430.             
  431.             BeginScript
  432.                 Prev = CurDrawablePrevAnimationState()
  433.                 if Prev == "STATE_Idle" then CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") end
  434.             EndScript
  435.         End
  436.         
  437. ;;----------------- IDLE STATES ---------
  438.         AnimationState                = WEAPONSET_PLAYER_UPGRADE
  439.             StateName                = STATE_Idle
  440.             Animation                = IDLB
  441.                 AnimationName       = EUDwarfAxe_IDLB
  442.                 AnimationMode       = ONCE
  443.                 AnimationSpeedFactorRange = 0.9 1.1
  444.             End
  445.             Animation                = IDLC
  446.                 AnimationName       = EUDwarfAxe_IDLC
  447.                 AnimationMode       = ONCE
  448.                 AnimationSpeedFactorRange = 0.9 1.1
  449.             End
  450.             Animation                = IDLD
  451.                 AnimationName       = EUDwarfAxe_IDLD
  452.                 AnimationMode       = ONCE
  453.                 AnimationSpeedFactorRange = 0.9 1.1
  454.             End
  455.             Flags                    = RESTART_ANIM_WHEN_COMPLETE            
  456.             BeginScript
  457.                 Prev = CurDrawablePrevAnimationState()
  458.                 if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
  459.             EndScript
  460.         End        
  461.         AnimationState                = USER_3
  462.             StateName                = STATE_User_3
  463.             Animation                = GUARD_STANCE
  464.                 AnimationName        = GUManMocap_IDLB
  465.                 AnimationMode        = LOOP
  466.             End
  467.         End
  468.         IdleAnimationState
  469.             StateName                = STATE_Idle
  470.             Animation                = IDLB
  471.                 AnimationName       = EUDwarfAxe_IDLB
  472.                 AnimationMode       = ONCE
  473.                 AnimationPriority   = 20
  474.                 AnimationSpeedFactorRange = 0.9 1.1
  475.                 AnimationBlendTime    = 15
  476.             End
  477.             Animation                = IDLC
  478.                 AnimationName       = EUDwarfAxe_IDLC
  479.                 AnimationMode       = ONCE
  480.                 AnimationPriority   = 1
  481.                 AnimationSpeedFactorRange = 0.9 1.1
  482.                 AnimationBlendTime    = 15
  483.             End
  484.             Animation                = IDLD
  485.                 AnimationName       = EUDwarfAxe_IDLD
  486.                 AnimationMode       = ONCE
  487.                 AnimationPriority   = 1
  488.                 AnimationSpeedFactorRange = 0.9 1.1
  489.                 AnimationBlendTime    = 15
  490.             End
  491.             BeginScript
  492.                 Prev = CurDrawablePrevAnimationState()
  493.                 if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
  494.             EndScript
  495.         End
  496. ;;--------------- TRANSITIONS ---------------
  497.         TransitionState       = TRANS_IdleToSelected
  498.             Animation           = ATNA
  499.                 AnimationName     = EUDwarfAxe_ATNA
  500.                 AnimationMode     = ONCE
  501.                 AnimationSpeedFactorRange = 0.9 1.0
  502.                 
  503.             End
  504.         End
  505.         TransitionState        = TRANS_SelectedToIdle
  506.             Animation            = ATNC
  507.                 AnimationName    = EUDwarfAxe_ATNC
  508.                 AnimationMode    = ONCE
  509.                 AnimationSpeedFactorRange = 0.9 1.0
  510.             End
  511.         End
  512.     End
  513.     
  514.     #include "..\..\..\includes\StunDrawModuleSmall.inc"
  515.  
  516.     ;// ***DESIGN parameters ***
  517.     Side                = Dwarves
  518.     EditorSorting        = UNIT
  519.     ThreatLevel            = 1.0
  520.     ThingClass            = HORDE_UNIT
  521.     CommandPoints        = 4
  522.     BountyValue            = DWARVEN_AXETHROWER_BOUNTY_VALUE
  523.     
  524.     EmotionRange        = 240 ;// Make sure this value is greater than the fear distribution range. 
  525.  
  526.     TransportSlotCount = TRANSPORTSLOTCOUNT_UNIT
  527.     
  528.     ;//--- WEAPON SETS ---
  529.     WeaponSet
  530.         Conditions            = None 
  531.         Weapon                = PRIMARY    DwarvenGuardianThrowingAxe
  532.         Weapon                = TERTIARY   DwarvenGuardianThrowingAxeBombard
  533.         AutoChooseSources    = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  534.         AutoChooseSources    = TERTIARY FROM_PLAYER FROM_SCRIPT                        // Not AI.
  535.     End
  536.  
  537.     ;//--- ARMOUR SETS ---
  538.     ArmorSet
  539.         Conditions      = None
  540.         Armor           = DwarvenAxeThrowerArmor
  541.         DamageFX        = NormalDamageFX
  542.     End
  543.     ArmorSet
  544.         Conditions      = PLAYER_UPGRADE
  545.         Armor           = DwarvenAxeThrowerHeavyArmor
  546.         DamageFX        = NormalDamageFX
  547.     End
  548.     
  549.     VisionRange = VISION_STANDARD_MELEE
  550.     VisionSide = 35%
  551.     VisionRear = 25%
  552.     VisionBonusPercentPerFoot = 2.0%
  553.     MaxVisionBonusPercent = 300%
  554.     VisionBonusTestRadius = 200
  555.     ShroudClearingRange = SHROUD_CLEAR_STANDARD            
  556.  
  557.     DisplayName                    = OBJECT:DwarvenAxeThrower
  558.     CrushableLevel                = 0  ;//What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  559.     CrusherLevel                = 0     
  560.     CrushZFactor                = 1.0 ;// How much we knock upwards.
  561.     CrushRevengeWeapon            = RangedInfantryCrushRevenge
  562.     
  563.     CommandSet                    = DwarvenAxeThrowerCommandSet
  564.  
  565.  
  566.     ;// *** AUDIO Parameters ***;
  567.  
  568.     ;VoiceAmbushed                            = DwarfAxeThrowerVoiceAmbushed    
  569.     VoiceAttack                                = DwarfAxeThrowerVoiceAttack
  570.     VoiceAttackCharge                        = DwarfAxeThrowerVoiceAttackCharge
  571.     VoiceAttackMachine                        = DwarfAxeThrowerVoiceAttack
  572.     VoiceAttackStructure                    = DwarfAxeThrowerVoiceAttackBuilding
  573.     VoiceCreated                            = DwarfAxeThrowerVoiceSalute
  574.     VoiceFullyCreated                         = DwarfAxeThrowerVoiceSalute
  575.     VoiceGuard                                = DwarfAxeThrowerVoiceMove
  576.     VoiceMove                                = DwarfAxeThrowerVoiceMove
  577.     VoiceMoveToCamp                            = DwarfAxeThrowerVoiceMoveCamp
  578.     VoiceMoveToHigherGround                    = DwarfAxeThrowerVoiceMoveHighGround
  579.     VoiceMoveWhileAttacking                    = DwarfAxeThrowerVoiceDisengage
  580.     VoicePriority                            = 49
  581.     VoiceRetreatToCastle                    = DwarfAxeThrowerVoiceRetreat        
  582.     VoiceSelect                                = DwarfAxeThrowerVoiceSelectMS
  583.     VoiceSelectBattle                         = DwarfAxeThrowerVoiceSelectBattle            
  584.  
  585.     MinZIncreaseForVoiceMoveToHigherGround    = 45
  586.  
  587.     VoiceEnterStateAttack                    = DwarfAxeThrowerVoiceEnterStateAttack
  588.     VoiceEnterStateAttackCharge                = DwarfAxeThrowerVoiceEnterStateAttackCharge
  589.     VoiceEnterStateAttackMachine            = DwarfAxeThrowerVoiceEnterStateAttackBuilding
  590.     VoiceEnterStateAttackStructure            = DwarfAxeThrowerVoiceEnterStateAttackBuilding
  591.     VoiceEnterStateMove                        = DwarfAxeThrowerVoiceEnterStateMove
  592.     VoiceEnterStateMoveToCamp                = DwarfAxeThrowerVoiceEnterStateMoveCamp
  593.     VoiceEnterStateMoveToHigherGround        = DwarfAxeThrowerVoiceEnterStateMoveHighGround
  594.     VoiceEnterStateMoveWhileAttacking        = DwarfAxeThrowerVoiceEnterStateDisengage
  595.     VoiceEnterStateRetreatToCastle            = DwarfAxeThrowerVoiceEnterStateRetreat
  596.  
  597.     SoundImpact                                = ImpactHorse
  598.  
  599.     UnitSpecificSounds
  600.         VoiceGarrison                        = DwarfAxeThrowerVoiceMoveGarrison
  601.         VoiceEnterUnitElvenTransportShip    = DwarfAxeThrowerVoiceMoveShip
  602.         VoiceInitiateCaptureBuilding        = DwarfAxeThrowerVoiceCaptureBuilding
  603.         ;VoiceEnterStateInitiateCaptureBuilding    =
  604.     End
  605.  
  606.     #include "..\..\..\includes\StandardUnitEvaEvents.inc"
  607.  
  608.     CrowdResponseKey = Dwarf
  609.  
  610.     Behavior = LargeGroupAudioUpdate ModuleTag_LGAU
  611.         Key = Humanoid_Male Dwarf Dwarf_Male Dwarf_AxeThrower
  612.     End
  613.  
  614.     ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
  615.         ModelCondition = Required:EMOTION_CELEBRATING    Excluded:DYING ENGAGED    Sound:EmotionDwarfCompilationVoxCheerSinglesLoop    ;MOVING ATTACKING
  616.         ModelCondition = Required:EMOTION_POINTING        Excluded:DYING ENGAGED    Sound:EmotionDwarfCompilationVoxTauntSinglesLoop    ;MOVING ATTACKING
  617.         ModelCondition = Required:EMOTION_TAUNTING        Excluded:DYING ENGAGED    Sound:EmotionDwarfCompilationVoxTauntSinglesLoop    ;MOVING ATTACKING
  618.         ModelCondition = Required:RAISING_FLAG            Excluded:DYING ENGAGED    Sound:EmotionDwarfCompilationVoxTauntSinglesLoop
  619.     End
  620.     
  621.     ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
  622.         MaxUpdateRangeCap = 800
  623.         AnimationSound = Sound:BodyFallGeneric1                Animation:EUDWARFAXE_SKL.EUDWARFAXE_LNDA    Frames:4
  624.         AnimationSound = Sound:BodyFallGeneric1                Animation:EUDWARFAXE_SKL.EUDWARFAXE_DIEA    Frames:56
  625.         ;AnimationSound = Sound:ShieldDropHere!                Animation:EUDWARFAXE_SKL.EUDWARFAXE_DIEA    Frames:38         ;shield falls
  626.         AnimationSound = Sound:BodyFallGeneric1                Animation:EUDWARFAXE_SKL.EUDWARFAXE_DIEB    Frames:13        ;axe drop
  627.         AnimationSound = Sound:BodyFallGeneric1                Animation:EUDWARFAXE_SKL.EUDWARFAXE_DIEB    Frames:39
  628.         AnimationSound = Sound:TauntDwarfHitShieldLoose        Animation:EUDWARFAXE_SKL.EUDWARFAXE_ATNA    Frames:21        ;hit shield sword 
  629.         AnimationSound = Sound:TauntDwarfHitShieldLoose        Animation:EUDWARFAXE_SKL.EUDWARFAXE_TNTA    Frames:19 39    ;hit shield sword 
  630.     End
  631.  
  632.     ;// *** ENGINEERING Parameters ***
  633.  
  634.     RadarPriority = UNIT
  635.     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
  636.     
  637.     Body = ActiveBody ModuleTag_02
  638.         CheerRadius       = EMOTION_CHEER_RADIUS
  639.         MaxHealth         = DWARVEN_AXETHROWER_HEALTH
  640.         MaxHealthDamaged  = DWARVEN_AXETHROWER_HEALTH_DAMAGED
  641.         BurningDeathBehavior = Yes
  642.         BurningDeathFX       = FX_InfantryBurningFlame
  643.     End
  644.     
  645.     ;//-----UPGRADES------
  646.     
  647.     Behavior = WeaponSetUpgrade WeaponSetUpgradeModuleTagAxe
  648.         TriggeredBy = Upgrade_DwarvenForgedBlades
  649.     End
  650.         
  651.     Behavior = SubObjectsUpgrade ForgedBlade_Upgrade
  652.         TriggeredBy        = Upgrade_DwarvenForgedBlades
  653.         ShowSubObjects    = Forged_Blade
  654.     End    
  655.  
  656.     Behavior = ArmorUpgrade ArmorUpgradeModuleTagAxe
  657.         TriggeredBy = Upgrade_DwarvenMithrilMail
  658.         ArmorSetFlag            = PLAYER_UPGRADE
  659.         ;KillArmorUpgrade = Yes ;This cancels any previous armor upgrade.
  660.     End
  661.     
  662.     Behavior = SubObjectsUpgrade Armor_UpgradeAxe
  663.         TriggeredBy        = Upgrade_DwarvenMithrilMail
  664.         UpgradeTexture    = EUDwarfAxe.tga 0 EUDwarfAxe_HA.tga
  665.         RecolorHouse    = Yes
  666.         ExcludeSubobjects = Forged_Blade
  667.     End
  668.         
  669.     Behavior = AIUpdateInterface ModuleTag_03
  670.         AutoAcquireEnemiesWhenIdle    =    Yes ATTACK_BUILDINGS
  671.         CanAttackWhileContained        =    Yes
  672.         MoodAttackCheckRate            =    500
  673.         AILuaEventsList                =    GondorFighterFunctions
  674.         MinCowerTime                =    3000
  675.         MaxCowerTime                =    5000
  676.         AttackPriority                =     AttackPriority_Infantry
  677.         BurningDeathTime            =    BURNINGDEATH_DURATION_INFANTRY
  678.     End
  679.  
  680.     LocomotorSet
  681.         Locomotor = HumanLocomotor
  682.         Condition = SET_NORMAL 
  683.         Speed     = NORMAL_GOOD_INFANTRY_MEMBER_SPEED
  684.     End
  685.  
  686.     LocomotorSet
  687.         Locomotor = BurningDeathLocomotorInfantry
  688.         Condition = SET_BURNINGDEATH
  689.         Speed      = BURNINGDEATH_WANDERSPEED_INFANTRY
  690.     End
  691.  
  692.     Behavior = PhysicsBehavior ModuleTag_04
  693.         GravityMult = 1.0
  694.         ShockStunnedTimeLow        = 1400    ;//msec
  695.         ShockStunnedTimeHigh    = 2400    ;//msec
  696.         ShockStandingTime        = 666    ;//msec
  697.     End 
  698.  
  699.     Behavior = AttributeModifierUpgrade ModuleTag_AMU
  700.         TriggeredBy            = Upgrade_GondorFighterFearless
  701.         AttributeModifier    = FearlessForever
  702.     End
  703.      
  704.     Behavior = SquishCollide ModuleTag_06
  705.         ;nothing
  706.     End
  707.     
  708.     Behavior = HordeMemberCollide ModuleTag_HMC
  709.         ;nothing
  710.     End
  711.     
  712. ;    Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
  713. ;        HitReactionLifeTimer1 = 2500  ;// level 1 (light  damage)  hit reaction animations in ms
  714. ;        HitReactionLifeTimer2 = 2500  ;// level 2 (medium damage)  hit reaction animations in ms
  715. ;        HitReactionLifeTimer3 = 2500  ;// level 3 (heavy  damage)  hit reaction animations in ms
  716.  
  717. ;        HitReactionThreshold1 = 5.0   ;// level 1 (light  damage) threshold trigger
  718. ;        HitReactionThreshold2 = 25.0  ;// level 2 (medium damage) threshold trigger
  719. ;        HitReactionThreshold3 = 50.0  ;// level 3 (heavy  damage) threshold trigger
  720.         
  721. ;        FastHitsResetReaction = Yes   ;// If set -- when hits occur faster than the reaction animations, it will reset the animation. (like getting riddled with machine gun bullets)
  722. ;    End
  723.  
  724.     Behavior = SlowDeathBehavior ModuleTag_05
  725.         DeathTypes            = ALL -KNOCKBACK -FADED
  726.         SinkDelay            = 3000
  727.         SinkRate            = 0.60     ;// in Dist/Sec
  728.         DestructionDelay    = 10000
  729.         Sound                = INITIAL DwarfGenericVoiceDie
  730.     End
  731.     
  732.     Behavior = SlowDeathBehavior ModuleTag_07
  733.         ;// Same as normal death, but no sound (sound already played by SoundImpact = ... )
  734.         DeathTypes            = NONE +KNOCKBACK
  735.         SinkDelay            = 3000
  736.         SinkRate            = 0.60     ;// in Dist/Sec
  737.         DestructionDelay    = 10000
  738.     End
  739.     
  740.     Behavior = SlowDeathBehavior ModuleTag_FadeDeath
  741.         DeathTypes            = NONE +FADED
  742.         FadeDelay            = 0
  743.         FadeTime            = 5000
  744.         DestructionDelay    = 5000
  745.         DeathFlags            = DEATH_2
  746. ;        FX                    = INITIAL FX_UnSummonElvenAllies
  747.         Sound = INITIAL SpellGenericUnsummonMS
  748.     End
  749.  
  750.     Behavior = BezierProjectileBehavior ModuleTag_08 ; Module starts asleep, and wakes up when thrown.
  751.         ; To tweak a Bezier path
  752.         FirstHeight                    = 24  ;// Height of Bezier control points above highest intervening terrain
  753.         SecondHeight                = 24
  754.         FirstPercentIndent            = 30% ;// Percentage of shot distance control points are placed
  755.         SecondPercentIndent            = 70%
  756.         TumbleRandomly                = Yes
  757.  
  758.         CrushStyle                    = Yes ;// I don't detonate, I just hit
  759.         DieOnImpact                    = Yes
  760.         BounceCount                    = 1   ;// When I hit the ground, I'll arc again
  761.         BounceDistance                = 40  ;// this far
  762.         BounceFirstHeight            = 24  ;// Height of Bezier control points above highest intervening terrain
  763.         BounceSecondHeight            = 24
  764.         BounceFirstPercentIndent    = 20% ;// Percentage of shot distance control points are placed
  765.         BounceSecondPercentIndent    = 80%
  766.  
  767.         GroundHitFX       = FX_ThrownRockGroundHit
  768.         GroundBounceFX    = FX_ThrownRockBounceHit
  769.     End
  770.     
  771.     
  772.  
  773.     Geometry                = CYLINDER
  774.     GeometryMajorRadius = 8
  775.     GeometryMinorRadius = 8
  776.     GeometryHeight            = 19.2
  777.     GeometryIsSmall            = No
  778.  
  779.     Shadow                    = SHADOW_DECAL
  780.     ShadowSizeX             = 19;
  781.     ShadowSizeY             = 19;
  782.     ShadowTexture            = ShadowI
  783. End
  784.  
  785. ;---------------------------------------------------------
  786.  
  787. ChildObject DwarvenAxeThrower_Summoned DwarvenAxeThrower
  788.     IsTrainable = No
  789.     CommandPoints = 0
  790.     EquivalentTo = DwarvenAxeThrower
  791.     
  792.     Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate
  793.         // This one does the work, but the one in the horde displays the timer
  794.         MinLifetime        = DAIN_SUMMON_TIMEOUT
  795.         MaxLifetime        = DAIN_SUMMON_TIMEOUT
  796.         DeathType        = FADED
  797.     End
  798.     Behavior = GrantUpgradeCreate ModuleTag_GrantForgedBlades
  799.         UpgradeToGrant = Upgrade_DwarvenForgedBlades
  800.     End
  801.     Behavior = GrantUpgradeCreate ModuleTag_GrantMithrilMail
  802.         UpgradeToGrant = Upgrade_DwarvenMithrilMail
  803.     End
  804.     Behavior = GrantUpgradeCreate ModuleTag_GrantBasicTraining
  805.         UpgradeToGrant = Upgrade_DwarvenBasicTraining
  806.     End
  807. End