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_isengard_siegeladder.ini < prev    next >
Text File  |  2006-01-31  |  12KB  |  361 lines

  1. ;------------------------------------------------------------------------------
  2. ; aka Siege Ladder
  3. Object IsengardSiegeLadder
  4.  
  5.     ; This is required for garrisoned objects - please put in all objects.
  6.     ButtonImage = BMGreatSiegeWorks_SiegeTower
  7.  
  8.     ; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
  9.     ;SelectPortrait = BMGreatSiegeWorks_SiegeTower
  10.     SelectPortrait         = UPIsenguard_SeigeLadder
  11.  
  12.     ; *** ART Parameters ***
  13.     Draw = W3DScriptedModelDraw ModuleTag_01
  14.         OkToChangeModelColor = Yes
  15.         ExtraPublicBone = Ladder01
  16.         ExtraPublicBone = Ladder02
  17.         ExtraPublicBone = Ladder03
  18.         ExtraPublicBone = Ladder04
  19.         ExtraPublicBone = Passenger
  20.         
  21.         StaticModelLODMode = Yes
  22.  
  23.         ; day
  24.         DefaultModelConditionState
  25.             Model                = IUSgLdr_SKN
  26.             Skeleton            = IUSgLdr_SKL
  27.         End
  28.  
  29.         IdleAnimationState
  30.             Animation
  31.                 AnimationName    = IUSgLdr_IDLA
  32.                 AnimationMode    = ONCE
  33.             End
  34.         End
  35.  
  36.         AnimationState  = JUST_BUILT
  37.             Animation = Being_Built
  38.                 AnimationName        = IUSgLdr_BLDA
  39.                 AnimationMode        = ONCE
  40.                 AnimationBlendTime    = 0        ; Must be zero.
  41.             End
  42.         End
  43.         
  44.         AnimationState            = DYING DEPLOYED
  45.             Animation = Dying
  46.                 AnimationName   = IUSgLdr_DIEC
  47.                 AnimationMode    = ONCE
  48.             End
  49.         End
  50.  
  51.         AnimationState            = DYING
  52.             Animation
  53.                 AnimationName   = IUSgLdr_DIEA
  54.                 AnimationMode    = ONCE
  55.             End
  56.         End
  57.  
  58.         AnimationState                        = PARALYZED
  59.             Animation
  60.                 AnimationName                = IUSgLdr_IDLA
  61.                 AnimationMode                = LOOP
  62.             End
  63.         End
  64.  
  65.         AnimationState            = UNPACKING
  66.             Animation
  67.                 AnimationName    = IUSgLdr_PLTA
  68.                 AnimationMode    = ONCE
  69.             End
  70.     ;      ParticleSysBone = Ladder04 SiegeTowerDeployedDebris
  71.     ;      ParticleSysBone = Ladder04 SiegeTowerDeployedDust
  72.         End
  73.  
  74.         AnimationState            = DEPLOYED
  75.             Animation
  76.                 AnimationName    = IUSgLdr_IDLB
  77.                 AnimationMode    = LOOP
  78.             End
  79.         End
  80.  
  81.         AnimationState            = PACKING
  82.             Animation = Close
  83.                 AnimationName    = IUSgLdr_PKPA
  84.                 AnimationMode    = ONCE
  85.             End
  86.         End
  87.  
  88.         AnimationState            = MOVING TURN_LEFT
  89.             Animation
  90.                 AnimationName    = IUSgLdr_TRNL
  91.                 AnimationMode    = LOOP
  92.             End
  93.         End
  94.  
  95.         AnimationState            = MOVING TURN_RIGHT
  96.             Animation
  97.                 AnimationName    = IUSgLdr_TRNR
  98.                 AnimationMode    = LOOP
  99.             End
  100.         End
  101.  
  102.         AnimationState            = MOVING
  103.             Animation
  104.                 AnimationName    = IUSgLdr_RUNA
  105.                 AnimationMode    = LOOP
  106.                 Distance        = 30
  107.             End
  108.         End
  109.     
  110.     
  111.     End
  112.  
  113.     #include "..\..\..\includes\StunDrawModuleLarge.inc"
  114.  
  115.     ; ***DESIGN parameters ***
  116.     Side = Isengard
  117.     IsTrainable        = No
  118.     EditorSorting = UNIT
  119.     ThreatLevel = ISENGARD_SIEGELADDER_THREAT_LEVEL
  120.     ThingClass = MACHINE
  121.     TransportSlotCount = TRANSPORTSLOTCOUNT_NOT_TRANSPORTABLE
  122.  
  123.     ; This is required so that the build phase lasts as long as the anim.
  124.     BuildFadeInOnCreateTime = 2.5
  125.  
  126.     ArmorSet
  127.         Conditions      = None
  128.         Armor           = SiegeLadderArmor
  129.         DamageFX        = NormalDamageFX
  130.     End
  131.  
  132.     VisionRange = VISION_STANDARD_MELEE
  133.     ShroudClearingRange = SHROUD_CLEAR_STANDARD
  134.  
  135.     BountyValue     = ISENGARD_SIEGELADDER_BOUNTY_VALUE        
  136.     DisplayName        = OBJECT:IsengardSiegeLadder
  137.     CrushableLevel    = 1  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  138.     CrusherLevel = 0 ;What can I crush?: 0 = small animals, 1 = infantry, 2 = trees, 3 = vehicles
  139.  
  140.     CommandSet = IsengardSiegeLadderCommandSet
  141.     ShockwaveResistance = SHOCKWAVE_RESISTANCE_IMMUNE
  142.     CommandPoints = 4
  143.   
  144.  
  145.     ; ***AUDIO parameters ***
  146.  
  147.     VoiceAttack                    = SiegeLadderVoiceAttackMS
  148.     VoiceEnterStateAttack            = SiegeLadderVoiceEnterStateAttack
  149.     VoiceCombineWithHorde            = SiegeLadderVoiceJoin
  150.     VoiceCreated                = EVA:SiegeLadderCreated
  151.     VoiceFullyCreated             = EVA:SiegeLadderCreated
  152.     VoiceGuard                    = SiegeLadderVoiceMoveMS
  153.     VoiceMove                    = SiegeLadderVoiceMoveMS
  154.     VoiceMoveToCamp                = SiegeLadderVoiceMoveCamp
  155.     VoiceMoveWhileAttacking            = SiegeLadderVoiceDisengage
  156.     VoiceEnterStateMove            = SiegeLadderVoiceEnterStateMove
  157.     VoiceEnterStateMoveToCamp        = SiegeLadderVoiceEnterStateMoveCamp
  158.     VoiceEnterStateMoveWhileAttacking    = SiegeLadderVoiceEnterStateDisengage
  159.     VoicePriority                = 24
  160.     VoiceSelect                    = SiegeLadderVoiceSelectMS
  161.     VoiceSelectBattle             = SiegeLadderVoiceSelectMS   ; Not SiegeLadderVoiceSelectBattleMS
  162.  
  163.     #include "..\..\..\includes\StandardUnitEvaEvents.inc"
  164.  
  165.     CrowdResponseKey = Uruk
  166.  
  167.     UnitSpecificSounds
  168.         VoiceEnterUnitEvilMenTransportShip    = SiegeLadderVoiceMoveMS
  169.         VoiceEnterUnitMordorMumakil            = SiegeLadderVoiceMoveMS
  170.         VoiceEnterUnitSlaughterHouse        = SiegeLadderVoiceMoveMS
  171.         VoiceGarrison                        = SiegeLadderVoiceMoveMS
  172.         VoiceInitiateCaptureBuilding        = SiegeLadderVoiceMoveMS
  173.     End
  174.  
  175.     Behavior                    = LargeGroupAudioUpdate ModuleTag_LGAU        ;Tie into LargeGroupAudio system
  176.         Key = SiegeWeapon UrukHai_SiegeLadder
  177.     End
  178.     
  179.     ClientBehavior = ModelConditionSoundSelectorClientBehavior ModuleTag_MCSoundSelector
  180.         SoundState = DEPLOYED
  181.             ; Always use VoiceSelectBattle for all selections when attached to a wall
  182.             VoiceSelect                    = SiegeLadderVoiceSelectBattleMS
  183.             VoiceSelectBattle                = SiegeLadderVoiceSelectBattleMS
  184.             VoiceMove                    = BlankSoundEffect        ;removes problem where VoiceMove plays when attached to a wall
  185.             VoiceMoveToCamp                = BlankSoundEffect        ;removes problem where VoiceMove plays when attached to a wall
  186.             VoiceMoveWhileAttacking            = BlankSoundEffect        ;removes problem where VoiceMove plays when attached to a wall
  187.             VoiceEnterStateMove            = BlankSoundEffect        ;removes problem where VoiceMove plays when attached to a wall
  188.             VoiceEnterStateMoveToCamp        = BlankSoundEffect        ;removes problem where VoiceMove plays when attached to a wall
  189.             VoiceEnterStateMoveWhileAttacking    = BlankSoundEffect        ;removes problem where VoiceMove plays when attached to a wall
  190.         End
  191.     End
  192.     
  193.     ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
  194.         MaxUpdateRangeCap = 800
  195.         AnimationSound = Sound: FootstepDirtA            Animation:IUSgLdr_SKL.IUSgLdr_BLDA Frames: 4 6 15 17 26 28 37 39 47 49 58 60 68 70 75 77
  196.  
  197.         AnimationSound = Sound: FootstepDirtA            Animation:IUSgLdr_SKL.IUSgLdr_RUNA Frames: 6 8 17 19 
  198.         AnimationSound = Sound: FootstepDirtA            Animation:IUSgLdr_SKL.IUSgLdr_TRNL Frames: 0 11 22 33
  199.         AnimationSound = Sound: FootstepDirtA            Animation:IUSgLdr_SKL.IUSgLdr_TRNR Frames: 0 11 22 33
  200.  
  201.         AnimationSound = Sound: ImpactLadderWall            Animation:IUSgLdr_SKL.IUSGLDR_PLTA Frames: 12
  202.  
  203.         AnimationSound = Sound: FootstepDirtA            Animation:IUSgLdr_SKL.IUSgLdr_PKPA Frames: 7 15 17 25 35 44 57 64 75
  204.         AnimationSound = Sound: LadderDieCreak            Animation:IUSgLdr_SKL.IUSgLdr_PKPA Frames: 14
  205.  
  206.         AnimationSound = Sound: ImpactLadderDieDrop        Animation:IUSgLdr_SKL.IUSgLdr_DIEA Frames: 6
  207.         AnimationSound = Sound: ImpactLadderDieHitGround    Animation:IUSgLdr_SKL.IUSgLdr_DIEA Frames: 22
  208.         AnimationSound = Sound: ImpactLadderDieHitGround    Animation:IUSgLdr_SKL.IUSgLdr_DIEC Frames: 47
  209.         AnimationSound = Sound: LadderDieCreak            Animation:IUSgLdr_SKL.IUSgLdr_DIEC Frames: 0
  210.  
  211.         AnimationSound = Sound: BodyFallGeneric2            Animation:IUSgLdr_SKL.IUSgLdr_DIEA Frames: 8
  212.         AnimationSound = Sound: BodyFallGeneric2            Animation:IUSgLdr_SKL.IUSgLdr_DIEC Frames: 20 40
  213.     End
  214.  
  215.  
  216.     ; *** ENGINEERING Parameters ***  
  217.  
  218.     RadarPriority = UNIT
  219.     KindOf                = SELECTABLE SIEGE_TOWER PATH_THROUGH_INFANTRY MACHINE TRANSPORT SIEGE_LADDER SCORE
  220.     CamouflageDetectionMultiplier = CAMOUFLAGE_DETECTION_DISTANCE_SHORTISH
  221.     ShockwaveResistance = SHOCKWAVE_RESISTANCE_IMMUNE
  222.  
  223.     Behavior = SiegeAIUpdate ModuleTag_02
  224.         AutoAcquireEnemiesWhenIdle = No
  225.     End
  226.  
  227.     LocomotorSet
  228.         Locomotor = SiegeLadderLocomotor
  229.         Condition = SET_NORMAL 
  230.         Speed     = 32
  231.     End
  232.  
  233.     Behavior = PhysicsBehavior ModuleTag_03
  234.     End
  235.  
  236.     BuildCost = ISENGARD_SIEGELADDER_BUILDCOST            
  237.     BuildTime = ISENGARD_SIEGELADDER_BUILDTIME            
  238.  
  239.     Body                  = ActiveBody ModuleTag_04
  240.         MaxHealth         = ISENGARD_SIEGELADDER_HEALTH            ;BALANCE MordorSiegeLadder Health
  241.         MaxHealthDamaged  = ISENGARD_SIEGELADDER_HEALTH_DAMAGED        
  242.         ;;RecoveryTime      = ISENGARD_SIEGELADDER_HEALTH_RECOVERY_TIME
  243.             DodgePercent      = 50%    
  244.     End
  245.  
  246.     Behavior = SlowDeathBehavior ModuleTag_05
  247.         ProbabilityModifier = 1 ; We only want this one to apply when the directional one is blocked/unpickable
  248.         DeathTypes = ALL 
  249.         SinkDelay = 2500
  250.         SinkRate = 1.0     ; in Dist/Sec
  251.         DestructionDelay = 7500
  252.         Sound = INITIAL UrukVoiceDie
  253. ;        FX = INITIAL FX_SiegeTowerDieInitial_N
  254.     End
  255.      
  256.     Behavior = SiegeEngineContain ModuleTag_06
  257.         ObjectStatusOfContained = UNSELECTABLE
  258.         Slots                    = 1
  259.         DamagePercentToUnits    = 100%
  260.         PassengerFilter            = NONE +CAN_RIDE_SIEGE_LADDER
  261.         AllowAlliesInside        = Yes
  262.         KillPassengersOnDeath    = Yes ; fling passenger out to die when siege ladder is done for
  263.         AllowEnemiesInside        = No
  264.         AllowNeutralInside        = No
  265.         ExitDelay                = 500  ; half second
  266.         NumberOfExitPaths        = 0 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
  267.         GoAggressiveOnExit        = Yes ; AI Will tell people to set their mood to Aggressive on exiting
  268.         ShowPips                = No
  269. ;        TransferSelection        = Yes    
  270.         PassengerBonePrefix = PassengerBone:Passenger   KindOf:CAN_RIDE_SIEGE_LADDER         
  271.     End
  272.   
  273. ;  The bones in the model are:
  274. ;
  275. ;                    02 ------ 03
  276. ;                    |
  277. ;                    |
  278. ;                    |
  279. ;        00 ------ 01   
  280. ;       
  281. ;        where 01 and 02 are attached to the ladder.
  282. ;
  283. ;        The waypoints are connected:
  284. ;            0 -> 2 -> 3 -> 1
  285. ;        and
  286. ;            1 -> 5 -> 4 -> 0
  287.  
  288. ;
  289. ;            bone        wp
  290. ;            00         0 (walk)
  291. ;            01         1 (walk), 5 (climb)
  292. ;            02         2 (climb), 4 (walk)
  293. ;            03         3 (walk)
  294. ;
  295. ;        The waypoints are connected:
  296. ;            0 -> 1 -> 2 -> 3
  297. ;        and
  298. ;            3 -> 4 -> 5 -> 0
  299.  
  300.     Behavior = DynamicPortalBehaviour DynamicPortal
  301.         ObjectFilter    = ANY +CAN_USE_SIEGE_TOWER
  302.         BonePrefix        = Ladder
  303.         NumberOfBones    = 4
  304.         WayPoint        = Index:0    Type:PreClimb; 0
  305.         WayPoint        = Index:1    Type:PreClimb; 1
  306.         WayPoint        = Index:2    Type:Climb    ; 2
  307.         WayPoint        = Index:3    Type:Climb; 3
  308.         WayPoint        = Index:2    Type:Climb; 4
  309.         WayPoint        = Index:1    Type:Climb    ; 5
  310.         Link            = From:0 Via:4 Via:5 To:3
  311.         Link            = From:3 Via:1 Via:2 To:0
  312.         AboveWall        = 3    ; # of waypoint which must be above wall in order to be able to 'dock'
  313.         TopAttackPos    = X:30 Y:0 Z:52
  314.         TopAttackRadius = 30
  315.     End
  316.   
  317.     Behavior = SiegeDeploySpecialPower ModuleTag_07
  318.         SpecialPowerTemplate = SpecialAbilitySiegeDeploy
  319.         LowerDelay = 1200
  320.         RaiseDelay = 2000
  321.         EvacuatePassengersOnDeploy = Yes
  322.         SkipAdjustPosition = Yes ; have to skip the path find adjust or it this will not go to the right docking position
  323.         InitiateSound = SiegeLadderVoiceAttackMS
  324.         ExtraWallDistance = 15.0
  325.     End
  326.  
  327.     Behavior = StopSpecialPower ModuleTag_08
  328.         SpecialPowerTemplate = SpecialAbilityStop
  329.         StopPowerTemplate = SpecialAbilitySiegeDeploy
  330.     End
  331.  
  332.     Behavior = SquishCollide SquishCollideModuleTag
  333.         ;nothing
  334.     End
  335.  
  336.     Behavior = FireWeaponWhenDeadBehavior FireDeadTag1
  337.         ExemptStatus    = DEPLOYED
  338.         DeathTypes        = ALL
  339.         StartsActive    = Yes
  340.         DelayTime        = 500
  341.         DeathWeapon        = SiegeLadderDeath
  342.         WeaponOffset    = X:-20 Y:0 Z:0    
  343.     End    
  344.  
  345.     Behavior = FireWeaponWhenDeadBehavior FireDeadTag2
  346.         RequiredStatus    = DEPLOYED
  347.         DeathTypes        = ALL
  348.         StartsActive    = Yes
  349.         DelayTime        = 1500
  350.         DeathWeapon        = SiegeLadderDeath
  351.         WeaponOffset    = X:-20 Y:0 Z:0    
  352.     End    
  353.      
  354.     Geometry              = CYLINDER
  355.     GeometryMajorRadius   = 20.0
  356.     GeometryMinorRadius   = 20.0
  357.     GeometryHeight        = 70.0
  358.     GeometryIsSmall       = No
  359.     Shadow                = SHADOW_VOLUME
  360.  
  361. End