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_dwarvenporter.ini < prev    next >
Text File  |  2006-01-31  |  15KB  |  443 lines

  1. ;------------------------------------------------------------------------------
  2. ;
  3. ;    DwarvenPorter.ini
  4. ;
  5. ;------------------------------------------------------------------------------
  6.  
  7. ; aka Gondor Porter
  8. Object DwarvenPorter
  9.     ; *** ART Parameters ***
  10.     SelectPortrait = UPDwarven_Porter
  11.     
  12.     ; ButtonImage for Porter
  13.     ButtonImage = BDFortress_Porter
  14.     
  15.     Draw = W3DTruckDraw ModuleTag_01
  16.       
  17.         OkToChangeModelColor = Yes
  18.       
  19.         ;StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
  20.     
  21.         DefaultModelConditionState
  22.             Model                    = DUPorter_SKN
  23.             Skeleton                = DUPorter_SKL
  24.         End
  25.  
  26.  
  27.         IdleAnimationState
  28.             StateName                = STATE_Running
  29.             Animation                = IDLA
  30.                 AnimationName        = DUPorter_IDLA
  31.                 AnimationMode        = ONCE
  32.                 AnimationPriority   = 20
  33.             End
  34.         End
  35.  
  36.         AnimationState                = DYING DEATH_1
  37.             Animation                = DIEB
  38.                 AnimationName        = DUPorter_DIEB
  39.                 AnimationMode        = ONCE
  40.             End
  41.         End
  42.  
  43.         AnimationState                = DYING DEATH_2
  44.             Animation
  45.                 AnimationName        = DUPorter_IDLA
  46.                 AnimationMode        = LOOP
  47.             End
  48.         End
  49.  
  50.         AnimationState                = DYING
  51.             Animation                = DIEA
  52.                 AnimationName        = DUPorter_DIEA
  53.                 AnimationMode        = ONCE
  54.             End
  55.         End
  56.  
  57.         AnimationState                        = PARALYZED
  58.             Animation
  59.                 AnimationName                = DUPorter_IDLA
  60.                 
  61.                 AnimationMode                = LOOP
  62.             End
  63.         End
  64.  
  65.  
  66.         AnimationState                = MOVING WANDER
  67.             Animation                = WLKA
  68.                 AnimationName        = DUPorter_RUNA ;DUPorter_WLKA
  69.                 AnimationMode        = LOOP
  70.             End
  71.             Flags                    = RANDOMSTART
  72.             ;ParticleSysBone            = None InfantryDustTrails
  73.         End
  74.     
  75.         AnimationState                = MOVING
  76.             StateName                = STATE_Running
  77.             Animation                = RUNNING
  78.                 AnimationName        = DUPorter_RUNA
  79.                 AnimationMode        = LOOP
  80.             End
  81.             Flags                    = RANDOMSTART
  82.             ;ParticleSysBone            = None InfantryDustTrails
  83.         End
  84.         
  85.         AnimationState        = UNPACKING PACKING_TYPE_1
  86.             Animation
  87.                 AnimationName        = DUPorter_FIRA
  88.                 AnimationMode        = ONCE
  89.             End
  90.             ParticleSysBone = BUCKET PorterFireWater FollowBone:YES
  91.             BeginScript
  92.                 CurDrawablePlaySound("MenBuilderFireExtinguish")
  93.             EndScript
  94.         End
  95.  
  96.         AnimationState        = ACTIVELY_CONSTRUCTING
  97.             StateName           = STATE_Constructing
  98.             Animation           = WRKA
  99.                 AnimationName     = DUPorter_WRKB
  100.                 AnimationMode     = ONCE
  101.                 AnimationPriority    =    30
  102.                 AnimationSpeedFactorRange = 0.9 1.1
  103.             End
  104.             Animation           = WRKA                        ; In twice so that we can play it twice in a row.
  105.                 AnimationName     = DUPorter_WRKB
  106.                 AnimationMode     = ONCE
  107.                 AnimationPriority    =    30
  108.                 AnimationSpeedFactorRange = 0.9 1.1
  109.             End
  110.             Animation           = WRKB
  111.                 AnimationName     = DUPorter_WRKC
  112.                 AnimationMode     = ONCE
  113.                 AnimationPriority    =    5
  114.                 AnimationSpeedFactorRange = 0.9 1.1
  115.             End
  116.             Animation           = WRKB
  117.                 AnimationName     = DUPorter_WRKC
  118.                 AnimationMode     = ONCE
  119.                 AnimationPriority    =    5
  120.                 AnimationSpeedFactorRange = 0.9 1.1
  121.             End
  122.             Flags                    =    RESTART_ANIM_WHEN_COMPLETE
  123.             BeginScript
  124.                 Prev = CurDrawablePrevAnimationState()
  125.                 if Prev == "STATE_Running" then CurDrawableSetTransitionAnimState("TRANS_RunToWork") end
  126.             EndScript
  127.         End
  128.  
  129.  
  130. ;;--------------- TRANSITIONS ---------------------------------------------------------------------------
  131.  
  132.         TransitionState       = TRANS_RunToWork
  133.             Animation           = ATNA
  134.                 AnimationName     = DUPorter_WRKA
  135.                 AnimationMode     = ONCE
  136.             End
  137.         End
  138.  
  139. ;;-----------------------------------------------------------------------------------------------------------
  140.  
  141.         LeftFrontTireBone            = WHEEL_L01
  142.         RightFrontTireBone            = WHEEL_R01
  143.         ;LeftRearTireBone            = WHEEL_L01
  144.         ;RightRearTireBone            = WHEEL_R01
  145.         TireRotationMultiplier        = 0.2
  146.     End
  147.  
  148.     #include "..\..\..\includes\StunDrawModuleMedium.inc"
  149.  
  150.     ; ***DESIGN parameters ***
  151.     Side = Dwarves
  152.     EditorSorting                    =    UNIT
  153.     ThingClass                        = HORDE_UNIT
  154.     CommandPoints = 0
  155.  
  156.     TransportSlotCount = TRANSPORTSLOTCOUNT_DOZER
  157.     ArmorSet
  158.         Conditions                    = None
  159.         Armor                        = PorterArmor
  160.         DamageFX                    = NormalDamageFX
  161.     End
  162.     
  163.     BuildCost = DWARVEN_PORTER_BUILDCOST
  164.     BuildTime = DWARVEN_PORTER_BUILDTIME     
  165.     VisionRange = DWARVEN_PORTER_VISION_RANGE
  166.     BountyValue = DWARVEN_PORTER_BOUNTY_VALUE
  167.     ShroudClearingRange    = DWARVEN_PORTER_SHROUD_RANGE
  168.     
  169.     DisplayName = OBJECT:DwarvenPorter
  170.     CrushableLevel = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  171.     ShockwaveResistance = SHOCKWAVE_RESISTANCE_IMMUNE
  172.     IsTrainable = No
  173.  
  174.     CommandSet = DwarvenPorterCommandSet
  175.  
  176.     ; *** AUDIO Parameters ***;
  177.  
  178.     VoiceCreated                            = DwarfBuilderVoiceSalute
  179.     VoiceFullyCreated                         = DwarfBuilderVoiceSalute
  180.     VoiceMove                                = DwarfBuilderVoiceMove
  181.     VoiceMoveToCamp                            = DwarfBuilderVoiceMove
  182.     VoicePriority                            = 6
  183.     VoiceRetreatToCastle                    = DwarfBuilderVoiceMove
  184.     VoiceSelect                                = DwarfBuilderVoiceSelectMS
  185.  
  186.     SoundImpact                                = ImpactHorse
  187.     SoundMoveLoop                            = DwarfBuilderMoveLoopMS
  188.     SoundMoveStart                            = DwarfBuilderMoveStart
  189.  
  190.     UnitSpecificSounds
  191.         VoiceNoBuild                        = DwarfBuilderVoiceCantBuild
  192.         VoiceBuildResponse                    = DwarfBuilderVoiceBuild
  193.         VoiceExtinguishFireAtLocation        = DwarfBuilderVoiceMove
  194.         VoiceGarrison                        = DwarfBuilderVoiceMove
  195.         VoiceEnterUnitElvenTransportShip    = DwarfBuilderVoiceMove
  196.         VoiceInitiateCaptureBuilding        = DwarfBuilderVoiceMove
  197.         VoiceSelectIdleWorker                = DwarfBuilderVoiceSelectIdle
  198.         ;VoiceEnterStateInitiateCaptureBuilding    =
  199.     End
  200.  
  201.     CrowdResponseKey = Dwarf
  202.  
  203.     Behavior = LargeGroupAudioUpdate ModuleTag_LGAU        ;Tie into LargeGroupAudio system
  204.         Key = Dwarf
  205.     End
  206.  
  207.     #include "..\..\..\Includes\StandardUnitEvaEvents.inc"
  208.  
  209.     EvaEventDamagedOwner = PorterUnderAttack     ;Eva event to trigger when unit is damaged
  210.     ; Moved to FX_PorterDie so that we avoid annoucing FADED deaths
  211.     ;EvaEventDieOwner = PorterDie            ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths
  212.  
  213.     ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
  214.         ModelCondition = Required:EMOTION_CELEBRATING    Excluded:DYING ENGAGED    Sound:EmotionDwarfCompilationVoxCheerSinglesLoop    ;MOVING ATTACKING
  215.         ModelCondition = Required:EMOTION_POINTING        Excluded:DYING ENGAGED    Sound:EmotionDwarfCompilationVoxTauntSinglesLoop    ;MOVING ATTACKING
  216.         ModelCondition = Required:EMOTION_TAUNTING        Excluded:DYING ENGAGED    Sound:EmotionDwarfCompilationVoxTauntSinglesLoop    ;MOVING ATTACKING
  217.     End
  218.  
  219.     ; *** ENGINEERING Parameters ***
  220.     RadarPriority = UNIT
  221.     KindOf = PRELOAD SELECTABLE DOZER CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT PORTER IGNORES_SELECT_ALL
  222.     //SelectionPriority = SELECTION_PRIORITY_PORTER
  223.     
  224.     Body = ActiveBody ModuleTag_02
  225.         MaxHealth         = DWARVEN_PORTER_HEALTH
  226.         MaxHealthDamaged  = DWARVEN_PORTER_HEALTH_DAMAGED
  227.         RecoveryTime      = DWARVEN_PORTER_HEALTH_RECOVERY_TIME
  228.     End
  229.     
  230.      Behavior = DozerAIUpdate ModuleTag_03
  231.         AILuaEventsList                    = InfantryFunctions
  232.          RepairHealthPercentPerSecond    = 2%    ; % of max health to repair each second
  233.          BoredTime                        = 5000  ; in milliseconds
  234.          BoredRange                        = 150   ; when bored, we look this far away to do something
  235.          AutoAcquireEnemiesWhenIdle        = No    ; no mine-disarming in the design at the moment
  236.         SpecialContactPoints            = Repair
  237.      End
  238.  
  239.     LocomotorSet
  240.         Locomotor = PorterLocomotor
  241.         Condition = SET_NORMAL 
  242.         Speed     = NORMAL_INGAME_PORTER_SPEED            
  243.     End
  244.  
  245.     LocomotorSet
  246.         Locomotor = PorterLocomotor
  247.         Condition = SET_WANDER
  248.         Speed     = NORMAL_INGAME_PORTER_SPEED    
  249.     End 
  250.  
  251.     Behavior = PhysicsBehavior ModuleTag_04
  252.         GravityMult = 1.0
  253.     End
  254.     
  255.     Behavior = SlowDeathBehavior SlowDeathBehaviorModuleTag_1
  256.         DeathTypes = ALL -CRUSHED -EXPLODED -KNOCKBACK -DETONATED -SPLATTED -FADED -SLAUGHTERED
  257.         SinkDelay = 3000
  258.         SinkRate = 1.40     ; in Dist/Sec
  259.         DestructionDelay = 13000
  260.         Sound = INITIAL DwarfBuilderVoiceDie
  261.         FX      = INITIAL FX_PorterDie
  262.     End
  263.  
  264.     ; Send porter back into fortress, don't announce or scream
  265.     Behavior = SlowDeathBehavior SlowDeathBehaviorModuleTag_Decommissioned 
  266.         DeathTypes = NONE +SLAUGHTERED   
  267.         SinkDelay = 1000
  268.         SinkRate = 1.40     ; in Dist/Sec
  269.         DestructionDelay = 5000
  270.     End
  271.  
  272.     Behavior = SlowDeathBehavior SlowDeathBehaviorModuleTag_2
  273.         DeathTypes = NONE +CRUSHED +EXPLODED +KNOCKBACK +DETONATED +SPLATTED
  274.         SinkDelay = 3000
  275.         SinkRate = 1.40     ; in Dist/Sec
  276.         DestructionDelay = 13000
  277.         DeathFlags = DEATH_1
  278.         FX = INITIAL FX_PorterDieExplosion
  279.         Sound = INITIAL DwarfBuilderVoiceDie
  280.     End
  281.     
  282.     Behavior = SlowDeathBehavior ModuleTag_ConstructionDeath
  283.         DeathTypes            = NONE +FADED
  284.         DeathFlags            = DEATH_2
  285.         FadeDelay            = 500
  286.         FadeTime            = 3500
  287.         DestructionDelay    = 4000
  288.     End
  289.     
  290.     Behavior = SquishCollide ModuleTag_06
  291.         ;nothing
  292.     End
  293.     
  294.     Behavior = BezierProjectileBehavior ModuleTag_08 ; Module starts asleep, and wakes up when thrown.
  295.         ; 
  296.         FirstHeight = 24  ; Height of Bezier control points above highest intervening terrain
  297.         SecondHeight = 24
  298.         FirstPercentIndent = 30% ; Percentage of shot distance control points are placed
  299.         SecondPercentIndent = 70%
  300.         TumbleRandomly = Yes
  301.  
  302.         CrushStyle = Yes ; I don't detonate, I just hit
  303.         DieOnImpact = Yes
  304.         BounceCount = 1   ; When I hit the ground, I'll arc again
  305.         BounceDistance = 40 ; this far
  306.         BounceFirstHeight = 16  ; Height of Bezier control points above highest intervening terrain
  307.         BounceSecondHeight = 16
  308.         BounceFirstPercentIndent = 20% ; Percentage of shot distance control points are placed
  309.         BounceSecondPercentIndent = 80%
  310.  
  311.         GroundHitFX       = FX_ThrownRockGroundHit
  312.         GroundBounceFX    = FX_ThrownRockBounceHit
  313.     End    
  314.     
  315.     ;--------------------------------------------------------------------
  316.     ; Sub object revealing.
  317.     ;--------------------------------------------------------------------
  318.     Behavior = SubObjectsUpgrade Shield_Upgrade
  319.         TriggeredBy        = Upgrade_RohanHorseShield Upgrade_KnightShield
  320.         ShowSubObjects    = SHIELDS
  321.         HideSubObjects    = BANNERS BOWS BRAZIER SWORDS TREBUCHET_FIRE BANNERS ARMOR COAL FireArowTip Forged_Blade
  322.         SkipFadeOnCreate = Yes
  323.     End
  324.     Behavior = SubObjectsUpgrade Sword_Upgrade
  325.         TriggeredBy        = Upgrade_GondorForgedBlades
  326.         ShowSubObjects    = SWORDS Forged_Blade
  327.         HideSubObjects    = BANNERS BOWS BRAZIER ARMOR TREBUCHET_FIRE BANNERS SHIELDS COAL FireArowTip 
  328.         SkipFadeOnCreate = Yes
  329.     End
  330.     Behavior = SubObjectsUpgrade Armor_Upgrade
  331.         TriggeredBy        = Upgrade_HeavyArmor
  332.         ShowSubObjects    = ARMOR
  333.         HideSubObjects    = BANNERS BOWS BRAZIER SWORDS TREBUCHET_FIRE BANNERS SHIELDS COAL FireArowTip Forged_Blade
  334.         SkipFadeOnCreate = Yes
  335.     End
  336.     Behavior = SubObjectsUpgrade Bow_Upgrade
  337.         TriggeredBy        = Upgrade_RohanHorseBow
  338.         ShowSubObjects    = BOWS
  339.         HideSubObjects    = BANNERS ARMOR BRAZIER SWORDS TREBUCHET_FIRE BANNERS SHIELDS COAL FireArowTip Forged_Blade
  340.         SkipFadeOnCreate = Yes
  341.     End
  342.     Behavior = SubObjectsUpgrade Lance_Upgrade
  343.         TriggeredBy        = Upgrade_RohanHorseLance
  344.         ShowSubObjects    = BANNERS
  345.         HideSubObjects    = ARMOR BOWS BRAZIER SWORDS TREBUCHET_FIRE BANNERS SHIELDS COAL FireArowTip Forged_Blade
  346.         SkipFadeOnCreate = Yes
  347.     End
  348.     Behavior = SubObjectsUpgrade Horn_Upgrade
  349.         TriggeredBy        = Upgrade_RohanHornsOfTheRohirrim
  350.         ShowSubObjects    = SWORDS
  351.         HideSubObjects    = BANNERS BOWS BRAZIER ARMOR TREBUCHET_FIRE BANNERS SHIELDS COAL FireArowTip Forged_Blade
  352.         SkipFadeOnCreate = Yes
  353.     End
  354.     Behavior = SubObjectsUpgrade FireStone_Upgrade
  355.         TriggeredBy        = Upgrade_GondorFireStones
  356.         ShowSubObjects    = TREBUCHET_FIRE
  357.         HideSubObjects    = BANNERS BOWS BRAZIER SWORDS ARMOR BANNERS SHIELDS COAL FireArowTip Forged_Blade
  358.         SkipFadeOnCreate = Yes
  359.     End
  360.     Behavior = SubObjectsUpgrade FireArrow_Upgrade
  361.         TriggeredBy        = Upgrade_FireArrows
  362.         ShowSubObjects    = BRAZIER FireArowTip
  363.         HideSubObjects    = BANNERS BOWS ARMOR SWORDS TREBUCHET_FIRE BANNERS SHIELDS COAL  Forged_Blade
  364.         SkipFadeOnCreate = Yes
  365.     End
  366.         
  367.     ;--------------------------------------------------------------------
  368.     ; Delivering and upgrading.
  369.     ;--------------------------------------------------------------------
  370.     Behavior = SpecialPowerModule ModuleTag_UpgradeNearest
  371.         SpecialPowerTemplate        = SpecialAbilityGiveUpgradeNearest
  372.         UpdateModuleStartsAttack    = Yes
  373.         ;InitiateSound            = OrcPorterGenericVoiceDeliver
  374.     End
  375.  
  376.     Behavior = SpecialPowerModule ModuleTag_09
  377.         SpecialPowerTemplate        = SpecialAbilityGiveUpgrade
  378.         UpdateModuleStartsAttack    = Yes
  379.         InitiateSound            = PorterGenericVoiceDeliver
  380.     End
  381.  
  382.     Behavior = GiveUpgradeUpdate ModuleTag_UpgradeNearestUpdate
  383.         SpecialPowerTemplate    = SpecialAbilityGiveUpgradeNearest
  384.         StartAbilityRange    = 15.0
  385.         UnpackTime        = 700        ; Pull out arrow
  386.         PreparationTime        = 100            ; Quick shot
  387.         PersistentPrepTime    = 500            ; looping the quick shot
  388.         PackTime        = 233            ; back to idle
  389.         ApproachRequiresLOS    = No
  390.         DeliverUpgrade        = Yes
  391.         FadeOutSpeed        = 0.1
  392.         SpawnOutFX        = FX_PorterDeliver
  393.     End
  394.  
  395.     Behavior = GiveUpgradeUpdate ModuleTag_11
  396.         SpecialPowerTemplate    = SpecialAbilityGiveUpgrade
  397.         StartAbilityRange    = 15.0
  398.         UnpackTime        = 700    ; Pull out arrow
  399.         PreparationTime        = 100            ; Quick shot
  400.         PersistentPrepTime    = 500            ; looping the quick shot
  401.         PackTime        = 233            ; back to idle
  402.         ApproachRequiresLOS    = No
  403.         FadeOutSpeed        = 0.1
  404.         SpawnOutFX        = FX_PorterDeliver
  405.     End
  406.  
  407.     ;--------------------------------------------------------------------
  408.     ; Emotion Tracker
  409.     ;--------------------------------------------------------------------
  410.     Behavior = EmotionTrackerUpdate    Module_EmotionTracker
  411.         AfraidOf                    =    NONE +RohanTreeBerd +RohanEntFir +RohanEntAsh +RohanEntBirch +MordorBalrog +MordorCaveTroll +MordorMountainTroll +MordorDrummerTroll +MordorFellBeast +MordorMumakil;Must be SCARY kindof as well.
  412.         AlwaysAfraidOf                =    NONE +MordorWitchKing +MordorWitchKingOnFellBeast +MordorBalrog +RohanOathbreaker
  413.  
  414.         FearScanDistance            =    250
  415.  
  416.         AddEmotion    =    Terror_Base
  417.         AddEmotion    =   BraceForBeingCrushed_Base
  418.     End            
  419.     
  420.     #include "..\..\..\Includes\PorterExtinguishFire.inc"
  421.     
  422.     
  423.  
  424.     ;--------------------------------------------------------------------
  425.     ; Don't make it any bigger or try making it a box or this unit will not make it up onto walls to deliver it's goods.
  426.     Geometry = CYLINDER    
  427.     GeometryMajorRadius = 8.0
  428.     GeometryMinorRadius = 8.0
  429.     GeometryHeight = 16.0
  430.     GeometryIsSmall = Yes    
  431.     Shadow = SHADOW_DECAL
  432.     ShadowSizeX = 27;
  433.     ShadowSizeY = 27;
  434.     ShadowTexture = ShadowI;
  435. End
  436.  
  437.  
  438. ;--------------------------------------------------------------------
  439. ChildObject DwarvenPorterNoSelect DwarvenPorter
  440.     KindOf = PRELOAD CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER DOZER SWARM_DOZER NOT_AUTOACQUIRABLE MOVE_FOR_NOONE
  441.     ShockwaveResistance = SHOCKWAVE_RESISTANCE_IMMUNE
  442. End
  443.