Ok...here is the B2...lets say we want to it go from the air force general to America on generals...
Code:
;------------------------------------------------------------------------------
Object AirF_AmericaJetB3
; *** ART Parameters ***
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
; Draw = W3DModelDraw ModuleTag_02
; DefaultConditionState
; Model = AVB3bmbr_A2K
; End
; ConditionState = DOOR_1_OPENING
; Animation = AVB3bmbr_A2K.AVB3bmbr_A2
; AnimationMode = ONCE
; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
; End
; ConditionState = DOOR_1_CLOSING
; Animation = AVB3bmbr_A2K.AVB3bmbr_A2
; AnimationMode = ONCE_BACKWARDS
; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
; End
; ConditionState = REALLYDAMAGED
; Model = AVB3bmbr_A2DU
; Animation = AVB3bmbr_A2K.AVB3bmbr_A2
; AnimationMode = MANUAL
; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
; End
; ConditionState = DOOR_1_OPENING REALLYDAMAGED
; Model = AVB3bmbr_A2DU
; Animation = AVB3bmbr_A2K.AVB3bmbr_A2
; AnimationMode = ONCE
; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
; End
; ConditionState = DOOR_1_CLOSING REALLYDAMAGED
; Model = AVB3bmbr_A2DU
; Animation = AVB3bmbr_A2K.AVB3bmbr_A2
; AnimationMode = ONCE_BACKWARDS
; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
; End
; End
; ***DESIGN parameters ***
DisplayName = OBJECT:B52
EditorSorting = VEHICLE
Side = AmericaAirForceGeneral
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 0.0
ArmorSet
Conditions = None
Armor = AirplaneArmor
DamageFX = TankDamageFX
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = CountermeasuresAirplaneArmor
DamageFX = None
End
CommandSet = Command_ScriptedTransportDrops
Prerequisites
Object = AirF_AmericaStrategyCenter
End
; *** AUDIO Parameters ***
SoundAmbient = B3BomberAmbientLoop
SoundAmbientRubble = NoSound
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI EMP_HARDENED [color=red][DEL]
Body = ActiveBody ModuleTag_03
MaxHealth = 1000.0
InitialHealth = 1000.0
End
ExperienceValue = 50 50 50 50 ; Experience point value at each level
;SCRIPTED SUPPORT: These special powers are triggered directly
;from the transport without creating a transport. This is done
;via new code support and CreateLocation USE_OWNER_OBJECT --
;which also prevents creating the payload transport.
Behavior = OCLSpecialPower ModuleTag_04
SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@
OCL = SUPERWEAPON_DaisyCutter
CreateLocation = USE_OWNER_OBJECT
ScriptedSpecialPowerOnly = Yes
End
Behavior = OCLSpecialPower ModuleTag_05
SpecialPowerTemplate = SuperweaponMOAB ;@@KRIS@@
OCL = SUPERWEAPON_MOAB
CreateLocation = USE_OWNER_OBJECT
ScriptedSpecialPowerOnly = Yes
End
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
Locomotor = SET_NORMAL B3Locomotor
Behavior = TransportContain ModuleTag_09
Slots = 100 ; hey, it's a BIG transport
ScatterNearbyOnExit = No
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 = 0
DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill'
End
Behavior = JetSlowDeathBehavior ModuleTag_10
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_11
DamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_JetBigDamageTransition
End
Behavior = ArmorUpgrade ModuleTag_Armor01
TriggeredBy = Upgrade_AmericaCountermeasures
End
Behavior = CountermeasuresBehavior ModuleTag_12
TriggeredBy = Upgrade_AmericaCountermeasures
FlareTemplateName = CountermeasureFlare
FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
VolleySize = 4 ; Number of flares launched per volley (requires bones)
VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value.
DelayBetweenVolleys = 1000 ; Time between flare volleys
NumberOfVolleys = 5 ; Number of times the volleys will fire before reloading
ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
EvasionRate = 30% ; With active flares, the specified percentage will be diverted.
ReactionLaunchLatency = 100 ; Reaction between getting shot at and the firing of the first volley of countermeasures.
MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
End
Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
WeaponTemplate = AirF_PointDefenseLaser
PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE
ScanRate = 0
ScanRange = 200.0
PredictTargetVelocityFactor = 1.0
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
but the thing is you need to delete or switch some things to make it playable on generals...So what you do is, copy the code of something close to it... or something along the family... for instance, if you wanted to add the king raptor, just copy the raptors code and change the parameters a bit to fit general's needs... in this example i chose the B52 since both the B2 and B52 are not supposed to be selected, and huge bombers, and drop bombs via command...
Object AmericaJetB2
; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = AVB3bmbr
ParticleSysBone = Engine01 JetBlackTrailThin
ParticleSysBone = Engine02 JetBlackTrailThin
ParticleSysBone = Engine03 JetBlackTrailThin
ParticleSysBone = Engine04 JetBlackTrailThin
ParticleSysBone = WingTip01 JetContrailThin
ParticleSysBone = WingTip02 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:B52
EditorSorting = VEHICLE
Side = America
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 0.0
ArmorSet
Conditions = None
Armor = AirplaneArmor
DamageFX = TankDamageFX
End
CommandSet = Command_ScriptedTransportDrops
; *** AUDIO Parameters ***
SoundAmbient = B52AmbientLoop
SoundAmbientRubble = NoSound
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE SCORE TRANSPORT AIRCRAFT IGNORED_IN_GUI
Body = ActiveBody ModuleTag_03
MaxHealth = 1000.0
InitialHealth = 1000.0
End
ExperienceValue = 50 50 50 50 ; Experience point value at each level
;SCRIPTED SUPPORT: These special powers are triggered directly
;from the transport without creating a transport. This is done
;via new code support and CreateLocation USE_OWNER_OBJECT --
;which also prevents creating the payload transport.
Behavior = OCLSpecialPower ModuleTag_04
SpecialPowerTemplate = SuperweaponDaisyCutter ;@@KRIS@@
OCL = SUPERWEAPON_DaisyCutter
CreateLocation = USE_OWNER_OBJECT
End
Behavior = OCLSpecialPower ModuleTag_05
SpecialPowerTemplate = SuperweaponParadropAmerica
UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
OCL = SUPERWEAPON_Paradrop1
CreateLocation = USE_OWNER_OBJECT
End
Behavior = OCLSpecialPower ModuleTag_06
SpecialPowerTemplate = SuperweaponCarpetBomb
OCL = SUPERWEAPON_CarpetBomb
CreateLocation = USE_OWNER_OBJECT
End
Behavior = PhysicsBehavior ModuleTag_07
Mass = 500.0
End
Behavior = DeliverPayloadAIUpdate ModuleTag_08
DoorDelay = 500
MaxAttempts = 4
DropOffset = X:0 Y:0 Z:-3
DropDelay = 100 ; time in between each item dropped (if more than one)
PutInContainer = AmericaParachute
DeliveryDistance = 100
End
Locomotor = SET_NORMAL B52Locomotor
Behavior = TransportContain ModuleTag_09
Slots = 100 ; hey, it's a BIG transport
ScatterNearbyOnExit = No
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 = 0
DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill'
End
Behavior = JetSlowDeathBehavior ModuleTag_10
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_11
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
so really, all i had to do was copy the b52's code, paste it, and put the B2's model and model information in the clone b52 code... then you just gotta transfer the b2's model and textures and your done... I also cut out some of that extra filler with the ";'s" but you dont have to do that....