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_men_gondorranger.ini < prev    next >
Text File  |  2006-01-31  |  16KB  |  464 lines

  1. // Moved from MenInfantry.INI Aug 24 2005
  2.  
  3. #define GONDOR_RANGER_KINDOF PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT GRAB_AND_DROP ATTACK_NEEDS_LINE_OF_SIGHT ARCHER
  4.  
  5. //------------------------------------------------------------------------------
  6. // aka Gondor Ranger Ithilien Ranger IthilienRanger
  7. Object GondorRanger
  8.     
  9.     // *** ART Parameters ***
  10.     SelectPortrait         = UPGondor_Ranger
  11.     ButtonImage         = WOR_IthilienRangers
  12.  
  13.     Draw = W3DHordeModelDraw ModuleTag_01
  14.         OkToChangeModelColor = Yes    
  15.         StaticModelLODMode = Yes
  16.         ParticlesAttachedToAnimatedBones = Yes
  17.         
  18.         //specify options for static LODs
  19.         LodOptions    = LOW
  20.             AllowMultipleModels        =    ALLOW_MULTIPLE_MODELS_LOW
  21.             MaxRandomTextures        =    MAX_RANDOM_TEXTURES_LOW
  22.             MaxRandomAnimations        =    MAX_RANDOM_ANIMATIONS_LOW
  23.             MaxAnimFrameDelta        =    MAX_ANIM_FRAME_DELTA_LOW
  24.         End
  25.         
  26.         LodOptions    = MEDIUM
  27.             AllowMultipleModels        =    ALLOW_MULTIPLE_MODELS_MED
  28.             MaxRandomTextures        =    MAX_RANDOM_TEXTURES_MED
  29.             MaxRandomAnimations        =    MAX_RANDOM_ANIMATIONS_MED
  30.             MaxAnimFrameDelta        =    MAX_ANIM_FRAME_DELTA_MED
  31.         End
  32.         
  33.         LodOptions    = HIGH
  34.             AllowMultipleModels        =    ALLOW_MULTIPLE_MODELS_HIGH
  35.             MaxRandomTextures        =    MAX_RANDOM_TEXTURES_HIGH
  36.             MaxRandomAnimations        =    MAX_RANDOM_ANIMATIONS_HIGH
  37.             MaxAnimFrameDelta        =    MAX_ANIM_FRAME_DELTA_HIGH
  38.         End
  39.  
  40. //=================== MODELS ============================================================
  41. // --------- With Bow ------------
  42. // Bah, must come first even though all the other bow stuff is below the sword stuff
  43.         DefaultModelConditionState
  44.             Model                            = GURanger_SKN
  45.             Skeleton                        = GURanger_SKL
  46.             WeaponLaunchBone                = PRIMARY ARROW
  47.             WeaponLaunchBone                = TERTIARY ARROW
  48.             WeaponLaunchBone                = QUINARY ARROW
  49.         End
  50.  
  51.         ModelConditionState                WEAPONSET_PLAYER_UPGRADE
  52.             WeaponLaunchBone                = PRIMARY ARROW
  53.             WeaponLaunchBone                = SECONDARY ARROWNOCK    ; when upgraded to flaming arrow
  54.             WeaponLaunchBone                = TERTIARY ARROW
  55.             WeaponLaunchBone                = QUINARY ARROW
  56.         End
  57.  
  58.         #include "GondorRangerAnims.inc"
  59.  
  60.     End
  61.     
  62.     
  63.     #include "..\..\..\includes\StunDrawModuleSmall.inc"
  64.  
  65.     // ***DESIGN parameters ***
  66.     Side                = Men
  67.     EditorSorting        = UNIT
  68.     ThreatLevel            = 1.0
  69.     ThingClass            = HORDE_UNIT
  70.     CommandPoints        = 6
  71.     BountyValue            = GONDOR_RANGER_BOUNTY_VALUE    
  72.     TransportSlotCount    = TRANSPORTSLOTCOUNT_UNIT
  73.     
  74.     WeaponSet
  75.         Conditions    = None 
  76.         Weapon        = PRIMARY    GondorRangerBow
  77.         Weapon        = TERTIARY    GondorRangerBowBombard
  78.         Weapon        = QUINARY        MenLongShotFakeWeapon
  79.         AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT            ; Not from AI.
  80.         AutoChooseSources = QUINARY FROM_PLAYER FROM_SCRIPT            ; Not from AI.
  81.     End
  82.     WeaponSet
  83.         Conditions    = CLOSE_RANGE CONTESTING_BUILDING
  84.         Weapon        = PRIMARY    GondorRangerBow
  85.         Weapon        = SECONDARY   GondorRangerSword
  86.         Weapon        = TERTIARY    GondorRangerBowBombard
  87.         Weapon        = QUINARY        MenLongShotFakeWeapon
  88.         OnlyAgainst = PRIMARY STRUCTURE
  89.         AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT            ; Not from AI.
  90.         AutoChooseSources = QUINARY FROM_PLAYER FROM_SCRIPT            ; Not from AI.
  91.     End
  92.  
  93.     ArmorSet
  94.         Conditions      = None
  95.         Armor           = RangerArmor
  96.         DamageFX        = NormalDamageFX
  97.     End
  98.     
  99.     // Gondor Ranger is no longer eligible for this upgrade.
  100.     //ArmorSet
  101.     //    Conditions      = PLAYER_UPGRADE
  102.     //    Armor           = HeavyArmor
  103.     //    DamageFX        = NormalDamageFX
  104.     //End
  105.     
  106.     VisionRange        = GONDOR_RANGER_VISION_RANGE
  107.     ShroudClearingRange     = SHROUD_CLEAR_STANDARD
  108.     
  109.     VisionSide = 35%
  110.     VisionRear = 25%
  111.     
  112.     MaxVisionBonusPercent = 300%
  113.     VisionBonusTestRadius = 200
  114.     VisionBonusPercentPerFoot = 2.0%
  115.     
  116.  
  117.     DisplayName            = OBJECT:GondorRanger
  118.     CrushableLevel        = 0  //What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  119.     CrushRevengeWeapon    = RangedInfantryCrushRevenge
  120.     
  121.     CommandSet            = GondorRangerCommandSet
  122.  
  123.  
  124.     // *** AUDIO Parameters ***
  125.     VoiceAttack                                = RangerVoiceAttack
  126.     VoiceAttackAir                            = RangerVoiceAttack                
  127.     VoiceAttackCharge                        = RangerVoiceAttack
  128.     VoiceAttackMachine                        = RangerVoiceAttack
  129.     VoiceAttackStructure                    = RangerVoiceAttackBuilding
  130.     VoiceEnterStateAttack                    = RangerVoiceEnterStateAttack    
  131.     VoiceEnterStateAttackCharge                = RangerVoiceEnterStateAttack
  132.     VoiceEnterStateAttackMachine            = RangerVoiceEnterStateAttackBuilding
  133.     VoiceEnterStateAttackStructure            = RangerVoiceEnterStateAttackBuilding
  134.     VoiceCreated                            = RangerVoiceSalute
  135.     VoiceFullyCreated                         = RangerVoiceSalute        
  136.     VoiceGuard                                = RangerVoiceMove
  137.     VoiceMove                                = RangerVoiceMove        
  138.     VoiceMoveToCamp                            = RangerVoiceMoveCamp
  139.     VoiceMoveWhileAttacking                    = RangerVoiceDisengage
  140.     VoiceEnterStateMove                        = RangerVoiceEnterStateMove
  141.     VoiceEnterStateMoveToCamp                = RangerVoiceEnterStateMoveCamp
  142.     VoiceEnterStateMoveWhileAttacking        = RangerVoiceEnterStateDisengage
  143.     VoicePriority                            = 43
  144.     VoiceRetreatToCastle                    = RangerVoiceRetreat
  145.     VoiceEnterStateRetreatToCastle            = RangerVoiceEnterStateRetreat
  146.     VoiceSelect                                = RangerVoiceSelectMS
  147.     VoiceSelectBattle                         = RangerVoiceSelectBattle
  148.  
  149.     SoundImpact                                = ImpactHorse
  150.  
  151.     CrowdResponseKey = GoodMen
  152.  
  153.     UnitSpecificSounds
  154.         VoiceGarrison                        = RangerVoiceGarrison
  155.         ;VoiceCreatedFromInn                = TEMP_RangerVoiceSaluteInn
  156.         ;VoiceFullyCreatedFromInn             = TEMP_RangerVoiceSaluteInn
  157.         VoiceEnterUnitElvenTransportShip    = DunedainVoiceMoveShip
  158.         VoiceInitiateCaptureBuilding        = DunedainVoiceCaptureBuilding
  159.         VoiceMoveToTrees                    = RangerVoiceMoveTrees                
  160.         VoiceEnterStateMoveToTrees            = RangerVoiceEnterStateMoveTrees
  161.         ;VoiceEnterStateInitiateCaptureBuilding    =
  162.     End
  163.  
  164.     #include "..\..\..\includes\StandardUnitEvaEvents.inc"
  165.  
  166.     Behavior = LargeGroupAudioUpdate ModuleTag_LGAU            // Tie into LargeGroupAudio system
  167.         Key = Humanoid_Male Man Man_Male Unit Infantry Ranger
  168.     End
  169.  
  170.     ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
  171.         ModelCondition = Required:RAISING_FLAG            Excluded:DYING ENGAGED    Sound:EmotionMenGoodCompilationBFME1and2VoxTauntSinglesLoop
  172.     End
  173.  
  174.     ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
  175.         MaxUpdateRangeCap = 800
  176.         AnimationSound = Sound:ArrowDrawBow                        Animation:GURanger_SKL.GURanger_ATKD1    Frames:7
  177.         AnimationSound = Sound:ArrowDrawBow                        Animation:GURanger_SKL.GURanger_ATKD2    Frames:17
  178.  
  179.         AnimationSound = Sound:SwordShingClean1ForHordes         Animation:GURanger_SKL.GURanger_STHA     Frames:10
  180.         AnimationSound = Sound:SwordIntoScabbard1ForHordes        Animation:GURanger_SKL.GURanger_STHB     Frames:6
  181.  
  182.         AnimationSound = Sound:BodyFallGenericNoArmor            Animation:GURanger_SKL.GURanger_LNDA    Frames:4
  183.         AnimationSound = Sound:BodyFallGenericNoArmor            Animation:GURanger_SKL.GURanger_LNDB    Frames:5
  184.  
  185.         AnimationSound = Sound:BodyFallGenericNoArmor            Animation:GURanger_SKL.GURanger_DIEA    Frames:50
  186.         AnimationSound = Sound:BodyFallGenericNoArmor            Animation:GURanger_SKL.GURanger_DIEB    Frames:51
  187.     End
  188.  
  189.  
  190.     // *** ENGINEERING Parameters ***
  191.     RadarPriority = UNIT    
  192.     KindOf = GONDOR_RANGER_KINDOF
  193.     CamouflageDetectionMultiplier    = CAMOUFLAGE_DETECTION_DISTANCE_SHEDIUM
  194.     
  195.     Body = ActiveBody ModuleTag_02
  196.         CheerRadius       = EMOTION_CHEER_RADIUS
  197.         MaxHealth         = GONDOR_RANGER_HEALTH                  //BALANCE Ranger Health
  198.         MaxHealthDamaged  = GONDOR_RANGER_HEALTH_DAMAGED
  199.         BurningDeathBehavior = Yes
  200.         BurningDeathFX       = FX_InfantryBurningFlame
  201.     End
  202.     
  203.     // Fire arrow upgrade
  204.     Behavior = WeaponSetUpgrade ModuleTag_WeaponSetUpgradeTag
  205.         TriggeredBy = Upgrade_GondorFireArrows
  206.     End
  207.     
  208.     Behavior = SubObjectsUpgrade FireArrows_Upgrade
  209.           TriggeredBy        = Upgrade_GondorFireArrows
  210.           ShowSubObjects    = FireArowTip ArrowNock    
  211.           HideSubObjects    = arrow
  212.       End
  213.  
  214.     Behavior = AIUpdateInterface ModuleTag_03
  215.         AutoAcquireEnemiesWhenIdle        = Yes ATTACK_BUILDINGS STEALTHED
  216.         StopChaseDistance                = 562
  217.         MoodAttackCheckRate                = 500
  218.         HoldGroundCloseRangeDistance    = 40
  219.         CanAttackWhileContained            = Yes
  220.         AILuaEventsList                    =    RangerFunctions
  221.         MinCowerTime                    =    4000
  222.         MaxCowerTime                    =    6000
  223.         AttackPriority                    =     AttackPriority_Archer
  224.         BurningDeathTime                =    BURNINGDEATH_DURATION_INFANTRY
  225.     End
  226.     
  227. ;    Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
  228. ;        HitReactionLifeTimer1 = 1667     // level 1 (light  damage)  hit reaction animations in ms
  229. ;        HitReactionLifeTimer2 = 1667     // level 2 (medium damage)  hit reaction animations in ms
  230. ;        HitReactionLifeTimer3 = 1667     // level 3 (heavy  damage)  hit reaction animations in ms
  231.  
  232. ;        HitReactionThreshold1 = 0.0       // level 1 (light  damage) threshold trigger
  233. ;        HitReactionThreshold2 = 25.0      // level 2 (medium damage) threshold trigger
  234. ;        HitReactionThreshold3 = 50.0      // level 3 (heavy  damage) threshold trigger
  235.  
  236. ;        FastHitsResetReaction = Yes        //If set -- when hits occur faster than the reaction animations, it will reset the animation. (like getting riddled with machine gun bullets)
  237. ;    End
  238.  
  239.     LocomotorSet
  240.         Locomotor = HumanLocomotor
  241.         Condition = SET_NORMAL 
  242.         Speed     = NORMAL_GOOD_FAST_MEMBER_SPEED    
  243.     End
  244.  
  245.     LocomotorSet
  246.         Locomotor = HumanWanderLocomotor
  247.         Condition = SET_WANDER
  248.         Speed     = NORMAL_GOOD_FAST_MEMBER_SPEED    
  249.     End
  250.  
  251.     LocomotorSet
  252.         Locomotor = BurningDeathLocomotorInfantry
  253.         Condition = SET_BURNINGDEATH
  254.         Speed      = BURNINGDEATH_WANDERSPEED_INFANTRY
  255.     End
  256.  
  257.     Behavior = DualWeaponBehavior ModuleTag_13
  258.         SwitchWeaponOnCloseRangeDistance = 24
  259.     End
  260.  
  261.     Behavior = PhysicsBehavior ModuleTag_04
  262.         GravityMult = 1.0
  263.     End
  264.     
  265.     Behavior = SlowDeathBehavior ModuleTag_05
  266.         DeathTypes            = ALL -KNOCKBACK -FADED
  267.         SinkDelay            = 3000
  268.         SinkRate            = 0.40     // in Dist/Sec
  269.         DestructionDelay    = 15000
  270.         Sound                = INITIAL HumanVoiceDie
  271.         DeathFlags            = DEATH_1
  272.     End
  273.     
  274.       Behavior = SlowDeathBehavior ModuleTag_FadeDeath
  275.         DeathTypes            = NONE +FADED
  276.         FadeDelay            = 0
  277.         FadeTime            = 5000
  278.         DestructionDelay    = 5000
  279.         DeathFlags            = DEATH_2
  280.         FX                    = INITIAL FX_UnSummonElvenAllies
  281.     End
  282.     
  283.     Behavior = SlowDeathBehavior ModuleTag_07
  284.         // Same as normal death, but no sound (sound already played by SoundImpact = ... )
  285.         DeathTypes            = NONE +KNOCKBACK
  286.         SinkDelay            = 3000
  287.         SinkRate            = 0.40     // in Dist/Sec
  288.         DestructionDelay    = 15000
  289.     End
  290.  
  291.     Behavior = SquishCollide ModuleTag_06
  292.         //nothing
  293.     End
  294.     
  295.     // GondorRanger
  296.     Behavior = HordeMemberCollide ModuleTag_HMC
  297.         //nothing
  298.     End
  299.     
  300.     // Module starts asleep, and wakes up when thrown.
  301.     Behavior = BezierProjectileBehavior ModuleTag_08 
  302.         // To tweak a Bezier path
  303.         FirstHeight                    = 24    // Height of Bezier control points above highest intervening terrain
  304.         SecondHeight                = 24
  305.         FirstPercentIndent            = 30%    // Percentage of shot distance control points are placed
  306.         SecondPercentIndent            = 70%
  307.         TumbleRandomly                = Yes
  308.  
  309.         CrushStyle                    = Yes    // I don't detonate, I just hit
  310.         DieOnImpact                    = Yes
  311.         BounceCount                    = 1        // When I hit the ground, I'll arc again
  312.         BounceDistance                = 40    // this far
  313.         BounceFirstHeight            = 24    // Height of Bezier control points above highest intervening terrain
  314.         BounceSecondHeight            = 24
  315.         BounceFirstPercentIndent    = 20%    // Percentage of shot distance control points are placed
  316.         BounceSecondPercentIndent    = 80%
  317.  
  318.         GroundHitFX       = FX_ThrownRockGroundHit
  319.         GroundBounceFX    = FX_ThrownRockBounceHit
  320.     End
  321.  
  322.     Geometry = CYLINDER
  323.     GeometryMajorRadius = 8.0
  324.     GeometryMinorRadius = 8.0
  325.     GeometryHeight = 19.2
  326.     GeometryIsSmall = Yes
  327.  
  328.     Shadow                    = SHADOW_DECAL
  329.     ShadowSizeX                = 19
  330.     ShadowSizeY                = 19
  331.     ShadowTexture            = ShadowI
  332. End
  333.  
  334.  
  335. //------------------------------------------------------------------------------
  336. // Aka Dunedain
  337. ChildObject GondorRangerInn GondorRanger
  338.     SelectPortrait = UPDunedainRanger
  339.     EquivalentTo = GondorRanger
  340.     DisplayName = OBJECT:DunedainRanger
  341.     CommandPoints = 6
  342.     CamouflageDetectionMultiplier = CAMOUFLAGE_DETECTION_DISTANCE_LONG
  343.  
  344.     Draw = W3DHordeModelDraw ModuleTag_01
  345.         OkToChangeModelColor                = Yes
  346.         DefaultModelConditionState
  347.             Model                            = Cine_GryRng
  348.             Skeleton                        = GURanger_SKL
  349.             WeaponLaunchBone                = PRIMARY ARROW
  350.             WeaponLaunchBone                = QUINARY ARROW
  351.         End
  352.         #include "GondorRangerAnims.inc"
  353.     End
  354.  
  355.  
  356.     // *** AUDIO Parameters ***
  357.  
  358.     VoiceAttack                                = DunedainVoiceAttack
  359.     VoiceAttackAir                            = DunedainVoiceAttack                
  360.     VoiceAttackCharge                        = DunedainVoiceAttack
  361.     VoiceAttackMachine                        = DunedainVoiceAttack
  362.     VoiceAttackStructure                    = DunedainVoiceAttack
  363.     VoiceCreated                            = DunedainVoiceSalute
  364.     VoiceFullyCreated                         = DunedainVoiceSalute        
  365.     VoiceGuard                                = DunedainVoiceMove
  366.     VoiceMove                                = DunedainVoiceMove        
  367.     VoiceMoveToCamp                            = DunedainVoiceMove
  368.     VoiceMoveWhileAttacking                    = DunedainVoiceMove
  369.     VoicePriority                            = 43
  370.     VoiceRetreatToCastle                    = DunedainVoiceRetreat
  371.     VoiceSelect                                = DunedainVoiceSelectMS
  372.     VoiceSelectBattle                         = DunedainVoiceSelectBattle
  373.  
  374.     VoiceEnterStateAttack                    = DunedainVoiceEnterStateAttack    
  375.     VoiceEnterStateAttackCharge                = DunedainVoiceEnterStateAttack
  376.     VoiceEnterStateAttackMachine            = DunedainVoiceEnterStateAttack
  377.     VoiceEnterStateAttackStructure            = DunedainVoiceEnterStateAttack
  378.     VoiceEnterStateMove                        = DunedainVoiceEnterStateMove
  379.     VoiceEnterStateMoveToCamp                = DunedainVoiceEnterStateMove
  380.     VoiceEnterStateMoveWhileAttacking        = DunedainVoiceEnterStateMove
  381.     VoiceEnterStateRetreatToCastle            = DunedainVoiceEnterStateRetreat
  382.  
  383.     SoundImpact                                = ImpactHorse
  384.  
  385.     CrowdResponseKey = GoodMen
  386.  
  387.     UnitSpecificSounds
  388.         VoiceCreatedFromInn                    = DunedainVoiceSalute-Inn
  389.         VoiceEnterUnitElvenTransportShip    = DunedainVoiceMoveShip
  390.         VoiceFullyCreatedFromInn             = DunedainVoiceSalute-Inn
  391.         VoiceGarrison                        = DunedainVoiceMoveGarrison
  392.         VoiceInitiateCaptureBuilding        = DunedainVoiceCaptureBuilding
  393.  
  394.         VoiceMoveToTrees                    = DunedainVoiceMoveForest                
  395.         VoiceEnterStateMoveToTrees            = DunedainVoiceEnterStateMoveForest        
  396.         ;VoiceEnterStateInitiateCaptureBuilding    =
  397.     End
  398.  
  399.  
  400.     //***ENGINEERING parameters***
  401.  
  402.     Behavior = SlowDeathBehavior ModuleTag_05
  403.         DeathTypes            = ALL -KNOCKBACK -FADED
  404.         SinkDelay            = 3000
  405.         SinkRate            = 0.40     // in Dist/Sec
  406.         DestructionDelay    = 15000
  407.         Sound                = INITIAL HumanVoiceDie
  408.         DeathFlags            = DEATH_1
  409.     End
  410.  
  411. End
  412.  
  413. //------------------------------------------------------------------------------
  414. ChildObject GondorRanger_Summoned GondorRangerInn
  415.  
  416.     //***DESIGN parameters***
  417.     EquivalentTo                    = GondorRanger
  418.     IsTrainable                        = No
  419.     KindOf                            = GONDOR_RANGER_KINDOF SUMMONED
  420.     
  421.     //***ENGINEERING parameters***
  422.  
  423.     Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate
  424.     // This one does the work, but the one in the horde displays the timer
  425.         MinLifetime        = DUNEDAIN_ALLIES_LIFETIME
  426.         MaxLifetime        = DUNEDAIN_ALLIES_LIFETIME
  427.         DeathType        = FADED
  428.     End    
  429.  
  430.       Behavior = SlowDeathBehavior ModuleTag_FadeDeath
  431.         DeathTypes            = NONE +FADED
  432.         FadeDelay            = 0
  433.         FadeTime            = 5000
  434.         DestructionDelay    = 5000
  435.         DeathFlags            = DEATH_2
  436.         FX                    = INITIAL FX_UnSummonElvenAllies
  437.         Sound                = INITIAL SpellGenericUnsummonFasterMS
  438.     End
  439.  
  440. End
  441.  
  442. //-----------------------------------------------------------------------------------------
  443. Object GondorRangersSummonEgg
  444.     Draw = W3DScriptedModelDraw ModuleTag_Draw
  445.         DefaultModelConditionState
  446.             Model = None
  447.         End
  448.     End
  449.     
  450.     KindOf    = INERT IMMOBILE UNATTACKABLE
  451.     
  452.     Body = ActiveBody ModuleTag_MakesKillWork
  453.         MaxHealth    = 1
  454.     End
  455.     Behavior = LifetimeUpdate ModuleTag_HatchTrigger
  456.         MinLifetime = 0.0
  457.         MaxLifetime = 0.0
  458.     End
  459.     Behavior = SlowDeathBehavior ModuleTag_HatchProcess
  460.         DestructionDelay    = 2000
  461.         OCL                    = FINAL OCL_SpawnGondorRangers
  462.     End
  463. End
  464.