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_evilfaction_units_wild_goblinfighter.ini < prev    next >
Text File  |  2006-01-31  |  26KB  |  843 lines

  1. ; Moved from WildInfantry.INI Aug 24 2005
  2.  
  3. Object GoblinFighter
  4.   ; *** ART Parameters ***
  5.  
  6.     ; This is required for garrisoned objects - please put in all objects.
  7.     
  8.     ButtonImage = WOR_GoblinFighters
  9.     
  10.     SelectPortrait = UPWild_GoblinWarrior
  11.   
  12.   Draw = W3DHordeModelDraw ModuleTag_01
  13.  
  14.     OkToChangeModelColor = Yes
  15.       
  16.     StaticModelLODMode = Yes
  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.         
  41.         RandomTexture = MUGblnSwrd.tga 0 MUGblnSwrd.tga
  42.         RandomTexture = MUGblnSwrd2.tga 0 MUGblnSwrd.tga
  43.         RandomTexture = MUGblnSwrd3.tga 0 MUGblnSwrd.tga
  44.  
  45.     DefaultModelConditionState
  46.       Model = MUGblnSwrd_SKN
  47.       Skeleton = MUGblnSwrd_SKL
  48.     End
  49.     
  50.     ModelConditionState = WEAPONSET_TOGGLE_1
  51.             Model               = MUGblnSwrd_SKN
  52.             Skeleton            = MUGblnSwrd_SKL
  53.             ParticleSysBone        = FORGED_BLADE GoblinPoisonSword FollowBone:Yes
  54.         End
  55.     
  56. ;;==================== ANIMATIONS ================================================================
  57. ;;-------------------- FLYING & DYING ------------------------------------------------------------
  58. ;;======= FALLING
  59.  
  60.         AnimationState                        = PASSENGER
  61.             Animation                        = Wiggling
  62.                 AnimationName                = MUGblnSwrd_FLLA
  63.                 AnimationMode                = LOOP
  64.             End
  65.         End
  66.         
  67.         AnimationState                        = THROWN_PROJECTILE
  68.             StateName                        = STATE_Flying
  69.             Animation                        = Thrown
  70.                 AnimationName                = MUGblnSwrd_FLYA
  71.                 AnimationMode                = LOOP
  72.             End
  73.             Animation                        = Thrown
  74.                 AnimationName                = MUGblnSwrd_FLYB
  75.                 AnimationMode                = LOOP
  76.             End
  77.             Animation                        = Thrown
  78.                 AnimationName                = MUGblnSwrd_FLYC
  79.                 AnimationMode                = LOOP
  80.             End
  81.         End
  82.         
  83.         
  84.     AnimationState                        = CLIMBING
  85.         StateName                        = STATE_Climbing
  86.         Animation                        = Climbing
  87.             AnimationName                = MUGblnSwrd_WALB
  88.             AnimationMode                = LOOP
  89.             AnimationBlendTime            = 10
  90.         End
  91.         BeginScript;script to set transition from moving
  92.             Prev = CurDrawablePrevAnimationState()
  93.             if Prev == "STATE_Running"  then CurDrawableSetTransitionAnimState("Trans_RunningToClimbing") return end
  94.             if Prev == "STATE_Rappelling"  then CurDrawableSetTransitionAnimState("Trans_RappellingToClimbing") return end
  95.         EndScript
  96.     End
  97.     TransitionState = Trans_RunningToClimbing
  98.         Animation = Transition
  99.             AnimationName = MUGblnSwrd_WALA
  100.             AnimationMode = ONCE
  101.         End
  102.     End
  103.     TransitionState = Trans_RappellingToClimbing
  104.         Animation = Transition
  105.             AnimationName = MUGblnSwrd_WALG
  106.             AnimationMode = ONCE_BACKWARDS
  107.         End
  108.     End
  109.     AnimationState                        = RAPPELLING
  110.         StateName                        = STATE_Rappelling
  111.         Animation                        = Rapelling
  112.             AnimationName                = MUGblnSwrd_WALE
  113.             AnimationMode                = LOOP
  114.             AnimationBlendTime            = 10
  115.         End
  116.         BeginScript;script to set transition from moving
  117.             Prev = CurDrawablePrevAnimationState()
  118.             if Prev == "STATE_Running"  then CurDrawableSetTransitionAnimState("Trans_RunningToRappelling") return end
  119.             if Prev == "STATE_Climbing"  then CurDrawableSetTransitionAnimState("Trans_ClimbingToRappelling") return end
  120.         EndScript
  121.     End
  122.     TransitionState = Trans_RunningToRappelling
  123.         Animation = Transition
  124.             AnimationName = MUGblnSwrd_WALD
  125.             AnimationMode = ONCE
  126.         End
  127.     End
  128.     TransitionState = Trans_ClimbingToRappelling
  129.         Animation = Transition
  130.             AnimationName = MUGblnSwrd_WALG
  131.             AnimationMode = ONCE
  132.         End
  133.     End
  134.  
  135.         
  136.         AnimationState                        = FREEFALL
  137.             Animation                        = Falling
  138.                 AnimationName                = MUGblnSwrd_FLYB
  139.                 AnimationMode                = LOOP
  140.                 AnimationBlendTime            = 10
  141.                 AnimationSpeedFactorRange    = 0.7    0.7
  142.             End
  143.         End
  144.         
  145.         AnimationState                        = STUNNED_FLAILING
  146.             StateName                        = STATE_Flying
  147.             Animation                        = ready_for_sweet_landing
  148.                 AnimationName                = MUGblnSwrd_FLYA
  149.                 AnimationMode                = LOOP
  150.                 AnimationSpeedFactorRange    = 0.4 0.6
  151.                 AnimationBlendTime            = 0
  152.             End
  153.             Animation                        = flying
  154.                 AnimationName                = MUGblnSwrd_FLYB
  155.                 AnimationMode                = LOOP
  156.                 AnimationPriority            = 10
  157.                 AnimationSpeedFactorRange    = 0.4 0.6
  158.                 AnimationBlendTime            = 0
  159.             End
  160.             Flags                            = RANDOMSTART
  161.         End
  162.         
  163.         AnimationState            = DYING BURNINGDEATH
  164.             Animation
  165.                 AnimationName    = MUGblnSwrd_DIEA
  166.                 AnimationMode    = ONCE
  167.                 AnimationBlendTime = 10
  168.             End
  169.             Animation
  170.                 AnimationName    = MUGblnSwrd_DIEB
  171.                 AnimationMode    = ONCE
  172.                 AnimationBlendTime = 10
  173.             End
  174.             Animation
  175.                 AnimationName    = MUGblnSwrd_DIEC
  176.                 AnimationMode    = ONCE
  177.                 AnimationBlendTime = 10
  178.             End
  179.         End
  180.  
  181.         AnimationState                        = DYING SPLATTED
  182.             Animation                        = splat
  183.                 AnimationName                = MUGblnSwrd_LNDB
  184.                 AnimationMode                = ONCE
  185.             End
  186.         End
  187.  
  188.  
  189.         
  190. ;;======= DYING
  191.  
  192.         AnimationState                        = DYING AFLAME
  193.             StateName                        = STATE_Dead.
  194.             Animation                        = Flaming_Death
  195.                 AnimationName                = MUGblnSwrd_MFDA
  196.                 AnimationMode                = LOOP
  197.             End
  198.         End
  199.  
  200.         AnimationState                        = DYING
  201.             StateName                        = STATE_Dead.
  202.             Animation                        = Dying_1
  203.                 AnimationName                = MUGblnSwrd_DIEA
  204.                 AnimationMode                = ONCE
  205.             End
  206.             Animation                        = Dying_2
  207.                 AnimationName                = MUGblnSwrd_DIEB
  208.                 AnimationMode                = ONCE
  209.             End
  210.             Animation                        = Dying_2
  211.                 AnimationName                = MUGblnSwrd_DIEC
  212.                 AnimationMode                = ONCE
  213.             End
  214.             Animation                        = landb
  215.                 AnimationName                = MUGblnSwrd_LNDB
  216.                 AnimationMode                = ONCE
  217.             End
  218.             Animation                        = landc
  219.                 AnimationName                = MUGblnSwrd_LNDC
  220.                 AnimationMode                = ONCE
  221.             End
  222.             BeginScript
  223.                 Preva = CurDrawablePrevAnimation()
  224.                 if Preva == "ready_for_sweet_landing" then return "landc" 
  225.                 elseif Preva == "flying" then return "landb"
  226.                 elseif GetClientRandomNumberReal(0,1) > 0.50 then return "Dying_1"
  227.                 else return "Dying_2" end
  228.             EndScript
  229.         End
  230.         
  231.         AnimationState                        = STUNNED_STANDING_UP
  232.             StateName                        = STATE_Ready
  233.             Animation                        = standing_back_up
  234.                 AnimationName                = MUGblnSwrd_GTPA
  235.                 AnimationMode                = ONCE
  236.                 
  237.             End
  238.             Animation                        = already_up
  239.                 AnimationName                = MUGblnSwrd_IDLB
  240.                 AnimationMode                = LOOP
  241.                 AnimationBlendTime            = 20
  242.             End
  243.             BeginScript
  244.                 if CurDrawablePrevAnimation() == "sweet_landing"
  245.                 then
  246.                     return "already_up"
  247.                 else
  248.                     return "standing_back_up"
  249.                 end
  250.             EndScript
  251.         End
  252.                 
  253.         AnimationState                        = STUNNED
  254.             StateName                        = STATE_Stunned
  255.             Animation                        = splatted_on_ground
  256.                 AnimationName                = MUGblnSwrd_LNDC
  257.                 AnimationMode                = ONCE
  258.             End
  259.             Animation                        = sweet_landing
  260.                 AnimationName                = MUGblnSwrd_LNDA
  261.                 AnimationMode                = ONCE
  262.             End
  263.             BeginScript
  264.                 if CurDrawablePrevAnimation() == "ready_for_sweet_landing"
  265.                 then
  266.                     return "sweet_landing"
  267.                 else
  268.                     return "splatted_on_ground"
  269.                 end
  270.             EndScript
  271.         End
  272.  
  273.         AnimationState            = BURNINGDEATH
  274.             Animation
  275.                 AnimationName    = MUGblnSwrd_MFDA
  276.                 AnimationMode    = LOOP
  277.                 Distance        = 30
  278.             End
  279.         End
  280.  
  281.         AnimationState                        = PARALYZED
  282.             Animation
  283.                 AnimationName                = MUGblnSwrd_IDLA
  284.                 AnimationMode                = LOOP
  285.             End
  286.         End
  287.  
  288.         
  289.  
  290.   ;;------------------ MOVING -----------------------------------------------------------------------
  291.   
  292.   
  293.   
  294.         AnimationState = MOVING FIRING_OR_PREATTACK_A
  295.             Animation = TrotAndFire
  296.                 AnimationName = MUGblnSwrd_RUNA    ; MUGblnSwrd_ATRA doesn't exist..
  297.                 AnimationMode = LOOP
  298.             End
  299.             Flags = RANDOMSTART
  300.             ;ParticleSysBone = None InfantryDustTrails
  301.         End
  302.     
  303.         AnimationState                        = MOVING BACKING_UP
  304.             Animation                        = BackingUp
  305.                 AnimationName                = MUGblnSwrd_BAKA
  306.                 AnimationMode                = LOOP
  307.                 AnimationSpeedFactorRange    = 0.9 1.1
  308.             End
  309.             Animation                        = BackingUp
  310.                 AnimationName                = MUGblnSwrd_BAKB
  311.                 AnimationMode                = LOOP
  312.                 AnimationSpeedFactorRange    = 0.9 1.1
  313.             End
  314.             Animation                        = BackingUp
  315.                 AnimationName                = MUGblnSwrd_BAKC
  316.                 AnimationMode                = LOOP
  317.                 AnimationSpeedFactorRange    = 0.9 1.1
  318.             End
  319.             Flags                            = RANDOMSTART
  320.         End
  321.         
  322.         AnimationState                        = MOVING EMOTION_TERROR
  323.             ShareAnimation                    = Yes
  324.             Animation                        = Moving_1
  325.                 AnimationName                = MUGblnSwrd_RUNA
  326.                 AnimationMode                = LOOP
  327.                 ;AnimationSpeedFactorRange    = 0.9 1.1
  328.                 AnimationSpeedFactorRange    = 0.5 0.6
  329.                 Distance                    = 20
  330.             End
  331. ;            Animation                        = Moving_3
  332. ;                AnimationName                = MUGblnSwrd_RUNC
  333. ;                AnimationMode                = LOOP
  334. ;                AnimationSpeedFactorRange    = 0.9 1.1
  335. ;            End
  336.             Flags                            = RANDOMSTART
  337.             ParticleSysBone                    = None InfantryDustTrails
  338.         End
  339.         
  340.         AnimationState                        = MOVING
  341.             StateName                        = STATE_Running
  342.             ShareAnimation                    = Yes
  343.             Animation                        = Moving_1
  344.                 AnimationName                = MUGblnSwrd_RUNA
  345.                 AnimationMode                = LOOP
  346.                 ;AnimationSpeedFactorRange    = 0.9 1.1
  347.                 AnimationSpeedFactorRange    = 0.5 0.6
  348.                 Distance                    = 20
  349.             End
  350. ;            Animation                        = Moving_3
  351. ;                AnimationName                = MUGblnSwrd_RUNC
  352. ;                AnimationMode                = LOOP
  353. ;                AnimationSpeedFactorRange    = 0.9 1.1
  354. ;                Distance                    = 10
  355. ;            End
  356.             Flags                            = RANDOMSTART
  357.             ParticleSysBone                    = None InfantryDustTrails
  358.             BeginScript;script to set transition into moving
  359.                 Prev = CurDrawablePrevAnimationState()
  360.                 if Prev == "STATE_Climbing"  then CurDrawableSetTransitionAnimState("Trans_ClimbingToRunning") return end
  361.                 if Prev == "STATE_Rappelling"  then CurDrawableSetTransitionAnimState("Trans_RappellingToRunning") return end
  362.             EndScript
  363.         End
  364.     TransitionState = Trans_ClimbingToRunning
  365.         Animation = Transition
  366.             AnimationName = MUGblnSwrd_WALC
  367.             AnimationMode = ONCE
  368.         End
  369.         Animation = Transition
  370.             AnimationName = MUGblnSwrd_WALH
  371.             AnimationMode = ONCE
  372.         End
  373.     End
  374.     TransitionState = Trans_RappellingToRunning
  375.         Animation = Transition
  376.             AnimationName = MUGblnSwrd_WALF
  377.             AnimationMode = ONCE
  378.         End
  379.     End
  380.  
  381.         
  382. ;;------------------ ATTACKING ------------------------------------------------------------
  383.         
  384.         AnimationState                        = FIRING_OR_PREATTACK_A
  385.             StateName                        = STATE_Ready
  386.             Animation                        = ATKA
  387.                 AnimationName                = MUGblnSwrd_ATKA
  388.                 AnimationMode                = ONCE
  389.                 UseWeaponTiming                = Yes    
  390.             End
  391.             Animation                        = ATKA
  392.                 AnimationName                = MUGblnSwrd_ATKC
  393.                 AnimationMode                = ONCE
  394.                 UseWeaponTiming                = Yes    
  395.             End
  396.         End
  397.         
  398. ;;------------------ EMOTIONS ------------------------------------------------------------
  399.  
  400.         AnimationState                        = EMOTION_AFRAID
  401.             Animation                        = FERA
  402.                 AnimationName                = MUGblnSwrd_FERA
  403.                 AnimationMode                = LOOP
  404.             End
  405.             Animation                        = FERB
  406.                 AnimationName                = MUGblnSwrd_FERB
  407.                 AnimationMode                = LOOP
  408.             End
  409.             Animation                        = FERC
  410.                 AnimationName                = MUGblnSwrd_FERC
  411.                 AnimationMode                = LOOP
  412.             End
  413.             Flags                            = RANDOMSTART
  414.         End
  415.         AnimationState                        = EMOTION_TAUNTING
  416.             Animation                        = TNTA
  417.                 AnimationName                = MUGblnSwrd_TNTA
  418.                 AnimationMode                = LOOP
  419.             End
  420.             Animation                        = TNTB
  421.                 AnimationName                = MUGblnSwrd_TNTB
  422.                 AnimationMode                = LOOP
  423.             End
  424.             Animation                        = TNTC
  425.                 AnimationName                = MUGblnSwrd_TNTC
  426.                 AnimationMode                = LOOP
  427.             End
  428.             Flags                            = RANDOMSTART
  429.         End
  430.         AnimationState                        = EMOTION_POINTING
  431.             Animation                        = Pointing1A
  432.                 AnimationName                = MUGblnSwrd_PNTA
  433.                 AnimationMode                = LOOP
  434.             End
  435.             Animation                        = Pointing1B
  436.                 AnimationName                = MUGblnSwrd_PNTB
  437.                 AnimationMode                = LOOP
  438.             End
  439.             Animation                        = Pointing1C
  440.                 AnimationName                = MUGblnSwrd_PNTC
  441.                 AnimationMode                = LOOP
  442.             End
  443.             Flags                            = RANDOMSTART
  444.         End
  445.         AnimationState                        = EMOTION_CELEBRATING
  446.             Animation                        = CHRA
  447.                 AnimationName                = MUGblnSwrd_CHRA
  448.                 AnimationMode                = LOOP
  449.             End
  450.             Animation                        = CHRB
  451.                 AnimationName                = MUGblnSwrd_CHRB
  452.                 AnimationMode                = LOOP
  453.             End
  454.             Animation                        = CHRC
  455.                 AnimationName                = MUGblnSwrd_CHRC
  456.                 AnimationMode                = LOOP
  457.             End
  458.             Flags                            = RANDOMSTART
  459.         End
  460.         AnimationState                        = EMOTION_ALERT
  461.             Animation                        = IDLB
  462.                 AnimationName                = MUGblnSwrd_IDLB
  463.                 AnimationMode                = LOOP
  464.             End
  465.             Flags                            = RANDOMSTART
  466.         End
  467.         
  468.         AnimationState                        = RAISING_FLAG
  469.             Animation                        = CHRA
  470.                 AnimationName                = MUGblnSwrd_CHRA
  471.                 AnimationMode                = LOOP
  472.             End
  473.             Animation                        = CHRB
  474.                 AnimationName                = MUGblnSwrd_CHRB
  475.                 AnimationMode                = LOOP
  476.             End
  477.             Animation                        = CHRC
  478.                 AnimationName                = MUGblnSwrd_CHRC
  479.                 AnimationMode                = LOOP
  480.             End
  481.         End
  482.  
  483. ;;------------------ SELECTED STATE --------------------------------------------------------
  484.  
  485.         AnimationState = SELECTED
  486.             Animation                = Selected_Loop
  487.                 AnimationName        = MUGblnSwrd_ATNB
  488.                 AnimationMode        = LOOP
  489.                 AnimationBlendTime    = 10
  490.             End
  491.             StateName                = Selected
  492.             BeginScript
  493.                 Prev = CurDrawablePrevAnimationState()
  494.                 if Prev == "Idle"    then CurDrawableSetTransitionAnimState("Trans_Down_To_Up") return end            
  495.                 if Prev == "Selected" then CurDrawableSetTransitionAnimState("Trans_Up_To_Down") end
  496.             EndScript
  497.             Flags = RESTART_ANIM_WHEN_COMPLETE
  498.         End
  499.         
  500.  
  501.         ; --- transition states --- ;
  502.         
  503.         TransitionState = Trans_Down_To_Up
  504.             Animation = Transition
  505.                 AnimationName = MUGblnSwrd_ATNA
  506.                 AnimationMode = ONCE
  507.             End
  508.         End
  509.         
  510.         TransitionState = Trans_Up_To_Down
  511.             Animation = Transition
  512.                 AnimationName = MUGblnSwrd_ATNC
  513.                 AnimationMode = ONCE
  514.             End
  515.         End
  516.  
  517. ;;------------------ IDLE STATE ------------------------------------------------------------
  518.         
  519.         IdleAnimationState
  520.             StateName                        = Idle
  521.             Animation                        = IDLA
  522.                 AnimationName                = MUGblnSwrd_IDLA
  523.                 AnimationMode                = ONCE
  524.                 AnimationSpeedFactorRange    = 0.9 1.1
  525.                 AnimationPriority            = 10
  526.             End
  527.             Animation                        = IDLB
  528.                 AnimationName                = MUGblnSwrd_IDLB
  529.                 AnimationMode                = ONCE
  530.                 AnimationSpeedFactorRange    = 0.9 1.1
  531.                 AnimationPriority            = 10
  532.             End
  533.             Animation                        = IDLC
  534.                 AnimationName                = MUGblnSwrd_IDLC
  535.                 AnimationMode                = ONCE
  536.                 AnimationSpeedFactorRange    = 0.9 1.1
  537.                 AnimationPriority            = 5
  538.             End
  539.             Animation                        = IDLD
  540.                 AnimationName                = MUGblnSwrd_IDLD
  541.                 AnimationMode                = ONCE
  542.                 AnimationSpeedFactorRange    = 0.9 1.1
  543.                 AnimationPriority            = 5
  544.             End
  545.             Animation                        = IDLE
  546.                 AnimationName                = MUGblnSwrd_IDLE
  547.                 AnimationMode                = ONCE
  548.                 AnimationSpeedFactorRange    = 0.9 1.1
  549.                 AnimationPriority            = 5
  550.             End
  551.             BeginScript
  552.                 Prev = CurDrawablePrevAnimationState()
  553.                 if Prev == "STATE_Planted"    then CurDrawableSetTransitionAnimState("Trans_Down_To_Up") return end
  554. //                if Prev == "Selected" or Prev == "Trans_Down_To_Up" then CurDrawableSetTransitionAnimState("TRANS_SB_Normal") end
  555.             EndScript            
  556.         End
  557.         
  558. ;;-------------------- TRANSITIONS ---------------------------------------------------------
  559.  
  560. ;;------------------------------------------------------------------------------------------    
  561.   End
  562.  
  563.     #include "..\..\..\includes\StunDrawModuleSmall.inc"
  564.  
  565.   ; ***DESIGN parameters ***
  566.     Side            = Wild
  567.     IsTrainable        = Yes
  568.     EditorSorting    = UNIT
  569.     ThreatLevel        = 1.0
  570.     ThingClass        = HORDE_UNIT
  571.     CommandPoints    = 3
  572.     TransportSlotCount = TRANSPORTSLOTCOUNT_UNIT
  573.     
  574.     WeaponSet
  575.         Conditions = None 
  576.         Weapon = PRIMARY    GoblinFighterSword
  577.         AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  578.     End
  579.     
  580.     ; weapon for poison and upgraded
  581.     ; why oh why do I have to make four separate weapons?
  582.     WeaponSet
  583.         Conditions = WEAPONSET_TOGGLE_1 PLAYER_UPGRADE
  584.         Weapon = PRIMARY GoblinFighterSwordPoisonedUpgraded
  585.         AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  586.     End
  587.  
  588.     ; weapon for poisoned
  589.     ; why oh why do I have to make four separate weapons?
  590.     WeaponSet
  591.         Conditions = WEAPONSET_TOGGLE_1
  592.         Weapon = PRIMARY GoblinFighterSwordPoisoned
  593.         AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  594.     End
  595.     
  596.     ; weapon for just upgraded
  597.     ; why oh why do I have to make four separate weapons?
  598.     WeaponSet
  599.         Conditions = PLAYER_UPGRADE
  600.         Weapon = PRIMARY    GoblinFighterSwordUpgraded
  601.         AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  602.     End
  603.     
  604.     ArmorSet
  605.         Conditions      = None
  606.         Armor           = GoblinFighterArmor
  607.         DamageFX        = NormalDamageFX
  608.     End
  609.     
  610.     ArmorSet
  611.         Conditions        = PLAYER_UPGRADE
  612.         Armor            = WildFighterScavengedArmor
  613.         DamageFX        = NormalDamageFX
  614.     End
  615.     
  616.     VisionRange = GOBLIN_FIGHTER_VISION_RANGE    
  617.     ShroudClearingRange = SHROUD_CLEAR_STANDARD 
  618.     
  619.     VisionSide = 35%
  620.     VisionRear = 25%
  621.     
  622.     MaxVisionBonusPercent = 300%
  623.     VisionBonusTestRadius = 200
  624.     VisionBonusPercentPerFoot = 2.0%
  625.     
  626.     DisplayName            = OBJECT:GoblinFighter
  627.     CrushableLevel        = 0        ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  628.     CrusherLevel        = 0        ;What can I crush?: 0 = small animals, 1 = infantry, 2 = trees, 3 = vehicles
  629.     BountyValue            = GOBLIN_FIGHTER_BOUNTY_VALUE
  630.     CrushRevengeWeapon    = BasicInfantryCrushRevenge
  631.     CommandSet            = GoblinFighterCommandSet
  632.  
  633.     ; *** AUDIO Parameters ***;
  634.  
  635.     VoiceAttack                                = GoblinWarriorVoiceAttack
  636.     VoiceAttackCharge                        = GoblinWarriorVoiceAttackCharge
  637.     VoiceAttackMachine                        = GoblinWarriorVoiceAttack
  638.     VoiceAttackStructure                    = GoblinWarriorVoiceAttackBuilding
  639.     VoiceCreated                            = EVA:GoblinWarriorCreated
  640.     VoiceFullyCreated                        = EVA:GoblinWarriorCreated
  641.     VoiceGuard                                = GoblinWarriorVoiceGuard
  642.     VoiceMove                                = GoblinWarriorVoiceMove
  643.     VoiceMoveOverWalls                        = GoblinWarriorVoiceMoveWalls
  644.     VoiceMoveToCamp                            = GoblinWarriorVoiceMoveCamp
  645.     VoiceMoveWhileAttacking                    = GoblinWarriorVoiceDisengage
  646.     VoicePriority                            = 30
  647.     VoiceRetreatToCastle                    = GoblinWarriorVoiceRetreat
  648.     VoiceSelect                                = GoblinWarriorVoiceSelectMS
  649.     VoiceSelectBattle                         = GoblinWarriorVoiceSelectBattle
  650.  
  651.     VoiceEnterStateAttack                    = GoblinWarriorVoiceEnterStateAttack
  652.     VoiceEnterStateAttackCharge                = GoblinWarriorVoiceEnterStateAttackCharge
  653.     VoiceEnterStateAttackMachine            = GoblinWarriorVoiceEnterStateAttack
  654.     VoiceEnterStateAttackStructure            = GoblinWarriorVoiceEnterStateAttackBuilding
  655.     VoiceEnterStateMove                        = GoblinWarriorVoiceEnterStateMove
  656.     VoiceEnterStateMoveOverWalls            = GoblinWarriorVoiceEnterStateMoveWalls
  657.     VoiceEnterStateMoveToCamp                = GoblinWarriorVoiceEnterStateMoveCamp
  658.     VoiceEnterStateMoveWhileAttacking        = GoblinWarriorVoiceEnterStateDisengage
  659.     VoiceEnterStateRetreatToCastle            = GoblinWarriorVoiceEnterStateRetreat
  660.  
  661.     SoundImpact                                = ImpactHorse
  662.  
  663.     UnitSpecificSounds
  664.         VoiceEnterUnitEvilMenTransportShip    = GoblinWarriorVoiceMoveShip
  665.         VoiceEnterUnitMordorMumakil            = GoblinWarriorVoiceMoveGarrison
  666.         VoiceEnterUnitSlaughterHouse        = GoblinWarriorVoiceMoveGarrison
  667.         VoiceGarrison                        = GoblinWarriorVoiceMoveGarrison
  668.         VoiceInitiateCaptureBuilding        = GoblinWarriorVoiceCaptureBuilding
  669.     End
  670.  
  671.     CrowdResponseKey = Goblin
  672.  
  673.     ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
  674.         ;ModelCondition = Required:EMOTION_CELEBRATING    Excluded:DYING ENGAGED    Sound:EmotionGoblinCompilationVoxCheerSinglesLoop    ;MOVING ATTACKING 
  675.         ;ModelCondition = Required:EMOTION_TAUNTING        Excluded:DYING ENGAGED    Sound:EmotionGoblinCompilationVoxTauntSinglesLoop    ;MOVING ATTACKING
  676.         ModelCondition = Required:RAISING_FLAG            Excluded:DYING ENGAGED    Sound:EmotionGoblinCompilationVoxTauntSinglesLoop
  677.     End
  678.  
  679.     ;Waiting to see if the emotion system is going to be improved first before hooking up emotional audio
  680.     ;
  681.     ;ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_ModelConditionAudioLoop
  682.     ;    ModelCondition = Required:EMOTION_POINTING        Sound:GoblinWarriorVoicePointLoop
  683.     ;    ModelCondition = Required:EMOTION_AFRAID         Sound:GoblinWarriorVoiceFearLoop
  684.     ;    ModelCondition = Required:EMOTION_TAUNTING        Sound:GoblinWarriorVoiceTauntLoop
  685.     ;    ModelCondition = Required:EMOTION_CELEBRATING    Sound:GoblinWarriorVoiceCheerLoop
  686.     ;End
  687.  
  688.     #include "..\..\..\includes\StandardUnitEvaEvents.inc"
  689.  
  690.     ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
  691.           MaxUpdateRangeCap = 800
  692.         AnimationSound = Sound:BodyFallGeneric2    Animation:MUGblnSwrd_SKL.MUGblnSwrd_DIEA    Frames:10
  693.         AnimationSound = Sound:BodyFallGeneric2    Animation:MUGblnSwrd_SKL.MUGblnSwrd_DIEB    Frames:7
  694.         AnimationSound = Sound:BodyFallOrc        Animation:MUGblnSwrd_SKL.MUGblnSwrd_LNDB    Frames:6
  695.         AnimationSound = Sound:BodyFallOrc        Animation:MUGblnSwrd_SKL.MUGblnSwrd_LNDC    Frames:3
  696.     End
  697.  
  698.     Behavior = LargeGroupAudioUpdate ModuleTag_LGAU        ;Tie into LargeGroupAudio system
  699.         Key = Goblin
  700.     End
  701.  
  702.   ; *** ENGINEERING Parameters ***
  703.  
  704.     Behavior = SpecialPowerModule ModuleTag_PoisonedBladeSpecialPower                      
  705.         SpecialPowerTemplate        = SpecialAbilityGoblinFighterPoisonedBlades
  706.         StartsPaused                = No
  707.     End
  708.  
  709.     Behavior = WeaponModeSpecialPowerUpdate ModuleTag_PoisonedBladeUpdate
  710.         SpecialPowerTemplate        = SpecialAbilityGoblinFighterPoisonedBlades
  711.         Duration                    = 20000
  712.         WeaponSetFlags                = WEAPONSET_TOGGLE_1
  713.         StartsPaused                = No
  714.     End
  715.  
  716.   RadarPriority = UNIT
  717.   KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT GRAB_AND_DROP CAN_CLIMB_WALLS
  718.  
  719.   Body = ActiveBody ModuleTag_02
  720.     MaxHealth         = GOBLIN_FIGHTER_HEALTH
  721.     MaxHealthDamaged  = GOBLIN_FIGHTER_HEALTH_DAMAGED
  722.     BurningDeathBehavior = Yes
  723.     BurningDeathFX       = FX_InfantryBurningFlame
  724.   End
  725.  
  726.   Behavior = AIUpdateInterface ModuleTag_03
  727.     AutoAcquireEnemiesWhenIdle    = Yes ATTACK_BUILDINGS
  728.     MoodAttackCheckRate            = 500
  729.     AILuaEventsList                =    IsengardFighterFunctions
  730.     AttackPriority                =     AttackPriority_Infantry
  731.     BurningDeathTime            =    BURNINGDEATH_DURATION_INFANTRY
  732.   End
  733.  
  734.  
  735.   LocomotorSet
  736.     Locomotor     = TestWallScalingHordeLocomotor
  737.     Condition     = SET_NORMAL
  738.     Speed         = NORMAL_WILD_FAST_MEMBER_SPEED
  739.   End
  740.  
  741.   LocomotorSet
  742.     Locomotor     = HumanWanderLocomotor
  743.     Condition     = SET_WANDER
  744.     Speed         = NORMAL_WILD_FAST_MEMBER_SPEED
  745.   End
  746.  
  747.     LocomotorSet
  748.         Locomotor = BurningDeathLocomotorInfantry
  749.         Condition = SET_BURNINGDEATH
  750.         Speed      = BURNINGDEATH_WANDERSPEED_INFANTRY
  751.     End
  752.  
  753.   Behavior = PhysicsBehavior ModuleTag_04
  754.     GravityMult                = 1.0
  755.     ShockStunnedTimeLow        = 800    ;msec
  756.     ShockStunnedTimeHigh    = 1000    ;msec
  757.     ShockStandingTime        = 2133    ;msec
  758.   End
  759.  
  760.   Behavior = SlowDeathBehavior ModuleTag_05
  761.     DeathTypes            = ALL -KNOCKBACK
  762.     SinkDelay            = 3000
  763.     SinkRate            = 0.40     ; in Dist/Sec
  764.     DestructionDelay    = 8000
  765.     Sound                = INITIAL GoblinVoxDieMS
  766.   End
  767.  
  768.   Behavior = SquishCollide ModuleTag_06
  769.     ;nothing
  770.   End
  771.  
  772.   Behavior = HordeMemberCollide ModuleTag_HMC
  773.     ;nothing
  774.   End 
  775.  
  776.   Behavior = SlowDeathBehavior ModuleTag_07
  777.     ; Same as normal death, but no sound (sound already played by SoundImpact = ... )
  778.     DeathTypes            = NONE +KNOCKBACK
  779.     SinkDelay            = 3000
  780.     SinkRate            = 0.40     ; in Dist/Sec
  781.     DestructionDelay    = 8000
  782.     Sound                = INITIAL GoblinVoxDieMS
  783.   End
  784.   
  785.   Behavior = BezierProjectileBehavior ModuleTag_08 ; Module starts asleep, and wakes up when thrown.
  786.     ; 
  787.     FirstHeight                = 24  ; Height of Bezier control points above highest intervening terrain
  788.     SecondHeight            = 24
  789.     FirstPercentIndent        = 30% ; Percentage of shot distance control points are placed
  790.     SecondPercentIndent        = 70%
  791.     TumbleRandomly            = Yes
  792.  
  793.     CrushStyle                = Yes ; I don't detonate, I just hit
  794.     DieOnImpact                = Yes
  795.     BounceCount                = 1   ; When I hit the ground, I'll arc again
  796.     BounceDistance            = 40 ; this far
  797.     BounceFirstHeight        = 24  ; Height of Bezier control points above highest intervening terrain
  798.     BounceSecondHeight        = 24
  799.     BounceFirstPercentIndent = 20% ; Percentage of shot distance control points are placed
  800.     BounceSecondPercentIndent = 80%
  801.  
  802.     GroundHitFX       = FX_ThrownRockGroundHit
  803.     GroundBounceFX    = FX_ThrownRockBounceHit
  804.   End        
  805.     
  806.     ;-------------------------Units Upgrades----------------------------------
  807.     ; Scavenged Armor upgrade
  808.     Behavior = ArmorUpgrade WildModuleArmorUpgrade
  809.         TriggeredBy        =    Upgrade_WildHeavyArmor
  810.         ;ArmorSetFlag    =    PLAYER_UPGRADE
  811.     End
  812.     
  813.     Behavior = SubObjectsUpgrade Armor_Upgrade
  814.         TriggeredBy        =    Upgrade_WildHeavyArmor
  815.         UpgradeTexture  =   MUGblnSwrd.tga 0 MUGblnSwrd_HA.tga
  816.         UpgradeTexture    =    MUGblnSwrd2.tga 0 MUGblnSwrd2_HA.tga
  817.         UpgradeTexture    =    MUGblnSwrd3.tga 0 MUGblnSwrd3_HA.tga
  818.         RecolorHouse    =   Yes
  819.         ExcludeSubobjects = Forged_Blade
  820.     End
  821.     
  822.     ; Forged Blades
  823.     Behavior = WeaponSetUpgrade WeaponSetUpgradeModuleTag
  824.         TriggeredBy = Upgrade_WildForgedBlades
  825.     End
  826.     
  827.     Behavior = SubObjectsUpgrade Sword_Upgrade
  828.         TriggeredBy = Upgrade_WildForgedBlades
  829.         ShowSubObjects    = Forged_Blade
  830.     END
  831.     
  832.   Geometry                = CYLINDER
  833.   GeometryMajorRadius    = 8.0
  834.   GeometryMinorRadius    = 8.0
  835.   GeometryHeight        = 19.2
  836.   GeometryIsSmall        = Yes
  837.   
  838.   Shadow                = SHADOW_DECAL
  839.   ShadowSizeX            = 11
  840.   ShadowSizeY            = 11
  841.   ShadowTexture            = ShadowI
  842. End
  843.