Hi, i have a b2 bomber, that is buildable to a new airfield i made called the NAMERICAAIRFIELD and here are my ideas:
The b2 when built, has no weapons set, however there are 3 payload options to choose from, Nuclear [15 bombs], Heavy Nuclear [4 bombs], or Conventional [130 bombs]. After buying one of these 3 upgrades, the b2 will be equipted with the weapons you chose, and the commandset would switch to a generic command set.
But when i try to buy one of the upgrades, it switches to the conventional one only...i dunno y...HERE IS MY CODE, FOR EVERYTHING ON THE B2...however, i bet the mistake[s] are in the factionunit part:
Factionunit.ini
Code:
Object AmericaJetB3
; *** ART Parameters ***
SelectPortrait = SSCarpetBomb
ButtonImage = SSCarpetBomb
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = AVB3bmbr
ParticleSysBone = Engine01 JetBlackTrailThin
ParticleSysBone = Engine02 JetBlackTrailThin
ParticleSysBone = WingTip01 JetContrailThin
ParticleSysBone = WingTip02 JetContrailThin
ParticleSysBone = WingTip03 JetContrailThin
ParticleSysBone = WingTip04 JetContrailThin
End
ConditionState = DAMAGED
Model = AVB3bmbr_D
ParticleSysBone = Smoke01 JetFireLarge
ParticleSysBone = Smoke02 JetFireLarge
ParticleSysBone = Engine01 JetBlackTrailThin
ParticleSysBone = Engine02 JetBlackTrailThin
ParticleSysBone = Engine03 JetBlackTrailThin
ParticleSysBone = Engine04 JetBlackTrailThin
ParticleSysBone = Smoke01 JetSmokeLarge
ParticleSysBone = Smoke02 JetSmokeLarge
End
ConditionState = REALLYDAMAGED
Model = AVB3bmbr_D
ParticleSysBone = Smoke01 JetFireLarge
ParticleSysBone = Smoke02 JetFireLarge
ParticleSysBone = Engine01 JetBlackTrailThin
ParticleSysBone = Engine02 JetBlackTrailThin
ParticleSysBone = Engine03 JetBlackTrailThin
ParticleSysBone = Engine04 JetBlackTrailThin
ParticleSysBone = Smoke01 JetSmokeLarge
ParticleSysBone = Smoke02 JetSmokeLarge
End
ConditionState = RUBBLE
Model = AVB3bmbr_D1
ParticleSysBone = Smoke01 JetFireLarge
ParticleSysBone = Smoke02 JetFireLarge
ParticleSysBone = Smoke01 JetSmokeLarge
ParticleSysBone = Smoke02 JetSmokeLarge
End
OkToChangeModelColor = Yes
End
; ***DESIGN parameters ***
DisplayName = OBJECT:B2
EditorSorting = VEHICLE
Side = America
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not
transportable)
VisionRange = 100.0
ShroudClearingRange = 200
Prerequisites
Object = NAmericaAirfield
Object = AmericaStrategyCenter
End
BuildCost = 6700
BuildTime = 58.0 ;in seconds
WeaponSet
Conditions = None
Weapon = PRIMARY None
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY B2Conventional
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY B2HeavyNukes
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY B2Nukes
End
ArmorSet
Conditions = None
Armor = AirplaneArmor
DamageFX = TankDamageFX
End
CommandSet = AmericaB2CommandSet
MaxSimultaneousOfType = 2
; *** AUDIO Parameters ***
SoundAmbient = B52AmbientLoop
SoundAmbientRubble = NoSound
UnitSpecificSounds
VoiceCreate = B2Create
Afterburner = RaptorAfterburner
VoiceLowFuel = RaptorVoiceLowFuel
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE TRANSPORT AIRCRAFT
Body = ActiveBody ModuleTag_03
MaxHealth = 2000.0
InitialHealth = 2000.0
End
ExperienceValue = 50 50 50 50 ; Experience point value at each level
Behavior = PhysicsBehavior ModuleTag_07
Mass = 500.0
End
Behavior = DeliverPayloadAIUpdate ModuleTag_08
DoorDelay = 500
MaxAttempts = 4
DropOffset = X:0 Y:0 Z:-10
DropDelay = 300 ; time in between each item dropped (if more than one)
PutInContainer = AmericaParachute
DeliveryDistance = 150
End
Behavior = JetAIUpdate ModuleTag_09
OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when
out of ammo
; note that it's expressed as a percent of max health, not
an absolute
TakeoffSpeedForMaxLift = 100% ; smaller numbers give more lift sooner when taking off
TakeoffPause = 500
MinHeight = 5
AttackLocomotorType = SET_SLUGGISH
AttackLocomotorPersistTime = 100 ; we start slowing down almost immediately
ParkingOffset = 6 ; scooch it a little forward so the tail doesn't
hit the doors
ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if
not out of ammo
End
Locomotor = SET_NORMAL B52Locomotor
Locomotor = SET_TAXIING BasicJetTaxiLocomotor
Locomotor = SET_SLUGGISH B52AttackLocomotor
Behavior = TransportContain ModuleTag_09
Slots = 6 ; hey, it's a BIG transport
OrientLikeContainerOnExit = Yes
KeepContainerVelocityOnExit = Yes
ExitPitchRate = 30
ExitBone = WeaponA01
AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE
DoorOpenTime = 0 ; this prevents the Contain module from
messing with the doors, since we want DeliverPayload to handle 'em
NumberOfExitPaths = 2
DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill'
End
Behavior = WeaponSetUpgrade ModuleTag_10
TriggeredBy = Upgrade_B2C
End
Behavior = WeaponSetUpgrade ModuleTag_11
TriggeredBy = Upgrade_B2HN
End
Behavior = WeaponSetUpgrade ModuleTag_12
TriggeredBy = Upgrade_B2N
End
Behavior = ProductionUpdate ModuleTag_13
MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
End
Behavior = CommandSetUpgrade ModuleTag_14
CommandSet = AmericaB2CommandSet2
TriggeredBy = Upgrade_B2C
ConflictsWith = Upgrade_B2HN Upgrade_B2N
End
Behavior = CommandSetUpgrade ModuleTag_15
CommandSet = AmericaB2CommandSet2
TriggeredBy = Upgrade_B2HN
ConflictsWith = Upgrade_B2C Upgrade_B2N
End
Behavior = CommandSetUpgrade ModuleTag_16
CommandSet = AmericaB2CommandSet2
TriggeredBy = Upgrade_B2N
ConflictsWith = Upgrade_B2C Upgrade_B2HN
End
Behavior = JetSlowDeathBehavior ModuleTag_20
DestructionDelay = 2000
RollRate = 0.0
RollRateDelta = 100% ;each frame, rollrate = rollrate *
rollrateDelta
PitchRate = 0
FallHowFast = 25.0% ;Bigger is faster (can be over 100%,it's a
fraction of gravity)
FXInitialDeath = FX_JetBigDeathInitial
OCLInitialDeath = OCL_AmericaJetCargoDeathStart
DelaySecondaryFromInitialDeath = 2000 ; in milliseconds This guy won't hit the
ground, so this time equals the above time
OCLSecondary = OCL_AmericaJetCargoHulkDeath
FXSecondary = FX_BigPlaneDeath
; FXFinalBlowUp = FX_JetDeathFinalBlowUp
; OCLFinalBlowUp = OCL_AuroraDeathFinalBlowUp
; DeathLoopSound = MICAL NEEDS TO MAKE ME
End
Behavior = TransitionDamageFX ModuleTag_21
DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
End
Geometry = Box
GeometryIsSmall = No
GeometryMajorRadius = 60.0
GeometryMinorRadius = 10.0
GeometryHeight = 10.0
Shadow = SHADOW_VOLUME
ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length
End