Code:
;------------------------------------------------------------------------------
Object GLAPowerPlant
; *** ART Parameters ***
SelectPortrait = GlaPowerPlan_L
ButtonImage = GlaPowerPlan
;day
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ConditionState = NONE
Model = UBPwrPlant
Animation = UBPwrPlant.UBPwrPlant
AnimationMode = LOOP
;ParticleSysBone = Smoke01 SteamVent
;ParticleSysBone = Smoke02 SteamVent
End
ConditionState = DAMAGED
Model = UBPwrPlant_D
Animation = UBPwrPlant_D.UBPwrPlant_D
AnimationMode = LOOP
;ParticleSysBone = Smoke01 SteamLarge
;ParticleSysBone = Smoke02 SteamMedium
;ParticleSysBone = Smoke03 SmolderingSmoke
;ParticleSysBone = Smoke04 SmolderingSmoke
;ParticleSysBone = Smoke05 SmolderingSmoke
;ParticleSysBone = Smoke06 FireFactionLarge
;ParticleSysBone = Fire01 SmolderingFire
End
ConditionState = REALLYDAMAGED RUBBLE
Model = UBPwrPlant_E
Animation = UBPwrPlant_E.UBPwrPlant_E
AnimationMode = LOOP
;ParticleSysBone = Smoke01 SteamVent
;ParticleSysBone = Smoke02 SteamVent
;ParticleSysBone = Smoke03 SmolderingSmoke
;ParticleSysBone = Smoke04 SmolderingSmoke
;ParticleSysBone = Smoke05 SmolderingSmoke
;ParticleSysBone = Smoke06 SmolderingSmoke
;ParticleSysBone = Fire01 SmolderingFire
;ParticleSysBone = Fire02 SmolderingFire
;ParticleSysBone = Spark01 SparksLarge
;ParticleSysBone = Spark02 SparksMedium
;ParticleSysBone = Spark03 SparksSmall
;ParticleSysBone = Spark04 LiveWireSparks
End
;night
ConditionState = NIGHT
Model = UBPwrPlant_N
Animation = UBPwrPlant_N.UBPwrPlant_N
AnimationMode = LOOP
End
ConditionState = NIGHT DAMAGED
Model = UBPwrPlant_DN
Animation = UBPwrPlant_DN.UBPwrPlant_DN
AnimationMode = LOOP
ParticleSysBone = Smoke01 SteamVent
ParticleSysBone = Smoke02 SteamVent
ParticleSysBone = Smoke03 SmolderingSmoke
ParticleSysBone = Smoke04 SmolderingSmoke
ParticleSysBone = Smoke05 SmolderingSmoke
ParticleSysBone = Smoke06 SmolderingSmoke
ParticleSysBone = Fire01 SmolderingFire
End
ConditionState = REALLYDAMAGED RUBBLE NIGHT
Model = UBPwrPlant_EN
Animation = UBPwrPlant_EN.UBPwrPlant_EN
AnimationMode = LOOP
ParticleSysBone = Smoke01 SteamVent
ParticleSysBone = Smoke02 SteamVent
ParticleSysBone = Smoke03 SmolderingSmoke
ParticleSysBone = Smoke04 SmolderingSmoke
ParticleSysBone = Smoke05 SmolderingSmoke
ParticleSysBone = Smoke06 SmolderingSmoke
ParticleSysBone = Fire01 SmolderingFire
ParticleSysBone = Fire02 SmolderingFire
ParticleSysBone = Spark01 LiveWireSparks
ParticleSysBone = Spark02 LiveWireSparks
ParticleSysBone = Spark03 LiveWireSparks
ParticleSysBone = Spark04 LiveWireSparks
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 = UBPwrPlant
Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
End
ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
Model = UBPwrPlant_D
Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
End
ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
Model = UBPwrPlant_E
Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
End
ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
Model = UBPwrPlant_N
Animation = UBPwrPlant_N.UBPwrPlant_N
AnimationMode = LOOP
Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
End
ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
Model = UBPwrPlant_DN
Animation = UBPwrPlant_DN.UBPwrPlant_DN
AnimationMode = LOOP
Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
End
ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
Model = UBPwrPlant_EN
Animation = UBPwrPlant_EN.UBPwrPlant_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_02
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 = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = MANUAL
Flags = START_FRAME_LAST
TransitionKey = UP_DAY
End
ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = MANUAL
Flags = START_FRAME_LAST
TransitionKey = UP_NIGHT
End
TransitionState = DOWN_DEFAULT UP_DAY
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.0 1.0
Flags = START_FRAME_FIRST
End
TransitionState = DOWN_DEFAULT UP_NIGHT
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.0 1.0
Flags = START_FRAME_FIRST
End
TransitionState = UP_DAY DOWN_DEFAULT
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_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 = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
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 = PARTIALLY_CONSTRUCTED
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = MANUAL
Flags = START_FRAME_LAST
TransitionKey = UP_DAY
ParticleSysBone = Dust01 BuildingDustChina
ParticleSysBone = Smoke01 BuildUpSmokeChina
ParticleSysBone = Smoke02 BuildUpSmokeChina
ParticleSysBone = Smoke03 BuildUpSmokeChina
ParticleSysBone = Smoke04 BuildUpSmokeChina
End
ConditionState = NIGHT PARTIALLY_CONSTRUCTED
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = MANUAL
Flags = START_FRAME_LAST
TransitionKey = UP_NIGHT
ParticleSysBone = Dust01 BuildingDustChina
ParticleSysBone = Smoke01 BuildUpSmokeChina
ParticleSysBone = Smoke02 BuildUpSmokeChina
ParticleSysBone = Smoke03 BuildUpSmokeChina
ParticleSysBone = Smoke04 BuildUpSmokeChina
End
TransitionState = DOWN_DEFAULT UP_DAY
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.0 1.0
Flags = START_FRAME_FIRST
End
TransitionState = DOWN_DEFAULT UP_NIGHT
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.0 1.0
Flags = START_FRAME_FIRST
End
TransitionState = UP_DAY DOWN_DEFAULT
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_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 = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
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_04
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 = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = LOOP
TransitionKey = UP_DAY
End
ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = LOOP
TransitionKey = UP_NIGHT
End
TransitionState = DOWN_DEFAULT UP_DAY
Model = UBPwrPlant_A6
Animation = UBPwrPlant_A6.UBPwrPlant_A6
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.0 1.0
Flags = START_FRAME_FIRST
End
TransitionState = DOWN_DEFAULT UP_NIGHT
Model = NBPwrPlant_ABN
Animation = NBPwrPlant_ABN.NBPwrPlant_ABN
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.0 1.0
Flags = START_FRAME_FIRST
End
TransitionState = UP_DAY DOWN_DEFAULT
Model = NBPwrPlant_AB
Animation = NBPwrPlant_AB.NBPwrPlant_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 = NBPwrPlant_ABN
Animation = NBPwrPlant_ABN.NBPwrPlant_ABN
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:GLAPowerPlant
Side = GLA
EditorSorting = STRUCTURE
BuildCost = 900
BuildTime = 10.0 ; in seconds
EnergyProduction = 10
EnergyBonus = 30
VisionRange = 200.0 ; Shroud clearing distance
ShroudClearingRange = 200
ArmorSet
Conditions = None
Armor = StructureArmor
DamageFX = StructureDamageFXNoShake
End
CommandSet = GLAPowerPlantCommandSet
ExperienceValue = 100 100 100 100 ; Experience point value at each level
; *** AUDIO Parameters ***
VoiceSelect = NuclearReactorSelect
SoundOnDamaged = BuildingDamagedStateLight
SoundOnReallyDamaged = BuildingDestroy
UnitSpecificSounds
UnderConstruction = UnderConstructionLoop
End
; *** ENGINEERING Parameters ***
RadarPriority = STRUCTURE
KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_POWER MP_COUNT_FOR_VICTORY
Body = StructureBody ModuleTag_05
MaxHealth = 1500.0
InitialHealth = 1500.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 = RebuildHoleExposeDie ModuleTag_09
HoleName = GLAHolePowerPlant
HoleMaxHealth = 500.0
End
Behavior = PowerPlantUpgrade ModuleTag_06
TriggeredBy = Upgrade_GLAAdv.PowerSupply
End
Behavior = DestroyDie ModuleTag_07
;nothing
End
Behavior = CreateObjectDie ModuleTag_08
CreationList = OCL_SmallStructureDebris
End
Behavior = ProductionUpdate ModuleTag_10
; nothing, but is required if we have any Object-level Upgrades!
End
Behavior = PowerPlantUpdate ModuleTag_11
RodsExtendTime = 1
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_15
;-------------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 = FXListDie ModuleTag_16
DeathFX = FX_BuildingDie
End
Geometry = BOX
GeometryMajorRadius = 27.0
GeometryMinorRadius = 34.0
GeometryHeight = 40.0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
BuildCompletion = PLACED_BY_PLAYER
End
;------------------------------------------------------------------------------
ObjectReskin GLAHolePowerPlant 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
There you go buddy. Hope this helps.