Object Chem_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 = GLAToxinGeneral EditorSorting = SYSTEM Prerequisites Object = Chem_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 = 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 Chem_GLACommandCenter ; *** ART Parameters *** SelectPortrait = SUHeadquarters_L ButtonImage = SUHeadquarters ; ----- The actual command center Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = UBCmdHQC ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP End ConditionState = GARRISONED Model = UBCmdHQCE ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE.UBCmdHQCE AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED Model = UBCmdHQCE_D ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_D.UBCmdHQCE_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED Model = UBCmdHQCE_E ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_E.UBCmdHQCE_E AnimationMode = LOOP End ; night ConditionState = NIGHT Model = UBCmdHQC_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP End ConditionState = GARRISONED NIGHT Model = UBCmdHQCE_N ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_N.UBCmdHQCE_N AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT Model = UBCmdHQCE_DN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_DN.UBCmdHQCE_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT Model = UBCmdHQCE_EN ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_EN.UBCmdHQCE_EN AnimationMode = LOOP End ; day snow ConditionState = SNOW Model = UBCmdHQC_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP End ConditionState = GARRISONED SNOW Model = UBCmdHQCE_S ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_S.UBCmdHQCE_S AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED SNOW Model = UBCmdHQCE_DS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_DS.UBCmdHQCE_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED SNOW Model = UBCmdHQCE_ES ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_ES.UBCmdHQCE_ES AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = UBCmdHQC_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_ENS AnimationMode = LOOP End ConditionState = GARRISONED NIGHT SNOW Model = UBCmdHQCE_NS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_NS.UBCmdHQCE_NS AnimationMode = LOOP End ConditionState = DAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQCE_DNS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_DNS.UBCmdHQCE_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED GARRISONED NIGHT SNOW Model = UBCmdHQCE_ENS ParticleSysBone = Smoke01 SmolderingSmoke Animation = UBCmdHQCE_ENS.UBCmdHQCE_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 = UBCmdHQC Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQC_N Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQC_S Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQC_NS Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_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 = GLAToxinGeneral EditorSorting = STRUCTURE BuildCost = 2000 BuildTime = 45.0 ; in seconds EnergyProduction = 0 ;Command center should be free CommandSet = Chem_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 = Chem_SuperweaponRebelAmbush UpgradeOCL = Chem_SCIENCE_RebelAmbush3 Chem_SUPERWEAPON_RebelAmbush3 UpgradeOCL = Chem_SCIENCE_RebelAmbush2 Chem_SUPERWEAPON_RebelAmbush2 OCL = Chem_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 ;Toxin General gets these for free. Behavior = GrantUpgradeCreate ModuleTag_23 UpgradeToGrant = Upgrade_GLAToxinShells End Behavior = GrantUpgradeCreate ModuleTag_24 UpgradeToGrant = Upgrade_GLAAnthraxBeta 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 Chem_GLAHoleCommandCenter Chem_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 Chem_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 = UBCmdHQC ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP End ConditionState = DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_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 = UBCmdHQC_N ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_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 = UBCmdHQC_S ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_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 = UBCmdHQC_NS ParticleSysBone = Smoke01 SteamVent ParticleSysBone = Fire01 SmolderingFire ParticleSysBone = Fire01 SmolderingSmoke Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_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 = UBCmdHQC Animation = UBCmdHQC.UBCmdHQC AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBCmdHQC_D Animation = UBCmdHQC_D.UBCmdHQC_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBCmdHQC_E Animation = UBCmdHQC_E.UBCmdHQC_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBCmdHQC_N Animation = UBCmdHQC_N.UBCmdHQC_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBCmdHQC_DN Animation = UBCmdHQC_DN.UBCmdHQC_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBCmdHQC_EN Animation = UBCmdHQC_EN.UBCmdHQC_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBCmdHQC_S Animation = UBCmdHQC_S.UBCmdHQC_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBCmdHQC_DS Animation = UBCmdHQC_DS.UBCmdHQC_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBCmdHQC_ES Animation = UBCmdHQC_ES.UBCmdHQC_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBCmdHQC_NS Animation = UBCmdHQC_NS.UBCmdHQC_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBCmdHQC_DNS Animation = UBCmdHQC_DNS.UBCmdHQC_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBCmdHQC_ENS Animation = UBCmdHQC_ENS.UBCmdHQC_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_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 = Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLAPalace End BuildCost = 2500 BuildTime = 30.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_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 Chem_GLAHoleBlackMarket Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_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 = Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLAPalace End BuildCost = 5000 BuildTime = 60.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_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 Chem_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 Chem Trap Object Chem_GLADemoTrap ; *** ART Parameters *** SelectPortrait = SSHideBomb ButtonImage = SSHideBomb Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = EXHideBomb 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:DemoTrap Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLAArmsDealer End BuildCost = 600 BuildTime = 8.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 = 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 DetonateWhenKilled = Yes End Behavior = SlowDeathBehavior ModuleTag_05 ExemptStatus = UNDER_CONSTRUCTION DestructionDelay = 1000 FX = INITIAL FX_GLADemoTrapWarning ; Weapon = FINAL Chem_DemoTrapDetonationWeaponBeta End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Chem01 DeathWeapon = Chem_DemoTrapDetonationWeaponBeta StartsActive = Yes ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Chem02 DeathWeapon = Chem_DemoTrapDetonationWeaponGamma StartsActive = No ; turned on by upgrade TriggeredBy = Chem_Upgrade_GLAAnthraxGamma 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 Chem_GLAHoleDemoTrap Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLABarracks End BuildCost = 900 BuildTime = 15.0 ; in seconds EnergyProduction = 0 VisionRange = 600.0 ; Shroud clearing distance ShroudClearingRange = 400 ArmorSet Conditions = None Armor = StingerSiteArmor DamageFX = StructureDamageFXNoShake End CommandSet = Chem_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 = Chem_GLAInfantryStingerSoldier CanReclaimOrphans = No SpawnedRequireSpawner = Yes SlavesHaveFreeWill = No 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 Chem 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 Geometry = CYLINDER GeometryMajorRadius = 36.0 GeometryHeight = 9.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ObjectReskin Chem_GLAHoleStingerSite Chem_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 Chem_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 ; commented out until we get the right state (garrison + elite guard) 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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_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 = Chem_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 Chem_GLAHolePalace Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE BuildCost = 1500 RefundValue = 650 ; With nothing (or zero) listed, we sell for half price. BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_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 = Chem_GLAInfantryWorker OneShot = Yes CanReclaimOrphans = No SlavesHaveFreeWill = Yes 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 Chem_GLAHoleSupplyStash Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_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 = Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_GLABarracksCommandSet 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 = 100 100 100 100 ; Experience point value at each level Prerequisites ; Object = Chem_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 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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_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 = Chem_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 Chem_GLAHoleBarracks Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLASupplyStash End BuildCost = 2500 BuildTime = 15.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_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 Chem_GLAHoleArmsDealer Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_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 = Chem_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 Chem_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 = GLAToxinGeneral 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 = 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 = 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 Chem_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 = GLAToxinGeneral 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 Chem_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 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 = GLAToxinGeneral 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 AutoChooseSources = SECONDARY NONE End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 200 ShroudClearingRange = 400 Prerequisites Object = Chem_GLABarracks Object = Chem_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 = GLAInfantryJarmenKellCommandSet ; *** AUDIO Parameters *** VoiceSelect = JarmenKellVoiceSelect VoiceMove = JarmenKellVoiceMove VoiceGuard = JarmenKellVoiceMove VoiceAttack = JarmenKellVoiceAttack VoiceFear = JarmenKellVoiceFear SoundStealthOn = StealthOn SoundStealthOff = StealthOff UnitSpecificSounds VoiceCreate = JarmenKellVoiceCreate 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 = 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 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 Chem_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 = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY Chem_TunnelDefenderRocketWeaponBeta AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY Chem_TunnelDefenderRocketWeaponBetaAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_TunnelDefenderRocketWeaponGamma AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY Chem_TunnelDefenderRocketWeaponGammaAir PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 400 ; Prerequisites ; Object = Chem_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 = 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 = WeaponSetUpgrade ModuleTag_13 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma 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 Chem_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 = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY Chem_StingerMissileWeaponBeta AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY Chem_StingerMissileWeaponAirBeta PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_StingerMissileWeaponGamma AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT Weapon = SECONDARY Chem_StingerMissileWeaponAirGamma PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT 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 = Chem_GLABarracks End BuildCost = 100 BuildTime = 1.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles ; CommandSet = Chem_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 Chem 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 = WeaponSetUpgrade ModuleTag_15 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma 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 Chem_GLAInfantryTerrorist ; *** ART Parameters *** SelectPortrait = SUTerrorist_L ButtonImage = SUTerrorist ;UpgradeCameo1 = NONE ;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:Chem_Terrorist Side = GLAToxinGeneral 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 = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 200 Prerequisites Object = Chem_GLABarracks End BuildCost = 200 BuildTime = 5.0 ;in seconds CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = 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_Death05 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_Death07 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_Death03 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 OCL = INITIAL Chem_PoisonFieldGammaLarge End Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04 DeathWeapon = SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End Behavior = FireWeaponWhenDeadBehavior ModuleTag91 DeathWeapon = Chem_SuicideWeaponGamma StartsActive = No TriggeredBy = Chem_Upgrade_GLAAnthraxGamma RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_92 DeathWeapon = Chem_SuicideWeaponBeta StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLAAnthraxBeta RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_93 DeathWeapon = Chem_SuicideWeapon StartsActive = No ; turned on by upgrade ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma End ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_94 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; 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 Chem_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 = GLAToxinGeneral 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 = Chem_GLABarracks Object = Chem_GLAPalace End ExperienceValue = 5 5 5 5 ;Experience point value at each level IsTrainable = No CommandSet = 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 Chem_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 = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobPistolWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Chem_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_Death07 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 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 Chem_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 = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GLAAngryMobRockProjectileWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions Weapon = SECONDARY GLAAngryMobAK47Weapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Chem_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 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 Chem_GLAInfantryAngryMobPistol03 Chem_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 Chem_GLAInfantryAngryMobRock04 Chem_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 Chem_GLAInfantryAngryMobPistol05 Chem_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 Chem_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 = GLAToxinGeneral 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 End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 150 Prerequisites Object = Chem_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 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 Chem_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 = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = MINE_CLEARING_DETAIL Weapon = PRIMARY WorkerMineDisarmingWeapon End ArmorSet Conditions = None Armor = HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 ;Prerequisites ; Object = Chem_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 = Chem_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 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 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 = Chem_GLAWorkerFakeBuildingsCommandSet End Behavior = CommandSetUpgrade ModuleTag_15 TriggeredBy = Upgrade_GLAWorkerRealCommandSet RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet CommandSet = Chem_GLAWorkerCommandSet End Behavior = ProductionUpdate ModuleTag_16 MaxQueueEntries = 1; For the command set switching upgrade 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 Chem_GLATankScorpion ; *** ART Parameters *** SelectPortrait = SUScorpion_L ButtonImage = SUScorpion UpgradeCameo1 = Upgrade_GLAScorpionRocket 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 ; ------------ Normal DefaultConditionState Model = UVLiteTank Turret = Turret ; Logic twist bone is always this, both turrets are subobjects of it, as are both missile racks ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack! ShowSubObject = Turret01 HideSubObject = MissleRack01 MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = PRIMARY Muzzle WeaponRecoilBone = PRIMARY Barrel WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponLaunchBone = PRIMARY Muzzle End ConditionState = REALLYDAMAGED Model = UVLiteTank_d End AliasConditionState = RUBBLE ; ------------ With big turret ConditionState = WEAPONSET_CRATEUPGRADE_ONE ; one or two crates is a turret switch ShowSubObject = TurretUP01 HideSubObject = MissleRack01 MissleRack02 Turret01 ; MissileRack misspelled in the Art End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = TurretUP01 HideSubObject = MissleRack01 MissleRack02 Turret01 ; MissileRack misspelled in the Art End AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED ; ---------- With missile ConditionState = WEAPONSET_PLAYER_UPGRADE ShowSubObject = MissleRack01 Turret01 HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 Turret01 HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ; ---------- With missile and big turret ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE ShowSubObject = MissleRack01 TurretUP01 HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 TurretUP01 HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ; ---------- With two missiles and big turret ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO ShowSubObject = MissleRack01 MissleRack02 TurretUP01 HideSubObject = Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED Model = UVLiteTank_d ShowSubObject = MissleRack01 MissleRack02 TurretUP01 HideSubObject = Turret01; MissileRack misspelled in the Art WeaponFireFXBone = SECONDARY WeaponA WeaponLaunchBone = SECONDARY WeaponA End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second End ; ***DESIGN parameters *** DisplayName = OBJECT:Scorpion Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ScorpionTankGun Weapon = SECONDARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGun Weapon = SECONDARY Chem_ScorpionMissileWeapon End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY ScorpionTankGunPlusOne Weapon = SECONDARY None End WeaponSet Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGunPlusOne Weapon = SECONDARY Chem_ScorpionMissileWeapon ; No bonus at Plus One End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two Weapon = SECONDARY None End WeaponSet Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two Weapon = SECONDARY Chem_ScorpionMissileWeaponPlusTwo End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 650 BuildTime = 7.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Chem_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 = GLATankScorpionCommandSet ; *** 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 WEAPON_SALVAGER SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 370.0 InitialHealth = 370.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 = 740 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 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 ScorpionLocomotor 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_ScorpionTankDeathEffect 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 ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_22 ; UpgradeToGrant = Upgrade_GLAToxinShells ; End ; ; Behavior = GrantUpgradeCreate ModuleTag_23 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; 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 Chem_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 = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY BuggyRocketWeapon End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BuggyRocketWeaponUpgraded End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 1100 BuildTime = 10.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer Object = Chem_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 = 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 = WeaponSetUpgrade ModuleTag_09 ; TriggeredBy = Chem_Upgrade_GLAAnthraxGamma ; 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 = GrantUpgradeCreate ModuleTag_22 ; UpgradeToGrant = RocketBuggyToxinUpgrade ; End ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_23 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; 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 Chem_GLAVehicleCombatBike ; *** ART Parameters *** SelectPortrait = SUComBike_L ButtonImage = SUComBike 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 = GLAToxinGeneral 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 Chem_TunnelDefenderBikerRocketWeapon End WeaponSet Conditions = WEAPON_RIDER3 PLAYER_UPGRADE Weapon = PRIMARY Chem_TunnelDefenderBikerRocketWeaponGamma 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 = 4.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Chem_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 = Chem_GLAVehicleCombatBikeCommandSet ****COMMANDSET is overwritten in RiderChangeContain! ; *** 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_BuggyNewDeathExplosion 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_BuggyNewDeathExplosion 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_BuggyNewDeathExplosion 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_BuggyNewDeathExplosion 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_BuggyNewDeathExplosion 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_BuggyNewDeathExplosion OCL = INITIAL OCL_HijackerFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = SlowDeathBehavior DeathTag_11 RequiredStatus = STATUS_RIDER7 DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED DestructionDelay = 0 FX = INITIAL FX_BuggyNewDeathExplosion OCL = INITIAL OCL_SaboteurFlyingOffBikeDeathStart OCL = FINAL OCL_CombatBikeAirDeathStart End Behavior = AutoHealBehavior ModuleTag_08 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = WeaponSetUpgrade ModuleTag_09 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma 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 = Chem_GLAInfantryWorker RIDER1 WEAPON_RIDER1 STATUS_RIDER1 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider2 = Chem_GLAInfantryRebel RIDER2 WEAPON_RIDER2 STATUS_RIDER2 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider3 = Chem_GLAInfantryTunnelDefender RIDER3 WEAPON_RIDER3 STATUS_RIDER3 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider4 = Chem_GLAInfantryJarmenKell RIDER4 WEAPON_RIDER4 STATUS_RIDER4 GLAVehicleCombatBikeJarmenKellCommandSet SET_NORMAL Rider5 = Chem_GLAInfantryTerrorist RIDER5 WEAPON_RIDER5 STATUS_RIDER5 GLAVehicleCombatBikeDefaultCommandSet SET_SLUGGISH Rider6 = GLAInfantryHijacker RIDER6 WEAPON_RIDER6 STATUS_RIDER6 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL Rider7 = GLAInfantrySaboteur RIDER7 WEAPON_RIDER7 STATUS_RIDER7 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL ScuttleDelay = 1500 ScuttleStatus = TOPPLED ;Standard TransportContain stuff Slots = 1 InitialPayload = Chem_GLAInfantryRebel 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 = FireWeaponWhenDeadBehavior ModuleTag_Death18 ; RequiredStatus = STATUS_RIDER5 ; DeathWeapon = SuicideBikeBomb ; StartsActive = Yes ; DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED ; End ; I have just pulled my ripcord, and this ain't no parachute! Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04 RequiredStatus = STATUS_RIDER5 DeathWeapon = SuicideDynamitePack StartsActive = Yes ; turned on by upgrade DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End Behavior = FireWeaponWhenDeadBehavior ModuleTag91 RequiredStatus = STATUS_RIDER5 DeathWeapon = Chem_SuicideWeaponGamma StartsActive = No TriggeredBy = Chem_Upgrade_GLAAnthraxGamma RequiresAllTriggers = Yes; DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED End; Behavior = FireWeaponWhenDeadBehavior ModuleTag_92 RequiredStatus = STATUS_RIDER5 DeathWeapon = Chem_SuicideWeaponBeta StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLAAnthraxBeta RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_93 RequiredStatus = STATUS_RIDER5 DeathWeapon = Chem_SuicideWeapon StartsActive = No ; turned on by upgrade ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma End ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_94 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; 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 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 Chem_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 = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY QuadCannonGun Weapon = SECONDARY QuadCannonGunAir End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY QuadCannonGunUpgradeOne Weapon = SECONDARY QuadCannonGunUpgradeOneAir End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY QuadCannonGunUpgradeTwo Weapon = SECONDARY QuadCannonGunUpgradeTwoAir End ArmorSet Conditions = None Armor = HumveeArmor DamageFX = TankDamageFX End BuildCost = 750 BuildTime = 6.0 ;in seconds VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer End CommandSet = 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 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 ;------------------------------------------------------------------------------ Object Chem_GLAVehicleToxinTruck ; *** ART Parameters *** SelectPortrait = SUToxinTractor_L ButtonImage = SUToxinTractor UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma 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 AnthraxPuddleContinuous END ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk ParticleSysBone = none AnthraxGammaPuddleContinuous 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 AnthraxPuddleContinuous END ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE Model = UVToxinTrk_D ParticleSysBone = none AnthraxGammaPuddleContinuous 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 AnthraxPuddleContinuous 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 AnthraxGammaPuddleContinuous 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 AnthraxPuddleContinuous 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 AnthraxGammaPuddleContinuous 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 AnthraxPuddleContinuous 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 AnthraxGammaPuddleContinuous 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 AnthraxPuddleContinuous 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 AnthraxGammaPuddleContinuous 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 = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY ToxinTruckGunUpgraded Weapon = SECONDARY ToxinTruckSprayerUpgraded AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_ToxinTruckGunGamma Weapon = SECONDARY Chem_ToxinTruckSprayerGamma AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY ToxinTruckGunUpgradedPlusOne Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusOne AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE Weapon = PRIMARY Chem_ToxinTruckGunGammaPlusOne Weapon = SECONDARY Chem_ToxinTruckSprayerGammaPlusOne AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY ToxinTruckGunUpgradedPlusTwo Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusTwo AutoChooseSources = SECONDARY NONE ;Special attack only End WeaponSet Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE Weapon = PRIMARY Chem_ToxinTruckGunGammaPlusTwo Weapon = SECONDARY Chem_ToxinTruckSprayerGammaPlusTwo AutoChooseSources = SECONDARY NONE ;Special attack only End ArmorSet Conditions = None Armor = ToxinTruckArmor DamageFX = TruckDamageFX End BuildCost = 650 BuildTime = 5.0 ;in seconds VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Chem_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 = 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 = Chem_Upgrade_GLAAnthraxGamma 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 = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldUpgradedMedium MinShotsToCreateOCL = 4 OCLLifetimePerSecond = 10000 OCLLifetimeMaxCap = 180000 End Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14 WeaponSlot = SECONDARY TriggeredBy = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC OCL = OCL_PoisonFieldGammaMedium 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 = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_16 DeathWeapon = Chem_ToxinShellWeaponGamma StartsActive = No TriggeredBy = Chem_Upgrade_GLAAnthraxGamma 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 Chem_GLAVehicleBombTruck ; *** ART Parameters *** SelectPortrait = SUBombTruck_L ButtonImage = SUBombTruck UpgradeCameo1 = Upgrade_GLABombTruckBioBomb UpgradeCameo2 = Upgrade_GLAJunkRepair ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes TrackMarks = EXTireTrack.tga DefaultConditionState Model = UVBMBTRUK Animation = UVBMBTRUK.UVBMBTRUK AnimationMode = LOOP ;Display the default bombload -- and the upgrades will handle the rest! HideSubObject = Bombload02 Bombload03 Bombload04 End ConditionState = REALLYDAMAGED Model = UVBMBTRUK_D Animation = UVBMBTRUK_D.UVBMBTRUK_D AnimationMode = LOOP End ConditionState = RUBBLE Model = UVBMBTRUK_D End LeftFrontTireBone = Tire01 RightFrontTireBone = Tire02 MidLeftFrontTireBone = Tire03 MidRightFrontTireBone = Tire04 LeftRearTireBone = Tire05 RightRearTireBone = Tire06 TireRotationMultiplier = 0.2 ; this * speed = rotation. Dust = RocketBuggyDust DirtSpray = RocketBuggyDirtSpray PowerslideSpray = RocketBuggyDirtPowerSlide End ; ***DESIGN parameters *** DisplayName = OBJECT:BombTruck Side = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY SuicideWeapon End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TruckDamageFX End BuildCost = 1200 BuildTime = 15.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 200 Prerequisites Object = Chem_GLAArmsDealer Object = Chem_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 = Chem_GLAVehicleBombTruckCommandSet ; *** AUDIO Parameters *** VoiceSelect = BombTruckVoiceSelect VoiceMove = BombTruckVoiceMove VoiceGuard = BombTruckVoiceMove VoiceAttack = BombTruckVoiceAttack SoundMoveStart = BombTruckMoveStart SoundMoveStartDamaged = BombTruckMoveStart UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = BombTruckVoiceCreate TurretMoveStart = NoSound TurretMoveLoop = NoSound TruckLandingSound = RocketBuggyLand TruckPowerslideSound = NoSound DisguiseStarted = BombTruckDisguiseStarted DisguiseRevealedSuccess = BombTruckDisguiseRevealedSuccess DisguiseRevealedFailure = BombTruckDisguiseRevealedFailure VoiceEnter = BombTruckVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE DISGUISER CANNOT_RETALIATE Body = ActiveBody ModuleTag_02 MaxHealth = 220.0 InitialHealth = 220.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 ExperienceValue = 50 50 50 50 ; Experience point value at each level IsTrainable = No ;Kris: Um, bomb trucks don't gain experience. ;Behavior = VeterancyGainCreate ModuleTag_03 ; StartingLevel = VETERAN ;End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS End Locomotor = SET_NORMAL BombTruckLocomotor Behavior = PhysicsBehavior ModuleTag_05 Mass = 40.0 End Behavior = AutoHealBehavior ModuleTag_06 HealingAmount = 2 HealingDelay = 1000 ; msec TriggeredBy = Upgrade_GLAJunkRepair End Behavior = ProductionUpdate ModuleTag_07 ; nothing End Behavior = SlowDeathBehavior ModuleTag_08 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_BombTruckDeathEffect End ;Behavior = DestroyDie ;nothing ;End ;************************************************************************************************ ;* WHICH BOMB DO WE USE??? ;* The complicated part is the part where we have 6 possible effect explosions based on ;* all the possible upgrade combinations. Note that bio weapons don't inflict damage through ;* the explosion. ;* ;* DAMAGE COMBINATIONS (NO EFFECTS): ;* 1) Normal ;* ;* EFFECT COMBINATIONS (NO DAMAGE): ;* 1) Normal (no upgrades) ;* 2) Anthrax (bio-bomb upgrade) ;* 3) Anthrax (bio-bomb and Anthrax gamma upgrade) ;************************************************************************************************ ;************************************************************************************************ ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 DeathWeapon = BombTruckDefaultBombDamage StartsActive = Yes End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades) ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_11 DeathWeapon = BombTruckDefaultBombEffect StartsActive = Yes ; turned on by upgrade ConflictsWith = Upgrade_GLABombTruckBioBomb End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 2 - Bio explosion ;* Requires: Anthrax upgrade ;* Can't have: Anthrax upgrade, high explosive upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_12 DeathWeapon = BombTruckAnthraxBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckBioBomb ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End ;************************************************************************************************ ;* EXCLUSIVE EFFECT COMBINATION 3 - Anthrax Gamma explosion ;* Requires: Bio upgrade and Anthrax Gamma upgrade ;************************************************************************************************ Behavior = FireWeaponWhenDeadBehavior ModuleTag_13 DeathWeapon = BombTruckAnthraxGammaBombEffect StartsActive = No ; turned on by upgrade TriggeredBy = Upgrade_GLABombTruckBioBomb Chem_Upgrade_GLAAnthraxGamma RequiresAllTriggers = Yes End ;------------------------------------------------------------------- ; Now we get to display the payload based on upgrades!!! ;------------------------------------------------------------------- Behavior = SubObjectsUpgrade ModuleTag_17 ;*** Bio bomb load *** TriggeredBy = Upgrade_GLABombTruckBioBomb ShowSubObjects = Bombload02 HideSubObjects = Bombload01 Bombload03 Bombload04 End ;------------------------------------------------------------------- Behavior = SpecialAbility ModuleTag_20 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle UpdateModuleStartsAttack = Yes InitiateSound = BombTruckVoiceDisguise End Behavior = SpecialAbilityUpdate ModuleTag_21 SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle StartAbilityRange = 1000000.0 ApproachRequiresLOS = No End Behavior = StealthUpdate ModuleTag_22 StealthDelay = 1 DisguisesAsTeam = Yes RevealDistanceFromTarget = 100.0f OrderIdleEnemiesToAttackMeUponReveal = Yes DisguiseFX = FX_BombTruckDisguise DisguiseRevealFX = FX_BombTruckDisguiseReveal InnateStealth = Yes DisguiseTransitionTime = 2000 DisguiseRevealTransitionTime = 1000 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 ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = TransitionDamageFX ModuleTag_26 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition 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 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 Chem_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 = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY SCUDLauncherGunAnthrax AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_SCUDLauncherGunAnthraxGamma AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY SCUDLauncherGunAnthraxPlusOne AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = PLAYER_UPGRADE CRATEUPGRADE_ONE Weapon = PRIMARY Chem_SCUDLauncherGunAnthraxGammaPlusOne AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY SCUDLauncherGunAnthraxPlusTwo AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End WeaponSet Conditions = PLAYER_UPGRADE CRATEUPGRADE_TWO Weapon = PRIMARY Chem_SCUDLauncherGunAnthraxGammaPlusTwo AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI End ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 1200 BuildTime = 15.0 ;in seconds VisionRange = 180 ShroudClearingRange = 300 Prerequisites Object = Chem_GLAArmsDealer Object = Chem_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 = Chem_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 = Chem_Upgrade_GLAAnthraxGamma 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 Chem_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 = 500 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 = GLAToxinGeneral EditorSorting = VEHICLE BuildVariations = GLAVehicleTechnicalChassisOne GLAVehicleTechnicalChassisTwo GLAVehicleTechnicalChassisThree KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT End ;------------------------------------------------------------------------------ Object Chem_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 = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY TechnicalMachineGunWeapon End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY TechnicalCannonWeapon End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY TechnicalRPGWeapon 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 = Chem_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 = 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 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 Chem_GLAVehicleTechnicalChassisTwo Chem_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 Chem_GLAVehicleTechnicalChassisThree Chem_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 Chem_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 = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY MarauderTankGun End WeaponSet Conditions = CRATEUPGRADE_ONE Weapon = PRIMARY MarauderTankGunUpgradeOne End WeaponSet Conditions = CRATEUPGRADE_TWO Weapon = PRIMARY MarauderTankGunUpgradeTwo End ArmorSet Conditions = None Armor = TankArmor DamageFX = TankDamageFX End BuildCost = 900 BuildTime = 10.0 ;in seconds VisionRange = 125 ShroudClearingRange = 300 Prerequisites Object = Chem_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 = 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 ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames. ; Behavior = GrantUpgradeCreate ModuleTag_22 ; UpgradeToGrant = Upgrade_GLAToxinShells ; End ; ; Behavior = GrantUpgradeCreate ModuleTag_23 ; UpgradeToGrant = Upgrade_GLAAnthraxBeta ; 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 Chem_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 = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = TruckArmor DamageFX = TankDamageFX End BuildCost = 550 BuildTime = 10.0 ;in seconds VisionRange = 200 ShroudClearingRange = 500 Prerequisites Object = Chem_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 = 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 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 Chem_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 = GLAToxinGeneral EditorSorting = VEHICLE TransportSlotCount = 8 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY None End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY BattleBusPassengerDummyWeapon 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 = 1100 BuildTime = 15.0 ;in seconds VisionRange = 150 ; Used in attack move targeting ShroudClearingRange = 200 Prerequisites Object = Chem_GLAArmsDealer Object = Chem_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 = 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 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 ; 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 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 = SlowDeathBehavior ModuleTag_30 // Empty Hulk sinking away DeathTypes = NONE +EXTRA_4 SinkDelay = 1 SinkRate = 2.5 DestructionDelay = 5000 End Behavior = TransitionDamageFX ModuleTag_31 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 ;This file is for Chemical Generals Challenge GLA Buildings ;---------------------------------------------------------------------- Object Chem_GLATunnelNetwork ; *** ART Parameters *** SelectPortrait = SUToxicTunnel_L ButtonImage = SUToxicTunnel UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UBToxTunn Turret = Turret01 WeaponFireFXBone = PRIMARY BarrelMS WeaponLaunchBone = PRIMARY BarrelMS WeaponMuzzleFlash = PRIMARY BarrelFX End ConditionState = DAMAGED Model = UBToxTunn_D WeaponFireFXBone = PRIMARY BarrelMS WeaponLaunchBone = PRIMARY BarrelMS End ConditionState = REALLYDAMAGED RUBBLE Model = UBToxTunn_E WeaponFireFXBone = PRIMARY BarrelMS WeaponLaunchBone = PRIMARY BarrelMS ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW Model = UBToxTunn_S End ConditionState = DAMAGED SNOW Model = UBToxTunn_DS End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = UBToxTunn_ES ParticleSysBone = Steam01 SteamVent End ConditionState = NIGHT Model = UBToxTunn_N End ConditionState = DAMAGED NIGHT Model = UBToxTunn_DN End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = UBToxTunn_EN ParticleSysBone = Steam01 SteamVent End ConditionState = SNOW NIGHT Model = UBToxTunn_NS End ConditionState = DAMAGED SNOW NIGHT Model = UBToxTunn_DNS End ConditionState = REALLYDAMAGED RUBBLE SNOW NIGHT Model = UBToxTunn_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 = UBToxTunn Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = UBToxTunn_D Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = UBToxTunn_E Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = UBToxTunn_N Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = UBToxTunn_DN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = UBToxTunn_EN Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = UBToxTunn_S Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = UBToxTunn_DS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = UBToxTunn_ES Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = UBToxTunn_NS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = UBToxTunn_DNS Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = UBToxTunn_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:Chem_TunnelNetwork Side = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_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 Chem_TunnelNetworkGunBeta End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Chem_TunnelNetworkGunGamma End CommandSet = Chem_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 = WeaponSetUpgrade ModuleTag_08 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma 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 ;ATTACK_BUILDINGS; defensive weapon End Behavior = TunnelContain ModuleTag_05 TimeForFullHeal = 5000 ;(in milliseconds) 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. And spawned units can use the TunnelContain exit anyways. ;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 = Chem_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 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 = ProductionUpdate ModuleTag_18 End Geometry = CYLINDER GeometryMajorRadius = 25.0 GeometryHeight = 20.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End ;------------------------------------------------------------------------------ ; CHEMICAL GENERAL SYSTEMS ;------------------------------------------------------------------------------ Object Chem_PoisonFieldGammaLarge ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End ; ***DESIGN parameters *** EditorSorting = SYSTEM KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE ArmorSet Conditions = None Armor = HazardousMaterialArmor End ; ***AUDIO parameters *** SoundAmbient = AnthraxPoolAmbientLoop ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = FireWeaponUpdate ModuleTag_03 Weapon = Chem_LargePoisonFieldWeaponGamma End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 45000 MaxLifetime = 45000 End Behavior = FireWeaponUpdate ModuleTag_05 Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup End Behavior = DestroyDie ModuleTag_06 End Behavior = FXListDie ModuleTag_07 DeathFX = FX_AnthraxPoolDie End Geometry = CYLINDER GeometryMajorRadius = 70.0 GeometryHeight = 1.0 GeometryIsSmall = No End ;------------------------------------------------------------------------------ Object Chem_PoisonFieldGammaMedium ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End ; ***DESIGN parameters *** EditorSorting = SYSTEM KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE ArmorSet Conditions = None Armor = HazardousMaterialArmor End ; ***AUDIO parameters *** SoundAmbient = AnthraxPoolAmbientLoop ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = FireWeaponUpdate ModuleTag_03 Weapon = Chem_MediumPoisonFieldWeaponGamma End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 30000 MaxLifetime = 30000 End Behavior = FireWeaponUpdate ModuleTag_05 Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup End Behavior = DestroyDie ModuleTag_06 End Behavior = FXListDie ModuleTag_07 DeathFX = FX_AnthraxPoolDie End Geometry = CYLINDER GeometryMajorRadius = 40.0 GeometryHeight = 1.0 GeometryIsSmall = No End ;------------------------------------------------------------------------------ Object Chem_PoisonFieldGammaSmall ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End ; ***DESIGN parameters *** EditorSorting = SYSTEM KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE ArmorSet Conditions = None Armor = HazardousMaterialArmor End ; ***AUDIO parameters *** SoundAmbient = AnthraxPoolAmbientLoop ; *** ENGINEERING Parameters *** Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = FireWeaponUpdate ModuleTag_03 Weapon = Chem_SmallPoisonFieldWeaponGamma End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 10000 MaxLifetime = 10000 End Behavior = FireWeaponUpdate ModuleTag_05 Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup End Behavior = DestroyDie ModuleTag_06 End Behavior = FXListDie ModuleTag_07 DeathFX = FX_AnthraxPoolDie End Geometry = CYLINDER GeometryMajorRadius = 4.0 GeometryHeight = 1.0 GeometryIsSmall = No End ;------------------------------------------------------------------------------ Object Chem_ToxicInfantryGamma ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = CITOXDTH_SKNB Animation = CITOXDTH_SKL.CITOXDTH_DTA AnimationSpeedFactorRange = 0.9 1.3 AnimationMode = ONCE End End ; ***DESIGN parameters *** Side = GLAToxinGeneral EditorSorting = SYSTEM TransportSlotCount = 1 ArmorSet Conditions = None Armor = HumanArmor DamageFX = None End VisionRange = 150 DisplayName = OBJECT:ToxicInfantry ; *** AUDIO Parameters *** ; *** ENGINEERING Parameters *** RadarPriority = NOT_ON_RADAR KindOf = CAN_CAST_REFLECTIONS INFANTRY Body = ActiveBody ModuleTag_02 MaxHealth = 50.0 InitialHealth = 50.0 End Behavior = PhysicsBehavior ModuleTag_04 Mass = 5.0 End Behavior = LifetimeUpdate ModuleTag_05 MinLifetime = 3000 ; randomness for these means going out of sync of the animation and particles MaxLifetime = 3000 End Behavior = SlowDeathBehavior ModuleTag_06 SinkDelay = 4500 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 9500 End Behavior = SquishCollide ModuleTag_07 ;nothing End Behavior = FXListDie ModuleTag_08 DeathTypes = ALL -CRUSHED -SPLATTED DeathFX = FX_GIDie End Behavior = FXListDie ModuleTag_09 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_GIDieCrushed End Geometry = CYLINDER GeometryMajorRadius = 3.0 GeometryMinorRadius = 3.0 GeometryHeight = 12.0 GeometryIsSmall = Yes End ;------------------------------------------------------------------------------ Object Chem_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 = ScudStormDamageWeaponUpgraded StartsActive = Yes ConflictsWith = Chem_Upgrade_GLAAnthraxGamma End Behavior = FireWeaponWhenDeadBehavior ModuleTag_09 DeathWeapon = Chem_ScudStormDamageWeaponGamma StartsActive = No ; turned on by upgrade TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Geometry = Cylinder GeometryIsSmall = Yes GeometryMajorRadius = 7.0 GeometryHeight = 30.0 End ; This file is just for the Chemical Generals Challenge GLA Units ;------------------------------------------------------------------------------ Object Chem_StingerMissile ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = UVRockBug_m End ConditionState = JAMMED ParticleSysBone = None SparksMedium End End ; ***DESIGN parameters *** DisplayName = OBJECT:StingerMissile EditorSorting = SYSTEM VisionRange = 0.0 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ; *** ENGINEERING Parameters *** KindOf = PROJECTILE SMALL_MISSILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.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. ; A projectile is not disabled, but instead loses target and scatters SubdualDamageCap = 200 SubdualDamageHealRate = 100000 SubdualDamageHealAmount = 50 End ; ---- begin Projectile death behaviors Behavior = InstantDeathBehavior DeathModuleTag_01 DeathTypes = NONE +DETONATED ; we detonated normally. ; no FX, just quiet destroy ourselves End Behavior = InstantDeathBehavior DeathModuleTag_02 DeathTypes = NONE +LASERED ; shot down by laser. ; FX = FX_GenericMissileDisintegrate End Behavior = InstantDeathBehavior DeathModuleTag_03 DeathTypes = ALL -LASERED -DETONATED ; shot down by nonlaser. FX = FX_GenericMissileDeath End ; ---- end Projectile death behaviors Behavior = PhysicsBehavior ModuleTag_06 Mass = 1 End Behavior = MissileAIUpdate ModuleTag_07 TryToFollowTarget = Yes FuelLifetime = 5000 InitialVelocity = 200 ; in dist/sec IgnitionDelay = 0 DistanceToTravelBeforeTurning = 5 IgnitionFX = None DistanceToTargetForLock = 100 ; If it gets within 100 of the target, it kills the target. End Behavior = WeaponBonusUpgrade Upgrade_01 TriggeredBy = Upgrade_GLAAPRockets End Locomotor = SET_NORMAL StingerMissileLocomotor Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 End ;------------------------------------------------ Object Chem_GLAInfantryRebel ; *** ART Parameters *** SelectPortrait = SUToxinRebel_L ButtonImage = SUToxinRebel UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma UpgradeCameo2 = Upgrade_InfantryCaptureBuilding UpgradeCameo3 = Upgrade_GLACamouflage Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ParticlesAttachedToAnimatedBones = 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 = UIRGrdTOX_SKN IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35 IdleAnimation = UIRGrd_SKL.UIRGrd_IDA IdleAnimation = UIRGrd_SKL.UIRGrd_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle01 WeaponLaunchBone = PRIMARY Muzzle01 HideSubObject = MuzzleFX01 TransitionKey = TRANS_Standing ;;; ParticleSysBone = MUZZLE01 WaterSpray 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_ATA3 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 = UIRGrdTOXF_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = UIRGrdTOXF_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = UIRGrdTOXF_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 = UIRGrdTOXF_SKN Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** DisplayName = OBJECT:Chem_Rebel Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY GC_Chem_GLARebelGunBeta End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY GC_Chem_GLARebelGunGamma End ArmorSet Conditions = None Armor = ChemReb_HumanArmor DamageFX = InfantryDamageFX End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Chem_GLABarracks End BuildCost = 200 BuildTime = 5.0 ;in seconds ExperienceValue = 25 30 35 45 ;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 = Chem_GLAInfantryRebelCommandSet ; *** AUDIO Parameters *** VoiceSelect = ToxinRebelVoiceSelect VoiceMove = RebelVoiceMove VoiceGuard = RebelVoiceMove VoiceAttack = ToxinRebelVoiceAttack SoundStealthOn = StealthOn SoundStealthOff = StealthOff VoiceFear = RebelVoiceFear VoiceTaskComplete = RebelVoiceCaptureComplete UnitSpecificSounds VoiceCreate = ToxinRebelVoiceCreate 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 = WeaponSetUpgrade ModuleTag_08 TriggeredBy = Chem_Upgrade_GLAAnthraxGamma End Behavior = WeaponBonusUpgrade ModuleTag_09 TriggeredBy = Upgrade_GLAAPBullets End Behavior = StealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_GLACamouflage End Behavior = SquishCollide ModuleTag_11 ;nothing End ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_12 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_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 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19 SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding 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 Chem_ToxinStreamProjectile ; Explanation - Particles can't do damage, so this is a fast shooting low ; damage invisible missile launcher with a toxin trail for exhaust ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End ; Must have a draw module to be allowed to draw detonation FX ; ***DESIGN parameters *** EditorSorting = SYSTEM VisionRange = 0.0 ArmorSet Conditions = None Armor = ProjectileArmor DamageFX = None End ; *** ENGINEERING Parameters *** KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = DestroyDie ModuleTag_03 ;nothing End Behavior = PhysicsBehavior ModuleTag_04 Mass = 1 AllowCollideForce = No ; toxins collide, but never apply forces when they do so End Behavior = MissileAIUpdate ModuleTag_05 TryToFollowTarget = No FuelLifetime = 500 InitialVelocity = 120 ; in dist/sec IgnitionDelay = 0 DistanceToTravelBeforeTurning = 2 GarrisonHitKillRequiredKindOf = INFANTRY GarrisonHitKillForbiddenKindOf = NONE GarrisonHitKillCount = 2 GarrisonHitKillFX = FX_ToxinStreamGarrisonBuildingHit End Locomotor = SET_NORMAL ToxinTruckStreamLocomotor Behavior = BoneFXUpdate ModuleTag_06 PristineParticleSystem1 = bone:NULL OnlyOnce:Yes 0 0 PSys:GC_Chem_ToxinTrail01 ; Covers gap at beginning of line End Behavior = BoneFXDamage ModuleTag_07 ;nothing End Geometry = Sphere GeometryIsSmall = Yes GeometryMajorRadius = 2.0 End ;------------------------------------------------------------------------------ Object Chem_ToxinProjectileStream ; *** ART Parameters *** Draw = W3DProjectileStreamDraw ModuleTag_01 Texture = EXToxinStreamp.tga Width = 1.5 TileFactor = 2.0 ; put the texture on the line segment this many times ScrollRate = 6.0; scroll the texture offset this fast MaxSegments = 14 ; only play the first X if there are a ton of them. 0 means play all End ; *** ENGINEERING Parameters *** KindOf = INERT Behavior = ProjectileStreamUpdate ModuleTag_02 ;nothing End End Object Chem_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 = GLAToxinGeneral EditorSorting = STRUCTURE Prerequisites Object = Chem_GLASupplyStash End BuildCost = 1000 BuildTime = 30.0 ; in seconds EnergyProduction = 0 CommandSet = Chem_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 ToxinTrooper ; *** ART Parameters *** SelectPortrait = T24 ButtonImage = T24 Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;NORMAL STANDING DefaultConditionState Model = AITECH_SKN IdleAnimation = AITECH_SKL.AITECH_STA 0 21 ;Regular spice animations IdleAnimation = AITECH_SKL.AITECH_IDA IdleAnimation = AITECH_SKL.AITECH_IDB AnimationMode = ONCE WeaponLaunchBone = PRIMARY BIOGUNFX TransitionKey = TRANS_Stand End ; NORMAL ATTACK ConditionState = FIRING_A Animation = AITECH_SKL.AITECH_ATA AnimationMode = LOOP TransitionKey = TRANS_FiringA End AliasConditionState = BETWEEN_FIRING_SHOTS_A AliasConditionState = RELOADING_A AliasConditionState = FIRING_A REALLYDAMAGED AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED AliasConditionState = RELOADING_A REALLYDAMAGED ConditionState = MOVING FIRING_A Animation = AITECH_SKL.AITECH_WKB 15 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A AliasConditionState = MOVING RELOADING_A ConditionState = MOVING Animation = AITECH_SKL.AITECH_WKA 15 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End ConditionState = DYING Animation = AITECH_SKL.AITECH_DTA Animation = AITECH_SKL.AITECH_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = AITECH_SKL.AITECH_ADTD1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = AITECH_SKL.AITECH_ADTD2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = AITECH_SKL.AITECH_ADTD3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = AITECH_SKL.AITECH_CHA AnimationMode = LOOP End ;PARACHUTING ANIMATIONS ConditionState = FREEFALL Animation = AITECH_SKL.AITECH_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = AITECH_SKL.AITECH_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 = AITECH_SKL.AITECH_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 = AITECH_SKL.AITECH_PDN AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:BioHazardTech Side = GLAToxinGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet ;*** Fully automated and driven by the CleanupHazardUpdate *** Conditions = None Weapon = PRIMARY BioHazardTechCleanHazardWeapon AutoChooseSources = PRIMARY NONE Weapon = SECONDARY DragonTankFlameWeaponUpgraded End ArmorSet Conditions = None Armor = HazMatHumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 400 Prerequisites Object = Chem_GLAPalace End BuildCost = 500 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 = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaInfantryHazMatCommandSet ; *** AUDIO Parameters *** VoiceSelect = NoSound VoiceMove = NoSound VoiceAttack = NoSound UnitSpecificFX ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = CleanupHazardUpdate ModuleTag_03 WeaponSlot = PRIMARY ScanRate = 1000 ScanRange = 100.0 End ;Can be ordered to clean up a larger area with the ability to move around at an extended range. Behavior = CleanupAreaPower ModuleTag_04 SpecialPowerTemplate = SpecialAbilityAmbulanceCleanupArea MaxMoveDistanceFromLocation = 300.0 ;allows the unit to move around while cleaning up End Behavior = AIUpdateInterface ModuleTag_05 AutoAcquireEnemiesWhenIdle = No End Behavior = AutoFindHealingUpdate ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba ScanRate = 1000 ; once a second. ScanRange = 300 ; NeverHeal = 0.85 ; don't heal if we are > 85% healthy. AlwaysHeal = 0.25 ; if we get below 25%, find healing right away. End Locomotor = SET_NORMAL CINE_HazMatHumanLocomotor Behavior = ExperienceScalarUpgrade ModuleTag_07 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0 ;Increases experience gained by an additional 100% End Behavior = PhysicsBehavior ModuleTag_08 Mass = 5.0 End Behavior = ProductionUpdate ModuleTag_09 ; nothing End Behavior = SquishCollide ModuleTag_10 ;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_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_RebelDie 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 --- Geometry = CYLINDER GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 13.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End ;------------------------------------------------------------------------------ Object GLAjetMIG29 ; *** ART Parameters *** SelectPortrait = T18 ButtonImage = T18 ;UpgradeCameo1 = Upgrade_ChinaAircraftArmor ;UpgradeCameo2 = Upgrade_ChinaBlackNapalm ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes DefaultConditionState Model = Mig-29B HideSubObject = BurnerFX01 BurnerFX02 WeaponLaunchBone = PRIMARY WeaponA End ConditionState = JETEXHAUST ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = JETEXHAUST JETAFTERBURNER ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Exhaust01 JetExhaust ParticleSysBone = Exhaust02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED Model = Mig-29B ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE Model = Mig-29B End ConditionState = REALLYDAMAGED JETEXHAUST Model = Mig-29B ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = Mig-29B ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER ; @todo srj -- model missing ;Model = Mig-29B Model = Mig-29B ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ParticleSysBone = Wingtip01 JetContrail ParticleSysBone = Wingtip02 JetContrail End End ; ***DESIGN parameters *** DisplayName = OBJECT:MIG29 EditorSorting = VEHICLE Side = GLAToxinGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 200.0 ShroudClearingRange = 300.0 Prerequisites Object = Chem_GLAPalace End WeaponSet Conditions = None Weapon = PRIMARY MIG29Weapon ; AutoChooseSources = PRIMARY NONE End ArmorSet Conditions = None Armor = AirplaneArmor DamageFX = None End BuildCost = 1200 BuildTime = 10 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 = 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 = ChinaJetMIGCommandSet ; *** AUDIO Parameters *** VoiceSelect = MigVoiceSelect VoiceMove = MigVoiceMove VoiceAttack = MigVoiceAttack VoiceAttackAir = MigVoiceAttackAir VoiceGuard = MigVoiceAirPatrol SoundAmbient = MigAmbientLoop UnitSpecificSounds VoiceCreate = MigVoiceCreate Afterburner = RaptorAfterburner VoiceGarrison = MigVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 160.0 InitialHealth = 160.0 End Behavior = JetSlowDeathBehavior ModuleTag_03 FXOnGroundDeath = FX_JetOnGroundDeath OCLOnGroundDeath = OCL_MIGDeathFinalBlowUp 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_MigDeathInitial OCLInitialDeath = OCL_MIGDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_JetDeathSecondary OCLSecondary = OCL_MIGDeathSecondary FXHitGround = FX_JetDeathHitGround OCLHitGround = OCL_MIGDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds FXFinalBlowUp = FX_JetDeathFinalBlowUp OCLFinalBlowUp = OCL_MIGDeathFinalBlowUp End Behavior = WeaponSetUpgrade ModuleTag_04 TriggeredBy = Upgrade_ChinaBlackNapalm End Behavior = PhysicsBehavior ModuleTag_05 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_06 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 = 0% ; larger numbers give more lift sooner when taking off TakeoffPause = 500 MinHeight = 5 ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo End Locomotor = SET_NORMAL MIGLocomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor 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:SmokeSmallContinuous01 ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition End Behavior = MaxHealthUpgrade ModuleTag_10 TriggeredBy = Upgrade_ChinaAircraftArmor AddMaxHealth = 40.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End Object RUSHIND ; *** ART Parameters *** SelectPortrait = T22 ButtonImage = T22 ;UpgradeCameo1 = Upgrade_ComancheRocketPods ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 ; Helicopter ExtraPublicBone = RopeStart ExtraPublicBone = RopeEnd DefaultConditionState Model = RvMi24 Animation = RvMi24.RvMi24 AnimationMode = LOOP End ConditionState = REALLYDAMAGED Model = RvMi24 Animation = RvMi24.RvMi24 AnimationMode = LOOP End ConditionState = RUBBLE Model = RvMi24 Animation = RvMi24.RvMi24 AnimationMode = LOOP End ConditionState = RUBBLE SPECIAL_DAMAGED Model = RvMi24 HideSubObject = Props01 HideSubObject = Props02 End OkToChangeModelColor = Yes End Draw = W3DModelDraw ModuleTag_02 ; Cargo net ConditionState = NONE Model = None ; Nothing here TransitionKey = TRANS_Empty WaitForStateToFinishIfPossible = TRANS_Unloading End ConditionState = DYING Model = None ; Nothing here End AliasConditionState = RUBBLE AliasConditionState = CARRYING RUBBLE AliasConditionState = DOCKING RUBBLE AliasConditionState = DOCKING CARRYING RUBBLE ConditionState = CARRYING Model = AVChinook_A ;Carrying a full wobbly net of stuff Animation = AVChinook_A.AVChinook_A AnimationMode = LOOP TransitionKey = TRANS_Full WaitForStateToFinishIfPossible = TRANS_PickingUp End ConditionState = DOCKING Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST AnimationSpeedFactorRange = .75 .75 TransitionKey = TRANS_PickingUp WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End ConditionState = DOCKING CARRYING Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net Animation = AVChinook_A1SK.AVChinook_A1 AnimationMode = ONCE AnimationSpeedFactorRange = 2.75 2.75 TransitionKey = TRANS_Unloading WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both. End End ; ***DESIGN parameters *** DisplayName = OBJECT:MI24 EditorSorting = VEHICLE Side = GLAToxinGeneral TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 300.0 ShroudClearingRange = 600 BuildCost = 1500 BuildTime = 20.0 ;in seconds Prerequisites Object = Chem_GLAAirport End ExperienceValue = 60 60 60 60 ;Experience point value at each level IsTrainable = No CommandSet = mi24CommandSet WeaponSet Conditions = None ; ----- Weapon = PRIMARY Comanche20mmCannonWeapon PreferredAgainst = PRIMARY INFANTRY AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = SECONDARY BuggyRocketWeapon PreferredAgainst = SECONDARY VEHICLE STRUCTURE AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI ; ----- Weapon = TERTIARY NONE End ArmorSet Conditions = None Armor = ChinookArmor DamageFX = None End ; *** AUDIO Parameters *** VoiceSelect = CombatChinookVoiceSelect VoiceMove = ChinookVoiceMove VoiceAttack = CombatChinookVoiceAttack SoundAmbient = ChinookAmbientLoop SoundAmbientRubble = NoSound SoundEnter = HumveeEnter SoundExit = HumveeExit UnitSpecificSounds VoiceCreate = CombatChinookVoiceCreate VoiceSupply = ChinookVoiceSupply VoiceUnload = ChinookVoiceUnload VoiceCombatDrop = ChinookVoiceCombatDrop VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings! VoiceGarrison = ChinookVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at ; (well, "near" actually) an Airfield to get healed... ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there. KindOf = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD CAN_ATTACK Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS Stealthed End Body = ActiveBody ModuleTag_03 MaxHealth = 180.0 InitialHealth = 180.0 End Behavior = WeaponSetUpgrade ModuleTag_02 TriggeredBy = Upgrade_ComancheRocketPods End Behavior = FXListDie ModuleTag_05 DeathFX = FX_HelicopterStartDeath End Behavior = TransitionDamageFX ModuleTag_06 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition End Behavior = ChinookAIUpdate ModuleTag_07 MaxBoxes = 8 SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction) SupplyWarehouseActionDelay = 1250 ; 875 ; 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 = ChinookVoiceSuppliesDepleted NumRopes = 4 ; these define how long we can wait, once a guy is on-rope, before throwing another ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely ; and we'll wait for each guy to clear before spawning another. PerRopeDelayMin = 900 PerRopeDelayMax = 1500 RopeWidth = 0.5 RopeColor = R:0 G:0 B:0 RopeWobbleLen = 10 RopeWobbleAmplitude = 0.25 RopeWobbleRate = 180 RopeFinalHeight = 10 ; stop this far above ground RappelSpeed = 30 MinDropHeight = 40 ; if dropping into a tall bldg, go at least this far above it UpgradedSupplyBoost = 60 ; increase in value of the crates when supply lines has been upgraded End Locomotor = SET_NORMAL HelixLocomotor Locomotor = SET_TAXIING BasicHelicopterTaxiLocomotor Behavior = TransportContain ModuleTag_08 PassengersAllowedToFire = No Slots = 6 DamagePercentToUnits = 100% AllowInsideKindOf = INFANTRY ForbidInsideKindOf = AIRCRAFT HUGE_VEHICLE ExitDelay = 100 NumberOfExitPaths = 1 GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting ArmedRidersUpgradeMyWeaponSet = Yes End Behavior = PhysicsBehavior ModuleTag_09 Mass = 50.0 End Behavior = HelicopterSlowDeathBehavior ModuleTag_10 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 30 FinalRubbleObject = ChinookRubbleHull 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 Geometry = BOX GeometryMajorRadius = 20.0 GeometryMinorRadius = 6.0 GeometryHeight = 12.0 GeometryIsSmall = No Shadow = SHADOW_VOLUME ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length End