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_mordor_catapult.ini < prev    next >
Text File  |  2006-01-31  |  28KB  |  904 lines

  1. //--------------------------------------------------------------------------------------------------------------------------------------------
  2. // aka Catapult, MordorCatapult, CatapultMordor
  3. Object MordorCatapult                         ;BALANCE Catapult 
  4.   ; *** ART Parameters ***
  5.  
  6.   ; This is required for garrisoned objects - please put in all objects.
  7.   ButtonImage = BMGreatSiegeWorks_Catapult
  8.   
  9.   SelectPortrait         = UPMordor_CatapultNew
  10.  
  11.   Draw = W3DTruckDraw ModuleTag_01
  12.   
  13.     WadingParticleSys = EntRipples
  14.  
  15.         OkToChangeModelColor = Yes
  16.         
  17.         StaticModelLODMode = Yes
  18.   
  19.      DefaultModelConditionState
  20.       Model               = MUCatapult_SKN
  21.       WeaponLaunchBone    = PRIMARY Projectile
  22.       WeaponLaunchBone      = SECONDARY Projectile
  23.       End
  24.       IdleAnimationState
  25.         Animation = Idle1
  26.         AnimationName       = MUCatapult_SKL.MUCatapult_IDLA
  27.         AnimationMode       = ONCE
  28.         AnimationBlendTime  = 15
  29.       End
  30.         Animation = Idle1
  31.         AnimationName       = MUCatapult_SKL.MUCatapult_IDLB
  32.         AnimationMode       = ONCE
  33.         AnimationBlendTime  = 15
  34.       End
  35.         Animation = Idle1
  36.         AnimationName       = MUCatapult_SKL.MUCatapult_IDLC
  37.         AnimationMode       = ONCE
  38.         AnimationBlendTime  = 15
  39.       End
  40.       BeginScript
  41.         CurDrawableHideSubObject("ProjectileRock")
  42.         ;;;;CurDrawableHideSubObject("BoneProjectile");; no such bone
  43.       EndScript
  44.     End
  45.     
  46.     ModelConditionState = DYING
  47.             Model               = MUCatapltD_SKN
  48.             WeaponLaunchBone    = PRIMARY Projectile
  49.         End
  50.     
  51.     AnimationState      = DYING
  52.             Animation         = MUCataplt_DIEA
  53.                 AnimationName   = MUCatapltD_SKL.MUCatapltD_ANM
  54.                 AnimationMode   = ONCE
  55.             End
  56.         End        
  57.     
  58.         AnimationState                        = PARALYZED
  59.             Animation
  60.                 AnimationName                = MUCatapult_SKL.MUCatapult_IDLA
  61.                 AnimationMode                = LOOP
  62.             End
  63.         End
  64.         
  65.     ModelConditionState =JUST_BUILT
  66.         Model    =  MUCatapult_A
  67.     End
  68.     
  69.     AnimationState  = JUST_BUILT
  70.       Animation            = Being_Built
  71.         AnimationName        = MUCatapult_A.MUCatapult_A
  72.         AnimationMode        = ONCE
  73.       End
  74.     End
  75.     
  76.     AnimationState                =    MOVING BACKING_UP WADING
  77.         Animation                =    BackingUp
  78.             AnimationName           = MUCatapult_SKL.MUCatapult_BAKA
  79.             AnimationMode       = LOOP
  80.             AnimationSpeedFactorRange = 2.0 2.0           ; get those legs pumping!
  81.         End
  82.         BeginScript
  83.             Prev = CurDrawablePrevAnimationState()
  84.             if Prev == "Attack" then
  85.                 CurDrawableSetTransitionAnimState("TransToBackUp")
  86.             end
  87.         EndScript
  88.     End
  89.  
  90.     AnimationState        = TURN_LEFT WADING
  91.         Animation = TurningLeft
  92.             AnimationName           = MUCatapult_SKL.MUCatapult_TRNL
  93.             AnimationMode       = LOOP
  94.             AnimationSpeedFactorRange = 1.5 1.5
  95.             AnimationBlendTime    = 15
  96.         End
  97.         BeginScript
  98.             Prev = CurDrawablePrevAnimationState()
  99.             if Prev == "Attack" then
  100.                 CurDrawableSetTransitionAnimState("TransToTurnLeft")
  101.             end
  102.         EndScript
  103.     End
  104.  
  105.     AnimationState        = TURN_RIGHT WADING
  106.         Animation = TurningRight
  107.             AnimationName           = MUCatapult_SKL.MUCatapult_TRNR
  108.             AnimationSpeedFactorRange = 1.5 1.5
  109.             AnimationMode       = LOOP
  110.             AnimationBlendTime    = 15
  111.         End
  112.         BeginScript
  113.             Prev = CurDrawablePrevAnimationState()
  114.             if Prev == "Attack" then
  115.                 CurDrawableSetTransitionAnimState("TransToTurnRight")
  116.             end
  117.         EndScript
  118.     End
  119.     
  120.     AnimationState                        = MOVING WADING
  121.         Animation                        = Move
  122.             AnimationName                = MUCatapult_SKL.MUCatapult_MOVA
  123.             AnimationMode                = LOOP
  124.             AnimationSpeedFactorRange    = 2.0 2.0           ; get those legs pumping!
  125.             AnimationBlendTime            = 15
  126.         End
  127.         BeginScript
  128.             Prev = CurDrawablePrevAnimationState()
  129.             if Prev == "Attack" then
  130.                 CurDrawableSetTransitionAnimState("TransToMove")
  131.             end
  132.         EndScript
  133.     End
  134.  
  135.     AnimationState                =    MOVING BACKING_UP
  136.         Animation                =    BackingUp
  137.             AnimationName           = MUCatapult_SKL.MUCatapult_BAKA
  138.             AnimationMode       = LOOP
  139.             AnimationSpeedFactorRange = 2.0 2.0           ; get those legs pumping!
  140.         End
  141.         BeginScript
  142.             Prev = CurDrawablePrevAnimationState()
  143.             if Prev == "Attack" then
  144.                 CurDrawableSetTransitionAnimState("TransToBackUp")
  145.             end
  146.         EndScript
  147.     End
  148.  
  149.     AnimationState        = TURN_LEFT 
  150.         Animation = TurningLeft
  151.             AnimationName           = MUCatapult_SKL.MUCatapult_TRNL
  152.             AnimationMode       = LOOP
  153.             AnimationSpeedFactorRange = 1.5 1.5
  154.             AnimationBlendTime    = 15
  155.         End
  156.         BeginScript
  157.             Prev = CurDrawablePrevAnimationState()
  158.             if Prev == "Attack" then
  159.                 CurDrawableSetTransitionAnimState("TransToTurnLeft")
  160.             end
  161.         EndScript
  162.     End
  163.  
  164.     AnimationState        = TURN_RIGHT 
  165.         Animation = TurningRight
  166.             AnimationName           = MUCatapult_SKL.MUCatapult_TRNR
  167.             AnimationSpeedFactorRange = 1.5 1.5
  168.             AnimationMode       = LOOP
  169.             AnimationBlendTime    = 15
  170.         End
  171.         BeginScript
  172.             Prev = CurDrawablePrevAnimationState()
  173.             if Prev == "Attack" then
  174.                 CurDrawableSetTransitionAnimState("TransToTurnRight")
  175.             end
  176.         EndScript
  177.     End
  178.     
  179.     AnimationState                        = MOVING
  180.         Animation                        = Move
  181.             AnimationName                = MUCatapult_SKL.MUCatapult_MOVA
  182.             AnimationMode                = LOOP
  183.             AnimationSpeedFactorRange    = 2.0 2.0           ; get those legs pumping!
  184.             AnimationBlendTime            = 15
  185.         End
  186.         BeginScript
  187.             Prev = CurDrawablePrevAnimationState()
  188.             if Prev == "Attack" then
  189.                 CurDrawableSetTransitionAnimState("TransToMove")
  190.             end
  191.         EndScript
  192.     End
  193.  
  194.        AnimationState        = FIRING_OR_PREATTACK_A 
  195.         StateName            = Attack
  196.         Animation            = ATKA
  197.             AnimationName           = MUCatapult_SKL.MUCatapult_ATKA
  198.             AnimationMode       = ONCE
  199.             UseWeaponTiming    = Yes
  200.         End
  201.         FrameForPristineBonePositions = 24
  202.         ParticleSysBone     = Projectile FlamingRockStart FollowBone:Yes 
  203.         ParticleSysBone     = Projectile FlamingRockLenzflareStart FollowBone:Yes 
  204.     End
  205.  
  206.     AnimationState            = FIRING_OR_PREATTACK_B
  207.         StateName            = Attack
  208.         Animation            = ATKB
  209.             AnimationName   = MUCatapult_SKL.MUCatapult_ATKA
  210.             AnimationMode   = ONCE
  211.             UseWeaponTiming    = Yes
  212.         End
  213.         BeginScript
  214.             CurDrawableShowSubObject("BoneProjectile")
  215.         EndScript
  216.         FrameForPristineBonePositions = 24
  217.     End
  218.     
  219.     ; --------- Click and Hit Reactions ------------    
  220.         AnimationState = HIT_REACTION HIT_LEVEL_1
  221.             Animation = Hit_Level_1_a
  222.                 AnimationName = MUCatapult_SKL.MUCatapult_HITA
  223.                 AnimationMode = ONCE
  224.             End
  225.         End
  226.         
  227.         
  228.         TransitionState = TransToBackUp
  229.             Animation = BAKA
  230.                 AnimationName = MUCatapult_SKL.MUCatapult_BAKA
  231.                 AnimationMode = ONCE
  232.                 AnimationSpeedFactorRange = 2.0 2.0
  233.                 AnimationBlendTime    =    30
  234.             End
  235.         End
  236.         
  237.         TransitionState = TransToMove
  238.             Animation = MOVA
  239.                 AnimationName = MUCatapult_SKL.MUCatapult_MOVA
  240.                 AnimationMode = ONCE
  241.                 AnimationSpeedFactorRange = 2.0 2.0
  242.                 AnimationBlendTime    =    30
  243.             End
  244.         End
  245.         
  246.         TransitionState = TransToTurnLeft
  247.             Animation = TRNL
  248.                 AnimationName = MUCatapult_SKL.MUCatapult_TRNL
  249.                 AnimationMode = ONCE
  250.                 AnimationSpeedFactorRange = 1.5 1.5
  251.                 AnimationBlendTime    =    30
  252.             End
  253.         End
  254.         
  255.         TransitionState = TransToTurnRight
  256.             Animation = TRNR
  257.                 AnimationName = MUCatapult_SKL.MUCatapult_TRNR
  258.                 AnimationMode = ONCE
  259.                 AnimationSpeedFactorRange = 1.5 1.5
  260.                 AnimationBlendTime    =    30
  261.             End
  262.         End
  263.  
  264. ;;;;;;;;;; SUDDEN DEMO FIX ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  265. ;;;;;;;;;; Taken out due to missing animations associated with the MUCatpD ;;;;;;;;;;;;
  266. ;    ModelConditionState        = DAMAGED
  267. ;      Model               = MUCatpD
  268. ;    End
  269. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  270.  
  271.     TrackMarks = EXTireTrack2_Temp.tga
  272.     TrackMarksLeftBone = WheelL02
  273.     TrackMarksRightBone = WheelR02
  274.  
  275.  
  276.  
  277.     ; These parameters are only used if the model has a separate suspension,
  278.     ; and the locomotor has HasSuspension = Yes.
  279.     LeftFrontTireBone           = WheelL01
  280.     RightFrontTireBone          = WheelR01
  281.     LeftRearTireBone            = WheelL02
  282.     RightRearTireBone           = WheelR02
  283.     TireRotationMultiplier      = 0.2   ; this * speed = rotation.
  284.     PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
  285.  
  286.     ParticlesAttachedToAnimatedBones = Yes
  287.  
  288.  End
  289.  
  290.     Draw = W3DScriptedModelDraw DustEffects
  291.         DefaultModelConditionState
  292.           Model = None
  293.         End
  294.         IdleAnimationState
  295.         End
  296.         AnimationState = MOVING WADING
  297.             ParticleSysBone     = WheelL02 FootstepSlash
  298.             ParticleSysBone     = WheelR02 FootstepSlash
  299.         End
  300.         AnimationState        = TURN_RIGHT
  301.             ParticleSysBone     = WheelL02 GenericSiegeTrailDust
  302.             ParticleSysBone     = WheelR02 GenericSiegeTrailDust
  303.         End
  304.         AnimationState        = TURN_LEFT
  305.             ParticleSysBone     = WheelL02 GenericSiegeTrailDust
  306.             ParticleSysBone     = WheelR02 GenericSiegeTrailDust
  307.         End
  308.         AnimationState = MOVING
  309.             ParticleSysBone     = WheelL02 GenericSiegeTrailDust
  310.             ParticleSysBone     = WheelR02 GenericSiegeTrailDust
  311.         End
  312.     End
  313.  
  314.  
  315.     #include "..\..\..\includes\StunDrawModuleLarge.inc"
  316.  
  317.     ; ***DESIGN parameters ***
  318.     Side                    = Mordor
  319.     EditorSorting            = UNIT
  320.     
  321.     ThreatLevel                = MORDOR_CATAPULT_THREAT_LEVEL
  322.     ThreatBreakdown MordorCatapult_DetailedThreat
  323.         AIKindOf = SIEGEWEAPON
  324.     End
  325.     
  326.     TransportSlotCount        = TRANSPORTSLOTCOUNT_SIEGE
  327.     ShowHealthInSelectionDecal = Yes
  328.     ThingClass                = MACHINE
  329.     
  330.     CommandSet                = MordorCatapultCommandSet
  331.     CommandPoints = 25
  332.  
  333.     Behavior = MonitorConditionUpdate MonitorConditionUpdateModuleTag
  334.         ModelConditionFlags = ATTACKING_POSITION
  335.         ModelConditionCommandSet = MordorCatapultCommandSetStopBombard
  336.     End
  337.  
  338.     WeaponSet
  339.         Conditions          = None
  340.         Weapon              = PRIMARY     MordorCatapultRock
  341.         AutoChooseSources    = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  342.         Weapon                = SECONDARY    MordorCatapultHumanHeads
  343.         AutoChooseSources    = SECONDARY NONE
  344.  
  345.     End
  346.   
  347.     ArmorSet
  348.         Conditions      = None
  349.         Armor           = SiegeEngineArmor
  350.         DamageFX        = None
  351.     End
  352.     
  353.     ; This is required so that the build phase lasts as long as the anim.
  354.     BuildFadeInOnCreateTime = 16.0
  355.     
  356.   VisionRange = MORDOR_CATAPULT_VISION_RANGE 
  357.   ShroudClearingRange = SHROUD_CLEAR_ARTILLERY
  358.   
  359.       //VisionSide = 35%
  360.     //VisionRear = 25%
  361.     
  362.     MaxVisionBonusPercent = 300%
  363.     VisionBonusTestRadius = 200
  364.     VisionBonusPercentPerFoot = 2.0%
  365.   
  366.   BountyValue = MORDOR_CATAPULT_BOUNTY_VALUE 
  367.   DisplayName = OBJECT:MordorCatapult
  368.   CrushableLevel = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  369.   CrusherLevel   = 0  ;What can I crush?: 0 = small animals, 1 = infantry, 2 = trees, 3 = vehicles
  370.   ShockwaveResistance = SHOCKWAVE_RESISTANCE_IMMUNE
  371.  
  372.  
  373.     ; *** AUDIO Parameters ***;
  374.  
  375.     VoiceAttack                                = CatapultVoiceAttackMS
  376.     VoiceAttackMachine                        = CatapultVoiceAttackMS
  377.     VoiceAttackStructure                    = CatapultVoiceAttackBuilding
  378.     VoiceCreated                            = EVA:CatapultCreated
  379.     VoiceFullyCreated                         = EVA:CatapultCreated
  380.     VoiceGuard                                = CatapultVoiceMoveMS
  381.     VoiceMove                                = CatapultVoiceMoveMS
  382.     VoiceMoveToCamp                            = CatapultVoiceMoveMS
  383.     VoicePriority                            = 28
  384.     VoiceSelect                                = CatapultVoiceSelectMS
  385.     VoiceSelectBattle                         = CatapultVoiceSelectBattle
  386.  
  387.     VoiceEnterStateAttack                    = CatapultVoiceEnterStateAttack
  388.     VoiceEnterStateAttackMachine            = CatapultVoiceEnterStateAttackBuilding
  389.     VoiceEnterStateAttackStructure            = CatapultVoiceEnterStateAttackBuilding
  390.     VoiceEnterStateMove                        = CatapultVoiceEnterStateMove
  391.     VoiceEnterStateMoveToCamp                = CatapultVoiceEnterStateMove
  392.     
  393.     SoundMoveLoop                            = CatapultMoveLoop
  394.     SoundMoveStart                            = CatapultMoveStart
  395.     ;SoundOnDamaged                            = UnitDamageWoodLight
  396.     SoundOnReallyDamaged                    = UnitDamageWoodHeavy
  397.     
  398.     UnitSpecificSounds
  399.         VoiceGarrison                        = CatapultVoiceMoveMS
  400.         VoiceEnterUnitSlaughterHouse        = CatapultVoiceMoveMS
  401.         VoiceEnterUnitEvilMenTransportShip    = CatapultVoiceMoveMS
  402.         VoiceEnterUnitTransportShip            = CatapultVoiceMoveMS
  403.         VoiceInitiateCaptureBuilding        = OrcHordeVoiceCaptureBuilding
  404.     End
  405.  
  406.     #include "..\..\..\includes\StandardUnitEvaEvents.inc"
  407.  
  408.     CrowdResponseKey = Orc
  409.  
  410.     ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
  411.         ModelCondition = Required:RAISING_FLAG            Excluded:DYING ENGAGED    Sound:EmotionOrcCompilationVoxTauntSinglesLoop
  412.     End
  413.  
  414.     Behavior = LargeGroupAudioUpdate ModuleTag_LGAU                    ; Tie into LargeGroupAudio system
  415.         Key = SiegeWeapon Catapult
  416.     End
  417.  
  418.     ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
  419.         MaxUpdateRangeCap = 800
  420.         AnimationSound = Sound:CatapultCreate    Animation:MUCatapult_A.MUCatapult_A        Frames:130
  421.         AnimationSound = Sound:BodyFallOrc        Animation:MUCatapltD_SKL.MUCatapltD_ANM    Frames:35
  422.     End
  423.     
  424.     ; *** ENGINEERING Parameters ***
  425.  
  426.     RadarPriority = UNIT
  427.     KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS MACHINE SCORE CAN_ATTACK CAN_ATTACK_WALLS TROLL_BUFF_NUGGET HEAVY_MELEE_HITTER
  428.     CamouflageDetectionMultiplier = CAMOUFLAGE_DETECTION_DISTANCE_SHORTISH
  429.     
  430.     Body = ActiveBody ModuleTag_02
  431.         CheerRadius       = EMOTION_CHEER_RADIUS
  432.         MaxHealth         = MORDOR_CATAPULT_HEALTH
  433.         MaxHealthDamaged  = MORDOR_CATAPULT_HEALTH_DAMAGED
  434.     End
  435.  
  436.     BuildCost = MORDOR_CATAPULT_BUILDCOST
  437.     BuildTime = MORDOR_CATAPULT_BUILDTIME
  438.  
  439.         Behavior = StancesBehavior ModuleTag_StancesBehavior
  440.         StanceTemplate = Artillery
  441.         End
  442.  
  443.  
  444.     Behavior = GrantUpgradeCreate ModuleTag_HumanHeads
  445.         UpgradeToGrant = Upgrade_CatapultHumanHeads
  446.     End
  447.  
  448. ;     Behavior = WeaponSetUpgrade ModuleTag_HumanHeadsUpgrade
  449. ;        TriggeredBy = Upgrade_CatapultHumanHeads
  450. ;    End
  451.  
  452.     Behavior = AIUpdateInterface ModuleTag_03
  453.         AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS ;Yes
  454.         AILuaEventsList    =    CatapultFunctions
  455.     End
  456.  
  457.     LocomotorSet
  458.         Locomotor = CatapultLocomotor
  459.         Condition = SET_NORMAL
  460.         Speed     = 30 ;16
  461.     End
  462.  
  463.     Behavior = PhysicsBehavior ModuleTag_04
  464.     End
  465.  
  466.     ;Behavior = SlowDeathBehavior ModuleTag_05
  467.     ;    DeathTypes = ALL +EXPLODED +BURNED
  468.     ;    SinkDelay = 3000
  469.     ;    SinkRate = 0.40     ; in Dist/Sec
  470.     ;    DestructionDelay = 8000  ;8000
  471.     ;    ;OCL = FINAL OCL_MordorCatapultExplodeDeath
  472.     ;    ;FX = INITIAL FX_CatapultDieExplosion
  473.     ;    Sound = INITIAL    OrcVoiceDie
  474.     ;End
  475.  
  476.     Behavior = SlowDeathBehavior ModuleTag_06 
  477.         DeathTypes = ALL
  478.         SinkDelay = 3000
  479.         SinkRate = 1.20     ; in Dist/Sec
  480.         DestructionDelay = 28000  ;8000
  481.         ;OCL = FINAL OCL_MordorCatapultDeath
  482.         FX = INITIAL FX_CatapultDie
  483.         Sound = INITIAL    OrcVoiceDie
  484.     End
  485.  
  486.     Behavior = SquishCollide ModuleTag_07
  487.         ;nothing
  488.     End
  489.  
  490.     Behavior = TransitionDamageFX ModuleTag_8
  491.     ;    ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:FireBuildingLarge         ; persistant damage effect
  492.         ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_GondorCatapultTransitionMedium     ; damage impact particle effect
  493.     ;   ReallyDamagedOCL1 = Loc: X:0 Y:0 Z:0 OCL:OCL_FireFieldSmall                           ; spawn debris and splinters
  494.     End
  495.  
  496.       Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
  497.         HitReactionLifeTimer1 = 2000 ; level 1 (light  damage)  hit reaction animations in frames (5 per sec)
  498.         HitReactionLifeTimer2 = 15 ; level 2 (medium damage)  hit reaction animations in frames (5 per sec)
  499.         HitReactionLifeTimer3 = 10 ; level 3 (heavy  damage)  hit reaction animations in frames (5 per sec)
  500.  
  501.         HitReactionThreshold1 = 10.0   ; level 1 (light  damage) threshold trigger
  502.         HitReactionThreshold2 = 25000.0  ; level 2 (medium damage) threshold trigger
  503.         HitReactionThreshold3 = 50000.0  ; level 3 (heavy  damage) threshold trigger
  504.     End
  505.  
  506.   Geometry = BOX
  507.   GeometryMajorRadius = 29.0
  508.   GeometryMinorRadius = 15.0    
  509.   GeometryHeight = 18.4
  510.   GeometryIsSmall = No
  511.   Shadow = SHADOW_VOLUME
  512.   HealthBoxHeightOffset        = 20.0
  513. End
  514.  
  515. //--------------------------------------------------------------------------------------------------------------------------------------------
  516. Object MordorCatapultDeadHulk
  517.   ; *** ART Parameters ***
  518.   Draw = W3DScriptedModelDraw ModuleTag_01
  519.     DefaultModelConditionState
  520.       Model = MUCatpDMG
  521.     End
  522.   End
  523.  
  524.   ; ***DESIGN parameters ***
  525.   Side = Mordor
  526.   EditorSorting   = DEBRIS
  527.  
  528.   ; *** ENGINEERING Parameters ***
  529.   KindOf =  CAN_CAST_REFLECTIONS IMMOBILE NO_COLLIDE HULK
  530.  
  531.   Body = ActiveBody ModuleTag_02
  532.     MaxHealth       = 1.0
  533.   End
  534.  
  535. ;  Behavior = PhysicsBehavior ModuleTag_03
  536. ;    AllowBouncing = Yes
  537. ;    KillWhenRestingOnGround = Yes
  538. ;  End
  539.  
  540.   Behavior = LifetimeUpdate ModuleTag_04
  541.     MinLifetime = 0.0        ; min lifetime in msec
  542.     MaxLifetime = 0.0        ; max lifetime in msec
  543.   End
  544.  
  545.   Behavior = SlowDeathBehavior ModuleTag_05
  546.     SinkDelay                 = 3000
  547.     SinkRate                  = 1.6     ; in Dist/Sec
  548.     DestructionDelay          = 15000
  549.     ;Sound            = INITIAL    OrcVoiceDie
  550.   End
  551.  
  552. End
  553.  
  554. //--------------------------------------------------------------------------------------------------------------------------------------------
  555. // DEMO Catapult that has a non-flaming rock
  556. Object MordorCatapultDEMO                         ;BALANCE Catapult 
  557.   ; *** ART Parameters ***
  558.  
  559.    ButtonImage = BMGreatSiegeWorks_Catapult
  560.  
  561.   Draw = W3DTruckDraw ModuleTag_01
  562.      StaticModelLODMode = Yes
  563.      DefaultModelConditionState
  564.       Model               = MUCatapult_SKN
  565.       WeaponLaunchBone    = PRIMARY Projectile
  566.       End
  567.       IdleAnimationState
  568.         Animation = Idle1
  569.         AnimationName       = MUCatapult_SKL.MUCatapult_IDLA
  570.         AnimationMode       = ONCE
  571.         AnimationBlendTime  = 15
  572.       End
  573.         Animation = Idle1
  574.         AnimationName       = MUCatapult_SKL.MUCatapult_IDLB
  575.         AnimationMode       = ONCE
  576.         AnimationBlendTime  = 15
  577.       End
  578.         Animation = Idle1
  579.         AnimationName       = MUCatapult_SKL.MUCatapult_IDLC
  580.         AnimationMode       = ONCE
  581.         AnimationBlendTime  = 15
  582.       End
  583.       BeginScript
  584.         CurDrawableHideSubObject("ProjectileRock")
  585.         CurDrawableHideSubObject("BoneProjectile")
  586.       EndScript
  587.     End
  588.  
  589.     AnimationState        = MOVING
  590.       Animation = Move
  591.         AnimationName       = MUCatapult_SKL.MUCatapult_MOVA
  592.         AnimationMode       = LOOP
  593.         AnimationSpeedFactorRange = 2.0 2.0           ; get those legs pumping!
  594.       End
  595.       ParticleSysBone     = WheelL02 GenericSiegeTrailDust
  596.       ParticleSysBone     = WheelR02 GenericSiegeTrailDust
  597.     End
  598.  
  599.     AnimationState        = FIRING_OR_PREATTACK_A 
  600.       Animation            = ATKA
  601.         AnimationName           = MUCatapult_SKL.MUCatapult_ATKA
  602.         AnimationMode       = ONCE
  603.       End
  604.       ParticleSysBone     = Projectile FlamingRock FollowBone:Yes
  605.       ParticleSysBone     = Projectile FlamingRockTrailLenzflare FollowBone:Yes
  606.     End
  607.  
  608.     AnimationState        = TURN_LEFT 
  609.       Animation = TurningLeft
  610.         AnimationName           = MUCatapult_SKL.MUCatapult_TRNL
  611.         AnimationMode       = LOOP
  612.         AnimationSpeedFactorRange = 1.2 1.2
  613.       End
  614.       ParticleSysBone     = WheelL02 GenericSiegeTrailDust
  615.       ParticleSysBone     = WheelR02 GenericSiegeTrailDust
  616.     End
  617.  
  618.     AnimationState        = TURN_RIGHT 
  619.       Animation = TurningRight
  620.         AnimationName           = MUCatapult_SKL.MUCatapult_TRNR
  621.         AnimationSpeedFactorRange = 1.2 1.2
  622.         AnimationMode       = LOOP
  623.       End
  624.       ParticleSysBone     = WheelL02 GenericSiegeTrailDust
  625.       ParticleSysBone     = WheelR02 GenericSiegeTrailDust
  626.     End
  627.  
  628.  
  629.     ModelConditionState        = DAMAGED
  630.       Model               = MUCatpD
  631.     End
  632.  
  633.     TrackMarks = EXTireTrack2_Temp.tga
  634.     TrackMarksLeftBone = WheelL02
  635.     TrackMarksRightBone = WheelR02
  636.  
  637.  
  638.  
  639.     ; These parameters are only used if the model has a separate suspension,
  640.     ; and the locomotor has HasSuspension = Yes.
  641.     LeftFrontTireBone           = WheelL01
  642.     RightFrontTireBone          = WheelR01
  643.     LeftRearTireBone            = WheelL02
  644.     RightRearTireBone           = WheelR02
  645.     TireRotationMultiplier      = 0.2   ; this * speed = rotation.
  646.     PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
  647.  
  648.     ParticlesAttachedToAnimatedBones = Yes
  649.  
  650.  End
  651.  
  652.   ; ***DESIGN parameters ***
  653.   Side = Mordor
  654.   EditorSorting = UNIT
  655.     ThreatLevel = 1.0
  656.   TransportSlotCount = TRANSPORTSLOTCOUNT_SIEGE
  657.   WeaponSet
  658.     Conditions          = None 
  659.     Weapon              = PRIMARY     MordorCatapultRockDemo
  660.   End
  661.   ArmorSet
  662.     Conditions      = None
  663.     Armor           = NoArmor
  664.     DamageFX        = None
  665.   End
  666.   VisionRange = 360.0
  667.   ShroudClearingRange = 360
  668.   DisplayName = OBJECT:MordorCatapult
  669.   CrushableLevel = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  670.   CrusherLevel   = 0  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
  671.   ShockwaveResistance = SHOCKWAVE_RESISTANCE_IMMUNE
  672.   CommandPoints = 1
  673.  
  674.  
  675.     ; *** AUDIO Parameters ***;
  676.     
  677.     VoiceSelect        = CatapultVoiceSelect
  678.     VoiceMove        = CatapultVoiceMoveMS
  679.     VoiceAttack        = CatapultVoiceAttack
  680.  
  681.     ;SoundMoveStart        = CatapultMoveStart
  682.     SoundMoveLoop        = CatapultMoveLoop
  683.   
  684.     ;UnitSpecificSounds
  685.     ;    VoiceGarrison            = NoSound
  686.     ;    VoiceEnter            = NoSound
  687.     ;    VoiceEnterHostile        = NoSound
  688.     ;    VoiceGetHealed            = NoSound
  689.     ;End
  690.  
  691.     #include "..\..\..\includes\StandardUnitEvaEvents.inc"
  692.  
  693.  
  694.   ; *** ENGINEERING Parameters ***
  695.  
  696.   RadarPriority = UNIT
  697.   KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS MACHINE SCORE CAN_ATTACK  
  698.   CamouflageDetectionMultiplier = CAMOUFLAGE_DETECTION_DISTANCE_SHORTISH
  699.   Body = ActiveBody ModuleTag_02
  700.     MaxHealth         = 10                  ;BALANCE Catapult Health
  701.     MaxHealthDamaged  = 5
  702.     ;RecoveryTime      = 5000
  703.   End
  704.  
  705.   Behavior = AIUpdateInterface ModuleTag_03
  706.           AttackPriority                =     AttackPriority_Infantry
  707.   End
  708.  
  709.   LocomotorSet
  710.     Locomotor = CatapultLocomotor
  711.     Condition = SET_NORMAL
  712.     Speed     = 12
  713.   End
  714.  
  715.   Behavior = PhysicsBehavior ModuleTag_04
  716.   End
  717.  
  718.   Behavior = SlowDeathBehavior ModuleTag_05
  719.     DeathTypes = NONE +EXPLODED +BURNED
  720.     SinkDelay = 3000
  721.     SinkRate = 0.40     ; in Dist/Sec
  722.     DestructionDelay = 0  ;8000
  723.     OCL = FINAL OCL_MordorCatapultExplodeDeath
  724.     FX = INITIAL FX_CatapultDieExplosion
  725.   End
  726.  
  727.   Behavior = SlowDeathBehavior ModuleTag_06 
  728.     DeathTypes = ALL -EXPLODED -BURNED
  729.     SinkDelay = 3000
  730.     SinkRate = 0.40     ; in Dist/Sec
  731.     DestructionDelay = 0  ;8000
  732.     OCL = FINAL OCL_MordorCatapultDeath
  733.     FX = INITIAL FX_CatapultDie
  734.   End
  735.  
  736.   Behavior = SquishCollide ModuleTag_07
  737.     ;nothing
  738.   End
  739.  
  740.   Behavior = TransitionDamageFX ModuleTag_8
  741. ;    ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:FireBuildingLarge         ; persistant damage effect
  742.     ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_GondorCatapultTransitionMedium     ; damage impact particle effect
  743. ;   ReallyDamagedOCL1 = Loc: X:0 Y:0 Z:0 OCL:OCL_FireFieldSmall                           ; spawn debris and splinters
  744.   End
  745.  
  746.   Geometry = BOX
  747.   GeometryMajorRadius = 24.0
  748.   GeometryMinorRadius = 8.0
  749.   GeometryHeight = 18.4
  750.   GeometryIsSmall = No
  751.   Shadow = SHADOW_VOLUME
  752. End
  753.  
  754. //--------------------------------------------------------------------------------------------------------------------------------------------
  755. ChildObject MordorFortressCatapult MordorCatapult
  756.  
  757.     Draw = W3DTruckDraw ModuleTag_01
  758.  
  759.         DefaultModelConditionState
  760.             Model               = MBFWCatap
  761.             WeaponLaunchBone    = PRIMARY B_PROJECTILE
  762.             WeaponLaunchBone    = SECONDARY B_PROJECTILE
  763.         End
  764.  
  765.         AnimationState = FIRING_OR_PREATTACK_A 
  766.             Animation        = ATKA
  767.                 AnimationName    = MBFWCatap.MBFWCatap
  768.                 AnimationMode    = ONCE
  769.                 UseWeaponTiming    = Yes
  770.             End
  771.             FrameForPristineBonePositions = 15
  772.             ParticleSysBone     = Projectile FlamingRockStart FollowBone:Yes 
  773.             ParticleSysBone     = Projectile FlamingRockLenzflareStart FollowBone:Yes 
  774.         End
  775.  
  776.         AnimationState            = FIRING_OR_PREATTACK_B
  777.             StateName            = AttackB
  778.             Animation        = ATKB
  779.                 AnimationName    = MBFWCatap.MBFWCatap
  780.                 AnimationMode    = ONCE
  781.                 UseWeaponTiming    = Yes
  782.             End
  783.             FrameForPristineBonePositions = 15
  784.         BeginScript
  785.             CurDrawableShowSubObject("BoneProjectile")
  786.         EndScript        
  787.     End
  788.             
  789.     End
  790.  
  791.     //No points for this its free
  792.     CommandPoints        = 0
  793.     ShockwaveResistance = SHOCKWAVE_RESISTANCE_ALWAYS
  794.  
  795.     KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS MACHINE SCORE CAN_ATTACK CAN_ATTACK_WALLS TROLL_BUFF_NUGGET IGNORES_SELECT_ALL
  796.  
  797.     CommandSet    = MordorFortressCatapultCommandSet
  798.  
  799.     Behavior = MonitorConditionUpdate MonitorConditionUpdateModuleTag
  800.         ModelConditionFlags = ATTACKING_POSITION
  801.         ModelConditionCommandSet = MordorFortressCatapultCommandSetStopBombard
  802.     End
  803.  
  804.     ArmorSet
  805.         Conditions      = None
  806.         Armor           = FortressSiegeEngineArmor
  807.         DamageFX        = None
  808.     End
  809.     
  810.     WeaponSet
  811.         Conditions          = None
  812.         Weapon              = PRIMARY     MordorCatapultRock_Structural
  813.         AutoChooseSources    = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  814.         Weapon                = SECONDARY    MordorCatapultHumanHeads
  815.         AutoChooseSources    = SECONDARY NONE
  816.  
  817.     End
  818.  
  819.     LocomotorSet
  820.         Locomotor = FloatingCatapultLocomotor
  821.         Condition = SET_NORMAL
  822.         Speed     = 0
  823.     End
  824.  
  825.     ; *** AUDIO Parameters ***;
  826.  
  827.     VoiceAttack                                = CatapultVoiceSelect2
  828.     VoiceAttackMachine                        = CatapultVoiceSelect2
  829.     VoiceAttackStructure                    = CatapultVoiceSelect2
  830.     VoiceCreated                            = TrebuchetCreated
  831.     VoiceFullyCreated                         = NoSound
  832.     VoiceGuard                                = NoSound
  833.     VoiceMove                                = NoSound
  834.     VoiceMoveToCamp                            = NoSound
  835.     VoicePriority                            = 28
  836.     VoiceSelect                                = CatapultVoiceSelect2
  837.     VoiceSelectBattle                         = CatapultVoiceSelect2
  838.  
  839.     VoiceEnterStateAttack                    = CatapultVoiceSelect2
  840.     VoiceEnterStateAttackMachine            = CatapultVoiceSelect2
  841.     VoiceEnterStateAttackStructure            = CatapultVoiceSelect2
  842.     VoiceEnterStateMove                        = NoSound
  843.     VoiceEnterStateMoveToCamp                = NoSound
  844.     
  845.     SoundMoveLoop                            = NoSound
  846.     SoundMoveStart                            = CatapultMoveStart
  847.     
  848.     UnitSpecificSounds
  849.         VoiceGarrison                        = NoSound
  850.         VoiceEnterUnitSlaughterHouse        = NoSound
  851.         VoiceEnterUnitEvilMenTransportShip    = NoSound
  852.         VoiceEnterUnitTransportShip            = NoSound
  853.         VoiceInitiateCaptureBuilding        = NoSound
  854.     End
  855.  
  856.     #include "..\..\..\includes\StandardUnitEvaEvents.inc"
  857.  
  858.     CrowdResponseKey = Orc
  859.  
  860.     Behavior = LargeGroupAudioUpdate ModuleTag_LGAU                    ; Tie into LargeGroupAudio system
  861.         Key = SiegeWeapon Catapult
  862.     End
  863.  
  864.     ;-------------
  865.  
  866.     Behavior = AIUpdateInterface ModuleTag_03
  867.         AutoAcquireEnemiesWhenIdle    = No    //Handled by the expansion structure
  868.         AILuaEventsList                = CatapultFunctions
  869.     End
  870.  
  871.     //We should die when the fortress does!
  872.     Behavior = SlavedUpdate ModuleTag_Slave
  873.         DieOnMastersDeath    = Yes
  874.         MarkUnselectable    = No
  875.     End
  876.  
  877.     //Just explode and go away really really fast
  878.     Behavior = DestroyDie ModuleTag_Die
  879.     End    
  880. End
  881.  
  882. //--------------------------------------------------------------------------------------------------------------------------------------------
  883. ChildObject MordorWallCatapult MordorFortressCatapult 
  884.     
  885.     Behavior = AIUpdateInterface ModuleTag_03
  886.         AutoAcquireEnemiesWhenIdle    = Yes ATTACK_BUILDINGS
  887.         AILuaEventsList                = CatapultFunctions
  888.     End
  889. End
  890.  
  891. //--------------------------------------------------------------------------------------------------------------------------------------------
  892. ChildObject MordorMinasMorgulCatapult MordorCatapult
  893.     
  894.     // No command points for this as it's free.
  895.     CommandPoints        = 0
  896.     ShockwaveResistance = SHOCKWAVE_RESISTANCE_ALWAYS
  897.  
  898.     LocomotorSet
  899.         Locomotor = FloatingCatapultLocomotor
  900.         Condition = SET_NORMAL
  901.         Speed     = 0
  902.     End
  903. End
  904.