;------------------------------------------------------------------------------ Object Demo_ScudStormMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UBScudStrm_M End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = NONE End End ; ***DESIGN parameters *** KindOf = PROJECTILE ;BALLISTIC_MISSILE EditorSorting = SYSTEM VisionRange = 300.0 ShroudClearingRange = 0 TransportSlotCount = 10 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** AUDIO Parameters *** ; SoundFallingFromPlane = DaisyCutterWeapon ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 10000.0 InitialHealth = 10000.0 End Behavior = PhysicsBehavior ModuleTag_03 Mass = 500.0 End Behavior = MissileAIUpdate ModuleTag_04 TryToFollowTarget = No FuelLifetime = 0 ; zero is infinite InitialVelocity = 0 ; in dist/sec IgnitionFX = FX_ScudStormIgnition DistanceToTravelBeforeTurning = 500 DistanceToTargetBeforeDiving = 200 ; When I hit this close to target, I ignore PreferredHeight. End Locomotor = SET_NORMAL SCUDStormMissileLocomotor Behavior = HeightDieUpdate ModuleTag_05 TargetHeight = 15.0 TargetHeightIncludesStructures = No OnlyWhenMovingDown = Yes SnapToGroundOnDeath = Yes InitialDelay = 1000 ; Can't explode in the first second so we don't explode on the pad End Behavior = DestroyDie ModuleTag_06 ;nothing End Behavior = SpecialPowerCompletionDie ModuleTag_07 SpecialPowerTemplate = SuperweaponScudStorm End Behavior = FireWeaponWhenDeadBehavior ModuleTag_08 DeathWeapon = Demo_ScudStormDamageWeapon StartsActive = Yes End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryHeight = 30.0 End Object Demo_GLAHole ; *** ART Parameters *** SelectPortrait = SUHole_L ButtonImage = SUHole_L Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End ; ----------------- the door ------------------- Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes DefaultConditionState Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_OPENING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE Flags = START_FRAME_FIRST End ConditionState = DOOR_1_CLOSING Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_CLOSING DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN Model = UBHole_A1 Animation = UBHole_A1.UBHole_A1 AnimationMode = MANUAL Flags = START_FRAME_LAST End ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBHole_A1D Animation = UBHole_A1D.UBHole_A1D AnimationMode = MANUAL Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:GLAHole Side = GLADemolitionGeneral EditorSorting = SYSTEM Prerequisites Object = Demo_GLACommandCenter End BuildCost = 100 BuildTime = 10.0 ; in seconds EnergyProduction = 0 VisionRange = 50.0 ; Shroud clearing distance ShroudClearingRange = 50 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REBUILD_HOLE CAN_SEE_THROUGH_STRUCTURE IMMUNE_TO_CAPTURE SCORE_DESTROY MP_COUNT_FOR_VICTORY Body = StructureBody ModuleTag_03 ; To set the health for a particular hole, edit the entry in the object ; that will leave the hole behind (edit the RebuildHoleExposeDie entry) MaxHealth = 9999999.9 ;bigger than anything realistic we use InitialHealth = 9999999.9 ;bigger than anything realistic we use End Behavior = RebuildHoleBehavior ModuleTag_04 WorkerObjectName = Demo_GLAInfantryWorker WorkerRespawnDelay = 20000 ;in milliseconds HoleHealthRegen%PerSecond = 0.5% ;regen this % of HoleMaxHealth per second End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_14 DeathFX = FX_StructureSmallDeath End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 5.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Command Center Object Demo_GLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdHQD ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD.UBCmdHQD AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQD_D Animation = UBCmdHQD_D.UBCmdHQD_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQD_E Animation = UBCmdHQD_E.UBCmdHQD_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQDE ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE.UBCmdHQDE AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQDE_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_D.UBCmdHQDE_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQDE_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_E.UBCmdHQDE_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQD_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_N.UBCmdHQD_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQD_DN Animation = UBCmdHQD_DN.UBCmdHQD_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQD_EN Animation = UBCmdHQD_EN.UBCmdHQD_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQDE_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_N.UBCmdHQDE_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQDE_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_DN.UBCmdHQDE_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQDE_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_EN.UBCmdHQDE_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQD_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_S.UBCmdHQD_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQD_DS Animation = UBCmdHQD_DS.UBCmdHQD_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQD_ES Animation = UBCmdHQD_ES.UBCmdHQD_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQDE_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_S.UBCmdHQDE_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQDE_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_DS.UBCmdHQDE_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQDE_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_ES.UBCmdHQDE_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQD_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_NS.UBCmdHQD_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQD_DNS Animation = UBCmdHQD_DNS.UBCmdHQD_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQD_ENS Animation = UBCmdHQD_ENS.UBCmdHQD_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQDE_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_NS.UBCmdHQDE_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQDE_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_DNS.UBCmdHQDE_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQDE_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQDE_ENS.UBCmdHQDE_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQD Animation = UBCmdHQ.UBCmdHQ AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQD_D Animation = UBCmdHQD_D.UBCmdHQD_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQD_E Animation = UBCmdHQD_E.UBCmdHQD_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQD_N Animation = UBCmdHQD_N.UBCmdHQD_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQD_DN Animation = UBCmdHQD_DN.UBCmdHQD_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQD_EN Animation = UBCmdHQD_EN.UBCmdHQD_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQD_S Animation = UBCmdHQD_S.UBCmdHQD_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQD_DS Animation = UBCmdHQD_DS.UBCmdHQD_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQD_ES Animation = UBCmdHQD_ES.UBCmdHQD_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQD_NS Animation = UBCmdHQD_NS.UBCmdHQD_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQD_DNS Animation = UBCmdHQD_DNS.UBCmdHQD_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQD_ENS Animation = UBCmdHQD_ENS.UBCmdHQD_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLADemolitionGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = Demo_GLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE Body = StructureBody ModuleTag_04 MaxHealth = 5000.0 InitialHealth = 5000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 5200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_06 UnitCreatePoint = X: 25.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 65.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RebuildHoleExposeDie ModuleTag_07 HoleName = GLAHoleCommandCenter HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_08 ;nothing End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = OCLSpecialPower ModuleTag_11 SpecialPowerTemplate = SuperweaponRebelAmbush UpgradeOCL = SCIENCE_RebelAmbush3 Demo_SUPERWEAPON_RebelAmbush3 UpgradeOCL = SCIENCE_RebelAmbush2 Demo_SUPERWEAPON_RebelAmbush2 OCL = Demo_SUPERWEAPON_RebelAmbush1 CreateLocation = CREATE_AT_LOCATION OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs. End Behavior = OCLSpecialPower ModuleTag_12 SpecialPowerTemplate = SuperweaponBlackMarketNuke OCL = SUPERWEAPON_BlackMarketNuke CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_13 SpecialPowerTemplate = SuperweaponAnthraxBomb OCL = SUPERWEAPON_AnthraxBomb CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE End Behavior = OCLSpecialPower ModuleTag_14 SpecialPowerTemplate = SuperweaponEmergencyRepair UpgradeOCL = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3 UpgradeOCL = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2 OCL = SUPERWEAPON_RepairVehicles1 CreateLocation = CREATE_AT_LOCATION End Behavior = OCLSpecialPower ModuleTag_21 SpecialPowerTemplate = SuperweaponSneakAttack OCL = OCL_CreateSneakAttackTunnelStart CreateLocation = CREATE_AT_LOCATION ReferenceObject = GLASneakAttackTunnelNetwork ;So we know what the final product is for script placement calculations End Behavior = OCLSpecialPower ModuleTag_22 SpecialPowerTemplate = SuperweaponGPSScrambler OCL = SUPERWEAPON_GPSScrambler CreateLocation = CREATE_AT_LOCATION End Behavior = CashBountyPower ModuleTag_15 SpecialPowerTemplate = SpecialAbilityCashBounty1 Bounty = 5% End Behavior = CashBountyPower ModuleTag_16 SpecialPowerTemplate = SpecialAbilityCashBounty2 Bounty = 10% End Behavior = CashBountyPower ModuleTag_17 SpecialPowerTemplate = SpecialAbilityCashBounty3 Bounty = 20% End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_20 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End ; DemoGen gets free booby trap power. Behavior = GrantUpgradeCreate ModuleTag_23 UpgradeToGrant = Upgrade_GLAInfantryRebelBoobyTrapAttack ExemptStatus = UNDER_CONSTRUCTION End Geometry = BOX GeometryMajorRadius = 65.0 GeometryMinorRadius = 65.0 GeometryHeight = 54.0 FactoryExitWidth = 25 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleCommandCenter Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBCmdHQ_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;Fake GLA Command Center Object Demo_FakeGLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdHQD ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD.UBCmdHQD AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQD_D Animation = UBCmdHQD_D.UBCmdHQD_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQD_E Animation = UBCmdHQD_E.UBCmdHQD_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG.UBCmdHQEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_D.UBCmdHQEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_E.UBCmdHQEG_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQD_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_N.UBCmdHQD_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQD_DN Animation = UBCmdHQD_DN.UBCmdHQD_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQD_EN Animation = UBCmdHQD_EN.UBCmdHQD_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_N.UBCmdHQEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DN.UBCmdHQEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_EN.UBCmdHQEG_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQD_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_S.UBCmdHQD_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQD_DS Animation = UBCmdHQD_DS.UBCmdHQD_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQD_ES Animation = UBCmdHQD_ES.UBCmdHQD_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_S.UBCmdHQEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DS.UBCmdHQEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ES.UBCmdHQEG_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQD_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQD_NS.UBCmdHQD_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQD_DNS Animation = UBCmdHQD_DNS.UBCmdHQD_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQD_ENS Animation = UBCmdHQD_ENS.UBCmdHQD_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_NS.UBCmdHQEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_DNS.UBCmdHQEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQEG_ENS.UBCmdHQEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQD Animation = UBCmdHQ.UBCmdHQ AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQD_D Animation = UBCmdHQD_D.UBCmdHQD_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQD_E Animation = UBCmdHQD_E.UBCmdHQD_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQD_N Animation = UBCmdHQD_N.UBCmdHQD_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQD_DN Animation = UBCmdHQD_DN.UBCmdHQD_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQD_EN Animation = UBCmdHQD_EN.UBCmdHQD_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQD_S Animation = UBCmdHQD_S.UBCmdHQD_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQD_DS Animation = UBCmdHQD_DS.UBCmdHQD_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQD_ES Animation = UBCmdHQD_ES.UBCmdHQD_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQD_NS Animation = UBCmdHQD_NS.UBCmdHQD_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQD_DNS Animation = UBCmdHQD_DNS.UBCmdHQD_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQD_ENS Animation = UBCmdHQD_ENS.UBCmdHQD_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ------------ construction done flashing lights ---------- ; Draw = W3DModelDraw ; DefaultConditionState ; Model = None ; End ; ConditionState = SOLD ; Model = NONE ; End ; ConditionState = CONSTRUCTION_COMPLETE ; Model = ABWarFact_A2 ; Animation = ABWarFact_A2.ABWarFact_A2 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ; End ; End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A4 Animation = UBCmdHQ_A4.UBCmdHQ_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A4N Animation = UBCmdHQ_A4N.UBCmdHQ_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A4S Animation = UBCmdHQ_A4S.UBCmdHQ_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A4SN Animation = UBCmdHQ_A4SN.UBCmdHQ_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBCmdHQ_A6 Animation = UBCmdHQ_A6.UBCmdHQ_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBCmdHQ_A6N Animation = UBCmdHQ_A6N.UBCmdHQ_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBCmdHQ_A6S Animation = UBCmdHQ_A6S.UBCmdHQ_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBCmdHQ_A6SN Animation = UBCmdHQ_A6SN.UBCmdHQ_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; Officers club flag Draw = W3DModelDraw ModuleTag_OfficersClub OkToChangeModelColor = No ConditionState = NONE Model = None End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = REALLYDAMAGED RUBBLE ConditionState = PREORDER Model = OCFlagGLA Animation = OCFlagGLA.OCFlagGLA AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ; ConditionState = PREORDER DAMAGED ; Model = OCFlagGLA_D ; Animation = OCFlagGLA_D.OCFlagGLA_D ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End ; ConditionState = PREORDER REALLYDAMAGED RUBBLE ; Model = OCFlagGLA_E ; Animation = OCFlagGLA_E.OCFlagGLA_E ; AnimationMode = LOOP ; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT ; End End ; ***DESIGN parameters *** DisplayName = OBJECT:CommandCenter Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLACommandCenter End BuildCost = 500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = FakeGLACommandCenterCommandSet VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = CommandCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 1250.0 InitialHealth = 1250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1450 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = PreorderCreate ModuleTag_PreorderCreate End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = No End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureMediumDeath End Behavior = SlowDeathBehavior ModuleTag_11 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_12 ReplaceObject = Demo_GLACommandCenter TriggeredBy = Upgrade_BecomeRealGLACommandCenter End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_14 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 65.0 GeometryMinorRadius = 65.0 GeometryHeight = 54.0 FactoryExitWidth = 25 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 165 ShadowSizeY = 145 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Demo_GLABlackMarket ; *** ART Parameters *** SelectPortrait = SUBlackMarket_L ButtonImage = SUBlackMarket ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBBlkMktEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG.UBBlkMktEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBlkMktEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_D.UBBlkMktEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBlkMktEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_E.UBBlkMktEG_E AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED SNOW Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBBlkMktEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_S.UBBlkMktEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBlkMktEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DS.UBBlkMktEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBlkMktEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ES.UBBlkMktEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBBlkMktEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_N.UBBlkMktEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBlkMktEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DN.UBBlkMktEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBlkMktEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_EN.UBBlkMktEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT SNOW Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT SNOW Model = UBBlkMktEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_NS.UBBlkMktEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DNS.UBBlkMktEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ENS.UBBlkMktEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:BlackMarket Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLAPalace End BuildCost = 2500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLABlackMarketCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BlackMarketSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BLACK_MARKET Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = AutoDepositUpdate ModuleTag_05 DepositTiming = 2000 ; in milliseconds DepositAmount = 20 ; cash amount to deposit every DepositTiming InitialCaptureBonus = 0 ; no initial bonus End Behavior = ProductionUpdate ModuleTag_06 ; nothing End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleBlackMarket HoleMaxHealth = 500.0 End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = BOX GeometryMajorRadius = 35.0 GeometryMinorRadius = 35.0 GeometryHeight = 35.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleBlackMarket Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBBlackMkt_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBBlackMkt_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Demo_FakeGLABlackMarket ; *** ART Parameters *** SelectPortrait = SUBlackMarket_L ButtonImage = SUBlackMarket ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBBlkMktEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG.UBBlkMktEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBlkMktEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_D.UBBlkMktEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBlkMktEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_E.UBBlkMktEG_E AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED SNOW Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBBlkMktEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_S.UBBlkMktEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBlkMktEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DS.UBBlkMktEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBlkMktEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ES.UBBlkMktEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBBlkMktEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_N.UBBlkMktEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBlkMktEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DN.UBBlkMktEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBlkMktEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_EN.UBBlkMktEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = DAMAGED NIGHT SNOW Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Smoke07 SmolderingSmoke ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire ParticleSysBone = Fire04 SmolderingFire ParticleSysBone = Fire05 SmolderingFire ParticleSysBone = Fire06 SmolderingFire ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED NIGHT SNOW Model = UBBlkMktEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_NS.UBBlkMktEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_DNS.UBBlkMktEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBlkMktEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBlkMktEG_ENS.UBBlkMktEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt Animation = UBBlackMkt.UBBlackMkt AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBlackMkt_D Animation = UBBlackMkt_D.UBBlackMkt_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBlackMkt_E Animation = UBBlackMkt_E.UBBlackMkt_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBlackMkt_N Animation = UBBlackMkt_N.UBBlackMkt_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBlackMkt_DN Animation = UBBlackMkt_DN.UBBlackMkt_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBlackMkt_EN Animation = UBBlackMkt_EN.UBBlackMkt_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBlackMkt_S Animation = UBBlackMkt_S.UBBlackMkt_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBlackMkt_DS Animation = UBBlackMkt_DS.UBBlackMkt_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBlackMkt_ES Animation = UBBlackMkt_ES.UBBlackMkt_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBlackMkt_NS Animation = UBBlackMkt_NS.UBBlackMkt_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBlackMkt_DNS Animation = UBBlackMkt_DNS.UBBlackMkt_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBlackMkt_ENS Animation = UBBlackMkt_ENS.UBBlackMkt_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A4 Animation = UBBlackMkt_A4.UBBlackMkt_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A4N Animation = UBBlackMkt_A4N.UBBlackMkt_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A4S Animation = UBBlackMkt_A4S.UBBlackMkt_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A4SN Animation = UBBlackMkt_A4SN.UBBlackMkt_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBlackMkt_A6 Animation = UBBlackMkt_A6.UBBlackMkt_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBlackMkt_A6N Animation = UBBlackMkt_A6N.UBBlackMkt_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBlackMkt_A6S Animation = UBBlackMkt_A6S.UBBlackMkt_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBlackMkt_A6SN Animation = UBBlackMkt_A6SN.UBBlackMkt_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:BlackMarket Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLAPalace End BuildCost = 625 BuildTime = 20.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLABlackMarketCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BlackMarketSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 125.0 InitialHealth = 125.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 325 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = No End Behavior = ProductionUpdate ModuleTag_06 ; nothing End Behavior = SlowDeathBehavior ModuleTag_07 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_08 ReplaceObject = Demo_GLABlackMarket TriggeredBy = Upgrade_BecomeRealGLABlackMarket End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = CreateObjectDie ModuleTag_09 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_10 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_12 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_13 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = AutoDepositUpdate ModuleTag_FakeMoney DepositTiming = 2000 ; in milliseconds DepositAmount = 20 ; cash amount to deposit every DepositTiming InitialCaptureBonus = 0 ; no initial bonus ActualMoney = No ; Display only so I look like a BlackMarket End Geometry = BOX GeometryMajorRadius = 35.0 GeometryMinorRadius = 35.0 GeometryHeight = 35.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 108 ShadowSizeY = 96 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Demo_GLAScudStorm ; *** ART Parameters *** SelectPortrait = SUScudStorm_L ButtonImage = SUScudStorm Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset ; day ConditionState = NONE ; lying around Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY Trans_ATTACKING ; from lying around to straight up Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2 Animation = UBScudStrm_A2.UBScudStrm_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A TransitionState = Trans_ATTACKING Trans_READY ; empty arms going underground, coming up with presents for bad people Model = UBScudStrm_A3 Animation = UBScudStrm_A3.UBScudStrm_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ; day ConditionState = DAMAGED Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED Trans_ATTACKING_DAMAGED Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED Model = UBScudStrm_DA2 Animation = UBScudStrm_DA2.UBScudStrm_DA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A DAMAGED AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED TransitionState = Trans_ATTACKING_DAMAGED Trans_READY_DAMAGED Model = UBScudStrm_DA3 Animation = UBScudStrm_DA3.UBScudStrm_DA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED Trans_ATTACKING_REALLYDAMAGED Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE Model = UBScudStrm_EA2 Animation = UBScudStrm_EA2.UBScudStrm_EA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE TransitionState = Trans_ATTACKING_REALLYDAMAGED Trans_READY_REALLYDAMAGED Model = UBScudStrm_EA3 Animation = UBScudStrm_EA3.UBScudStrm_EA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; SNOW ConditionState = SNOW ; from underground to lying around Model = UBScudStrm_A1S Animation = UBScudStrm_A1S.UBScudStrm_A1S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_SNOW Trans_ATTACKING_SNOW Model = UBScudStrm_A1S Animation = UBScudStrm_A1S.UBScudStrm_A1S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING SNOW ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2S Animation = UBScudStrm_A2S.UBScudStrm_A2S AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A SNOW TransitionState = Trans_ATTACKING_SNOW Trans_READY_SNOW ; empty arms going underground Model = UBScudStrm_A3S Animation = UBScudStrm_A3S.UBScudStrm_A3S AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED SNOW Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_SNOW Trans_ATTACKING_DAMAGED_SNOW Model = UBScudStrm_DA1 Animation = UBScudStrm_DA1.UBScudStrm_DA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED SNOW Model = UBScudStrm_DA2 Animation = UBScudStrm_DA2.UBScudStrm_DA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A DAMAGED SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED SNOW TransitionState = Trans_ATTACKING_DAMAGED_SNOW Trans_READY_DAMAGED_SNOW Model = UBScudStrm_DA3 Animation = UBScudStrm_DA3.UBScudStrm_DA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_SNOW Trans_ATTACKING_REALLYDAMAGED_SNOW Model = UBScudStrm_EA1 Animation = UBScudStrm_EA1.UBScudStrm_EA1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE SNOW Model = UBScudStrm_EA2 Animation = UBScudStrm_EA2.UBScudStrm_EA2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_SNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE SNOW TransitionState = Trans_ATTACKING_REALLYDAMAGED_SNOW Trans_READY_REALLYDAMAGED_SNOW Model = UBScudStrm_EA3 Animation = UBScudStrm_EA3.UBScudStrm_EA3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; NIGHT ConditionState = NIGHT ; from underground to lying around Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_NIGHT Trans_ATTACKING_NIGHT Model = UBScudStrm_A1 Animation = UBScudStrm_A1.UBScudStrm_A1 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING NIGHT ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2 Animation = UBScudStrm_A2.UBScudStrm_A2 AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT TransitionState = Trans_ATTACKING_NIGHT Trans_READY_NIGHT ; empty arms going underground Model = UBScudStrm_A3 Animation = UBScudStrm_A3.UBScudStrm_A3 AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED NIGHT Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_NIGHT Trans_ATTACKING_DAMAGED_NIGHT Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED NIGHT Model = UBScudStrm_DA2N Animation = UBScudStrm_DA2N.UBScudStrm_DA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED TransitionState = Trans_ATTACKING_DAMAGED_NIGHT Trans_READY_DAMAGED_NIGHT Model = UBScudStrm_DA3N Animation = UBScudStrm_DA3N.UBScudStrm_DA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_NIGHT Trans_ATTACKING_REALLYDAMAGED_NIGHT Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT Model = UBScudStrm_EA2N Animation = UBScudStrm_EA2N.UBScudStrm_EA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHT ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHT Trans_READY_REALLYDAMAGED_NIGHT Model = UBScudStrm_EA3N Animation = UBScudStrm_EA3N.UBScudStrm_EA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ; NIGHT SNOW ConditionState = NIGHT SNOW ; from underground to lying around Model = UBScudStrm_A1NS Animation = UBScudStrm_A1NS.UBScudStrm_A1NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_NIGHTSNOW Trans_ATTACKING_NIGHTSNOW Model = UBScudStrm_A1NS Animation = UBScudStrm_A1NS.UBScudStrm_A1NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING NIGHT SNOW ; Projectile feedback code selectively hiding missiles as they shoot Model = UBScudStrm_A2NS Animation = UBScudStrm_A2NS.UBScudStrm_A2NS AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT SNOW TransitionState = Trans_ATTACKING_NIGHTSNOW Trans_READY_NIGHTSNOW ; empty arms going underground Model = UBScudStrm_A3NS Animation = UBScudStrm_A3NS.UBScudStrm_A3NS AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBScudStrm Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW Model = UBScudStrm_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW Model = UBScudStrm_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = DAMAGED NIGHT SNOW Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_DAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_DAMAGED_NIGHTSNOW Trans_ATTACKING_DAMAGED_NIGHTSNOW Model = UBScudStrm_DA1N Animation = UBScudStrm_DA1N.UBScudStrm_DA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING DAMAGED NIGHT SNOW Model = UBScudStrm_DA2N Animation = UBScudStrm_DA2N.UBScudStrm_DA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_DAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED SNOW TransitionState = Trans_ATTACKING_DAMAGED_NIGHTSNOW Trans_READY_DAMAGED_NIGHTSNOW Model = UBScudStrm_DA3N Animation = UBScudStrm_DA3N.UBScudStrm_DA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ;------------------------------------------------------------------------------------------------------------------------- ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 TransitionKey = Trans_READY_REALLYDAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium End TransitionState = Trans_READY_REALLYDAMAGED_NIGHTSNOW Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Model = UBScudStrm_EA1N Animation = UBScudStrm_EA1N.UBScudStrm_EA1N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES WeaponLaunchBone = PRIMARY WeaponA ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBScudStrm_EA2N Animation = UBScudStrm_EA2N.UBScudStrm_EA2N AnimationMode = MANUAL Flags = START_FRAME_FIRST WeaponLaunchBone = PRIMARY WeaponA TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW ParticleSysBone = SteamM01 SteamLarge ParticleSysBone = SteamS01 SteamMedium ParticleSysBone = FXBone01 ScudStormBuildingGoo ParticleSysBone = FXBone02 ScudStormBuildingGoo ParticleSysBone = FXBone03 ScudStormBuildingGoo End AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE SNOW AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE SNOW TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Trans_READY_REALLYDAMAGED_NIGHTSNOW Model = UBScudStrm_EA3N Animation = UBScudStrm_EA3N.UBScudStrm_EA3N AnimationMode = ONCE Flags = MAINTAIN_FRAME_ACROSS_STATES2 ParticleSysBone = SteamM01 SteamVent ParticleSysBone = SteamS01 SteamVent End ConditionState = SOLD Model = NONE End AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD DAMAGED SNOW AliasConditionState = SOLD REALLYDAMAGED SNOW AliasConditionState = SOLD NIGHT AliasConditionState = SOLD DAMAGED NIGHT AliasConditionState = SOLD REALLYDAMAGED NIGHT AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD DAMAGED NIGHT SNOW AliasConditionState = SOLD REALLYDAMAGED NIGHT SNOW End ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------------------------- Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = MANUAL Flags = START_FRAME_FIRST End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End ConditionState = PREATTACK_A ATTACKING Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = LOOP Flags = START_FRAME_FIRST End ConditionState = ATTACKING Model = UBScudStrm_A5 Animation = UBScudStrm_A5.UBScudStrm_A5 AnimationMode = LOOP Flags = START_FRAME_FIRST End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = PREATTACK_A ATTACKING DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = ATTACKING DAMAGED ; Model = UBScudStrm_DA5 ; Animation = UBScudStrm_DA5.UBScudStrm_DA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = MANUAL ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = PREATTACK_A ATTACKING REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End ;These assets are missing (KM: removed to get rid of assert) ;ConditionState = ATTACKING REALLYDAMAGED ; Model = UBScudStrm_EA5 ; Animation = UBScudStrm_EA5.UBScudStrm_EA5 ; AnimationMode = LOOP ; Flags = START_FRAME_FIRST ;End End Draw = W3DModelDraw ModuleTag_03 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_A6 Animation = UBScudStrm_A6.UBScudStrm_A6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = UBScudStrm_DA6 Animation = UBScudStrm_DA6.UBScudStrm_DA6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EA6 Animation = UBScudStrm_EA6.UBScudStrm_EA6 AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_A6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBScudStrm_DA6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE Model = UBScudStrm_EA6 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = SOLD Model = NONE End ConditionState = SOLD SNOW Model = NONE End ConditionState = SOLD NIGHT Model = NONE End ConditionState = SOLD NIGHT SNOW Model = NONE End End Draw = W3DModelDraw ModuleTag_04 OkToChangeModelColor = Yes ConditionState = None Model = UBScudStrm_F Animation = UBScudStrm_F.UBScudStrm_F AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = DAMAGED Model = UBScudStrm_DF Animation = UBScudStrm_DF.UBScudStrm_DF AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = REALLYDAMAGED RUBBLE Model = UBScudStrm_EF Animation = UBScudStrm_EF.UBScudStrm_EF AnimationMode = LOOP Flags = MAINTAIN_FRAME_ACROSS_STATES End ConditionState = SOLD Model = NONE End AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD DAMAGED SNOW AliasConditionState = SOLD REALLYDAMAGED SNOW AliasConditionState = SOLD NIGHT AliasConditionState = SOLD DAMAGED NIGHT AliasConditionState = SOLD REALLYDAMAGED NIGHT AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD DAMAGED NIGHT SNOW AliasConditionState = SOLD REALLYDAMAGED NIGHT SNOW End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_05 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AB Animation = UBScudStrm_AB.UBScudStrm_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBScudStrm_ABN Animation = UBScudStrm_ABN.UBScudStrm_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBScudStrm_ABS Animation = UBScudStrm_ABS.UBScudStrm_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBScudStrm_ABSN Animation = UBScudStrm_ABSN.UBScudStrm_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_06 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBScudStrm_AC Animation = UBScudStrm_AC.UBScudStrm_AC AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBScudStrm_ACN Animation = UBScudStrm_ACN.UBScudStrm_ACN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBScudStrm_ACS Animation = UBScudStrm_ACS.UBScudStrm_ACS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBScudStrm_ACSN Animation = UBScudStrm_ACSN.UBScudStrm_ACSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:ScudStorm Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLAPalace End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLAScudStormCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ShroudRevealToAllRange = 60 ; Reveals shroud to all players at a specific amount which can be different. ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead! WeaponSet Conditions = None Weapon = PRIMARY Demo_ScudStormWeapon AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = StructureArmorTough DamageFX = StructureDamageFXNoShake End ExperienceValue = 400 400 400 400 ; Experience point value at each level MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType ; *** AUDIO Parameters *** VoiceSelect = ScudStormSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs TurretMoveStart = NoSound TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_SUPERWEAPON Body = StructureBody ModuleTag_07 MaxHealth = 4000.0 InitialHealth = 4000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 4200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleScudStorm HoleMaxHealth = 500.0 End Behavior = AIUpdateInterface ModuleTag_09 End Behavior = OCLSpecialPower ModuleTag_10 SpecialPowerTemplate = SuperweaponScudStorm OCL = SUPERWEAPON_ScudStorm End Behavior = SpecialPowerCreate ModuleTag_11 ;nothing End Behavior = DestroyDie ModuleTag_12 ;nothing End Behavior = CreateObjectDie ModuleTag_13 CreationList = OCL_PoisonFieldMedium ExemptStatus = UNDER_CONSTRUCTION End Behavior = FXListDie ModuleTag_14 DeathFX = WeaponFX_BombTruckHighExplosiveBioBombDetonation ExemptStatus = UNDER_CONSTRUCTION End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = RadiusDecalUpdate ModuleTag_17 ; nothing End Behavior = TransitionDamageFX ModuleTag_18 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Behavior = FXListDie ModuleTag_19 DeathFX = FX_BuildingDie End Geometry = BOX GeometryMajorRadius = 71.0 GeometryMinorRadius = 67.0 GeometryHeight = 25.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Demo Trap Object Demo_GLADemoTrap ; *** ART Parameters *** SelectPortrait = SUAdvDeTrap_L ButtonImage = SUAdvDeTrap Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = EXHideBombD End AliasConditionState = DAMAGED AliasConditionState = REALLYDAMAGED AliasConditionState = RUBBLE AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = NIGHT SNOW DAMAGED AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = EXHideBomb Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Demo_DemoTrap Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLASupplyStash End BuildCost = 200 BuildTime = 3.0 ; in seconds EnergyProduction = 0 VisionRange = 150.0 ; Shroud clearing distance ShroudClearingRange = 150.0 ; Shroud clearing distance ExperienceValue = 50 50 50 50 ; Experience point value at each level WeaponSet ;The weapon set is used to determine detonation mode Conditions = None Weapon = PRIMARY DummyWeapon ;Used for mode matching only (when to detonate) Weapon = SECONDARY DummyWeapon ;Used for mode matching only (when to detonate) Weapon = TERTIARY DummyWeapon ;Used for mode matching only (when to detonate) AutoChooseSources = PRIMARY NONE AutoChooseSources = SECONDARY NONE AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = StructureArmor DamageFX = DefaultDamageFX ; Too small for normal building FX, but if we do make dedicated one it should be silent End CommandSet = Demo_GLADemoTrapCommandSet ; *** AUDIO Parameters *** VoiceSelect = UndergroundGeneratorSelect SoundOnDamaged = NoSound SoundOnReallyDamaged = NoSound UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE IMMUNE_TO_CAPTURE DEMOTRAP Body = StructureBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = StealthUpdate ModuleTag_03 StealthDelay = 0 ; msec StealthForbiddenConditions = NONE FriendlyOpacityMin = 100.0% OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = DemoTrapUpdate ModuleTag_04 DefaultProximityMode = Yes ;If yes, defaults to proximity mode, otherwise defaults to manual. DetonationWeaponSlot = PRIMARY ;The slot the weapon is in when it detonates. ProximityModeWeaponSlot = SECONDARY ;The slot proximity mode is determined by (bogus weapon) ManualModeWeaponSlot = TERTIARY ;The slot manual mode is determined by (bogus weapon) TriggerDetonationRange = 40.0 ;Detonation range when in proximity mode (and must be on ground) IgnoreTargetTypes = PROJECTILE UNATTACKABLE AutoDetonationWithFriendsInvolved = Yes ;GLA are low tech ; DetonationWeapon = DemoTrapDetonationWeapon DetonateWhenKilled = Yes End Behavior = SlowDeathBehavior ModuleTag_05 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 1000 FX = INITIAL FX_GLADemoTrapWarning Weapon = FINAL Demo_DemoTrapDetonationWeapon End Behavior = FlammableUpdate ModuleTag_07 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = InstantDeathBehavior ModuleTag_08 ; if we are under construction, use this death instead RequiredStatus = UNDER_CONSTRUCTION ; no effect End BuildCompletion = PLACED_BY_PLAYER Shadow = SHADOW_VOLUME Geometry = CYLINDER GeometryMajorRadius = 4.0 GeometryHeight = 9 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleDemoTrap Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End ;Remove comments for this section and replace the model entries for the ;pristine, and damage/reallydamaged rubble around the GLA hole below ; Draw = W3DModelDraw ; OkToChangeModelColor = Yes ; ConditionState = NONE ; Model = UBSupply_R ; End ; ConditionState = DAMAGED REALLYDAMAGED ; Model = UBSupply_R ; End ; End End ; ----------------------------------------------------------------------------- Object Demo_GLATunnelNetwork ; *** ART Parameters *** SelectPortrait = SUTunnel_L ButtonImage = SUTunnel ;UpgradeCameo1 = Upgrade_GLACamoNetting ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UBUndTunn Turret = Turret01 WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX End ConditionState = DAMAGED Model = UBUndTunn_D End ConditionState = REALLYDAMAGED RUBBLE Model = UBUndTunn_E ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW Model = UBUndTunn_S End ConditionState = DAMAGED SNOW Model = UBUndTunn_DS End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBUndTunn_ES ParticleSysBone = Steam01 SteamVent End ConditionState = NIGHT Model = UBUndTunn_N End ConditionState = DAMAGED NIGHT Model = UBUndTunn_DN End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBUndTunn_EN ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW NIGHT Model = UBUndTunn_NS End ConditionState = DAMAGED SNOW NIGHT Model = UBUndTunn_DNS End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBUndTunn_ENS ParticleSysBone = Steam01 SteamVent End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBUndTunn_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBUndTunn_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBUndTunn_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBUndTunn_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBUndTunn_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBUndTunn_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBUndTunn_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBUndTunn_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBUndTunn_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBUndTunn_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBUndTunn_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBUndTunn_A4 Animation = UBUndTunn_A4.UBUndTunn_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBUndTunn_A4N Animation = UBUndTunn_A4N.UBUndTunn_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBUndTunn_A4S Animation = UBUndTunn_A4S.UBUndTunn_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBUndTunn_A4SN Animation = UBUndTunn_A4SN.UBUndTunn_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBUndTunn_A6 Animation = UBUndTunn_A6.UBUndTunn_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBUndTunn_A6N Animation = UBUndTunn_A6N.UBUndTunn_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBUndTunn_A6S Animation = UBUndTunn_A6S.UBUndTunn_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBUndTunn_A6SN Animation = UBUndTunn_A6SN.UBUndTunn_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLABarracks End BuildCost = 800 RefundValue = 100 ; With nothing (or zero) listed, we sell for half price. BuildTime = 5.0 ; in seconds EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End WeaponSet Conditions = None Weapon = PRIMARY TunnelNetworkGun Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End CommandSet = Demo_GLATunnelNetworkCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit UnitSpecificSounds UnderConstruction = UnderConstructionLoop TurretMoveLoop = NoSound End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 150 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_16 Turret TurretTurnRate = 180 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon End Behavior = TunnelContain ModuleTag_05 TimeForFullHeal = 5000 ;(in milliseconds) End ;Kris: Removed this module from because units exiting the container would extract information ;from the wrong exit interface. And we don't appear to need it for the spawns because they ;use OpenContain instead. ;Behavior = DefaultProductionExitUpdate ModuleTag_06 ; UnitCreatePoint = X: 5.0 Y: 0.0 Z:0.0 ; NaturalRallyPoint = X: 35.0 Y: 0.0 Z:0.0 ;End Behavior = SpawnBehavior ModuleTag_07 SpawnNumber = 2 SpawnReplaceDelay = 9999 SpawnTemplateName = Demo_GLAInfantryTunnelDefender OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes End Behavior = RebuildHoleExposeDie ModuleTag_09 HoleName = GLAHoleTunnelNetwork HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABTunnelNetworkDebris End Behavior = FXListDie ModuleTag_12 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;Kris: Cut camo-netting from Demo General ;Behavior = StealthUpdate ModuleTag_17 ; StealthDelay = 2500 ; msec ; StealthForbiddenConditions = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE ; MoveThresholdSpeed = 3 ; InnateStealth = No ;Requires upgrade first ; OrderIdleEnemiesToAttackMeUponReveal = Yes ;End ;Behavior = StealthUpgrade ModuleTag_18 ; TriggeredBy = Upgrade_GLACamoNetting ;End ;Behavior = ProductionUpdate ModuleTag_19 ;End Behavior = TransitionDamageFX ModuleTag_20 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_22 CommandSet = Demo_GLATunnelNetworkCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleTunnelNetwork Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBUndTunn_R End ConditionState = DAMAGED REALLYDAMAGED Model = UBUndTunn_R End End End ;------------------------------------------------------------------------------ Object Demo_GLAStingerSite ; *** ART Parameters *** SelectPortrait = SUStinger_L ButtonImage = SUStinger UpgradeCameo1 = Upgrade_GLAAPRockets ;UpgradeCameo2 = Upgrade_GLACamoNetting ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ************************************ ConditionState = NONE Model = UBStingerS End ConditionState = DAMAGED Model = UBStingerS_D End ConditionState = REALLYDAMAGED RUBBLE Model = UBStingerS_E End ; day snow ************************************ ConditionState = SNOW Model = UBStingerS_S End ConditionState = DAMAGED SNOW Model = UBStingerS_DS End ConditionState = REALLYDAMAGED SNOW RUBBLE Model = UBStingerS_ES End ; night ********************************** ConditionState = NIGHT Model = UBStingerS_N End ConditionState = DAMAGED NIGHT Model = UBStingerS_DN End ConditionState = REALLYDAMAGED NIGHT RUBBLE Model = UBStingerS_EN End ; night snow ********************************** ConditionState = NIGHT SNOW Model = UBStingerS_NS End ConditionState = DAMAGED NIGHT SNOW Model = UBStingerS_DNS End ConditionState = REALLYDAMAGED NIGHT SNOW RUBBLE Model = UBStingerS_ENS End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS ; Animation = UBStingerS.UBStingerS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBStingerS_D ; Animation = UBStingerS_D.UBStingerS_D ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBStingerS_E ; Animation = UBStingerS_E.UBStingerS_E ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBStingerS_N ; Animation = UBStingerS_N.UBStingerS_N ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBStingerS_DN ; Animation = UBStingerS_DN.UBStingerS_DN ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBStingerS_EN ; Animation = UBStingerS_EN.UBStingerS_EN ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBStingerS_S ; Animation = UBStingerS_S.UBStingerS_S ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBStingerS_DS ; Animation = UBStingerS_DS.UBStingerS_DS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBStingerS_ES ; Animation = UBStingerS_ES.UBStingerS_ES ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBStingerS_NS ; Animation = UBStingerS_NS.UBStingerS_NS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBStingerS_DNS ; Animation = UBStingerS_DNS.UBStingerS_DNS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBStingerS_ENS ; Animation = UBStingerS_ENS.UBStingerS_ENS ; AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBStingerS_A4 Animation = UBStingerS_A4.UBStingerS_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBStingerS_A4N Animation = UBStingerS_A4N.UBStingerS_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBStingerS_A4S Animation = UBStingerS_A4S.UBStingerS_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBStingerS_A4SN Animation = UBStingerS_A4SN.UBStingerS_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBStingerS_A6 Animation = UBStingerS_A6.UBStingerS_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBStingerS_A6N Animation = UBStingerS_A6N.UBStingerS_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBStingerS_A6S Animation = UBStingerS_A6S.UBStingerS_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBStingerS_A6SN Animation = UBStingerS_A6SN.UBStingerS_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:StingerSite Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLABarracks End BuildCost = 900 BuildTime = 15.0 ; in seconds EnergyProduction = 0 VisionRange = 600.0 ; Shroud clearing distance ShroudClearingRange = 400 WeaponSet Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = StingerSiteArmor DamageFX = StructureDamageFXNoShake End CommandSet = Demo_GLAStingerSiteCommandSet ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = StingerSiteSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SPAWNS_ARE_THE_WEAPONS SCORE_CREATE Body = HiveStructureBody ModuleTag_04 ;Requires SpawnBehavior! MaxHealth = 1000.0 InitialHealth = 1000.0 ;**Careful with these damage types -- because area damage types will already ;**damage slaves. PropagateDamageTypesToSlavesWhenExisting = NONE +SMALL_ARMS +SNIPER +POISON +RADIATION +SURRENDER SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = SpawnPointProductionExitUpdate ModuleTag_05 SpawnPointBoneName = SpawnPoint End Behavior = SpawnBehavior ModuleTag_06 SpawnNumber = 3 SpawnReplaceDelay = 30000 ;msec SpawnTemplateName = GLAInfantryStingerSoldier CanReclaimOrphans = No SpawnedRequireSpawner = Yes End Behavior = RebuildHoleExposeDie ModuleTag_08 HoleName = GLAHoleStingerSite HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_09 ; End Behavior = CreateObjectDie ModuleTag_10 CreationList = OCL_ABStingerSiteDebris End Behavior = FXListDie ModuleTag_11 DeathFX = FX_StructureSmallDeath End Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = StingerSiteDeathConcussion StartsActive = Yes End ;Kris: Cut camo-netting from Demo General ;Behavior = StealthUpdate ModuleTag_13 ; StealthDelay = 2500 ; msec ; StealthForbiddenConditions = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE ; MoveThresholdSpeed = 3 ; InnateStealth = No ;Requires upgrade first ; OrderIdleEnemiesToAttackMeUponReveal = Yes ;End ;Behavior = StealthUpgrade ModuleTag_14 ; TriggeredBy = Upgrade_GLACamoNetting ;End ;Behavior = ProductionUpdate ModuleTag_15 ;End Behavior = FlammableUpdate ModuleTag_16 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End Behavior = FireWeaponWhenDeadBehavior ModuleTag999 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA End; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePack StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED End; Behavior = CommandSetUpgrade ModuleTag_19 CommandSet = Demo_GLAStingerSiteCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Behavior = AIUpdateInterface ModuleTag_20 AutoAcquireEnemiesWhenIdle = No End Geometry = CYLINDER GeometryMajorRadius = 36.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleStingerSite Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBStingerS_R End ConditionState = DAMAGED REALLYDAMAGED Model = UBStingerS_R End End End ;------------------------------------------------------------------------------ Object Demo_GLAPalace ; *** ART Parameters *** SelectPortrait = SUPalace_L ButtonImage = SUPalace Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBPalace ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace.UBPalace AnimationMode = LOOP End ConditionState = DAMAGED Model = UBPalace_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_D.UBPalace_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBPalace_E ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED Model = UBPalace_G ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_G.UBPalace_G AnimationMode = LOOP End ConditionState = USER_1 Model = UBPalaceEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG.UBPalaceEG AnimationMode = LOOP End ConditionState = USER_1 GARRISONED Model = UBPalaceEGX ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX.UBPalaceEGX AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBPalace_DG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DG.UBPalace_DG AnimationMode = LOOP End ConditionState = DAMAGED USER_1 Model = UBPalaceEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_D.UBPalaceEG_D AnimationMode = LOOP End ConditionState = DAMAGED USER_1 GARRISONED Model = UBPalaceEGX_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_D.UBPalaceEGX_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBPalace_EG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 Model = UBPalaceEG_E ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 GARRISONED Model = UBPalaceEGX_E ParticleSysBone = Smoke01 SmolderingSmoke End ; day snow ConditionState = SNOW Model = UBPalace_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_S.UBPalace_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBPalace_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DS.UBPalace_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBPalace_ES ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED SNOW Model = UBPalace_SG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_SG.UBPalace_SG AnimationMode = LOOP End ConditionState = USER_1 SNOW Model = UBPalaceEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_S.UBPalaceEG_S AnimationMode = LOOP End ConditionState = USER_1 SNOW GARRISONED Model = UBPalaceEGX_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_S.UBPalaceEGX_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBPalace_DSG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DSG.UBPalace_DSG AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW Model = UBPalaceEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DS.UBPalaceEG_DS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW GARRISONED Model = UBPalaceEGX_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DSG.UBPalaceEGX_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBPalace_ESG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW Model = UBPalaceEG_ES ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 GARRISONED SNOW Model = UBPalaceEGX_ES ParticleSysBone = Smoke01 SmolderingSmoke End ; night ConditionState = NIGHT Model = UBPalace_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_N.UBPalace_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBPalace_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DN.UBPalace_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBPalace_EN ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBPalace_NG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_NG.UBPalace_NG AnimationMode = LOOP End ConditionState = USER_1 NIGHT Model = UBPalaceEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_N.UBPalaceEG_N AnimationMode = LOOP End ConditionState = USER_1 NIGHT GARRISONED Model = UBPalaceEGX_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_N.UBPalaceEGX_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBPalace_DGN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DGN.UBPalace_DGN AnimationMode = LOOP End ConditionState = DAMAGED USER_1 NIGHT Model = UBPalaceEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DN.UBPalaceEG_DN AnimationMode = LOOP End ConditionState = DAMAGED USER_1 NIGHT GARRISONED Model = UBPalaceEGX_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DN.UBPalaceEGX_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBPalace_ENG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 NIGHT Model = UBPalaceEG_EN ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 NIGHT GARRISONED Model = UBPalaceEGX_EN ParticleSysBone = Smoke01 SmolderingSmoke End ; night snow ConditionState = SNOW NIGHT Model = UBPalace_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_NS.UBPalace_NS AnimationMode = LOOP End ConditionState = DAMAGED SNOW NIGHT Model = UBPalace_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DNS.UBPalace_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBPalace_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED SNOW NIGHT Model = UBPalace_GNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_GNS.UBPalace_GNS AnimationMode = LOOP End ConditionState = USER_1 SNOW NIGHT Model = UBPalaceEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_NS.UBPalaceEG_NS AnimationMode = LOOP End ConditionState = USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_NS.UBPalaceEGX_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBPalace_DGNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalace_DGNS.UBPalace_DGNS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW NIGHT Model = UBPalaceEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEG_DNS.UBPalaceEG_DNS AnimationMode = LOOP End ConditionState = DAMAGED USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBPalaceEGX_DNS.UBPalaceEGX_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBPalace_ENSG ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW NIGHT Model = UBPalaceEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED USER_1 SNOW NIGHT GARRISONED Model = UBPalaceEGX_ENS ParticleSysBone = Smoke01 SmolderingSmoke End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace Animation = UBPalace.UBPalace AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBPalace_D Animation = UBPalace_D.UBPalace_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBPalace_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBPalace_N Animation = UBPalace_N.UBPalace_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBPalace_DN Animation = UBPalace_DN.UBPalace_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBPalace_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBPalace_S Animation = UBPalace_S.UBPalace_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBPalace_DS Animation = UBPalace_DS.UBPalace_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBPalace_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBPalace_NS Animation = UBPalace_NS.UBPalace_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBPalace_DNS Animation = UBPalace_DNS.UBPalace_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBPalace_ENS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED USER_1 AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED USER_1 AliasConditionState = SOLD USER_1 AliasConditionState = SOLD DAMAGED USER_1 AliasConditionState = SOLD REALLYDAMAGED USER_1 AliasConditionState = SOLD NIGHT USER_1 AliasConditionState = SOLD NIGHT DAMAGED USER_1 AliasConditionState = SOLD NIGHT REALLYDAMAGED USER_1 AliasConditionState = SOLD SNOW USER_1 AliasConditionState = SOLD SNOW DAMAGED USER_1 AliasConditionState = SOLD SNOW REALLYDAMAGED USER_1 AliasConditionState = SOLD NIGHT SNOW USER_1 AliasConditionState = SOLD NIGHT SNOW DAMAGED USER_1 AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD USER_1 AliasConditionState = GARRISONED SOLD DAMAGED USER_1 AliasConditionState = GARRISONED SOLD REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT USER_1 AliasConditionState = GARRISONED SOLD NIGHT DAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD SNOW USER_1 AliasConditionState = GARRISONED SOLD SNOW DAMAGED USER_1 AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED USER_1 AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED USER_1 ;************************************************************************************************************************** End PlacementViewAngle = -45 ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBPalace_A4 Animation = UBPalace_A4.UBPalace_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBPalace_A4N Animation = UBPalace_A4N.UBPalace_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBPalace_A4S Animation = UBPalace_A4S.UBPalace_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBPalace_A4SN Animation = UBPalace_A4SN.UBPalace_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Palace Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLAArmsDealer End BuildCost = 2500 BuildTime = 45.0 ; in seconds EnergyProduction = 0 VisionRange = 300.0 ; Shroud clearing distance ShroudClearingRange = 300 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = Demo_GLAPalaceCommandSet ExperienceValue = 300 300 300 300 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = PalaceSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_TECHNOLOGY GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY SCORE_CREATE FS_ADVANCED_TECH Body = StructureBody ModuleTag_04 MaxHealth = 3000.0 InitialHealth = 3000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 3200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = USER_1 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ProductionUpdate ModuleTag_05 ; nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = GarrisonContain ModuleTag_10 ContainMax = 5 EnterSound = GarrisonEnter ExitSound = GarrisonExit ImmuneToClearBuildingAttacks = Yes End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHolePalace HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = TransitionDamageFX ModuleTag_12 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 43.0 GeometryMinorRadius = 58.0 GeometryHeight = 30.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHolePalace Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBPalace_R ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Flame01 FireBurningBarricade01 End ConditionState = DAMAGED REALLYDAMAGED Model = UBPalace_R ParticleSysBone = Smoke01 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Demo_GLASupplyStash ; *** ART Parameters *** SelectPortrait = SUSupplyCenter_L ButtonImage = SUSupplyCenter ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBSupply ParticleSysBone = Smoke01 SteamVent Animation = UBSupply.UBSupply AnimationMode = LOOP End ConditionState = DAMAGED Model = UBSupply_D ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBSupply_E ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED Model = UBSpplyEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG.UBSpplyEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBSpplyEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_D.UBSpplyEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBSpplyEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_E.UBSpplyEG_E AnimationMode = LOOP End ; SNOW ConditionState = SNOW Model = UBSupply_S ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBSupply_DS ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSupply_ES ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED SNOW Model = UBSpplyEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBSpplyEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DS.UBSpplyEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBSpplyEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ES.UBSpplyEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSupply_EN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBSpplyEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_N.UBSpplyEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBSpplyEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DN.UBSpplyEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBSpplyEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_EN.UBSpplyEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBSupply_ENS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED SNOW NIGHT Model = UBSpplyEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_NS.UBSpplyEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DNS.UBSpplyEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ENS.UBSpplyEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply Animation = UBSupply.UBSupply AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBSupply_D Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBSupply_E ;Animation = UBSupply_E.UBSupply_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBSupply_EN ;Animation = UBSupply_EN.UBSupply_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBSupply_S Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBSupply_DS Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBSupply_ES ;Animation = UBSupply_ES.UBSupply_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBSupply_ENS ;Animation = UBSupply_ENS.UBSupply_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyStash Side = GLADemolitionGeneral EditorSorting = STRUCTURE BuildCost = 1500 RefundValue = 650 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLASupplyStashCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER Body = StructureBody ModuleTag_04 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = SupplyCenterCreate ModuleTag_05 ;nothing End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleSupplyStash HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = SupplyCenterProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = SpawnBehavior ModuleTag_12 SpawnNumber = 1 SpawnReplaceDelay = 9999 SpawnTemplateName = Demo_GLAInfantryWorker OneShot = Yes CanReclaimOrphans = No End Behavior = SupplyCenterDockUpdate ModuleTag_13 AllowsPassthrough = No ;You can't drive through this guy while docking. Use this when the dock points are all outside NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ;Dont forget to edit the GLA Hole geometry for this object too Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No ;FactoryExtraBibWidth= 1.0 ; extra placement border. Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleSupplyStash Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBSupply_R ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED RUBBLE Model = UBSupply_R ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke End End End ;------------------------------------------------------------------------------ Object Demo_FakeGLASupplyStash ; *** ART Parameters *** SelectPortrait = SUSupplyCenter_L ButtonImage = SUSupplyCenter ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBSupply ParticleSysBone = Smoke01 SteamVent Animation = UBSupply.UBSupply AnimationMode = LOOP End ConditionState = DAMAGED Model = UBSupply_D ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBSupply_E ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED Model = UBSpplyEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG.UBSpplyEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBSpplyEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_D.UBSpplyEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBSpplyEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_E.UBSpplyEG_E AnimationMode = LOOP End ; SNOW ConditionState = SNOW Model = UBSupply_S ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBSupply_DS ParticleSysBone = Smoke01 SteamVent Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSupply_ES ParticleSysBone = Smoke01 SteamVent End ConditionState = GARRISONED SNOW Model = UBSpplyEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBSpplyEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DS.UBSpplyEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBSpplyEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ES.UBSpplyEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSupply_EN ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED NIGHT Model = UBSpplyEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_N.UBSpplyEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBSpplyEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DN.UBSpplyEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBSpplyEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_EN.UBSpplyEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBSupply_ENS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke ParticleSysBone = Smoke06 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire02 SmolderingFire ParticleSysBone = Fire03 SmolderingFire End ConditionState = GARRISONED SNOW NIGHT Model = UBSpplyEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_S.UBSpplyEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_DNS.UBSpplyEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW NIGHT Model = UBSpplyEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBSpplyEG_ENS.UBSpplyEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply Animation = UBSupply.UBSupply AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBSupply_D Animation = UBSupply_D.UBSupply_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBSupply_E ;Animation = UBSupply_E.UBSupply_E ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBSupply_N Animation = UBSupply_N.UBSupply_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBSupply_DN Animation = UBSupply_DN.UBSupply_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBSupply_EN ;Animation = UBSupply_EN.UBSupply_EN ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBSupply_S Animation = UBSupply_S.UBSupply_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBSupply_DS Animation = UBSupply_DS.UBSupply_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBSupply_ES ;Animation = UBSupply_ES.UBSupply_ES ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBSupply_NS Animation = UBSupply_NS.UBSupply_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBSupply_DNS Animation = UBSupply_DNS.UBSupply_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBSupply_ENS ;Animation = UBSupply_ENS.UBSupply_ENS ;AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A4 Animation = UBSupply_A4.UBSupply_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A4N Animation = UBSupply_A4N.UBSupply_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A4S Animation = UBSupply_A4S.UBSupply_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A4SN Animation = UBSupply_A4SN.UBSupply_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBSupply_A6 Animation = UBSupply_A6.UBSupply_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBSupply_A6N Animation = UBSupply_A6N.UBSupply_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBSupply_A6S Animation = UBSupply_A6S.UBSupply_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBSupply_A6SN Animation = UBSupply_A6SN.UBSupply_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:SupplyStash Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLACommandCenter End BuildCost = 375 BuildTime = 5.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLASupplyStashCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = SupplyCenterGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 250.0 InitialHealth = 250.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 450 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_SmallStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = AIUpdateInterface ModuleTag_11 AutoAcquireEnemiesWhenIdle = No End Behavior = SlowDeathBehavior ModuleTag_12 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_13 ReplaceObject = Demo_GLASupplyStash TriggeredBy = Upgrade_BecomeRealGLASupplyStash End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ;Dont forget to edit the GLA Hole geometry for this object too Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 35.0 GeometryHeight = 30.0 GeometryIsSmall = No ;FactoryExtraBibWidth= 1.0 ; extra placement border. Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 105 ShadowSizeY = 105 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;GLA Barracks Object Demo_GLABarracks ; *** ART Parameters *** SelectPortrait = SUBarracks_L ButtonImage = SUBarracks ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBARRACKS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks.UBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = UBBarracks_D ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBBarracks_E ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBBarrksEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG.UBBarrksEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBarrksEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_D.UBBarrksEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBarrksEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_E.UBBarrksEG_E AnimationMode = LOOP End ; day ConditionState = SNOW Model = UBBARRACKS_S ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBBarracks_DS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBarracks_ES ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBBarrksEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_S.UBBarrksEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBarrksEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DS.UBBarrksEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBarrksEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ES.UBBarrksEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBARRACKS_N ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBBarracks_DN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBarracks_EN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBBarrksEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_N.UBBarrksEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBarrksEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DN.UBBarrksEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBarrksEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_EN.UBBarrksEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBARRACKS_NS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBBarracks_DNS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBarracks_ENS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBBarrksEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_NS.UBBarrksEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DNS.UBBarrksEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ENS.UBBarrksEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks Animation = UBBarracks.UBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBarracks_D Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBarracks_E Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBarracks_N Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBarracks_DN Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBarracks_EN Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBarracks_S Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBarracks_DS Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBarracks_ES Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBarracks_NS Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBarracks_DNS Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBarracks_ENS Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke ParticleSysBone = Smoke06 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke ParticleSysBone = Smoke06 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = GLADemolitionGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLABarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY None Weapon = SECONDARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level Prerequisites ; Object = Demo_GLASupplyStash End ; *** AUDIO Parameters *** VoiceSelect = BarracksGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BARRACKS Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = HealContain ModuleTag_05 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleBarracks HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 42.0 Y: 0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_16 ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End ;I have just pulled my ripcord, and this ain't no parachute! Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = CommandSetUpgrade ModuleTag_18 TriggeredBy = Upgrade_GLAWorkerFakeCommandSet RemovesUpgrades = Upgrade_GLAWorkerRealCommandSet CommandSet = Demo_GLAWorkerFakeBuildingsCommandSet End Behavior = CommandSetUpgrade ModuleTag_19 TriggeredBy = Upgrade_GLAWorkerRealCommandSet RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet CommandSet = Demo_GLAWorkerCommandSet End Geometry = BOX GeometryMajorRadius = 42.0 GeometryMinorRadius = 52.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ;Fake GLA Barracks Object Demo_FakeGLABarracks ; *** ART Parameters *** SelectPortrait = SUBarracks_L ButtonImage = SUBarracks ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBBARRACKS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks.UBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = UBBarracks_D ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBBarracks_E ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBBarrksEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG.UBBarrksEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBBarrksEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_D.UBBarrksEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBBarrksEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_E.UBBarrksEG_E AnimationMode = LOOP End ; day ConditionState = SNOW Model = UBBARRACKS_S ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBBarracks_DS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Flame01 FireFactionMedium Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBBarracks_ES ParticleSysBone = Smoke01 ChimneySmokeSmall ; ParticleSysBone = Smoke02 SteamVent ; ParticleSysBone = Smoke03 SmokeFactionMedium ; ParticleSysBone = Smoke04 SmokeFactionLarge ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Flame01 FireFactionMedium ; ParticleSysBone = Flame02 FireFactionLarge Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBBarrksEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_S.UBBarrksEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBBarrksEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DS.UBBarrksEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBBarrksEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ES.UBBarrksEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBBARRACKS_N ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBBarracks_DN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBBarracks_EN ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBBarrksEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_N.UBBarrksEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBBarrksEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DN.UBBarrksEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBBarrksEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_EN.UBBarrksEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBBARRACKS_NS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBBarracks_DNS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Flame01 GLAPowerPlantFlame Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBBarracks_ENS ParticleSysBone = Smoke01 ChimneySmokeSmall ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Smoke03 GLAPowerPlantSmoke ParticleSysBone = Smoke04 GLAPowerPlantSmoke ParticleSysBone = Smoke05 GLAPowerPlantSmoke ParticleSysBone = Flame01 FireSmallContinuous ParticleSysBone = Flame02 GLAPowerPlantFlame Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBBarrksEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_NS.UBBarrksEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_DNS.UBBarrksEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBBarrksEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBBarrksEG_ENS.UBBarrksEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks Animation = UBBarracks.UBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBBarracks_D Animation = UBBarracks_D.UBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBBarracks_E Animation = UBBarracks_E.UBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBBarracks_N Animation = UBBarracks_N.UBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBBarracks_DN Animation = UBBarracks_DN.UBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBBarracks_EN Animation = UBBarracks_EN.UBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBBarracks_S Animation = UBBarracks_S.UBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBBarracks_DS Animation = UBBarracks_DS.UBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBBarracks_ES Animation = UBBarracks_ES.UBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBBarracks_NS Animation = UBBarracks_NS.UBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBBarracks_DNS Animation = UBBarracks_DNS.UBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBBarracks_ENS Animation = UBBarracks_ENS.UBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A4 Animation = UBBarracks_A4.UBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A4N Animation = UBBarracks_A4N.UBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A4S Animation = UBBarracks_A4S.UBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A4SN Animation = UBBarracks_A4SN.UBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke ParticleSysBone = Smoke06 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke ParticleSysBone = Smoke06 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke ParticleSysBone = Smoke06 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBBarracks_A6 Animation = UBBarracks_A6.UBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBBarracks_A6N Animation = UBBarracks_A6N.UBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBBarracks_A6S Animation = UBBarracks_A6S.UBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBBarracks_A6SN Animation = UBBarracks_A6SN.UBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLACommandCenter End BuildCost = 125 BuildTime = 5.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLABarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 25 25 25 25 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BarracksGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_04 MaxHealth = 125.0 InitialHealth = 125.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 325 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = AIUpdateInterface ModuleTag_06 AutoAcquireEnemiesWhenIdle = No End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 ; nothing End Behavior = FlammableUpdate ModuleTag_11 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_12 ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = SlowDeathBehavior ModuleTag_13 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_14 ReplaceObject = Demo_GLABarracks TriggeredBy = Upgrade_BecomeRealGLABarracks End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Geometry = BOX GeometryMajorRadius = 42.0 GeometryMinorRadius = 52.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 120 ShadowSizeY = 110 BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleBarracks Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBBarracks_R ParticleSysBone = FLame01 FireSmallContinuous ParticleSysBone = Flame02 FireSmallContinuous ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED Model = UBBarracks_R ParticleSysBone = FLame01 FireSmallContinuous ParticleSysBone = Flame02 FireSmallContinuous ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke02 SmolderingSmoke ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke05 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;GLA Arms Dealer Object Demo_GLAArmsDealer ; *** ART Parameters *** SelectPortrait = SUArmsDealer_L ButtonImage = SUArmsDealer ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----------------- Main Building ------------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBArmDlEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG.UBArmDlEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBArmDlEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_D.UBArmDlEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBArmDlEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_E.UBArmDlEG_E AnimationMode = LOOP End ; snow ConditionState = SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED SNOW Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBArmDlEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_S.UBArmDlEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBArmDlEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DS.UBArmDlEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBArmDlEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ES.UBArmDlEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBArmDlEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_N.UBArmDlEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBArmDlEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DN.UBArmDlEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBArmDlEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_EN.UBArmDlEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT SNOW Model = UBArmDlEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_NS.UBArmDlEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DNS.UBArmDlEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ENS.UBArmDlEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4S Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A4SN ; @todo srj -- anim missing Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the door ----------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:ArmsDealer Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLASupplyStash End BuildCost = 2500 BuildTime = 15.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLAArmsDealerCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ArmorSet Conditions = PLAYER_UPGRADE Armor = GLAUpgradedStructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 200 200 200 200 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD CAPTURABLE FS_TECHNOLOGY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_FACTORY FS_WARFACTORY Body = StructureBody ModuleTag_05 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 2200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ArmorUpgrade ModuleTag_Armor01 TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = RebuildHoleExposeDie ModuleTag_06 HoleName = GLAHoleArmsDealer HoleMaxHealth = 500.0 End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = ProductionUpdate ModuleTag_10 NumDoorAnimations = 1 DoorOpeningTime = 2000 ;in mSeconds DoorWaitOpenTime = 3000 ;in mSeconds DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 1500 ;in mSeconds End Behavior = DefaultProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: -20.0 Y:-15.0 Z:0.0 NaturalRallyPoint = X: 40.0 Y:-15.0 Z:0.0 ;NaturalRallyPointX must always match GeometryMajorRadius! -ML End Behavior = RepairDockUpdate ModuleTag_12 TimeForFullHeal = 5000 ;(in milliseconds) NumberApproachPositions = 5 End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 40.0 GeometryMinorRadius = 62.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAHoleArmsDealer Demo_GLAHole Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UBHole End ConditionState = DAMAGED Model = UBHole_D ParticleSysBone = Smoke01 SteamVent End ConditionState = REALLYDAMAGED Model = UBHole_E ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Smoke02 SteamVent ParticleSysBone = Fire01 GLAPowerPlantFlame ParticleSysBone = Fire02 GLAPowerPlantFlame ParticleSysBone = Fire03 GLAPowerPlantFlame End End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes ConditionState = NONE Model = UBArmDeal_R ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End ConditionState = DAMAGED REALLYDAMAGED Model = UBArmDeal_R ParticleSysBone = Smoke04 SmolderingSmoke ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Smoke03 SmolderingSmoke End End End ;------------------------------------------------------------------------------ ;GLA Arms Dealer Object Demo_FakeGLAArmsDealer ; *** ART Parameters *** SelectPortrait = SUArmsDealer_L ButtonImage = SUArmsDealer ; UpgradeCameo1 = Upgrade_GLAFortifiedStructure ; ----------------- Main Building ------------------- Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED Model = UBArmDlEG ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG.UBArmDlEG AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBArmDlEG_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_D.UBArmDlEG_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBArmDlEG_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_E.UBArmDlEG_E AnimationMode = LOOP End ; snow ConditionState = SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ;damaged ConditionState = DAMAGED SNOW Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmolderingSmoke ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 SmolderingFire ; ParticleSysBone = Fire06 SmolderingFire End ;really damaged ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ; ParticleSysBone = Smoke02 SmolderingSmoke ; ParticleSysBone = Smoke03 SmolderingSmoke ; ParticleSysBone = Smoke04 SmolderingSmoke ; ParticleSysBone = Smoke05 SmokeFactionLarge ; ParticleSysBone = Smoke06 SmolderingSmoke ; ParticleSysBone = Smoke07 SmolderingSmoke ; ParticleSysBone = Fire02 SmolderingFire ; ParticleSysBone = Fire03 SmolderingFire ; ParticleSysBone = Fire04 SmolderingFire ; ParticleSysBone = Fire05 FireFactionLarge ; ParticleSysBone = Fire06 SmolderingFire ; ParticleSysBone = Fire07 SmolderingFire End ConditionState = GARRISONED SNOW Model = UBArmDlEG_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_S.UBArmDlEG_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBArmDlEG_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DS.UBArmDlEG_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBArmDlEG_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ES.UBArmDlEG_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT Model = UBArmDlEG_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_N.UBArmDlEG_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBArmDlEG_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DN.UBArmDlEG_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBArmDlEG_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_EN.UBArmDlEG_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Steam01 SteamVent End ConditionState = DAMAGED NIGHT SNOW Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke End ConditionState = GARRISONED NIGHT SNOW Model = UBArmDlEG_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_NS.UBArmDlEG_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_DNS.UBArmDlEG_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBArmDlEG_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBArmDlEG_ENS.UBArmDlEG_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal Animation = UBArmDeal.UBArmDeal AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_D Animation = UBArmDeal_D.UBArmDeal_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_E Animation = UBArmDeal_E.UBArmDeal_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBArmDeal_N Animation = UBArmDeal_N.UBArmDeal_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBArmDeal_DN Animation = UBArmDeal_DN.UBArmDeal_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBArmDeal_EN Animation = UBArmDeal_EN.UBArmDeal_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBArmDeal_S Animation = UBArmDeal_S.UBArmDeal_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBArmDeal_DS Animation = UBArmDeal_DS.UBArmDeal_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBArmDeal_ES Animation = UBArmDeal_ES.UBArmDeal_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBArmDeal_NS Animation = UBArmDeal_NS.UBArmDeal_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBArmDeal_DNS Animation = UBArmDeal_DNS.UBArmDeal_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBArmDeal_ENS Animation = UBArmDeal_ENS.UBArmDeal_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD AliasConditionState = GARRISONED SOLD DAMAGED AliasConditionState = GARRISONED SOLD REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT AliasConditionState = GARRISONED SOLD NIGHT DAMAGED AliasConditionState = GARRISONED SOLD NIGHT REALLYDAMAGED AliasConditionState = GARRISONED SOLD SNOW AliasConditionState = GARRISONED SOLD SNOW DAMAGED AliasConditionState = GARRISONED SOLD SNOW REALLYDAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW AliasConditionState = GARRISONED SOLD NIGHT SNOW DAMAGED AliasConditionState = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4S Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A4SN ; @todo srj -- anim missing Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A4 Animation = UBArmDeal_A4.UBArmDeal_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A4N Animation = UBArmDeal_A4N.UBArmDeal_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A4S ; @todo srj -- anim missing Animation = UBArmDeal_A4S.UBArmDeal_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A4SN Animation = UBArmDeal_A4SN.UBArmDeal_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArmDeal_A6 Animation = UBArmDeal_A6.UBArmDeal_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBArmDeal_A6N Animation = UBArmDeal_A6N.UBArmDeal_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBArmDeal_A6S Animation = UBArmDeal_A6S.UBArmDeal_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBArmDeal_A6SN Animation = UBArmDeal_A6SN.UBArmDeal_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ----------------- the door ----------------------- Draw = W3DModelDraw ModuleTag_04 DefaultConditionState Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT AliasConditionState = SNOW AliasConditionState = NIGHT SNOW ConditionState = DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DAMAGED AliasConditionState = SNOW DAMAGED AliasConditionState = SNOW NIGHT DAMAGED ConditionState = REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_FIRST End AliasConditionState = NIGHT REALLYDAMAGED RUBBLE AliasConditionState = SNOW REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE ConditionState = DOOR_1_OPENING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING AliasConditionState = SNOW DOOR_1_OPENING AliasConditionState = SNOW NIGHT DOOR_1_OPENING ConditionState = DOOR_1_OPENING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED AliasConditionState = SNOW DOOR_1_OPENING DAMAGED AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED ConditionState = DOOR_1_OPENING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE Flags = START_FRAME_FIRST End AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_CLOSING Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING AliasConditionState = SNOW DOOR_1_CLOSING AliasConditionState = SNOW NIGHT DOOR_1_CLOSING ConditionState = DOOR_1_CLOSING DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED ConditionState = DOOR_1_CLOSING REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE ConditionState = DOOR_1_WAITING_OPEN Model = UBArmDeal_A7 Animation = UBArmDeal_A7.UBArmDeal_A7 AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN AliasConditionState = SNOW DOOR_1_WAITING_OPEN AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN ConditionState = DOOR_1_WAITING_OPEN DAMAGED Model = UBArmDeal_A7D Animation = UBArmDeal_A7D.UBArmDeal_A7D AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED ConditionState = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE Model = UBArmDeal_A7E Animation = UBArmDeal_A7E.UBArmDeal_A7E AnimationMode = MANUAL Flags = START_FRAME_LAST End AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArmDeal_A7 Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArmDeal_A7D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArmDeal_A7E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW AliasConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:ArmsDealer Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLASupplyStash End BuildCost = 625 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = FakeGLAArmsDealerCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 50 50 50 50 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE Body = StructureBody ModuleTag_05 MaxHealth = 500.0 InitialHealth = 500.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureMediumDeath End Behavior = AIUpdateInterface ModuleTag_10 AutoAcquireEnemiesWhenIdle = No End Behavior = ProductionUpdate ModuleTag_11 ; nothing End Behavior = SlowDeathBehavior ModuleTag_12 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 0 Weapon = FINAL FakeStructureDetonationWeapon End Behavior = DestroyDie ModuleTag_SlowDeathException RequiredStatus = UNDER_CONSTRUCTION End Behavior = ReplaceObjectUpgrade ModuleTag_13 ReplaceObject = Demo_GLAArmsDealer TriggeredBy = Upgrade_BecomeRealGLAArmsDealer End Behavior = ModelConditionUpgrade ModuleTag_Armor01Visual ConditionFlag = GARRISONED TriggeredBy = Upgrade_GLAFortifiedStructure End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 40.0 GeometryMinorRadius = 62.0 GeometryHeight = 25.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure. ShadowSizeX = 127 ShadowSizeY = 144 BuildCompletion = PLACED_BY_PLAYER End ; ----------------------------------------------------------------------------- Object Demo_GLASneakAttackTunnelNetworkStart ; *** ART Parameters *** SelectPortrait = SUTunnel_L ButtonImage = SUTunnel Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***NONE ConditionState = NONE Model = UBSNKATK_1ANM Animation = UBSNKATK_1ANM.UBSNKATK_1ANM AnimationMode = ONCE ParticleSysBone = DIRT SneakAttackCrackDust ;;;ParticleSysBone = DIRT SneakAttackDirt ;steveM commented out 8.4.03 ParticleSysBone = DIRT SneakAttackCrackDust1 ParticleSysBone = DIRT SneakAttackDebris ParticleSysBone = DIRT SneakAttackDebris0 ParticleSysBone = DIRT SneakAttackDebris1 ParticleSysBone = DIRT SneakAttackCrackDust0 ParticleSysBone = DIRT SneakAttackSteamVent End ; ConditionState ; Model = UBSNKATK_1ANM ; Animation = UBSNKATK_1ANM.UBSNKATK_1ANM ; AnimationMode = ONCE ; End ConditionState = DAMAGED Model = UBSNATK_E ParticleSysBone = DIRT SneakAttackCrackDust ParticleSysBone = DIRT SneakAttackDirt ParticleSysBone = DIRT SneakAttackCrackDust1 ParticleSysBone = DIRT SneakAttackDebris ParticleSysBone = DIRT SneakAttackDebris0 ParticleSysBone = DIRT SneakAttackDebris1 ParticleSysBone = DIRT SneakAttackCrackDust0 ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = REALLYDAMAGED RUBBLE Model = UBSNATK_R End ConditionState = SNOW Model = UBSNATK_Sanm Animation = UBSNATK_Sanm.UBSNATK_Sanm AnimationMode = ONCE ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = DAMAGED SNOW Model = UBSNATK_ES ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSNATK_RS ParticleSysBone = DIRT SneakAttackCrackDustSnow ParticleSysBone = DIRT SneakAttackDirtSnow ParticleSysBone = DIRT SneakAttackCrackDust1Snow ParticleSysBone = DIRT SneakAttackDebrisSnow ParticleSysBone = DIRT SneakAttackDebris0Snow ParticleSysBone = DIRT SneakAttackDebris1Snow ParticleSysBone = DIRT SneakAttackCrackDust0Snow ParticleSysBone = DIRT SneakAttackSteamVent End ConditionState = NIGHT Model = UBSNKATK_1ANM Animation = UBSNKATK_1ANM.UBSNKATK_1ANM AnimationMode = ONCE End ConditionState = DAMAGED NIGHT Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSNATK_R End ConditionState = SNOW NIGHT Model = UBSNATK_Sanm Animation = UBSNATK_Sanm.UBSNATK_Sanm AnimationMode = ONCE End ConditionState = DAMAGED SNOW NIGHT Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBSNATK_RS End End PlacementViewAngle = -44 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites ;None End EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = DamageFX_Empty End ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE IMMOBILE IMMUNE_TO_CAPTURE Body = ActiveBody ModuleTag_04 MaxHealth = 99999.0 InitialHealth = 99999.0 End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_CreateSneakAttackTunnel End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = LifetimeUpdate ModuleTag_16 MinLifetime = 5000 ; min lifetime in msec MaxLifetime = 5000 ; max lifetime in msec End Behavior = FireWeaponUpdate ModuleTag_17 Weapon = SneakAttackShockwaveWeaponSmall InitialDelay = 10; End Behavior = FireWeaponUpdate ModuleTag_18 Weapon = SneakAttackShockwaveWeaponBig InitialDelay = 1000; End Behavior = FireWeaponUpdate ModuleTag_19 Weapon = SneakAttackShockwaveWeaponBig InitialDelay = 2500; End ; IMPORTANT: DO NOT GIVE THIS OBJECT ANY EXTENTS -ML Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExtraBibWidth = 25.0 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ; ----------------------------------------------------------------------------- Object Demo_GLASneakAttackTunnelNetwork ; *** ART Parameters *** SelectPortrait = SUSneakAttack_L ButtonImage = SUSneakAttack Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;***DEFAULT ;DefaultConditionState ConditionState Model = UBSNATK_1 End ConditionState = DAMAGED Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE Model = UBSNATK_R ;ParticleSysBone = Mound SteamVent End ConditionState = SNOW Model = UBSNATK_S End ConditionState = DAMAGED SNOW Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBSNATK_RS ;ParticleSysBone = Mound SteamVent End ConditionState = NIGHT Model = UBSNATK_N End ConditionState = DAMAGED NIGHT Model = UBSNATK_E End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBSNATK_R ;ParticleSysBone = Mound SteamVent End ConditionState = SNOW NIGHT Model = UBSNATK_NS End ConditionState = DAMAGED SNOW NIGHT Model = UBSNATK_ES End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBSNATK_RS ;ParticleSysBone = Mound SteamVent End End PlacementViewAngle = -44 ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelNetwork Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites ;None End EnergyProduction = 0 VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 WeaponSet Conditions = None Weapon = PRIMARY TunnelNetworkGunDUMMY ;So AI can attack from it in guard mode. End ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End CommandSet = GLASneakAttackTunnelCommandSet ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = TunnelNetworkSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy SoundEnter = GarrisonEnter SoundExit = GarrisonExit ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT Body = StructureBody ModuleTag_04 MaxHealth = 1000.0 InitialHealth = 1000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = StealthDetectorUpdate ModuleTag_13 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 150 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = TunnelContain ModuleTag_05 TimeForFullHeal = 5000 ;(in milliseconds) End Behavior = AIUpdateInterface ModuleTag_AI Turret TurretTurnRate = 180 // turn rate, in degrees per sec ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon End ;Kris: Removed this module because units exiting the container would extract information from ;the wrong exit interface. Because TunnelContain has the proper information for exiting properly ;we don't need this one. Plus sneak attack tunnels don't produce units anyway. ;Behavior = DefaultProductionExitUpdate ModuleTag_06 ; UnitCreatePoint = X: 5.0 Y: 0.0 Z:0.0 ; NaturalRallyPoint = X: 35.0 Y: 0.0 Z:0.0 ;End Behavior = DestroyDie ModuleTag_10 ;nothing End Behavior = CreateObjectDie ModuleTag_11 CreationList = OCL_ABTunnelNetworkDebris End Behavior = FXListDie ModuleTag_12 DeathFX = FX_StructureSmallDeath End Behavior = FlammableUpdate ModuleTag_15 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_17 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No FactoryExtraBibWidth = 25.0 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ Object Demo_GLAInfantryRebel ; *** ART Parameters *** SelectPortrait = SURebel_L ButtonImage = SURebel UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_GLACamouflage UpgradeCameo3 = Upgrade_InfantryCaptureBuilding ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ---- standing DefaultConditionState Model = UIRGrd_SKN IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35 IdleAnimation = UIRGrd_SKL.UIRGrd_IDA IdleAnimation = UIRGrd_SKL.UIRGrd_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Standing End ConditionState = REALLYDAMAGED IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35 IdleAnimation = UIRGrd_SKL.UIRGrd_IDC IdleAnimation = UIRGrd_SKL.UIRGrd_IDD AnimationMode = ONCE TransitionKey = TRANS_StandingHurt End ; ---- moving ConditionState = MOVING Animation = UIRGrd_SKL.UIRGrd_RNA 15 AnimationMode = LOOP TransitionKey = TRANS_Walking ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = UIRGrd_SKL.UIRGrd_RNB 25 AnimationMode = LOOP TransitionKey = TRANS_WalkingHurt ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING REALLYDAMAGED ; ---- dying ConditionState = DYING Animation = UIRGrd_SKL.UIRGrd_DTA Animation = UIRGrd_SKL.UIRGrd_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIRGrd_SKL.UIRGrd_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIRGrd_SKL.UIRGrd_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIRGrd_SKL.UIRGrd_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIRGrd_SKL.UIRGrd_IDB End ; ---- firing ConditionState = USING_WEAPON_A Animation = UIRGrd_SKL.UIRGrd_ATA AnimationMode = LOOP TransitionKey = TRANS_Firing End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = UIRGrd_SKL.UIRGrd_ATA2 AnimationMode = LOOP TransitionKey = TRANS_FiringHurt End TransitionState = TRANS_Standing TRANS_Firing Animation = UIRGrd_SKL.UIRGrd_ATAST AnimationMode = ONCE End TransitionState = TRANS_Firing TRANS_Standing Animation = UIRGrd_SKL.UIRGrd_ATAED AnimationMode = ONCE End TransitionState = TRANS_StandingHurt TRANS_FiringHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE_BACKWARDS End TransitionState = TRANS_FiringHurt TRANS_StandingHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE End TransitionState = TRANS_Standing TRANS_StandingHurt Animation = UIRGrd_SKL.UIRGrd_ATA2ED AnimationMode = ONCE End ; ------- Bldg-capture ConditionState = UNPACKING Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = UIRGrd_F_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Rebel Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLARebelMachineGun Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Demo_GLABarracks End BuildCost = 150 BuildTime = 5.0 ;in seconds ExperienceValue = 15 15 30 40 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryRebelCommandSet ; *** AUDIO Parameters *** VoiceSelect = RebelVoiceSelect VoiceMove = RebelVoiceMove VoiceGuard = RebelVoiceMove VoiceAttack = RebelVoiceAttack SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = RebelVoiceFear VoiceTaskComplete = RebelVoiceCaptureComplete UnitSpecificSounds VoiceCreate = RebelVoiceCreate VoiceSubdue = RebelVoiceSubdue VoiceGarrison = RebelVoiceGarrison VoiceEnter = RebelVoiceMove VoiceEnterHostile = RebelVoiceMove VoiceGetHealed = RebelVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = ATTACKING USING_ABILITY MoveThresholdSpeed = 3 InnateStealth = No ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = WeaponBonusUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLAAPBullets End Behavior = StealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_GLACamouflage End Behavior = SquishCollide ModuleTag_11 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_16 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_17 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = RebelVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 12 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = SpecialAbility ModuleTag_20 SpecialPowerTemplate = SpecialAbilityBoobyTrap UpdateModuleStartsAttack = Yes StartsPaused = Yes ; InitiateSound = TankHunterVoiceTNT End Behavior = SpecialAbilityUpdate ModuleTag_21 SpecialPowerTemplate = SpecialAbilityBoobyTrap StartAbilityRange = 5.0 PreparationTime = 0 SpecialObject = BoobyTrap MaxSpecialObjects = 100 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. ; Not implemented UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_22 SpecialPowerTemplate = SpecialAbilityBoobyTrap TriggeredBy = Upgrade_GLAInfantryRebelBoobyTrapAttack End ; Module 23 commented out because it crashes saved games if the Rebel is Elite. GrantUpgradeCreate is a twitchy module. ; Behavior = GrantUpgradeCreate ModuleTag_23 ; UpgradeToGrant = Upgrade_GLAInfantryRebelBoobyTrapAttack ; ExemptStatus = UNDER_CONSTRUCTION ; End ; I have just pulled my ripcord, and this ain't no parachute! Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Demo_GLAInfantryRebelCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;---------------------------------------------------------------------------- Object Demo_GLAInfantryJarmenKell ; *** ART Parameters *** SelectPortrait = SUJermanKell1_L ;NOTE: Asset spelling mistake ButtonImage = SUJermanKell1 UpgradeCameo1 = Upgrade_GLAAPBullets ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; --- idle DefaultConditionState Model = UIHERO_SKN IdleAnimation = UIHERO_SKL.UIHERO_STA 0 21 IdleAnimation = UIHERO_SKL.UIHERO_IDA IdleAnimation = UIHERO_SKL.UIHERO_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = UIHERO_SKL.UIHERO_ISTA 0 30 IdleAnimation = UIHERO_SKL.UIHERO_IIDA IdleAnimation = UIHERO_SKL.UIHERO_IIDB AnimationMode = ONCE TransitionKey = TRANS_StandInjured End TransitionState = TRANS_Stand TRANS_StandInjured Animation = UIHERO_SKL.UIHERO_ISTAHIT AnimationMode = ONCE End ; --- attack ConditionState = FIRING_A Animation = UIHERO_SKL.UIHERO_ATA AnimationMode = ONCE TransitionKey = TRANS_FiringA AnimationSpeedFactorRange = 1.5 1.5 End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIHERO_SKL.UIHERO_STA AnimationMode = ONCE WaitForStateToFinishIfPossible = TRANS_FiringA End AliasConditionState = RELOADING_A ConditionState = FIRING_A REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IATA2 AnimationMode = ONCE TransitionKey = TRANS_FiringAInjured AnimationSpeedFactorRange = 1.5 1.5 End ConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IATA2 AnimationMode = MANUAL Flags = START_FRAME_LAST WaitForStateToFinishIfPossible = TRANS_FiringAInjured End AliasConditionState = RELOADING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_FiringAInjured Animation = UIHERO_SKL.UIHERO_IATAHIT AnimationMode = ONCE End ; --- moving ConditionState = MOVING Animation = UIHERO_SKL.UIHERO_RNA2 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING DOCKING AliasConditionState = MOVING DOCKING_BEGINNING AliasConditionState = MOVING DOCKING_ACTIVE ConditionState = MOVING REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_IRNA 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING FIRING_A REALLYDAMAGED AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = MOVING RELOADING_A REALLYDAMAGED ; --- cheering ConditionState = SPECIAL_CHEERING Animation = UIHERO_SKL.UIHERO_CHA AnimationMode = LOOP End ConditionState = SPECIAL_CHEERING REALLYDAMAGED Animation = UIHERO_SKL.UIHERO_ICHA AnimationMode = LOOP End ; --- dying ConditionState = DYING Animation = UIHERO_SKL.UIHERO_DTA Animation = UIHERO_SKL.UIHERO_DTB Animation = UIHERO_SKL.UIHERO_IDTA Animation = UIHERO_SKL.UIHERO_IDTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIHERO_SKL.UIHERO_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIHERO_SKL.UIHERO_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIHERO_SKL.UIHERO_ADTG23 AnimationMode = ONCE TransitionKey = None End ; --- falling ConditionState = FREEFALL Animation = UIHERO_SKL.UIHERO_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = UIHERO_SKL.UIHERO_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = UIHERO_SKL.UIHERO_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UIHERO_SKL.UIHERO_PTD AnimationMode = ONCE End TransitionState = TRANS_Chute TRANS_StandInjured Animation = UIHERO_SKL.UIHERO_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:JarmenKell Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) MaxSimultaneousOfType = 1 WeaponSet Conditions = None Weapon = PRIMARY GLAJarmenKellRifle Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = Demo_GLABarracks Object = Demo_GLAPalace End BuildCost = 1500 BuildTime = 20.0 ;in seconds ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryJarmenKellCommandSet ; *** AUDIO Parameters *** VoiceSelect = DemoKellVoiceSelect VoiceMove = JarmenKellVoiceMove VoiceGuard = JarmenKellVoiceMove VoiceAttack = JarmenKellVoiceAttack VoiceFear = JarmenKellVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = DemoKellVoiceCreate VoiceSnipePilot = JarmenKellVoiceSnipe VoiceGarrison = JarmenKellVoiceGarrison VoiceEnter = JarmenKellVoiceMove VoiceEnterHostile = JarmenKellVoiceMove VoiceGetHealed = JarmenKellVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 200.0 InitialHealth = 200.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL JarmenKellLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = StealthDetectorUpdate ModuleTag_StealthDetect DetectionRate = 750 ;How often to rescan for stealthed things in my sight (msec) DetectionRange = 150 ;Enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = StealthUpdate ModuleTag_06 StealthDelay = 2000 ; msec StealthForbiddenConditions = ATTACKING InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes EnemyDetectionEvaEvent = EnemyJarmenKellDetected OwnDetectionEvaEvent = OwnJarmenKellDetected End Behavior = CommandButtonHuntUpdate ModuleTag_07 ; allows use of command button hunt script with this unit. End Behavior = WeaponBonusUpgrade ModuleTag_08 TriggeredBy = Upgrade_GLAAPBullets End ;Hero units can't be squished! ;Behavior = SquishCollide ModuleTag_09 ; ;nothing ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_JarmenKellDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_JarmenKellDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death15 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_17 CommandSet = Demo_GLAInfantryJarmenKellCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Behavior = SpecialAbility ModuleTag_18 SpecialPowerTemplate = Demo_SpecialAbilityKellRemoteCharges UpdateModuleStartsAttack = Yes InitiateSound = DemoKellVoiceAttackDemo End Behavior = SpecialAbilityUpdate ModuleTag_19 SpecialPowerTemplate = Demo_SpecialAbilityKellRemoteCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = RemoteC4Charge MaxSpecialObjects = 8 SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate). AlwaysValidateSpecialObjects = Yes ;Coupled with the above setting, this one is necessary for code optimization. SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge PackTime = 0 SkipPackingWithNoTarget = Yes ;When yes, the packing/unpacking will be ignored when detonating charges. FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = ColonelBurtonPlantCharge LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Behavior = SpecialAbility ModuleTag_20 SpecialPowerTemplate = Demo_SpecialAbilityDemoKellTimedCharges UpdateModuleStartsAttack = Yes InitiateSound = DemoKellVoiceAttackDemo End Behavior = SpecialAbilityUpdate ModuleTag_11 SpecialPowerTemplate = Demo_SpecialAbilityDemoKellTimedCharges StartAbilityRange = 0.0 PreparationTime = 0 SpecialObject = TimedC4Charge MaxSpecialObjects = 10 SpecialObjectsPersistWhenOwnerDies = Yes SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them. UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object. UnpackTime = 5500 ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge FlipOwnerAfterUnpacking = Yes FleeRangeAfterCompletion = 100.0 ;Runs away after finishing ability UnpackSound = DemoKellVoiceAttackDemo LoseStealthOnTrigger = Yes PreTriggerUnstealthTime = 5000 ; in milliseconds End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;Tunnel Fanatic ;Now called the RPG Trooper Object Demo_GLAInfantryTunnelDefender ; *** ART Parameters *** SelectPortrait = SURPG_L ButtonImage = SURPG UpgradeCameo1 = Upgrade_GLAAPRockets ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UITunF_SKN IdleAnimation = UITunF_SKL.UITunF_STA 0 20 IdleAnimation = UITunF_SKL.UITunF_IDA IdleAnimation = UITunF_SKL.UITunF_IDB IdleAnimation = UITunF_SKL.UITunF_IDC AnimationMode = ONCE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = PRIMARY Muzzle End ConditionState = MOVING Animation = UITunF_SKL.UITunF_WKA 16 Animation = UITunF_SKL.UITunF_WKB 30 Animation = UITunF_SKL.UITunF_WKC 30 Animation = UITunF_SKL.UITunF_RNA 15 Animation = UITunF_SKL.UITunF_RNB 25 AnimationMode = LOOP ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UITunF_SKL.UITunF_DTA Animation = UITunF_SKL.UITunF_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UITunF_SKL.UITunF_ADTA1 Animation = UITunF_SKL.UITunF_ADTE1 Animation = UITunF_SKL.UITunF_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UITunF_SKL.UITunF_ADTA2 Animation = UITunF_SKL.UITunF_ADTE2 Animation = UITunF_SKL.UITunF_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UITunF_SKL.UITunF_ADTA3 Animation = UITunF_SKL.UITunF_ADTE3 Animation = UITunF_SKL.UITunF_ADTF3 AnimationMode = ONCE TransitionKey = None End ConditionState = FIRING_A Animation = UITunF_SKL.UITunF_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UITunF_SKL.UITunF_STA AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = RELOADING_A ConditionState = SPECIAL_CHEERING Animation = UITUNF_SKL.UITUNF_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:TunnelDefender Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY DemoTunnelDefenderRocketWeapon Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 ; Prerequisites ; Object = Demo_GLATunnelNetwork ; End BuildCost = 300 BuildTime = 5.0 ;in seconds ExperienceValue = 20 20 40 60 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryTunnelDefenderCommandSet ; *** AUDIO Parameters *** VoiceSelect = RPGTrooperVoiceSelect VoiceMove = RPGTrooperVoiceMove VoiceGuard = RPGTrooperVoiceMove VoiceAttack = RPGTrooperVoiceAttack VoiceFear = RPGTrooperVoiceFear UnitSpecificSounds VoiceCreate = RPGTrooperVoiceCreate VoiceGarrison = RPGTrooperVoiceGarrison VoiceEnter = RPGTrooperVoiceMove VoiceEnterHostile = RPGTrooperVoiceMove VoiceGetHealed = RPGTrooperVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MissileDefenderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SquishCollide ModuleTag_06 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RPGTrooperDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RPGTrooperDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_12 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death13 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_15 CommandSet = Demo_GLAInfantryTunnelDefenderCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;***THESE UNITS ARE NOT SELECTABLE ANYMORE! To kill them, you must target ; the stinger site. If the weapon does particular types of damage, it'll ; kill guys inside first, then the site. Object Demo_GLAInfantryStingerSoldier ; *** ART Parameters *** SelectPortrait = SUStinger_L ButtonImage = SUStinger Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UISmsd_SKN IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45 IdleAnimation = UISmsd_SKL.UISmsd_IDA IdleAnimation = UISmsd_SKL.UISmsd_IDB IdleAnimation = UISmsd_SKL.UISmsd_IDC IdleAnimation = UISmsd_SKL.UISmsd_IDD AnimationMode = ONCE WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Exhaust WeaponLaunchBone = PRIMARY Muzzle WeaponFireFXBone = SECONDARY Exhaust WeaponLaunchBone = SECONDARY Muzzle WaitForStateToFinishIfPossible = TRANS_START_FIRING End AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = BETWEEN_FIRING_SHOTS_B AliasConditionState = RELOADING_A AliasConditionState = RELOADING_B ConditionState = MOVING Animation = UISmsd_SKL.UISmsd_WKB 25 AnimationMode = LOOP End ConditionState = DYING Animation = UISmsd_SKL.UISmsd_DTA Animation = UISmsd_SKL.UISmsd_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End TransitionState = TRANS_Dying TRANS_Flailing Animation = UISmsd_SKL.UISmsd_ADTF1 Animation = UISmsd_SKL.UISmsd_ADTG21 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UISmsd_SKL.UISmsd_ADTF2 Animation = UISmsd_SKL.UISmsd_ADTG22 AnimationMode = LOOP TransitionKey = TRANS_Flailing WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End ConditionState = DYING EXPLODED_BOUNCING Animation = UISmsd_SKL.UISmsd_ADTF3 Animation = UISmsd_SKL.UISmsd_ADTG23 AnimationMode = ONCE TransitionKey = None WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish End ConditionState = FIRING_A Animation = UISmsd_SKL.UISmsd_ATA AnimationMode = ONCE TransitionKey = TRANS_START_FIRING End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING RELOADING_A ConditionState = FIRING_B Animation = UISmsd_SKL.UISmsd_ATB AnimationMode = ONCE TransitionKey = TRANS_START_FIRINGB End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_B AliasConditionState = MOVING RELOADING_B ConditionState = SPECIAL_CHEERING Animation = UISMSD_SKL.UISMSD_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:StingerSoldier Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY StingerMissileWeapon AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY StingerMissileWeaponAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site. DamageFX = None End VisionRange = 400.0 ShroudClearingRange = 400 Prerequisites Object = Demo_GLABarracks End BuildCost = 100 BuildTime = 1.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryRebelCommandSet ; *** AUDIO Parameters *** VoiceSelect = StingerSoldierVoiceSelect VoiceMove = StingerSoldierVoiceMove VoiceAttack = StingerSoldierVoiceAttack ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH SPAWNS_ARE_THE_WEAPONS Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) DetectionRange = 200 ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Stealthed ATTACK_BUILDINGS MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SlavedUpdate ModuleTag_06 ;nothing End ; Behavior = ProneUpdate ModuleTag_07 ; DamageToFramesRatio = 5.0 ; I take 20 damage, I go prone for 100. For this guy, if any of my buds or my building take damage too (I have SlaveUpdate + ProneUpdate) Prone may get cut by itself though ; End Behavior = SquishCollide ModuleTag_08 ;nothing End ;Kris: Cut camo-netting from Demo General ;Behavior = StealthUpdate ModuleTag_09 ; StealthDelay = 2500 ; msec ; StealthForbiddenConditions = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE ; MoveThresholdSpeed = 3 ; InnateStealth = No ;Requires upgrade first ; OrderIdleEnemiesToAttackMeUponReveal = Yes ;End ;Behavior = StealthUpgrade ModuleTag_10 ; TriggeredBy = Upgrade_GLACamoNetting ;End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_StingerSoldierDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_StingerSoldierDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death15 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_17 CommandSet = Demo_GLAInfantryRebelCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14 ShadowSizeY = 14 ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Demo_GLAInfantryTerrorist ; *** ART Parameters *** SelectPortrait = SUTerrorist_L ButtonImage = SUTerrorist UpgradeCameo1 = Demo_Upgrade_SuicideBomb ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UITRST_SKN IdleAnimation = UITRST_SKL.UITRST_STA 0 25 ;Regular spice animations IdleAnimation = UITRST_SKL.UITRST_IDA IdleAnimation = UITRST_SKL.UITRST_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED Animation = UITRST_SKL.UITRST_STA AnimationMode = LOOP TransitionKey = TRANS_Stand End ConditionState = FREEFALL Animation = UITRST_SKL.UITRST_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = UITRST_SKL.UITRST_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING ConditionState = MOVING Animation = UITRST_SKL.UITRST_RNA 15 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING REALLYDAMAGED ConditionState = ATTACKING MOVING Animation = UITRST_SKL.UITRST_RNB 10 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None End AliasConditionState = ATTACKING MOVING REALLYDAMAGED ConditionState = PREATTACK_A Animation = UITRST_SKL.UITRST_ATA AnimationMode = ONCE End AliasConditionState = PREATTACK_A MOVING ConditionState = DYING Animation = UITRST_SKL.UITRST_DTA Animation = UITRST_SKL.UITRST_DTC AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UITRST_SKL.UITRST_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UITRST_SKL.UITRST_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UITRST_SKL.UITRST_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UITRST_SKL.UITRST_CHA AnimationMode = LOOP End TransitionState = TRANS_Falling TRANS_Chute Animation = UITRST_SKL.UITRST_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UITRST_SKL.UITRST_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Terrorist Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE ;damage to do ini logic for type of death to play -- unresistable for success. Weapon = PRIMARY TerroristSuicideWeapon End ArmorSet Conditions = None Armor = DemoGenTerroristArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 200 Prerequisites Object = Demo_GLABarracks End BuildCost = 200 BuildTime = 5.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryTerroristCommandSet ; *** AUDIO Parameters *** VoiceSelect = TerroristVoiceSelect VoiceMove = TerroristVoiceMove VoiceAttack = TerroristVoiceAttack VoiceFear = TerroristVoiceFear VoiceGuard = TerroristVoiceMove UnitSpecificSounds VoiceGarrison = TerroristVoiceMove VoiceCreate = TerroristVoiceCreate VoiceEnter = TerroristVoiceEnter VoiceEnterHostile = TerroristVoiceEnterHostile VoiceGetHealed = TerroristVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_CBH01 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL FastHumanLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End ;Kris Behavior = ConvertToCarBombCrateCollide ModuleTag_06 RequiredKindOf = VEHICLE ; we only give our bonus to VEHICLEs we collide with ;ForbiddenKindOf = TRANSPORT DOZER ; but not to TRANSPORTs or DOZERs! FXList = FX_MakeCarBombSuccess End Behavior = SquishCollide ModuleTag_07 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristDie End ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry_TerroristOnly End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta_TerroristOnly ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death77 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma_TerroristOnly End ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS ; I have just pulled my ripcord, and this ain't no parachute! Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death08 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryAngryMobNexus ;**** ART Parameters ************************** SelectPortrait = SUAngryMob_L ButtonImage = SUAngryMob UpgradeCameo1 = Upgrade_GLAArmTheMob ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = None ; Model = AVBomber_B End End ;****DESIGN parameters ************************** DisplayName = OBJECT:AngryMobNexus Side = GLADemolitionGeneral RadarPriority = NOT_ON_RADAR EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon End ArmorSet Conditions = None Armor = InvulnerableAllArmor DamageFX = None End BuildCost = 800 BuildTime = 15.0 ;in seconds VisionRange = 150 ; it can scout for the spawn ShroudClearingRange = 0 Prerequisites Object = Demo_GLABarracks Object = Demo_GLAPalace End ExperienceValue = 5 5 5 5 ;Experience point value at each level IsTrainable = No CommandSet = Demo_GLAInfantryAngryMobCommandSet; ;**** AUDIO Parameters ***************************** VoiceSelect = AngryMobVoiceSelect VoiceMove = AngryMobVoiceMove VoiceGuard = AngryMobVoiceMove VoiceAttack = AngryMobVoiceAttack SoundMoveStart = NoSound SoundAmbient = AngryMobAmbientLoop SoundAmbientRubble = NoSound UnitSpecificSounds VoiceCreate = AngryMobVoiceCreate End ;**** ENGINEERING Parameters ****************************** RadarPriority = UNIT KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE Body = ImmortalBody ModuleTag_02 MaxHealth = 99999.0 InitialHealth = 99999.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster! ; Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster! Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SpawnBehavior ModuleTag_05 SpawnNumber = 10 SpawnReplaceDelay = 30000 ; 30 seconds SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil ExitByBudding = Yes;! InitialBurst = 5 ; the first set of 5 will not delay OneShot = No AggregateHealth = Yes SlavesHaveFreeWill = No End Behavior = QueueProductionExitUpdate ModuleTag_06 UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0 NaturalRallyPoint = X: 0.0 Y: 0.0 Z:0.0 ExitDelay = 5000 ; 5 sec InitialBurst = 5 ; the first set of 5 will not delay End Behavior = DestroyDie ModuleTag_07 DeathTypes = ALL End Geometry = CYLINDER GeometryMajorRadius = 1.0 GeometryMinorRadius = 1.0 GeometryHeight = 1.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB01_SKN IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12 IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5 IdleAnimation = UIMOB01_SKL.UIMOB01_CHA 0 5 IdleAnimation = UIMOB01_SKL.UIMOB01_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB01_SKL.UIMOB01_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB01_SKL.UIMOB01_DA1 Animation = UIMOB01_SKL.UIMOB01_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB01_SKL.UIMOB01_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB01_SKL.UIMOB01_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB01_SKN IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_CHD 0 6 IdleAnimation = UIMOB01_SKL.UIMOB01_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_DD1 Animation = UIMOB01_SKL.UIMOB01_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB01_SKL.UIMOB01_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB01_SKL.UIMOB01_A_ADTE1 Animation = UIMOB01_SKL.UIMOB01_D_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB01_SKL.UIMOB01_A_ADTE2 Animation = UIMOB01_SKL.UIMOB01_D_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB01_SKL.UIMOB01_A_ADTE3 Animation = UIMOB01_SKL.UIMOB01_D_ADTE3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobPistolWeapon Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Demo_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB01 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior BehaviorTag_01 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior DeathTag_01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabMaleDie End Behavior = SlowDeathBehavior DeathTag_02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior DeathTag_03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabMaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior DeathTag_04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death77 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior BehaviorTag_02 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death_06 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death07 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryAngryMobRock02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A ;WeaponFireFXBone = PRIMARY "UIMOB02 R HAND" ;WeaponMuzzleFlash = PRIMARY "UIMOB02 R HAND" WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing rock ConditionState = PREATTACK_A Animation = UIMOB02_SKL.UIMOB02_ATB2_BF ; wind up AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; throwing rock ConditionState = FIRING_A Animation = UIMOB02_SKL.UIMOB02_ATB1_AF ; throw Animation = UIMOB02_SKL.UIMOB02_ATB2_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_A End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIMOB02_SKL.UIMOB02_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_A End AliasConditionState = RELOADING_A ConditionState = MOVING Animation = UIMOB02_SKL.UIMOB02_RNB AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB02_SKL.UIMOB02_DB1 Animation = UIMOB02_SKL.UIMOB02_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB02_SKL.UIMOB02_CHB Flags = RANDOMSTART AnimationMode = LOOP End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB02_SKL.UIMOB02_TB-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDD1 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_IDD2 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_CHD 0 6 IdleAnimation = UIMOB02_SKL.UIMOB02_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_DD1 Animation = UIMOB02_SKL.UIMOB02_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing AnimationMode = ONCE End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobRockProjectileWeapon Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Demo_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB02 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAInfantryAngryMobPistol03 Demo_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB03_SKN IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12 IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5 IdleAnimation = UIMOB03_SKL.UIMOB03_CHA 0 5 IdleAnimation = UIMOB03_SKL.UIMOB03_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX WeaponFireFXBone = TERTIARY "UIMOB03 R HAND" End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB03_SKL.UIMOB03_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB03_SKL.UIMOB03_DA1 Animation = UIMOB03_SKL.UIMOB03_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB03_SKL.UIMOB03_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB03_SKL.UIMOB03_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB03_SKN IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_CHD 0 6 IdleAnimation = UIMOB03_SKL.UIMOB03_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_DD1 Animation = UIMOB03_SKL.UIMOB03_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB03_SKL.UIMOB03_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB03_SKL.UIMOB03_A_ADTD1 Animation = UIMOB03_SKL.UIMOB03_D_ADTD1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB03_SKL.UIMOB03_A_ADTD2 Animation = UIMOB03_SKL.UIMOB03_D_ADTD2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB03_SKL.UIMOB03_A_ADTD3 Animation = UIMOB03_SKL.UIMOB03_D_ADTD3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 3.0 ; very thin GeometryMinorRadius = 3.0 ; very thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAInfantryAngryMobRock04 Demo_GLAInfantryAngryMobRock02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB04_SKN IdleAnimation = UIMOB04_SKL.UIMOB04_IDB1 0 12 IdleAnimation = UIMOB04_SKL.UIMOB04_IDB2 0 5 IdleAnimation = UIMOB04_SKL.UIMOB04_CHB 0 5 IdleAnimation = UIMOB04_SKL.UIMOB04_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WaitForStateToFinishIfPossible TRANS_FIRING_A ;WeaponFireFXBone = PRIMARY "UIMOB04 R HAND" ;WeaponMuzzleFlash = PRIMARY "UIMOB04 R HAND" WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ; Drawing rock ConditionState = PREATTACK_A Animation = UIMOB04_SKL.UIMOB04_ATB2_BF ; wind up AnimationMode = ONCE AnimationSpeedFactorRange 1.0 1.0 End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; throwing rock ConditionState = FIRING_A Animation = UIMOB04_SKL.UIMOB04_ATB1_AF ; throw Animation = UIMOB04_SKL.UIMOB04_ATB2_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_A End ConditionState = BETWEEN_FIRING_SHOTS_A Animation = UIMOB04_SKL.UIMOB04_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_A End AliasConditionState = RELOADING_A ConditionState = MOVING Animation = UIMOB04_SKL.UIMOB04_RUN AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB04_SKL.UIMOB04_DB1 Animation = UIMOB04_SKL.UIMOB04_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB04_SKL.UIMOB04_CHB Flags = RANDOMSTART AnimationMode = LOOP End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB04_SKL.UIMOB04_TB-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB04_SKN IdleAnimation = UIMOB04_SKL.UIMOB04_IDD1 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_IDD2 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_CHD 0 6 IdleAnimation = UIMOB04_SKL.UIMOB04_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_DD1 Animation = UIMOB04_SKL.UIMOB04_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = PRIMARY MuzzleAK WeaponMuzzleFlash = PRIMARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing AnimationMode = ONCE End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB04_SKL.UIMOB04_B_ADTF1 Animation = UIMOB04_SKL.UIMOB04_D_ADTF1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB04_SKL.UIMOB04_B_ADTF2 Animation = UIMOB04_SKL.UIMOB04_D_ADTF2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB04_SKL.UIMOB04_B_ADTF3 Animation = UIMOB04_SKL.UIMOB04_D_ADTF3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 5.0 ; kinda thin GeometryMinorRadius = 5.0 ; kinda thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAInfantryAngryMobPistol05 Demo_GLAInfantryAngryMobPistol01 ;**** ART Parameters *** Draw = W3DModelDraw DrawTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING PISTOL ;--------------------------------------------------------- DefaultConditionState ;Idle with Pistol Holstered Model = UIMOB05_SKN IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12 IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5 IdleAnimation = UIMOB05_SKL.UIMOB05_CHA 0 5 IdleAnimation = UIMOB05_SKL.UIMOB05_STA 0 5 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_A WeaponFireFXBone = PRIMARY Muzzle01 WeaponMuzzleFlash = PRIMARY Muzzle01 End ; Drawing pistol ConditionState = PREATTACK_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_A FIRING_A AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A ; Firing pistol ConditionState = FIRING_A Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing AnimationMode = LOOP TransitionKey = TRANS_FIRING_A End AliasConditionState = BETWEEN_FIRING_SHOTS_A ConditionState = RELOADING_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_A TRANS_STAND_A Animation = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing AnimationMode = ONCE End ConditionState = MOVING Animation = UIMOB05_SKL.UIMOB05_RNA AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING RELOADING_A AliasConditionState = MOVING PREATTACK_A AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_C RELOADING_A AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A ConditionState = DYING Animation = UIMOB05_SKL.UIMOB05_DA1 Animation = UIMOB05_SKL.UIMOB05_DA2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB05_SKL.UIMOB05_CHA AnimationMode = ONCE End ;-------------------------------------------------------- ; TRANSITION FROM PISTOL TO AK47 TransitionState = TRANS_STAND_A TRANS_STAND_AK Animation = UIMOB05_SKL.UIMOB05_TA-D AnimationMode = ONCE End ; WHILE CARRYING AK47 ;--------------------------------------------------------- ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung Model = UIMOB05_SKN IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_CHD 0 6 IdleAnimation = UIMOB05_SKL.UIMOB05_STD AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_AK WeaponFireFXBone = SECONDARY MuzzleAK WeaponMuzzleFlash = SECONDARY MuzzleAKFX End ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_RND AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING_AK End ConditionState = DYING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_DD1 Animation = UIMOB05_SKL.UIMOB05_DD2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_CHD AnimationMode = ONCE End ; Drawing AK47 ConditionState = PREATTACK_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ; Firing Gun ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing AnimationMode = LOOP WeaponFireFXBone = PRIMARY MuzzleAK WeaponMuzzleFlash = PRIMARY MuzzleAKFX TransitionKey = TRANS_FIRING_AK End AliasConditionState = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE ConditionState = RELOADING_B WEAPONSET_PLAYER_UPGRADE Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing AnimationMode = ONCE End ; This transition allows him to put his gun away when he's finished attacking. TransitionState = TRANS_FIRING_AK TRANS_STAND_AK Animation = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing AnimationMode = ONCE End ; ;Throwing bottle---------------------------------------------------------------- ; ConditionState = PREATTACK_C ; Animation = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up ; End ; AliasConditionState = PREATTACK_C FIRING_A ; AliasConditionState = PREATTACK_C RELOADING_A ; AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState = FIRING_C ; Animation = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru ; TransitionKey = TRANS_THROW ; End ; AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A ; ; ConditionState RELOADING_C ; Animation =UIMOB05_SKL.UIMOB05_IDA1 ; WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru ; End ; AliasConditionState = RELOADING_C RELOADING_A ; AliasConditionState = RELOADING_C FIRING_A ; AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A ; TransitionState = TRANSXXX TRANS_THROW ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_A ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL ; End ; TransitionState = TRANSXXXAK TRANS_THROW ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle ; End ; TransitionState = TRANS_THROW TRANS_FIRING_AK ; Animation = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK ; End ;-------------------------------------------------------- TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB05_SKL.UIMOB05_A_ADTA1 Animation = UIMOB05_SKL.UIMOB05_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB05_SKL.UIMOB05_A_ADTA2 Animation = UIMOB05_SKL.UIMOB05_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB05_SKL.UIMOB05_A_ADTA3 Animation = UIMOB05_SKL.UIMOB05_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End Geometry = CYLINDER GeometryMajorRadius = 3.0 ; very thin GeometryMinorRadius = 3.0 ; very thinD GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryAngryMobMolotov02 ;**** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; WHILE CARRYING ROCK ;--------------------------------------------------------- DefaultConditionState Model = UIMOB02_SKN IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12 IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_CHB 0 5 IdleAnimation = UIMOB02_SKL.UIMOB02_STB 0 12 AnimationMode = ONCE AnimationSpeedFactorRange 0.9 1.1 TransitionKey = TRANS_STAND_B WeaponFireFXBone = SECONDARY "UIMOB02 R HAND" End ; Drawing rock ConditionState = PREATTACK_B Animation = UIMOB02_SKL.UIMOB02_ATCB_BF ; wind up AnimationMode = ONCE End AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ; throwing rock ConditionState = FIRING_B Animation = UIMOB02_SKL.UIMOB02_ATCB_AF ; throw AnimationMode = ONCE TransitionKey = TRANS_FIRING_B End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = UIMOB02_SKL.UIMOB02_STB AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_FIRING_B End AliasConditionState = RELOADING_B ConditionState = MOVING Animation = UIMOB02_SKL.UIMOB02_RNB AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = MOVING ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIMOB02_SKL.UIMOB02_DB1 Animation = UIMOB02_SKL.UIMOB02_DB2 AnimationMode = ONCE TransitionKey = TRANS_Dying End ConditionState = SPECIAL_CHEERING Animation = UIMOB02_SKL.UIMOB02_CHB Flags = RANDOMSTART AnimationMode = LOOP End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIMOB02_SKL.UIMOB02_B_ADTA1 Animation = UIMOB02_SKL.UIMOB02_D_ADTA1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIMOB02_SKL.UIMOB02_B_ADTA2 Animation = UIMOB02_SKL.UIMOB02_D_ADTA2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIMOB02_SKL.UIMOB02_B_ADTA3 Animation = UIMOB02_SKL.UIMOB02_D_ADTA3 AnimationMode = ONCE TransitionKey = None End End ;**** DESIGN parameters *** DisplayName = OBJECT:AngryMob Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon ; all she does is throw molotovs Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Demo_GLABarracks End BuildCost = 100 BuildTime = 0.0 ExperienceValue = 5 5 5 5 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound ;**** ENGINEERING Parameters *** ;MOB02 RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI ;NO_COLLIDE ;Lorenzen disables Body = ActiveBody BodyTag_01 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = MobMemberSlavedUpdate ModuleTag_04 MustCatchUpRadius = 40 NoNeedToCatchUpRadius = 15 Squirrelliness = 0.05 CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames End Locomotor = SET_NORMAL AngryMobNormalLocomotor Locomotor = SET_WANDER AngryMobWanderLocomotor Locomotor = SET_PANIC AngryMobPanicLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;nothing End Behavior = WeaponSetUpgrade UpgradeTag_01 TriggeredBy = Upgrade_GLAArmTheMob End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_CivilianArabFemaleDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_GIDie OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 DeathWeapon = Demo_SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED End Geometry = CYLINDER GeometryMajorRadius = 4.0 ; very thin GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ Object Demo_GLAInfantryHijacker ; *** ART Parameters *** SelectPortrait = SUHijacker_L ButtonImage = SUHijacker ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UIHJCK_SKN IdleAnimation = UIHJCK_SKL.UIHJCK_STA 0 25 IdleAnimation = UIHJCK_SKL.UIHJCK_IDA IdleAnimation = UIHJCK_SKL.UIHJCK_IDB AnimationMode = ONCE TransitionKey = TRANS_Stand End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = UIHJCK_SKL.UIHJCK_RUN AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = REALLYDAMAGED MOVING ConditionState = DYING Animation = UIHJCK_SKL.UIHJCK_DTA Animation = UIHJCK_SKL.UIHJCK_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIHJCK_SKL.UIHJCK_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIHJCK_SKL.UIHJCK_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIHJCK_SKL.UIHJCK_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIHJCK_SKL.UIHJCK_CHA AnimationMode = LOOP End ConditionState = PARACHUTING Animation = UIHJCK_SKL.UIHJCK_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = UIHJCK_SKL.UIHJCK_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = UIHJCK_SKL.UIHJCK_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Hijacker Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Weapon = PRIMARY None Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Demo_GLABarracks Object = Demo_GLAPalace Science = SCIENCE_Hijacker End BuildCost = 400 BuildTime = 10.0 ;in seconds ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level IsTrainable = No ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAInfantryHijackerCommandSet ; *** AUDIO Parameters *** VoiceSelect = HijackerVoiceSelect VoiceMove = HijackerVoiceMove VoiceGuard = HijackerVoiceMove VoiceAttack = HijackerVoiceAttack VoiceFear = HijackerVoiceFear UnitSpecificSounds VoiceGarrison = HijackerVoiceGarrison VoiceCreate = HijackerVoiceCreate VoiceEnter = HijackerVoiceEnter VoiceEnterHostile = HijackerVoiceEnterHostile VoiceGetHealed = HijackerVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT EnterGuard = Yes HijackGuard = Yes KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE STEALTH_GARRISON ;STEALTH_GARRISON Added per Dustin, 12/14--ML Behavior = StealthUpdate ModuleTag_02 StealthDelay = 500 ; half second delay before stealthy StealthForbiddenConditions = MOVING ; only stealthy while stationary MoveThresholdSpeed = 3 InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End Body = ActiveBody ModuleTag_03 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = HijackerUpdate ModuleTag_04 ParachuteName = AmericaParachute End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_CBH01 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL JarmenKellLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = ConvertToHijackedVehicleCrateCollide ModuleTag_08 RequiredKindOf = VEHICLE ; This is my car now, infidel! End Behavior = SquishCollide ModuleTag_09 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HijackerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_HijackerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_14 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SlowDeathBehavior ModuleTag_Death_17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_19 CommandSet = Demo_GLAInfantryHijackerCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Demo_GLAInfantryWorker ; *** ART Parameters *** SelectPortrait = SUWorker_L ButtonImage = SUWorker UpgradeCameo1 = Upgrade_GLAWorkerShoes ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UIWRKR_SKN IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = MOVING Animation = UIWRKR_SKL.UIWRKR_RNA 16 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Moving ParticleSysBone = None InfantryDustTrails End ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, ; since we flip the bit once we get pretty close to the target. but it looks ; funky to do the construction animation while moving. ; so just use the normal move animation in that case. AliasConditionState = ACTIVELY_CONSTRUCTING MOVING ConditionState = ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_MS AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_MetalDetector_Standing End ConditionState = MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_MSW 50 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_MetalDetector_Moving ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING CARRYING TransitionState = TRANS_Stand TRANS_MetalDetector_Standing ;STANDING -> ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Stand ;ATTACKING -> STANDING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_MetalDetector_Standing ;CARRYING -> ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Carry ;ATTACKING -> CARRYING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away standing AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_MetalDetector_Moving ;CARRYING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_MetalDetector_Moving TRANS_Stand ;MOVING ATTACKING -> STANDING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB2;put away moving AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_MetalDetector_Moving ;STANDING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_Moving TRANS_MetalDetector_Standing ;MOVING -> ATTACKING [STANDING] ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRB1;take out standing AnimationMode = ONCE End TransitionState = TRANS_MetalDetector_Standing TRANS_Moving ;ATTACKING [STANDING] -> MOVING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_Moving TRANS_MetalDetector_Moving ;MOVING -> MOVING ATTACKING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End TransitionState = TRANS_MetalDetector_Moving TRANS_Moving ;MOVING ATTACKING -> MOVING ShowSubObject = MINED_SKIN Animation = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION] AnimationMode = ONCE AnimationSpeedFactorRange = 2.0 2.0 End ConditionState = MOVING CARRYING ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_CARY 12 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Carry ParticleSysBone = None InfantryDustTrails End ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time, ; since we flip the bit once we get pretty close to the target. but it looks ; funky to do the construction animation while moving. ; so just use the normal move animation in that case. AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING ConditionState = CARRYING ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_CARST 30 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Carry End ConditionState = DYING Animation = UIWRKR_SKL.UIWRKR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End AliasConditionState = DYING CARRYING TransitionState = TRANS_Dying TRANS_Flailing Animation = UIWRKR_SKL.UIWRKR_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIWRKR_SKL.UIWRKR_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIWRKR_SKL.UIWRKR_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIWRKR_SKL.UIWRKR_CHA AnimationMode = ONCE End ConditionState = ACTIVELY_CONSTRUCTING Animation = UIWRKR_SKL.UIWRKR_BDA AnimationMode = LOOP TransitionKey = TRANS_Constructing End AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING ; -------------------- TransitionState = TRANS_Stand TRANS_Carry ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_PIK AnimationMode = ONCE End TransitionState = TRANS_Carry TRANS_Stand ShowSubObject = BOX Animation = UIWRKR_SKL.UIWRKR_PIK AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End TransitionState = TRANS_Stand TRANS_Constructing Animation = UIWRKR_SKL.UIWRKR_TRA1 AnimationMode = ONCE End TransitionState = TRANS_Constructing TRANS_Stand Animation = UIWRKR_SKL.UIWRKR_TRA2 AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Worker Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None Weapon = SECONDARY None Weapon = TERTIARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY WorkerMineDisarmingWeapon Weapon = SECONDARY None Weapon = TERTIARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY None Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE MINE_CLEARING_DETAIL Weapon = PRIMARY WorkerMineDisarmingWeapon Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 ;Prerequisites ; Object = Demo_GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer. ;End BuildCost = 200 BuildTime = 3.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAWorkerCommandSet ; *** AUDIO Parameters *** VoiceSelect = WorkerVoiceSelect VoiceMove = WorkerVoiceMove VoiceAttack = WorkerVoiceMove VoiceGuard = WorkerVoiceMove VoiceFear = WorkerVoiceFear VoiceTaskComplete = WorkerVoiceBuildComplete UnitSpecificSounds VoiceEnter = WorkerVoiceMoveUpgraded VoiceEnterHostile = WorkerVoiceMoveUpgraded VoiceGarrison = WorkerVoiceGarrison VoiceCreate = WorkerVoiceCreate VoiceSupply = WorkerVoiceSupply VoiceNoBuild = WorkerVoiceBuildNot VoiceRepair = WorkerVoiceRepair VoiceDisarm = WorkerVoiceClearMine VoiceBuildResponse = WorkerVoiceBuild VoiceGetHealed = WorkerVoiceMoveUpgraded VoiceMoveUpgraded = WorkerVoiceMoveUpgraded End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = WorkerAIUpdate ModuleTag_03 RepairHealthPercentPerSecond = 2% ; % of max health to repair each second BoredTime = 5000 ; in milliseconds BoredRange = 150 ; when bored, we look this far away to do something MaxBoxes = 1 UpgradedSupplyBoost = 8 ; gives this much more cash for every box collected SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions) SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan) SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted ; the only "enemies" that workers can acquire are mines, to be disarmed... AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL FastHumanLocomotor Locomotor = SET_NORMAL_UPGRADED WorkerShoesLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = SquishCollide ModuleTag_06 ;nothing End Behavior = LocomotorSetUpgrade ModuleTag_07 TriggeredBy = Upgrade_GLAWorkerShoes End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_WorkerDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_WorkerDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = StealthDetectorUpdate ModuleTag_12 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. ExtraRequiredKindOf = MINE ; we can only detect MINES, not other stealthed things End Behavior = PoisonedBehavior ModuleTag_13 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = CommandSetUpgrade ModuleTag_14 TriggeredBy = Upgrade_GLAWorkerFakeCommandSet RemovesUpgrades = Upgrade_GLAWorkerRealCommandSet CommandSet = Demo_GLAWorkerFakeBuildingsCommandSet End Behavior = CommandSetUpgrade ModuleTag_15 TriggeredBy = Upgrade_GLAWorkerRealCommandSet RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet CommandSet = Demo_GLAWorkerCommandSet End Behavior = ProductionUpdate ModuleTag_16 MaxQueueEntries = 1; For the command set switching upgrade End Behavior = SlowDeathBehavior ModuleTag_Death_17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = WeaponSetUpgrade ModuleTag_19 TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object Demo_GLAInfantrySaboteur ; *** ART Parameters *** SelectPortrait = SUSaboteur_L ButtonImage = SUSaboteur ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ---- standing DefaultConditionState Model = UISabotr_SKN IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9 IdleAnimation = UIWRKR_SKL.UIWRKR_IDA AnimationMode = ONCE TransitionKey = TRANS_Stand End ConditionState = MOVING Animation = UIWRKR_SKL.UIWRKR_RNA 16 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_Moving ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = UIWRKR_SKL.UIWRKR_DTA AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = UIWRKR_SKL.UIWRKR_ADTE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = UIWRKR_SKL.UIWRKR_ADTE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = UIWRKR_SKL.UIWRKR_ADTE3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = UIWRKR_SKL.UIWRKR_CHA AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Saboteur Side = GLADemolitionGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAPalace End BuildCost = 800 BuildTime = 15.0 ;in seconds ExperienceValue = 15 15 30 40 ;Experience point value at each level ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLAInfantrySaboteurCommandSet ; *** AUDIO Parameters *** VoiceSelect = SaboteurVoiceSelect VoiceMove = SaboteurVoiceMove VoiceGuard = SaboteurVoiceMove VoiceAttack = SaboteurVoiceAttack SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = SaboteurVoiceFear VoiceTaskComplete = NoSound UnitSpecificSounds VoiceCreate = SaboteurVoiceCreate VoiceSubdue = SaboteurVoiceMove VoiceGarrison = SaboteurVoiceMove VoiceEnter = SaboteurVoiceMove VoiceEnterHostile = SaboteurVoiceAttack VoiceGetHealed = SaboteurVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL SaboteurGroundLocomotor SaboteurCliffLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 5.0 End Behavior = StealthUpdate ModuleTag_07 StealthDelay = 2500 ; msec StealthForbiddenConditions = None InnateStealth = Yes ;Requires upgrade first OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = SquishCollide ModuleTag_11 ;nothing End Behavior = SabotagePowerPlantCrateCollide SabotageTag_01 BuildingPickup = Yes SabotagePowerDuration = 30000 End ;Behavior = SabotageSupplyDropzoneCrateCollide SabotageTag_02 ; BuildingPickup = Yes ; StealCashAmount = 800 ;End Behavior = SabotageSuperweaponCrateCollide SabotageTag_03 BuildingPickup = Yes End Behavior = SabotageCommandCenterCrateCollide SabotageTag_04 BuildingPickup = Yes End Behavior = SabotageSupplyCenterCrateCollide SabotageTag_05 BuildingPickup = Yes StealCashAmount = 1000 End Behavior = SabotageMilitaryFactoryCrateCollide SabotageTag_06 BuildingPickup = Yes SabotageDuration = 30000 End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA -SUICIDED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RebelDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireGLA OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_16 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End ; Behavior = SpecialAbility ModuleTag_17 ; SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding ; UpdateModuleStartsAttack = Yes ; StartsPaused = Yes ; InitiateSound = RebelVoiceCapture ; End ; Behavior = SpecialAbilityUpdate ModuleTag_18 ; SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding ; StartAbilityRange = 5.0 ; UnpackTime = 3000 ; (changing this will scale anim speed) ; PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) ; PackTime = 2000 ; (changing this will scale anim speed) ; DoCaptureFX = Yes ; AwardXPForTriggering = 12 ; ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. ; End Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;----------------------------¸ÄΪT72-------------------------------------------------- Object Demo_GLATankScorpion ; *** ART Parameters *** SelectPortrait = T16 ButtonImage = T16 UpgradeCameo1 = NONE UpgradeCameo2 = Upgrade_GLAAPRockets UpgradeCameo3 = Upgrade_GLAToxinShells UpgradeCameo4 = Upgrade_GLAJunkRepair ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = T-72 Turret = Turret01 ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack! HideSubObject = MissleRack01 Missile ; MissileRack misspelled in the Art WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = REALLYDAMAGED Model = T-72 End ConditionState = RUBBLE Model = UVLiteTank_d End ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissleRack01 WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA WeaponHideShowBone = SECONDARY Missile End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = T-72 ShowSubObject = MissleRack01 WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA WeaponHideShowBone = SECONDARY Missile End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:t72 Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY t72TankGun Weapon = SECONDARY DozerMineDisarmingWeapon Conditions = MINE_CLEARING_DETAIL End ArmorSet Conditions = None Armor = T72TankArmor DamageFX = TankDamageFX End BuildCost = 850 BuildTime = 10.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer End ExperienceValue = 60 60 120 200 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = GLATankt72CommandSet ; *** AUDIO Parameters *** VoiceSelect = ScorpionTankVoiceSelect VoiceMove = ScorpionTankVoiceMove VoiceAttack = ScorpionTankVoiceAttack SoundMoveStart = ScorpionTankMoveStart SoundMoveStartDamaged = ScorpionTankMoveStart VoiceGuard = ScorpionTankVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ScorpionTankVoiceCreate ;TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceEnter = ScorpionTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 450.0 InitialHealth = 450.0 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 100 RecenterTime = 5000 ; how long to wait during idle before recentering ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL NuclearBattleMasterLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = AutoHealBehavior ModuleTag_05 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_GenericTankDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = WeaponSetUpgrade ModuleTag_07 TriggeredBy = Upgrade_GLAScorpionRocket End Behavior = DestroyDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_12 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_13 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthDetectorUpdate ModuleTag_08 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 9.0 GeometryHeight = 10.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Rocket Buggy Object Demo_GLAVehicleRocketBuggy ; *** ART Parameters *** SelectPortrait = SURocketBuggy_L ButtonImage = SURocketBuggy UpgradeCameo1 = Upgrade_GLABuggyAmmo UpgradeCameo2 = Upgrade_GLAAPRockets UpgradeCameo3 = Upgrade_GLAJunkRepair ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRockBug Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = REALLYDAMAGED Model = UVRockBug_D Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = RUBBLE Model = UVRockBug_D Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE Model = UVRockBug Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = UVRockBug_D Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End ConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE Model = UVRockBug_D Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:RocketBuggy Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BuggyRocketREDWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BuggyRocketWeaponUpgraded Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 1000 BuildTime = 10.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer Object = Demo_GLAPalace End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleRocketBuggyCommandSet ; *** AUDIO Parameters *** VoiceSelect = RocketBuggyVoiceSelect VoiceMove = RocketBuggyVoiceMove VoiceAttack = RocketBuggyVoiceAttack SoundMoveStart = RocketBuggyMoveStart SoundMoveStartDamaged = RocketBuggyMoveStart VoiceGuard = RocketBuggyVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = RocketBuggyVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceCrush = RocketBuggyVoiceCrush VoiceEnter = RocketBuggyVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 120 InitialHealth = 120 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 240 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 90 ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL RocketBuggyLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End ; The pop up AirDeath Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_RocketBuggyAirDeathStart End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLABuggyAmmo End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_RocketBuggy_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_15 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = SlowDeathBehavior ModuleTag_Death17 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_19 CommandSet = Demo_GLAVehicleRocketBuggyCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 7.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Combat Bike Object Demo_GLAVehicleCombatBike ; *** ART Parameters *** SelectPortrait = SUComBike_L ButtonImage = SUComBike_L UpgradeCameo1 = Upgrade_GLAJunkRepair ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ;Normal Bike ;------------------------------ DefaultConditionState Model = UVComBike WeaponFireFXBone = PRIMARY Muzzle_B WeaponLaunchBone = PRIMARY RocketFX03 WeaponMuzzleFlash = PRIMARY MuzzleFX_B ParticleSysBone = SMOKE CombatBikeSmokeLight HideSubObject = BOMBBIKE ; Hide from all states except terrorist (rider 5) End AliasConditionState RIDER1 AliasConditionState RIDER1 MOVING AliasConditionState RIDER6 AliasConditionState RIDER6 MOVING AliasConditionState RIDER7 AliasConditionState RIDER7 MOVING ConditionState = REALLYDAMAGED Model = UVComBike_d End AliasConditionState RIDER1 REALLYDAMAGED AliasConditionState RIDER1 MOVING REALLYDAMAGED AliasConditionState RIDER6 REALLYDAMAGED AliasConditionState RIDER6 MOVING REALLYDAMAGED AliasConditionState RIDER7 REALLYDAMAGED AliasConditionState RIDER7 MOVING REALLYDAMAGED ConditionState = TOPPLED Model = UVComBike_F Animation = UVComBike_F.UVComBike_F AnimationMode = ONCE End ConditionState = TOPPLED REALLYDAMAGED Model = UVComBike_dF Animation = UVComBike_DF.UVComBike_DF AnimationMode = ONCE End ConditionState = RIDER1 MOVING CENTER_TO_LEFT Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_LEFT AliasConditionState RIDER7 MOVING CENTER_TO_LEFT ConditionState = RIDER1 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_LEFT REALLYDAMAGED AliasConditionState RIDER7 MOVING CENTER_TO_LEFT REALLYDAMAGED ConditionState = RIDER1 MOVING LEFT_TO_CENTER Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING LEFT_TO_CENTER AliasConditionState RIDER7 MOVING LEFT_TO_CENTER ConditionState = RIDER1 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING LEFT_TO_CENTER REALLYDAMAGED AliasConditionState RIDER7 MOVING LEFT_TO_CENTER REALLYDAMAGED ConditionState = RIDER1 MOVING CENTER_TO_RIGHT Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_RIGHT AliasConditionState RIDER7 MOVING CENTER_TO_RIGHT ConditionState = RIDER1 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING CENTER_TO_RIGHT REALLYDAMAGED AliasConditionState RIDER7 MOVING CENTER_TO_RIGHT REALLYDAMAGED ConditionState = RIDER1 MOVING RIGHT_TO_CENTER Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER ConditionState = RIDER1 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER REALLYDAMAGED AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER REALLYDAMAGED ;Terror Bike ;------------------------------ ConditionState RIDER5 Model = UVComBike WeaponFireFXBone = PRIMARY Muzzle_B WeaponLaunchBone = PRIMARY RocketFX03 WeaponMuzzleFlash = PRIMARY MuzzleFX_B ParticleSysBone = SMOKE CombatBikeSmokeLight ShowSubObject = BOMBBIKE End AliasConditionState RIDER5 MOVING ConditionState = REALLYDAMAGED RIDER5 Model = UVComBike_d ShowSubObject = BOMBBIKE End AliasConditionState RIDER5 MOVING REALLYDAMAGED ConditionState = TOPPLED RIDER5 Model = UVComBike_F Animation = UVComBike_F.UVComBike_F AnimationMode = ONCE ShowSubObject = BOMBBIKE End ConditionState = TOPPLED REALLYDAMAGED RIDER5 Model = UVComBike_dF Animation = UVComBike_DF.UVComBike_DF AnimationMode = ONCE ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_LEFT Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER Model = UVComBike_A1 Animation = UVComBike_A1.UVComBike_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBike_A1d Animation = UVComBike_A1D.UVComBike_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER Model = UVComBike_A2 Animation = UVComBike_A2.UVComBike_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBike_A2d Animation = UVComBike_A2D.UVComBike_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy ShowSubObject = BOMBBIKE End ;Gun Bike ;------------------------------ ConditionState = RIDER2 Model = UVComBikeG End AliasConditionState RIDER2 MOVING AliasConditionState RIDER4 AliasConditionState RIDER4 MOVING ConditionState = RIDER2 REALLYDAMAGED Model = UVComBikeG_d End AliasConditionState RIDER2 MOVING REALLYDAMAGED AliasConditionState RIDER4 REALLYDAMAGED AliasConditionState RIDER4 MOVING REALLYDAMAGED ConditionState = RIDER2 MOVING CENTER_TO_LEFT Model = UVComBikeG Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_LEFT ConditionState = RIDER2 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_LEFT REALLYDAMAGED ConditionState = RIDER2 MOVING LEFT_TO_CENTER Model = UVComBikeG Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING LEFT_TO_CENTER ConditionState = RIDER2 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A1.UVComBikeG_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING LEFT_TO_CENTER REALLYDAMAGED ConditionState = RIDER2 MOVING CENTER_TO_RIGHT Model = UVComBikeG Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT ConditionState = RIDER2 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT REALLYDAMAGED ConditionState = RIDER2 MOVING RIGHT_TO_CENTER Model = UVComBikeG Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER ConditionState = RIDER2 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBikeG_d Animation = UVComBikeG_A2.UVComBikeG_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER REALLYDAMAGED ;Missile Bike ;------------------------------ ConditionState = RIDER3 Model = UVComBikeTN End AliasConditionState RIDER3 MOVING ConditionState = RIDER3 REALLYDAMAGED Model = UVComBikeTN_d End AliasConditionState RIDER3 MOVING REALLYDAMAGED ConditionState = RIDER3 MOVING CENTER_TO_LEFT Model = UVComBikeTN_A1 Animation = UVComBikeTN_A1.UVComBikeTN_A1 AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_LEFT REALLYDAMAGED Model = UVComBikeTN_A1d Animation = UVComBikeTN_A1D.UVComBikeTN_A1D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING LEFT_TO_CENTER Model = UVComBikeTN_A1 Animation = UVComBikeTN_A1.UVComBikeTN_A1 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING LEFT_TO_CENTER REALLYDAMAGED Model = UVComBikeTN_A1d Animation = UVComBikeTN_A1D.UVComBikeTN_A1D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT Model = UVComBikeTN_A2 Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT REALLYDAMAGED Model = UVComBikeTN_A2d Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER Model = UVComBikeTN_A2 Animation = UVComBikeTN_A2.UVComBikeTN_A2 AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER REALLYDAMAGED Model = UVComBikeTN_A2d Animation = UVComBikeTN_A2D.UVComBikeTN_A2D AnimationMode = ONCE_BACKWARDS ParticleSysBone = SMOKE CombatBikeSmokeHeavy End TrackMarks = EXTireTrack03.tga Dust = CombatBikeDust DirtSpray = CombatBikeDirtSpray PowerslideSpray = CombatBikeDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 LeftRearTireBone = Tire00 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_Rider01 OkToChangeModelColor = Yes DefaultConditionState ;************************************************** ;*** Must have a default model in order to see ;*** house color!!! ;************************************************** Model = UIWrkr_SKN ;WeaponFireFXBone = PRIMARY Muzzle ;WeaponLaunchBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX End AliasConditionState MOVING ;Worker animations ;----------------------- ConditionState = RIDER1 Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER1 MOVING Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER1 MOVING CENTER_TO_LEFT Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER1 MOVING LEFT_TO_CENTER Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER1 MOVING CENTER_TO_RIGHT Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER1 MOVING RIGHT_TO_CENTER Model = UIWrkr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Rebel animations ;----------------------- ConditionState = RIDER2 Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER2 MOVING Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER2 MOVING CENTER_TO_LEFT Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER2 MOVING LEFT_TO_CENTER Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER2 MOVING CENTER_TO_RIGHT Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER2 MOVING RIGHT_TO_CENTER Model = UIRGrd_SKN Animation = UIRGrd_SKL.UIRGrd_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;RPG Trooper animations ;----------------------- ConditionState = RIDER3 Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER3 MOVING Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER3 MOVING CENTER_TO_LEFT Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER3 MOVING LEFT_TO_CENTER Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER3 MOVING CENTER_TO_RIGHT Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER3 MOVING RIGHT_TO_CENTER Model = UITunF_SKN2 Animation = UITunF_SKL.UITunF_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Jarmen Kell animations ;----------------------- ConditionState = RIDER4 Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER4 MOVING Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER4 MOVING CENTER_TO_LEFT Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER4 MOVING LEFT_TO_CENTER Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER4 MOVING CENTER_TO_RIGHT Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER4 MOVING RIGHT_TO_CENTER Model = UIHERO_SKN Animation = UIHERO_SKL.UIHERO_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Terrorist animations ;----------------------- ConditionState = RIDER5 Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A5 AnimationMode = LOOP End ConditionState = RIDER5 MOVING Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A4 AnimationMode = LOOP End ConditionState = RIDER5 MOVING CENTER_TO_LEFT Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A1 AnimationMode = ONCE End ConditionState = RIDER5 MOVING LEFT_TO_CENTER Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER5 MOVING CENTER_TO_RIGHT Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A2 AnimationMode = ONCE End ConditionState = RIDER5 MOVING RIGHT_TO_CENTER Model = UITer_Local_SKN Animation = UITer_Local_SKL.UITER_Local_A2 AnimationMode = ONCE_BACKWARDS End ;Hijacker animations ;----------------------- ConditionState = RIDER6 Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER6 MOVING Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER6 MOVING CENTER_TO_LEFT Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER6 MOVING LEFT_TO_CENTER Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER6 MOVING CENTER_TO_RIGHT Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER6 MOVING RIGHT_TO_CENTER Model = UIHJCK_SKN Animation = UIHJCK_SKL.UIHJACK_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ;Saboteur animations ;----------------------- ConditionState = RIDER7 Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A5 AnimationMode = LOOP End ConditionState = RIDER7 MOVING Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A4 AnimationMode = LOOP End ConditionState = RIDER7 MOVING CENTER_TO_LEFT Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE End ConditionState = RIDER7 MOVING LEFT_TO_CENTER Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A1 AnimationMode = ONCE_BACKWARDS End ConditionState = RIDER7 MOVING CENTER_TO_RIGHT Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE End ConditionState = RIDER7 MOVING RIGHT_TO_CENTER Model = UISabotr_SKN Animation = UIWrkr_SKL.UIWrkr_CmBk_A2 AnimationMode = ONCE_BACKWARDS End ConditionState = TOPPLED Model = None End AliasConditionState TOPPLED MOVING End ; ***DESIGN parameters *** DisplayName = OBJECT:CombatBike Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY NONE End WeaponSet Conditions = WEAPON_RIDER2 Weapon = PRIMARY GLARebelBikerMachineGun End WeaponSet Conditions = WEAPON_RIDER3 Weapon = PRIMARY DEMO_TunnelDefenderBikerRocketWeapon End WeaponSet Conditions = WEAPON_RIDER4 Weapon = PRIMARY GLABikerKellSniperRifle Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle AutoChooseSources = SECONDARY NONE End WeaponSet ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE ;damage to do ini logic for type of death to play -- unresistable for success. Conditions = WEAPON_RIDER5 Weapon = PRIMARY TerroristSuicideWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 550 BuildTime = 5.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience ;CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleCombatBikeDefaultCommandSet ; *** AUDIO Parameters *** VoiceSelect = CombatCycleVoiceSelect VoiceMove = CombatCycleVoiceMove VoiceAttack = CombatCycleVoiceAttack SoundMoveStart = CombatBikeMoveStart SoundMoveStartDamaged = CombatBikeMoveStart VoiceGuard = CombatCycleVoiceMove SoundEnter = CombatCycleSwitchRider UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = CombatCycleVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = RocketBuggyLand TruckPowerslideSound = CombatBikeMoveStart VoiceCrush = CombatCycleVoiceMove VoiceEnter = CombatCycleVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE CLIFF_JUMPER Body = ActiveBody ModuleTag_02 MaxHealth = 100 InitialHealth = 100 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 200 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 0 ; turn rate, in degrees per sec NaturalTurretAngle = 0 ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = No End Locomotor = SET_NORMAL CombatBikeGroundLocomotor CombatBikeCliffLocomotor Locomotor = SET_SLUGGISH CombatBikeTerroristGroundLocomotor CombatBikeTerroristCliffLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 15.0 End Behavior = SlowDeathBehavior DeathTag_04 ExemptStatus = STATUS_RIDER1 STATUS_RIDER2 STATUS_RIDER3 STATUS_RIDER4 STATUS_RIDER5 STATUS_RIDER6 STATUS_RIDER7 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_05 RequiredStatus = STATUS_RIDER1 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_WorkerFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_06 RequiredStatus = STATUS_RIDER2 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_RebelFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_07 RequiredStatus = STATUS_RIDER3 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_TunnelDefenderFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_08 RequiredStatus = STATUS_RIDER4 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_JarmenKellFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_09 RequiredStatus = STATUS_RIDER5 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_TerroristFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_10 RequiredStatus = STATUS_RIDER6 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_DEMOBuggyNewDeathExplosion OCL = INITIAL OCL_HijackerFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLABuggyAmmo End ;Create the hulk after the toppling is complete (not killed until topple anim finished). Behavior = CreateObjectDie ModuleTag_10 DeathTypes = NONE +TOPPLED CreationList = OCL_CombatBike_ToppledHulk End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED +TOPPLED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_RocketBuggy_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_15 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = RiderChangeContain ModuleTag_16 ;A list of each valid rider that is allowed to ride this object. Each rider is ;assigned a modelcondition state, a weaponset flag, an object status bit, and ;a commandset override. The actual object is hidden inside the container so the ;visible rider is fluff. Also riders are deleted (not killed) when the bike is ;destroyed, so all deaths must be OCLs on the bike. Rider1 = Demo_GLAInfantryWorker RIDER1 WEAPON_RIDER1 STATUS_RIDER1 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider2 = Demo_GLAInfantryRebel RIDER2 WEAPON_RIDER2 STATUS_RIDER2 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider3 = Demo_GLAInfantryTunnelDefender RIDER3 WEAPON_RIDER3 STATUS_RIDER3 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider4 = Demo_GLAInfantryJarmenKell RIDER4 WEAPON_RIDER4 STATUS_RIDER4 GLAVehicleCombatBikeJarmenKellCommandSet SET_NORMAL Rider5 = Demo_GLAInfantryTerrorist RIDER5 WEAPON_RIDER5 STATUS_RIDER5 GLAVehicleCombatBikeDefaultCommandSet SET_SLUGGISH Rider6 = Demo_GLAInfantryHijacker RIDER6 WEAPON_RIDER6 STATUS_RIDER6 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider7 = Demo_GLAInfantrySaboteur RIDER7 WEAPON_RIDER7 STATUS_RIDER7 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL ScuttleDelay = 1500 ScuttleStatus = TOPPLED ;Standard TransportContain stuff Slots = 1 InitialPayload = Demo_GLAInfantryTerrorist 1 ScatterNearbyOnExit = No HealthRegen%PerSec = 0 DamagePercentToUnits = 100% ; This module will Delete the rider on death, but we need to kill him as well so he doesn't pick up the bike's salvage crate. BurnedDeathToUnits = No ; And no Burned death. AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 1 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = AnimationSteeringUpdate ModuleTag_17 MinTransitionTime = 300 End Behavior = StealthUpdate ModuleTag_19 UseRiderStealth = Yes ;StealthDelay = 2000 ; msec ;StealthForbiddenConditions = ATTACKING ;InnateStealth = Yes ;OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End ;Kris: The slowdeath's above handle this case. This was causing a 50% chance ; of the bike lingering after the terrorist bike suicided. ; Behavior = SlowDeathBehavior ModuleTag_Death_22 ; DeathTypes = NONE +SUICIDED +EXPLODED ; SinkDelay = 3000 ; SinkRate = 0.5 ; in Dist/Sec ; DestructionDelay = 8000 ; FX = INITIAL FX_TerroristExplode ; FlingForce = 8 ; FlingForceVariance = 3 ; FlingPitch = 60 ; FlingPitchVariance = 10 ; End ;Terrorist without suicide bomb upgrade Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18 RequiredStatus = STATUS_RIDER5 DeathWeapon = SuicideBikeBomb StartsActive = Yes DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED ConflictsWith = Demo_Upgrade_SuicideBomb End ;Non-terrorist with suicide bomb upgrade (fire) Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ExemptStatus = STATUS_RIDER5 DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA End; ;Non-terrorist with suicide bomb upgrade (no fire) Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ExemptStatus = STATUS_RIDER5 DeathWeapon = Demo_SuicideDynamitePack StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED End; ;Terrorist with suicide bomb upgrade (fire) Behavior = FireWeaponWhenDeadBehavior ModuleTag997 RequiredStatus = STATUS_RIDER5 DeathWeapon = Demo_TerroristOnCombatBikeSuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA End; ;Terrorist with suicide bomb upgrade (no fire) Behavior = FireWeaponWhenDeadBehavior ModuleTag996 RequiredStatus = STATUS_RIDER5 DeathWeapon = Demo_TerroristOnCombatBikeSuicideDynamitePack StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED +POISONED +POISONED_BETA End; Behavior = CommandSetUpgrade ModuleTag_23 CommandSet = Demo_GLAVehicleCombatBikeDefaultCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 11.0 GeometryMinorRadius = 2.5 GeometryHeight = 7.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleQuadCannon ; *** ART Parameters *** SelectPortrait = SUQuadCannon_L ButtonImage = SUQuadCannon UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = XXX ;UpgradeCameo4 = XXX ;UpgradeCameo5 = XXX Draw = W3DTankTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = UVQuadCann Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash End ConditionState = REALLYDAMAGED Model = UVQuadCann_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 End ConditionState = RUBBLE Model = UVQuadCann_D Turret = TURRET TurretPitch = TURRETEL WeaponFireFXBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX WeaponRecoilBone = PRIMARY Barrel WeaponFireFXBone = SECONDARY BarrelMS WeaponMuzzleFlash = SECONDARY BarrelFX WeaponRecoilBone = SECONDARY Barrel ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE Model = UVQuadCann Turret = TURRETUP01 TurretPitch = TURRETEL01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponRecoilBone = PRIMARY BarrelUp01 WeaponFireFXBone = SECONDARY BarrelUp01MS WeaponMuzzleFlash = SECONDARY BarrelUp01FX WeaponRecoilBone = SECONDARY BarrelUp01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVQuadCann Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVQuadCann_D Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE Model = UVQuadCann_D Turret = TURRETUP02 TurretPitch = TURRETEL02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponRecoilBone = PRIMARY BarrelUp02 WeaponFireFXBone = SECONDARY BarrelUp02MS WeaponMuzzleFlash = SECONDARY BarrelUp02FX WeaponRecoilBone = SECONDARY BarrelUp02 ShowSubObject = TURRETUP02 HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04 End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This unit doesn't powerslide. End ; ***DESIGN parameters *** DisplayName = OBJECT:QuadCannon Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY QuadCannonGun Weapon = SECONDARY QuadCannonGunAir Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY QuadCannonGunUpgradeOne Weapon = SECONDARY QuadCannonGunUpgradeOneAir Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY QuadCannonGunUpgradeTwo Weapon = SECONDARY QuadCannonGunUpgradeTwoAir Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE End ArmorSet Conditions = None Armor = HumveeArmor DamageFX = TankDamageFX End BuildCost = 750 BuildTime = 6.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer End CommandSet = Demo_GLAVehicleQuadCannon ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; *** AUDIO Parameters *** VoiceSelect = QuadCannonVoiceSelect VoiceMove = QuadCannonVoiceMove VoiceAttack = QuadCannonVoiceAttack VoiceAttackAir = QuadCannonVoiceAttackAir SoundMoveStart = QuadCannonMoveStart SoundMoveStartDamaged = QuadCannonMoveStart VoiceGuard = QuadCannonVoiceMove UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = QuadCannonVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceSalvage = QuadCannonVoiceSalvage VoiceCrush = QuadCannonVoiceCrush VoiceEnter = QuadCannonVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 440 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 360 TurretPitchRate = 360 AllowsPitch = Yes ControlledWeaponSlots = PRIMARY SECONDARY End AutoAcquireEnemiesWhenIdle = Yes Stealthed MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL QuadCannonLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 40.0 End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 411 DestructionDelay = 150 DestructionDelayVariance = 250 OCL = FINAL OCL_QuadCannonDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_08 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_09 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateCrateDie ModuleTag_11 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponBonusUpgrade ModuleTag_12 TriggeredBy = Upgrade_GLAAPBullets End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = SlowDeathBehavior ModuleTag_Death_14 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_16 CommandSet = Demo_GLAVehicleQuadCannonUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 18.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;Also called Toxin Tractor && ToxinTractor Object Demo_GLAVehicleToxinTruck ; *** ART Parameters *** SelectPortrait = SUToxinTractor_L ButtonImage = SUToxinTractor UpgradeCameo1 = Upgrade_GLAAnthraxBeta UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVToxinTrk Turret = Turret TurretPitch = TurretEL ShowSubObject = Turret HideSubObject = TurretUP01 TurretUP02 WeaponFireFXBone = PRIMARY WeaponA WeaponLaunchBone = PRIMARY WeaponA WeaponFireFXBone = SECONDARY Spigot WeaponLaunchBone = SECONDARY Spigot End AliasConditionState WEAPONSET_PLAYER_UPGRADE ConditionState = USING_WEAPON_B Model = UVToxinTrk ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = REALLYDAMAGED Model = UVToxinTrk_D End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE AliasConditionState RUBBLE AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE ConditionState = USING_WEAPON_B REALLYDAMAGED Model = UVToxinTrk_D ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk_D ParticleSysBone = none AnthraxPuddleContinuous END ; -------------- Turret change #1 ConditionState = WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_ONE AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_ONE ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE Model = UVToxinTrk_D Turret = TurretUP01 TurretPitch = TurretEL01 ShowSubObject = TurretUP01 HideSubObject = Turret TurretUP02 WeaponFireFXBone = PRIMARY WeaponB WeaponLaunchBone = PRIMARY WeaponB ParticleSysBone = none AnthraxPuddleContinuous END ; -------------- Turret change #2 ConditionState = WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC End AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxPuddleContinuous END ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC End AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_TWO AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_TWO ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none ToxinPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO Model = UVToxinTrk_D Turret = TurretUP02 TurretPitch = TurretEL02 ShowSubObject = TurretUP02 HideSubObject = TurretUP01 Turret WeaponFireFXBone = PRIMARY WeaponC WeaponLaunchBone = PRIMARY WeaponC ParticleSysBone = none AnthraxPuddleContinuous END TrackMarks = EXTireTrack.tga LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray End ; ***DESIGN parameters *** DisplayName = OBJECT:ToxinTruck Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ToxinTruckGun Weapon = SECONDARY ToxinTruckSprayer Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ToxinTruckGunUpgraded Weapon = SECONDARY ToxinTruckSprayerUpgraded Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY ToxinTruckGunPlusOne Weapon = SECONDARY ToxinTruckSprayerPlusOne Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE Weapon = PRIMARY ToxinTruckGunUpgradedPlusOne Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusOne Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY ToxinTruckGunPlusTwo Weapon = SECONDARY ToxinTruckSprayerPlusTwo Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE Weapon = PRIMARY ToxinTruckGunUpgradedPlusTwo Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusTwo Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY NONE AutoChooseSources = SECONDARY NONE ;Special attack only End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 750 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Demo_GLAArmsDealer End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleToxinTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = ToxinTractorVoiceSelect VoiceMove = ToxinTractorVoiceMove VoiceGuard = ToxinTractorVoiceMove VoiceAttack = ToxinTractorVoiceAttack SoundMoveStart = ToxinTractorMoveStart SoundMoveStartDamaged = ToxinTractorMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ToxinTractorVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceCrush = ToxinTractorVoiceCrush VoiceEnter = ToxinTractorVoiceMove VoicePoisonLocation = ToxinTractorVoiceAttackContam End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 240.0 InitialHealth = 240.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 480 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes Turret TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal) TurretFireAngleSweep = PRIMARY 8 TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL ToxinTruckLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = INITIAL FX_ToxinTractorDie OCL = INITIAL OCL_ToxinTractorDeathEffect FX = FINAL FX_ToxinTruckExplosionOneFinal End Behavior = InstantDeathBehavior ModuleTag_06 DeathTypes = NONE +CRUSHED +SPLATTED FX = FX_CarCrush OCL = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_07 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = WeaponSetUpgrade ModuleTag_08 ; the Toxin Tractor gets this upgrade if we either buy the upgrade, ; or if it gets HEROIC status TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC End Behavior = TransitionDamageFX ModuleTag_11 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = AutoHealBehavior ModuleTag_12 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_13 WeaponSlot = SECONDARY ConflictsWith = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldMedium MinShotsToCreateOCL = 4 OCLLifetimePerSecond = 10000 OCLLifetimeMaxCap = 180000 End Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14 WeaponSlot = SECONDARY TriggeredBy = Upgrade_GLAAnthraxBeta Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldUpgradedMedium MinShotsToCreateOCL = 4 OCLLifetimePerSecond = 10000 OCLLifetimeMaxCap = 180000 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 ;These two make the right damage field at death DeathWeapon = ToxinShellWeapon StartsActive = Yes ConflictsWith = Upgrade_GLAAnthraxBeta End Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 DeathWeapon = ToxinShellWeaponUpgraded StartsActive = No TriggeredBy = Upgrade_GLAAnthraxBeta End Behavior = SlowDeathBehavior ModuleTag_Death_14 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_17 CommandSet = Demo_GLAVehicleToxinTruckCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 13.0 GeometryMinorRadius = 9.0 GeometryHeight = 10.0 ; set to make the projectile stream look right GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleBombTruck ; *** ART Parameters *** SelectPortrait = SSConvoy_L ButtonImage = SSConvoy_L ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ConditionState = NONE Model = NVConvoy End ConditionState = LOADED Model = NVConvoy End CabRotationMultiplier = 1.5 TrailerRotationMultiplier = 0.2 ;CabBone = CAB ;TrailerBone = TRAILER RotationDamping = 0.7 RightFrontTireBone = Tire01 LeftFrontTireBone = Tire02 ;MidRightFrontTireBone = Tire03 ;MidLeftFrontTireBone = Tire04 ;MidRightMidTireBone = Tire05 ;MidLeftMidTireBone = Tire06 MidRightRearTireBone = Tire07 MidLeftRearTireBone = Tire08 RightRearTireBone = Tire09 LeftRearTireBone = Tire10 TireRotationMultiplier = 0.2 ; this * speed = rotation. TrackMarks = EXTireTrack.tga Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray End ; ***DESIGN parameters *** DisplayName = OBJECT:NukeTruck Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = CARBOMB Weapon = PRIMARY NukeTruck End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TruckDamageFX End BuildCost = 1400 BuildTime = 20.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 350 Prerequisites Object = Demo_GLAArmsDealer Object = Demo_GLAPalace End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = CivilianTransportWithNukeCommandSet ; *** AUDIO Parameters *** VoiceSelect = SupplyTruckVoiceSelect VoiceMove = SupplyTruckVoiceMove VoiceAttack = SupplyTruckVoiceAttack SoundMoveStart = SupplyTruckMoveStart SoundMoveStartDamaged = SupplyTruckMoveStart UnitSpecificSounds VoiceCreate = SupplyTruckVoiceCreate TruckLandingSound = NoSound TruckPowerslideSound = NoSound End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = SELECTABLE CAN_ATTACK VEHICLE SHOW_PORTRAIT_WHEN_CONTROLLED Body = ActiveBody ModuleTag_02 MaxHealth = 300.0 InitialHealth = 300.0 End Behavior = DestroyDie ModuleTag_03 ;nothing End Behavior = CreateObjectDie ModuleTag_04 DeathTypes = ALL CreationList = OCL_GenericCarExplode End Behavior = CreateObjectDie ModuleTag_05 DeathTypes = NONE +SUICIDED CreationList = OCL_BurnedCarHull End Behavior = AIUpdateInterface ModuleTag_06 End Locomotor = SET_NORMAL CINE_SupplyTruckLocomotor Locomotor = SET_WANDER WanderCarLocomotor Locomotor = SET_PANIC PanicCarLocomotor Behavior = PhysicsBehavior ModuleTag_07 Mass = 30.0 End Behavior = OCLSpecialPower ModuleTag_08 SpecialPowerTemplate = SuperweaponDetonateDirtyNuke OCL = SUPERWEAPON_DetonateDirtyNuke CreateLocation = USE_OWNER_OBJECT End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX GeometryIsSmall = NO GeometryMajorRadius = 20.0 GeometryMinorRadius = 8.0 GeometryHeight = 16.0 Shadow = SHADOW_VOLUME End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleScudLauncher ; *** ART Parameters *** SelectPortrait = SUScudLauncher_L ButtonImage = SUScudLauncher UpgradeCameo1 = Upgrade_GLAJunkRepair UpgradeCameo2 = Upgrade_GLAAnthraxBeta ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset DefaultConditionState Model = UVScudLchr Turret = TURRET TurretPitch = TURRETEL ShowSubObject = TURRET HideSubObject = TURRETUP01 TURRETUP02 WeaponLaunchBone = PRIMARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = REALLYDAMAGED Model = UVScudLchr_d End AliasConditionState = RUBBLE ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVScudLchr Turret = TURRETUP01 TurretPitch = TURRETEL01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 WeaponLaunchBone = PRIMARY WeaponB WeaponLaunchBone = SECONDARY WeaponB End ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVScudLchr_d Turret = TURRETUP01 TurretPitch = TURRETEL01 ShowSubObject = TURRETUP01 HideSubObject = TURRET TURRETUP02 WeaponLaunchBone = PRIMARY WeaponB WeaponLaunchBone = SECONDARY WeaponB End ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVScudLchr Turret = TURRETUP02 TurretPitch = TURRETEL02 ShowSubObject = TURRETUP02 HideSubObject = TURRET TURRETUP01 WeaponLaunchBone = PRIMARY WeaponC WeaponLaunchBone = SECONDARY WeaponC End ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVScudLchr_d Turret = TURRETUP02 TurretPitch = TURRETEL02 ShowSubObject = TURRETUP02 HideSubObject = TURRET TURRETUP01 WeaponLaunchBone = PRIMARY WeaponC WeaponLaunchBone = SECONDARY WeaponC End TrackMarks = EXTireTrack.tga Dust = ScudLauncherDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire05 LeftRearTireBone = Tire04 RightRearTireBone = Tire08 MidLeftFrontTireBone = Tire02 MidRightFrontTireBone = Tire06 MidLeftRearTireBone = Tire03 MidRightRearTireBone = Tire07 TireRotationMultiplier = 0.2 ; this * speed = rotation. ;PowerslideRotationAddition = 0.0 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:ScudLauncher Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY DEMO_SCUDLauncherGunExplosive Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY DEMO_SCUDLauncherGunExplosivePlusOne Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY DEMO_SCUDLauncherGunExplosivePlusTwo Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI AutoChooseSources = TERTIARY None End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 1200 BuildTime = 15.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer Object = Demo_GLAPalace Science = SCIENCE_ScudLauncher End ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 100 200 400 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleScudLauncherCommandSet ; *** AUDIO Parameters *** VoiceSelect = ScudLauncherVoiceSelect VoiceMove = ScudLauncherVoiceMove VoiceGuard = ScudLauncherVoiceMove VoiceAttack = ScudLauncherVoiceAttack SoundMoveStart = ScudLauncherMoveStart SoundMoveStartDamaged = ScudLauncherMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = ScudLauncherVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = NoSound TruckPowerslideSound = NoSound VoiceCrush = ScudLauncherVoiceCrush VoiceEnter = ScudLauncherVoiceMove VoicePrimaryWeaponMode = ScudLauncherVoiceModeHiEx VoiceSecondaryWeaponMode = ScudLauncherVoiceModeAnthrax End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 180.0 InitialHealth = 180.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 60 ; turn rate, in degrees per sec TurretPitchRate = 60 FirePitch = 90 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes ControlledWeaponSlots = PRIMARY End AutoAcquireEnemiesWhenIdle = No NotWhileAttacking End Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL ScudLauncherLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ScudLauncherDamageTransition End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_09 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_SCUDLauncherDeathEffect FX = FINAL FX_ScudLauncherExplosionOneFinal End ; A crushing defeat Behavior = FXListDie ModuleTag_10 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_22 DeathTypes = NONE +CRUSHED +SPLATTED End ; Behavior = WeaponSetUpgrade ModuleTag_23 ; TriggeredBy = Upgrade_GLAAnthraxBeta ; End ; ; Behavior = LockWeaponCreate ModuleTag_24 ; SlotToLock = PRIMARY ; Prevents indeterminate state plus two unpickable weapons equaling no attack. ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb End; Behavior = CommandSetUpgrade ModuleTag_26 CommandSet = Demo_GLAVehicleScudLauncherCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ; this unit is never really "built"; building one triggers the random building of ; one of the other chassis. If you want a *specific* chassis, choose it explicitly; ; if you want a chassis at random, specify this. Object Demo_GLAVehicleTechnical ; *** ART Parameters *** SelectPortrait = SUTechnical_L ButtonImage = SUTechnical Draw = W3DModelDraw ModuleTag_01 DefaultConditionState ; give it a model so it'll show up in WB Model = UVTechTrck End End ; set cost and time fields here or else they won't work BuildCost = 550 BuildTime = 3.0 ;in seconds ; Needed to get the Veterancy Overlays on top of the Technical with his build variations. ;------------------------------------------------------------ Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_TechnicalTraining End Side = GLADemolitionGeneral EditorSorting = VEHICLE BuildVariations = Demo_GLAVehicleTechnicalChassisOne Demo_GLAVehicleTechnicalChassisTwo Demo_GLAVehicleTechnicalChassisThree KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** SelectPortrait = SUTechnical_L ButtonImage = SUTechnical UpgradeCameo1 = Upgrade_GLAAPBullets UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechTrck End ConditionState = REALLYDAMAGED Model = UVTechTrck_d End ConditionState = RUBBLE Model = UVTechTrck_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; ***DESIGN parameters *** DisplayName = OBJECT:Technical Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY TechnicalMachineGunWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY TechnicalCannonWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY TechnicalRPGWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TruckDamageFX End ;update cost and time fields in Object GLAVehicleTechnical, or else they won't work ;BuildCost = 300 ;BuildTime = 5.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer End ExperienceValue = 25 25 50 100 ;Experience point value at each level ExperienceRequired = 0 50 75 150 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleTechnicalCommandSet ; *** AUDIO Parameters *** VoiceSelect = TechnicalVoiceSelect VoiceMove = TechnicalVoiceMove VoiceGuard = TechnicalVoiceMove VoiceAttack = TechnicalVoiceAttack SoundMoveStart = TechnicalMoveStart SoundMoveStartDamaged = TechnicalMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = TechnicalVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceSalvage = TechnicalVoiceSalvage VoiceCrush = TechnicalVoiceCrush VoiceUnload = TechnicalVoiceUnload VoiceEnter = TechnicalVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = VETERAN ScienceRequired = SCIENCE_TechnicalTraining End Body = ActiveBody ModuleTag_04 MaxHealth = 180 InitialHealth = 180 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 360 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_05 Turret TurretTurnRate = 240 ; turn rate, in degrees per sec NaturalTurretAngle = 0 MinIdleScanAngle = 30 ; in degrees off the natural turret angle MaxIdleScanAngle = 60 ; in degrees off the natural turret angle MinIdleScanInterval = 5000 ; in milliseconds MaxIdleScanInterval = 10000 ; in milliseconds ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL TechnicalLocomotor Behavior = PhysicsBehavior ModuleTag_06 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_07 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = FlammableUpdate ModuleTag_09 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_10 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_11 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_12 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_TechnicalJeep_CrushEffect End Behavior = CreateCrateDie ModuleTag_14 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = SlowDeathBehavior ModuleTag_15 DeathTypes = ALL -CRUSHED -SPLATTED DestructionDelay = 500 DestructionDelayVariance = 1500 OCL = INITIAL OCL_TechnicalAirDeathStart FX = INITIAL FX_TechnicalAirDeathGroundPart OCL = FINAL OCL_RocketBuggyAirDeath FX = FINAL FX_RocketBuggyAirDeathAirPart ; This happens in the air End Behavior = TransportContain ModuleTag_16 Slots = 5 AllowInsideKindOf = INFANTRY DamagePercentToUnits = 10% GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting End Behavior = WeaponBonusUpgrade ModuleTag_17 ; Not a full weapon set switch, just a number tweak reflected in a weapon. TriggeredBy = Upgrade_GLAAPBullets End Behavior = SlowDeathBehavior ModuleTag_Death_18 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_20 CommandSet = Demo_GLAVehicleTechnicalCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 18.0 GeometryMinorRadius = 9.0 GeometryHeight = 7.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAVehicleTechnicalChassisTwo Demo_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechVan End ConditionState = REALLYDAMAGED Model = UVTechVan_d End ConditionState = RUBBLE Model = UVTechVan_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust ;DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; Behavior = CreateObjectDie ModuleTag_13 ; DeathTypes = NONE +CRUSHED +SPLATTED ; CreationList = OCL_TechnicalVan_CrushEffect ; End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 8.0 GeometryHeight = 7.5 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ObjectReskin Demo_GLAVehicleTechnicalChassisThree Demo_GLAVehicleTechnicalChassisOne ; *** ART Parameters *** Draw = W3DTruckDraw ModuleTag_01 ExtraPublicBone = Dum_Turret DefaultConditionState Model = UVTechJeep End ConditionState = REALLYDAMAGED Model = UVTechJeep_d End ConditionState = RUBBLE Model = UVTechJeep_d End OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga Dust = TechnicalDust ;DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End Draw = W3DModelDraw ModuleTag_02 OkToChangeModelColor = Yes AttachToBoneInAnotherModule = Dum_Turret ; ------------------ basic technical ------------------------ DefaultConditionState Model = UITech_SKN Turret = Dum-TurManMVR TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03 IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = MOVING Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ConditionState = TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End AliasConditionState = TURRET_ROTATE MOVING AliasConditionState = TURRET_ROTATE FIRING_A AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE RELOADING_A AliasConditionState = TURRET_ROTATE MOVING FIRING_A AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = TURRET_ROTATE MOVING RELOADING_A ConditionState = FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 20Cal WeaponMuzzleFlash = PRIMARY MuzzleFX01 WeaponFireFXBone = PRIMARY Muzzle01 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = MOVING FIRING_A AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_ONE IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = 50Cal WeaponMuzzleFlash = PRIMARY MuzzleFX02 WeaponFireFXBone = PRIMARY Muzzle02 WeaponLaunchBone = PRIMARY Muzzle02 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------ ConditionState = WEAPONSET_CRATEUPGRADE_TWO IdleAnimation = UITech_SKL.UITech_STA 0 6 IdleAnimation = UITech_SKL.UITech_IDA IdleAnimation = UITech_SKL.UITech_IDB AnimationMode = ONCE ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE Animation = None HideSubObject = UITech-SKN ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO Animation = UITech_SKL.UITech_MVB AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE Animation = UITech_SKL.UITech_TNA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A Animation = UITech_SKL.UITech_ATA AnimationMode = LOOP ShowSubObject = RPG WeaponFireFXBone = PRIMARY Muzzle03 WeaponLaunchBone = PRIMARY Muzzle03 End ; AliasConditionState is a new keyword that says, ; "give me another ConditionState exactly like the previous ; one, except with different conditions". Useful when you ; have several states that are the same with only different condition bits. AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.). AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A End ; Behavior = CreateObjectDie ModuleTag_13 ; DeathTypes = NONE +CRUSHED +SPLATTED ; CreationList = OCL_TechnicalJeep_CrushEffect ; End Geometry = BOX GeometryMajorRadius = 14.0 GeometryMinorRadius = 9.0 GeometryHeight = 9.5 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ ;The Marauder Tank, for the Warlord General. Object Demo_GLATankMarauder ; *** ART Parameters *** SelectPortrait = SUMarauder_L ButtonImage = SUMarauder UpgradeCameo1 = Upgrade_GLAToxinShells UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes ; no crate upgrade ConditionState = NONE Model = UVMarauder Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = REALLYDAMAGED Model = UVMarauder_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = RUBBLE Model = UVMarauder_d Turret = Turret ShowSubObject = Turret HideSubObject = TurretUp01 TurretUp02 BarrelFX01 WeaponFireFXBone = PRIMARY BarrelMS WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY BarrelFX WeaponLaunchBone = PRIMARY BarrelMS End ; crate upgrade 1 ConditionState = WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder_d Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_ONE Model = UVMarauder_d Turret = TurretUp01 ShowSubObject = TurretUp01 HideSubObject = Turret TurretUp02 BarrelUp01FX01 WeaponFireFXBone = PRIMARY BarrelUp01MS WeaponRecoilBone = PRIMARY BarrelUp01 WeaponMuzzleFlash = PRIMARY BarrelUp01FX WeaponLaunchBone = PRIMARY BarrelUp01MS End ; crate upgrade 2 ConditionState = WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder_d Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_TWO Model = UVMarauder_d Turret = TurretUp02 ShowSubObject = TurretUp02 HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02 WeaponFireFXBone = PRIMARY BarrelUp02MS WeaponRecoilBone = PRIMARY BarrelUp02 WeaponMuzzleFlash = PRIMARY BarrelUp02FX WeaponLaunchBone = PRIMARY BarrelUp02MS End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. End ; ***DESIGN parameters *** DisplayName = OBJECT:Marauder Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY REDMarauderTankGun Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY REDMarauderTankGunUpgradeOne Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY REDMarauderTankGunUpgradeTwo Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Demo_GLAArmsDealer Science = SCIENCE_MarauderTank End ExperienceValue = 100 100 200 300 ;Experience point value at each level ExperienceRequired = 0 200 300 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLATankMarauderCommandSet ; *** AUDIO Parameters *** VoiceSelect = MarauderTankVoiceSelect VoiceMove = MarauderTankVoiceMove VoiceGuard = MarauderTankVoiceMove VoiceAttack = MarauderTankVoiceAttack SoundMoveStart = MarauderTankMoveStart SoundMoveStartDamaged = MarauderTankMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = MarauderTankVoiceCreate ;TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop VoiceSalvage = MarauderTankVoiceSalvage VoiceCrush = MarauderTankVoiceCrush VoiceEnter = MarauderTankVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 430.0 InitialHealth = 430.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 860 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL MarauderLocomotor Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = AutoHealBehavior ModuleTag_05 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_06 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 1000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_MarauderTankDeathEffect FX = FINAL FX_BattleMasterExplosionOneFinal End Behavior = CreateCrateDie ModuleTag_07 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End ; A crushing defeat Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = SlowDeathBehavior ModuleTag_Death_22 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_24 CommandSet = Demo_GLATankMarauderCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 17.0 GeometryMinorRadius = 10.0 GeometryHeight = 9.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ ;GLA Radar Van Object Demo_GLAVehicleRadarVan ; *** ART Parameters *** SelectPortrait = SURadarVan_L ButtonImage = SURadarVan UpgradeCameo1 = Upgrade_GLARadarVanScan UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRadarVan Animation = UVRadarVan.UVRadarVan AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = UVRadarVan_D Animation = UVRadarVan_D.UVRadarVan_D AnimationMode = LOOP End ConditionState = RUBBLE Model = UVRadarVan_D Animation = UVRadarVan_D.UVRadarVan_D AnimationMode = LOOP End TrackMarks = EXTireTrack.tga ; These parameters are only used if the model has a separate suspension, ; and the locomotor has HasSuspension = Yes. LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 LeftRearTireBone = Tire03 RightRearTireBone = Tire04 TireRotationMultiplier = 0.2 ; this * speed = rotation. PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding. End ; ***DESIGN parameters *** DisplayName = OBJECT:RadarVan Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Weapon = PRIMARY None Weapon = SECONDARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None AutoChooseSources = PRIMARY None End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 500 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 500 Prerequisites Object = Demo_GLAArmsDealer End IsTrainable = No CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleRadarVanCommandSet ; *** AUDIO Parameters *** VoiceSelect = RadarVanVoiceSelect VoiceMove = RadarVanVoiceMove VoiceAttack = RadarVanVoiceMove SoundMoveStart = RadarVanMoveStart SoundMoveStartDamaged = RadarVanMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = RadarVanVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop ; Required for the W3DTruckDraw module TruckLandingSound = NoSound ;RocketBuggyLand TruckPowerslideSound = NoSound ;RocketBuggyPowerslide VoiceCrush = RadarVanVoiceCrush VoiceEnter = RadarVanVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE IGNORES_SELECT_ALL Body = ActiveBody ModuleTag_02 MaxHealth = 200 InitialHealth = 200 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 400 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End ExperienceValue = 20 20 20 20 ; Experience point value at each level Behavior = GrantUpgradeCreate ModuleTag_03 UpgradeToGrant = Upgrade_GLARadar End Behavior = RadarUpgrade ModuleTag_05 TriggeredBy = Upgrade_GLARadar DisableProof = Yes ; Won't be disabled by power low End Behavior = OCLSpecialPower ModuleTag_06 SpecialPowerTemplate = SpecialPowerRadarVanScan OCL = SUPERWEAPON_RadarVanScan CreateLocation = CREATE_AT_LOCATION StartsPaused = Yes ; Unpaused by upgrade module End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_07 SpecialPowerTemplate = SpecialPowerRadarVanScan TriggeredBy = Upgrade_GLARadarVanScan End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = AIUpdateInterface ModuleTag_09 Turret TurretTurnRate = 100 ControlledWeaponSlots = PRIMARY End End Locomotor = SET_NORMAL RadarVanLocomotor Behavior = PhysicsBehavior ModuleTag_10 Mass = 50.0 End ; The default explosion Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_RadarVanDeathEffect End Behavior = FlammableUpdate ModuleTag_13 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = CreateCrateDie ModuleTag_15 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = StealthDetectorUpdate ModuleTag_16 DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec) ;DetectionRange = ??? ;Dustin, enable this for independant balancing! CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of. CanDetectWhileContained = No ;Contained means being in a transport or tunnel network. End ; A crushing defeat Behavior = FXListDie ModuleTag_17 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_18 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = TransitionDamageFX ModuleTag_19 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_CrusaderDamageTransition End Behavior = SlowDeathBehavior ModuleTag_Death_20 DeathTypes = NONE +SUICIDED +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_TerroristExplode FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End ; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death24 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = Yes ; turned on by upgrade ; DeathTypes = NONE +SUICIDED ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag999 ; DeathWeapon = Demo_SuicideDynamitePackPlusFire ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = ALL -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA ; End ; ; Behavior = FireWeaponWhenDeadBehavior ModuleTag998 ; DeathWeapon = Demo_SuicideDynamitePack ; StartsActive = No ; TriggeredBy = Demo_Upgrade_SuicideBomb ; RequiresAllTriggers = Yes; ; DeathTypes = NONE +SUICIDED ; End Behavior = FireWeaponWhenDeadBehavior ModuleTag_George DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = ALL End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_Bob DeathWeapon = Demo_SuicideDynamitePackPlusFire StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb DeathTypes = NONE End Behavior = CommandSetUpgrade ModuleTag_22 CommandSet = Demo_GLAVehicleRadarVanCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Geometry = BOX GeometryMajorRadius = 16.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.5 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ;minimum elevation angle above horizon. Used to limit shadow length End ;------------------------------------------------------------------------------ Object Demo_GLAVehicleBattleBus ; *** ART Parameters *** SelectPortrait = SUbattlebus_L ButtonImage = SUbattlebus UpgradeCameo1 = Upgrade_GLAJunkRepair Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga ExtraPublicBone = BUSUP01 ExtraPublicBone = BUSUP02 DefaultConditionState Model = UVBATTBUS HideSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING Model = UVBATTBUS Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = UVBATTBUS_D Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING Model = UVBATTBUS_D Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ; Set after our first death, natch Model = UVBATTBUS_D1 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE AliasConditionState = RUBBLE SECOND_LIFE ConditionState = RUBBLE Model = UVBATTBUS_D End ;--------- One crates ConditionState = ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D1 ShowSubObject = BUSUP01 HideSubObject = BUSUP02 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_ONE Model = UVBATTBUS_D ShowSubObject = BUSUP01 HideSubObject = BUSUP02 End ;--------- Two crates ConditionState = ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = MANUAL End ConditionState = MOVING ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS.UVBATTBUS AnimationMode = LOOP End ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = MANUAL End ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D.UVBATTBUS_D AnimationMode = LOOP End ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D1 ShowSubObject = BUSUP01 BUSUP02 Animation = UVBATTBUS_D1.UVBATTBUS_D1 AnimationMode = MANUAL End AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_TWO Model = UVBATTBUS_D ShowSubObject = BUSUP01 BUSUP02 End LeftFrontTireBone = Tire01 RightFrontTireBone = Tire04 LeftRearTireBone = Tire02 RightRearTireBone = Tire03 TireRotationMultiplier = 0.2 ; this * speed = rotation. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End PlacementViewAngle = 180 ; ***DESIGN parameters *** DisplayName = OBJECT:BattleBus Side = GLADemolitionGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None AutoChooseSources = PRIMARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BattleBusPassengerDummyWeapon Weapon = TERTIARY TerroristSuicideNotARealWeapon AutoChooseSources = TERTIARY None End ArmorSet Conditions = None Armor = BattleBusTruckArmor DamageFX = TruckDamageFX End ArmorSet Conditions = SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorTough DamageFX = StructureDamageFX End ArmorSet Conditions = CRATE_UPGRADE_ONE Armor = BattleBusTruckArmorPlusOne DamageFX = TruckDamageFX End ArmorSet Conditions = CRATE_UPGRADE_ONE SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorToughPlusOne DamageFX = StructureDamageFX End ArmorSet Conditions = CRATE_UPGRADE_TWO Armor = BattleBusTruckArmorPlusTwo DamageFX = TruckDamageFX End ArmorSet Conditions = CRATE_UPGRADE_TWO SECOND_LIFE ; Set after our first death, natch Armor = BattleBusStructureArmorToughPlusTwo DamageFX = StructureDamageFX End BuildCost = 1000 BuildTime = 15.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 200 Prerequisites Object = Demo_GLAArmsDealer Object = Demo_GLAPalace End CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = Demo_GLAVehicleBattleBusCommandSet ; *** AUDIO Parameters *** VoiceSelect = BattleBusVoiceSelect VoiceMove = BattleBusVoiceMove VoiceGuard = BattleBusVoiceMove VoiceAttack = BattleBusVoiceAttack SoundMoveStart = BattleBusMoveStart SoundMoveStartDamaged = BattleBusMoveStart SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = BattleBusVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound TruckLandingSound = RocketBuggyLand TruckPowerslideSound = RocketBuggyPowerslide VoiceUnload = BattleBusVoiceUnload End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER ARMOR_SALVAGER SCORE Body = UndeadBody ModuleTag_02 ; Body module that treats the first death as a state change MaxHealth = 400.0 InitialHealth = 400.0 SecondLifeMaxHealth = 650.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 750 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End IsTrainable = No ExperienceValue = 50 50 50 50 ; Experience point value at each level Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS End Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Locomotor = SET_NORMAL BattleBusLocomotor Behavior = BattleBusSlowDeathBehavior ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED -EXTRA_4 -SUICIDED ;Crushed and splatted are cover by a DestroyDie. Extra4(loneliness) and Suicide(DemoBomb) are covered in a normal slowdeath ProbabilityModifier = 5 ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely ; Part the first, uses when killed the first time from non-system (unresistable) damage FXStartUndeath = FX_BattleBusStartUndeath OCLStartUndeath = OCL_BattleBusStartUndeath FXHitGround = FX_BattleBusHitGround OCLHitGround = OCL_BattleBusHitGround ThrowForce = 100.0 PercentDamageToPassengers = 50% EmptyHulkDestructionDelay = 1000 ; If non-zero, msec of emptiness before we kill ourselves with Penalty damage, EXTRA_4 death ; Part the second, normal fields of a SlowDeathBehavior DestructionDelay = 0 DestructionDelayVariance = 200 FX = FINAL FX_BuggyNewDeathExplosion OCL = FINAL OCL_BattleBusDeath End Behavior = TransportContain ModuleTag_10 PassengersAllowedToFire = Yes Slots = 8 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY ExitDelay = 250 NumberOfExitPaths = 5 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting WeaponBonusPassedToPassengers = Yes DelayExitInAir = Yes DelayExitInAir = Yes ArmedRidersUpgradeMyWeaponSet = Yes End ; Module 11 cut. ; Behavior = HordeUpdate ModuleTag_11 ; RubOffRadius = 150 ; if I am this close to a real hordesman, I will get to be an honorary hordesman ; UpdateRate = 1000 ; how often to recheck horde status (msec) ; Radius = 75 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) ; AlliesOnly = Yes ; do we only count allies towards horde status? ; ExactMatch = Yes ; do we only count units of our exact same type towards horde status? (overrides kindof) ; Count = 5 ; how many units must be within Radius to grant us horde-ness ; Action = HORDE ; when horde-ing, grant us the HORDE bonus ; End ; A crushing defeat Behavior = FXListDie ModuleTag_23 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_24 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_25 CrateData = SalvageCrateData End Behavior = FlammableUpdate ModuleTag_28 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = DestroyDie ModuleTag_29 DeathTypes = NONE +CRUSHED +SPLATTED End Behavior = FireWeaponWhenDeadBehavior ModuleTag998 DeathWeapon = Demo_SuicideDynamitePack StartsActive = No TriggeredBy = Demo_Upgrade_SuicideBomb End Behavior = CommandSetUpgrade ModuleTag_33 CommandSet = Demo_GLAVehicleBattleBusCommandSetUpgrade TriggeredBy = Demo_Upgrade_SuicideBomb End Behavior = SlowDeathBehavior ModuleTag_34 // Empty Hulk sinking away DeathTypes = NONE +EXTRA_4 SinkDelay = 1 SinkRate = 2.5 DestructionDelay = 5000 End Behavior = SlowDeathBehavior ModuleTag_35 // Sorry, because the terrorist does Suicide damage to others, we cannot tell if it is a legit suicide (us killing self) DeathTypes = NONE +SUICIDED DestructionDelay = 1 FX = FINAL FX_BuggyNewDeathExplosion End Behavior = TransitionDamageFX ModuleTag_36 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Geometry = BOX GeometryMajorRadius = 19.0 GeometryMinorRadius = 8.0 GeometryHeight = 11.5 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End Object Demo_GLAAirport ; *** ART Parameters *** SelectPortrait = T4 ButtonImage = T4 Draw = W3DModelDraw ModuleTag_01 ExtraPublicBone = Runway1Parking1 ExtraPublicBone = Runway1Parking2 ExtraPublicBone = Runway2Parking1 ExtraPublicBone = Runway2Parking2 ExtraPublicBone = Runway1Park1Han ExtraPublicBone = Runway1Park2Han ExtraPublicBone = Runway2Park1Han ExtraPublicBone = Runway2Park2Han ExtraPublicBone = Runway1Prep1 ExtraPublicBone = Runway1Prep2 ExtraPublicBone = Runway2Prep1 ExtraPublicBone = Runway2Prep2 ExtraPublicBone = RunwayStart1 ExtraPublicBone = RunwayStart2 ExtraPublicBone = RunwayEnd1 ExtraPublicBone = RunwayEnd2 ExtraPublicBone = HeliPark01 OkToChangeModelColor = Yes ; day ******************************************** DefaultConditionState Model = UBArFrcCmd Animation = UBArFrcCmd.UBArFrcCmd AnimationMode = LOOP End ConditionState = DAMAGED Model = UBArFrcCmd_D Animation = UBArFrcCmd_D.UBArFrcCmd_D AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire End ConditionState = REALLYDAMAGED RUBBLE Model = UBArFrcCmd_E Animation = UBArFrcCmd_E.UBArFrcCmd_E AnimationMode = LOOP ParticleSysBone = Smoke01 SmolderingSmoke ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Spark01 SparksLarge End ; night ****************************************** ConditionState = NIGHT Model = UBArFrcCmd_N Animation = UBArFrcCmd_N.UBArFrcCmd_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBArFrcCmd_DN Animation = UBArFrcCmd_DN.UBArFrcCmd_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBArFrcCmd_EN Animation = UBArFrcCmd_EN.UBArFrcCmd_EN AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArFrcCmd Animation = UBArFrcCmd.UBArFrcCmd AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBArFrcCmd_D Animation = UBArFrcCmd_D.UBArFrcCmd_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBArFrcCmd_E Animation = UBArFrcCmd_E.UBArFrcCmd_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBArFrcCmd_N Animation = UBArFrcCmd_N.UBArFrcCmd_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBArFrcCmd_DN Animation = UBArFrcCmd_DN.UBArFrcCmd_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBArFrcCmd_EN Animation = UBArFrcCmd_EN.UBArFrcCmd_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_07 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = UBArFrcCmd_A4 Animation = UBArFrcCmd_A4.UBArFrcCmd_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = SmokeS01 SmokeBuildingSmall ParticleSysBone = SparksS01 LiveWireSparks02 End TransitionState = DOWN_DEFAULT UP_DAY Model = UBArFrcCmd_A4 Animation = UBArFrcCmd_A4.UBArFrcCmd_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBArFrcCmd_A4 Animation = UBArFrcCmd_A4.UBArFrcCmd_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_08 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDust ParticleSysBone = Smoke01 BuildUpSmoke ParticleSysBone = Smoke02 BuildUpSmoke ParticleSysBone = Smoke03 BuildUpSmoke ParticleSysBone = Smoke04 BuildUpSmoke ParticleSysBone = Smoke05 BuildUpSmoke End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = UBPalace_A6 Animation = UBPalace_A6.UBPalace_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = UBPalace_A6N Animation = UBPalace_A6N.UBPalace_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = UBPalace_A6S Animation = UBPalace_A6S.UBPalace_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = UBPalace_A6SN Animation = UBPalace_A6SN.UBPalace_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_09 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = UBArFrcCmd_A5 Animation = UBArFrcCmd_A5.UBArFrcCmd_A5 AnimationMode = LOOP TransitionKey = UP_DAY End End PlacementViewAngle = -45 ; ***DESIGN parameters *** DisplayName = OBJECT:Airfield Side = GLADemolitionGeneral EditorSorting = STRUCTURE Prerequisites Object = Demo_GLASupplyStash End BuildCost = 1000 BuildTime = 30.0 ; in seconds EnergyProduction = 0 CommandSet = Demo_GLAAirPortCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 150 150 150 150 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = WarFactoryGLASelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT FS_AIRFIELD Body = StructureBody ModuleTag_10 MaxHealth = 2000.0 InitialHealth = 2000.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1700 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = ParkingPlaceBehavior ModuleTag_11 HealAmountPerSecond = 20 NumRows = 2 NumCols = 2 HasRunways = Yes ApproachHeight = 50 ParkInHangars = Yes End Behavior = ProductionUpdate ModuleTag_12 NumDoorAnimations = 4 ; DoorOpeningTime = 2000 ;in mSeconds ; DoorWaitOpenTime = 3000 ;in mSeconds ; DoorCloseTime = 2000 ;in mSeconds ConstructionCompleteDuration = 100 ;in mSeconds End Behavior = BaseRegenerateUpdate ModuleTag_13 ;No data End Behavior = DestroyDie ModuleTag_14 ;nothing End Behavior = CreateObjectDie ModuleTag_15 CreationList = OCL_ABPowerPlantExplode End Behavior = FXListDie ModuleTag_17 DeathFX = FX_StructureMediumDeath End Behavior = FlammableUpdate ModuleTag_19 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_31 ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave End Geometry = BOX GeometryMajorRadius = 75.0 GeometryMinorRadius = 60.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------- Object GLAVehicleToxinPlane ; *** ART Parameters *** SelectPortrait = T6 ButtonImage = T6 UpgradeCameo1 = Upgrade_GLAJunkRepair ; UpgradeCameo2 = Upgrade_GLAJunkRepair ; UpgradeCameo3 = Upgrade_Sunnykit ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ConditionState = NONE Model = CVCDTPLN Animation = CVCDTPLN.CVCDTPLN AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = CVCDTPLN_D End ConditionState = RUBBLE Model = CVCDTPLN End End Scale =0.8 ; ***DESIGN parameters *** DisplayName = CONTROLBAR:TooltipGLAToxinPlane EditorSorting = VEHICLE Side = GLADemolitionGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 350 ; Prerequisites ; Object = Demo_GLAPalace ; ; End WeaponSet Conditions = None Weapon = PRIMARY ToxinPlaneDrop ;ToxinPlaneSprayer Weapon = SECONDARY SuicidePWeapon ;PlaneSuicideBomb AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End BuildCost = 1000 BuildTime = 10 ExperienceValue = 200 200 400 600 ;Experience point value at each level ExperienceRequired = 0 200 400 600 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ToxinPlaneCommandSet ; *** AUDIO Parameters *** SoundAmbient = CivPropPlaneAmbientLoop ; *** ENGINEERING Parameters *** ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_RaptorDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_RaptorDeathFinalBlowUp ; DeathLoopSound = MICAL NEEDS TO MAKE ME End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = TransitionDamageFX ModuleTag_08 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = JetAIUpdate ModuleTag_09 OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute TakeoffDistForMaxLift = 50% ; larger numbers give more lift sooner when taking off TakeoffPause = 1500 MinHeight = 5 ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL TerrorPlaneLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = CreateCrateDie ModuleTag_25 CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = FireWeaponWhenDeadBehavior ModuleTag_14 DeathWeapon = PlaneSuicideBomb StartsActive = Yes ; turned on by upgrade End Behavior = AutoHealBehavior ModuleTag_26 HealingAmount = 5 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length. End