Posted by: bel3ve - Thursday, December 18, 2008 1:22:17 PM
Hey, is there any way to make a Bomber (like the Chinese or Air general) Buy able and usable in game.
I mean is there a way that you can say make a Raptor for instance, drop bombs and not shoot missiles. [question]
I'm not sure if there is from my experience, but if there is i would LOVE to know how!
Posted by: krit - Thursday, December 18, 2008 2:31:10 PM
Totally possible, you could even replace the Scud missiles on the Scud Storm with Overlord tanks if you wanted to.
Posted by: FatalSwoop - Friday, December 19, 2008 4:35:48 AM
The raptor is gut gut as it stands, a light weight jet for moving targets,,
Also the Aurora is the best unit in the game, of course I’m saying this as a player that never ONE WAY’s them,,,
Big up the 3 stripe Aurora,,, every time,,,
Down to the suicide bomber!
FS XV// 004
Posted by: CommieDog - Friday, December 19, 2008 6:03:17 AM
That was absolutely no help at all. Please keep on-topic.
Posted by: FatalSwoop - Friday, December 19, 2008 6:46:46 AM
Yes it was I’m trying to harmonise him with already existing units,, and not mods which are away from the point,,,
I only want to promote being good at the original game,,, mods are still cool but, could be taking your attention away from being good at the game we already got,,
FS XV// 009
Posted by: krit - Friday, December 19, 2008 8:32:53 AM
[quote=fatalSwoop]Yes it was I’m trying to harmonise him with already existing units,, and not mods which are away from the point,,,[/quote]
It doesn't work when the mods [i]are[/i] the points of this topic...
Posted by: bel3ve - Friday, December 19, 2008 9:05:50 AM
Your do mean that I can make a Carpet bomber that docks at the airfield and drops in a nice line! I'm not meaning the aurora bombs. If that is what you mean can you give me a little help on that, as far as I know the carpet bomber thing is special power only. Is there really a way to make the raptor (still me imaginary example!) have a..
Payload = ChinaCarpetBomb ;or whatever else I think
PayloadNumber = 3
DeliveryDistance = 50
DropDelay = 300
(cant remember the specifics right now.)
Just need a little guidance like This goes in This ini file. or best yet An Example of a buy Able Bomber in game (NOT AURORA)
PS - I CAN make a SCUD an overlord. Just replace the W3d model or re identify the W3d Model in Weapon objects! [smile]
I fear the buy able carpet bomber wont be as simple.
Posted by: CommieDog - Friday, December 19, 2008 4:35:46 PM
First of all, you won't be able to use an ObjectCreationList if you want the bomber to be a persistent unit. Try cloning the Aurora and changing its weapon's projectile to one of the carpet bombs.
Posted by: bel3ve - Saturday, December 20, 2008 5:55:17 AM
Sadly the aurora is the closest thing I can get to a buy able carpet bomber[angry]
I guess its time to mess around with the ini files and see If I can get the Aurora to fly over its target before turning back. Now time for my greatest challenge yet, besides making a red obby laser![grin]
Posted by: yodaman888 - Tuesday, April 21, 2009 5:00:20 PM
I was working on a bomber that seems to be what your looking for I have not made a weapon for it yet but here is the code
[code] ;--------------------------------
Object AmericaJetB52unit
; *** ART Parameters ***
SelectPortrait =
ButtonImage =
UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
UpgradeCameo2 = Upgrade_AmericaCountermeasures
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = AVBomber
HideSubObject = BurnerFX03 BurnerFX04
WeaponLaunchBone = PRIMARY WeaponA
End
ConditionState = JETEXHAUST
; exhaust
ParticleSysBone = Wingtip01 JetContrailThin
ParticleSysBone = Wingtip02 JetContrailThin
ParticleSysBone = WingTip03 JetContrailThin
ParticleSysBone = WingTip04 JetContrailThin
End
ConditionState = JETEXHAUST JETAFTERBURNER
; exhaust
ParticleSysBone = Wingtip01 JetContrailThin
ParticleSysBone = Wingtip02 JetContrailThin
ParticleSysBone = WingTip03 JetContrailThin
ParticleSysBone = WingTip04 JetContrailThin
; afterburner
ShowSubObject = BurnerFX03 BurnerFX04
ParticleSysBone = Engine01 JetLenzflare
ParticleSysBone = Engine02 JetLenzflare
End
ConditionState = DAMAGED
Model = AVBomber_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 = AVBomber_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 = AVBomber_D1
ParticleSysBone = Smoke01 JetFireLarge
ParticleSysBone = Smoke02 JetFireLarge
ParticleSysBone = Smoke01 JetSmokeLarge
ParticleSysBone = Smoke02 JetSmokeLarge
End
OkToChangeModelColor = Yes
End
; Draw = W3DModelDraw ModuleTag_02
; DefaultConditionState
; Model = AVBomber_A2U
; End
; ConditionState = DOOR_1_OPENING
; Animation = AVBomber_A2K.AVBomber_A2
; AnimationMode = ONCE
; Flags = START_FRAME_FIRST MAINTAIN_FRAME_ACROSS_STATES
; End
; ConditionState = DOOR_1_CLOSING
; Animation = AVBomber_A2K.AVBomber_A2
; AnimationMode = ONCE_BACKWARDS
; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
; End
; ConditionState = REALLYDAMAGED
; Model = AVBomber_A2DU
; Animation = AVBomber_A2K.AVBomber_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 = AVBomber_A2DU
; Animation = AVBomber_A2K.AVBomber_A2
; AnimationMode = ONCE_BACKWARDS
; Flags = START_FRAME_LAST MAINTAIN_FRAME_ACROSS_STATES
; End
; End
; ***DESIGN parameters ***
DisplayName = OBJECT:B3
EditorSorting = VEHICLE
Side = America
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 300.0
ShroudClearingRange = 600
BuildCost = 1
BuildTime = 1.0 ;in seconds
Prerequisites
Object = AmericaCommandCenter
End
WeaponSet
Conditions = None
Weapon = PRIMARY
End
ArmorSet
Conditions = None
Armor = AirplaneArmor
DamageFX = TankDamageFX
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = CountermeasuresAirplaneArmor
DamageFX = None
End
CommandSet = AmericaJetAuroraCommandSet
; *** AUDIO Parameters ***
SoundAmbient = B3BomberAmbientLoop
SoundAmbientRubble = NoSound
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
Body = ActiveBody ModuleTag_03
MaxHealth = 250.0
InitialHealth = 250.0
End
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
ExperienceRequired = 0 200 400 800 ;Experience points needed to gain each level
ExperienceValue = 50 50 50 50 ; Experience point value at each level
IsTrainable = Yes ;Can gain experience
; *** AUDIO Parameters ***
VoiceSelect = StealthFighterVoiceSelect
VoiceMove = StealthFighterVoiceMove
VoiceAttack = StealthFighterVoiceAttack
VoiceAttackAir = StealthFighterVoiceAttackAir
VoiceGuard = StealthFighterVoiceAirPatrol
SoundAmbient = StealthFighterAmbientLoop
SoundAmbientRubble = NoSound
SoundStealthOn = StealthOn
SoundStealthOff = StealthOff
UnitSpecificSounds
VoiceCreate = StealthFighterVoiceCreate
SoundEject = PilotSoundEject
VoiceEject = PilotVoiceEject
Afterburner = RaptorAfterburner
VoiceLowFuel = AuroraBomberVoiceLowFuel
VoiceGarrison = StealthFighterVoiceMove
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
Behavior = JetAIUpdate ModuleTag_09
OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo
; note that it's expressed as a percent of max health, not an absolute
TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off
TakeoffPause = 500
MinHeight = 5
ParkingOffset = 3 ; scooch it a little forward so the tail doesn't hit the doors
ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo
End
Locomotor = SET_TAXIING BasicJetTaxiLocomotor
Locomotor = SET_NORMAL CINE_B52Locomotor
Behavior = TransportContain ModuleTag_06
Slots = 8 ; 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 = 5000 ; 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
[/code]
the bomber is a b52 usable in game it has a few glitches with the landings though
Posted by: yodaman888 - Tuesday, April 21, 2009 5:06:45 PM
I keep trying to atach a file to my post that gives you an air field big anough to hold it but it wont let me upload the file
Posted by: bel3ve - Wednesday, April 22, 2009 11:09:35 AM
I figured out a simple way but it can only use one bomb. The "bomber" has a very slow turn rate and firing distance so each bomb has to be dropped on top of target. Then the plane flies over. It only works with one bomb a pass though because the other bombs all compress onto the target. I like your idea better though. [smile]
Posted by: yodaman888 - Wednesday, April 22, 2009 1:55:09 PM
I've been looking into the code of the AuroraBomb object and it seems the reason that it does not fall straight down is because it has a locomotor that goes forward if you copy the object and remove this locomotor it will fall down like a normal bomb
It also seems that without this code [code]Behavior = MissileAIUpdate ModuleTag_04
TryToFollowTarget = No
FuelLifetime = 0
IgnitionDelay = 0
InitialVelocity = 0 ; in dist/sec
DistanceToTravelBeforeTurning = 0
DistanceToTargetBeforeDiving = 0 [/code] the aircraft will fire the weapon but the
prjectile object wont appear
Posted by: Annihilationzh - Wednesday, April 22, 2009 2:08:01 PM
This is not tested, but it should work.
[code];------------------------------------------------------------------------------
Weapon DropCarpetBombWeapon
PrimaryDamage = 0.0001
PrimaryDamageRadius = 0.0
AttackRange = 50.0
DamageType = UNRESISTABLE
DeathType = NORMAL
FireOCL = OCL_CarpetBomb
DelayBetweenShots = 300
ClipSize = 8
ClipReloadTime = 10000
AutoReloadsClip = RETURN_TO_BASE
AcceptableAimDelta = 180
AntiGround = Yes
AntiAirborneVehicle = No
ShowsAmmoPips = Yes
End[/code]
[code]; ----------------------------------------------
ObjectCreationList OCL_CarpetBomb
CreateObject
ObjectNames = CarpetBomb
Disposition = LIKE_EXISTING
End
End[/code]
TBH I think I may have forgotten something.
Posted by: yodaman888 - Wednesday, April 22, 2009 2:28:11 PM
I just tested the weapon and it doesnt work for some reason aircraft dont like using fire OCLs the weapon fires but no objects appear
edit: ive even changed the name
Posted by: Annihilationzh - Wednesday, April 22, 2009 2:47:17 PM
I did forget something. I used an existing weapon name, so the game used that instead. After testing, I've changed the weapon name in the post, and it works fine for me. I had a king raptor carpet bombing.
Posted by: yodaman888 - Wednesday, April 22, 2009 2:51:18 PM
since annihilationzh weapon didnt work for me I made my own here it is
weapon
[code] ;------------------------------------------------------------------------------
Weapon CarpetBomberWeapon
PrimaryDamage = 0.00001
PrimaryDamageRadius = 0.00001
AttackRange = 200.0
AcceptableAimDelta = 45
DamageType = EXPLOSION
DeathType = EXPLODED
WeaponSpeed = 99999
ProjectileObject = CarpetBomb_Bomb
FireFX = FX_AuroraBombLaunch
ProjectileDetonationFX = FX_AuroraBombDetonate
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS NOT_SIMILAR
DelayBetweenShots = 75
ClipSize = 10 ; how many shots in a Clip (0 == infinite)
ClipReloadTime = 5000 ; how long to reload a Clip, msec
AutoReloadsClip = RETURN_TO_BASE ; must return to base to reload this weapon
ShowsAmmoPips = Yes
ProjectileCollidesWith = STRUCTURES
End [/code]
weapon object
[code] ;------------------------------------------------------------------------------
Object CarpetBomb_Bomb
; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = EXCarptBmb
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:CarpetBomb
Side = America
EditorSorting = SYSTEM
TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 300.0
ArmorSet
Conditions = None
Armor = ProjectileArmor
DamageFX = None
End
; *** AUDIO Parameters ***
SoundFallingFromPlane = DaisyCutterWeapon
; *** ENGINEERING Parameters ***
KindOf = PROJECTILE
Body = ActiveBody ModuleTag_02
MaxHealth = 100.0
InitialHealth = 100.0
End
Behavior = AIUpdateInterface ModuleTag_03
End
Locomotor = SET_NORMAL None
Behavior = PhysicsBehavior ModuleTag_04
Mass = 75.0
AerodynamicFriction = 1 ; this is now friction-per-sec
ForwardFriction = 33 ; this is now friction-per-sec
CenterOfMassOffset = 2 ; Default of 0 means nothing tips as it falls. Positive tips forward, negative tips back
End
Behavior = FireWeaponWhenDeadBehavior ModuleTag_05
DeathWeapon = CarpetBombWeapon
StartsActive = Yes
End
Behavior = HeightDieUpdate ModuleTag_06
TargetHeight = 1.0
TargetHeightIncludesStructures = No
End
Behavior = SpecialPowerCompletionDie ModuleTag_07
SpecialPowerTemplate = SuperweaponCarpetBomb
End
Behavior = FXListDie ModuleTag_08
DeathFX = FX_CarpetBomb
End
Behavior = DestroyDie ModuleTag_09
;nothing
End
Behavior = MissileAIUpdate ModuleTag_04
TryToFollowTarget = No
FuelLifetime = 0
IgnitionDelay = 0
InitialVelocity = 0 ; in dist/sec
DistanceToTravelBeforeTurning = 0
DistanceToTargetBeforeDiving = 0
End
Locomotor = SET_NORMAL None
End
[/code]
EDIT: its odd that the weapon wont work for me the reason could be that im using a custom bomber
EDIT: sense I cant attach files here I have uploaded the big airfield code to filefront the big airfield is an airfield large enough to hold the custom b52
youll have to make the build codes yourself [url http://files.filefront.com/big+airfield+codezip/;13642050;/fileinfo.html[/url]
Posted by: Annihilationzh - Thursday, April 23, 2009 9:18:23 AM
Has anyone managed to get one flying in a straight line when they drop the bombs?
I used an attack locomotor that barely turns, but they ended up flying straight off the map if they didn't use their entire payload.
Posted by: yodaman888 - Thursday, April 23, 2009 12:45:44 PM
the only way I can get it to drop straight is make the attack range start before it gets to the target but this means you have to aim ahead of the target to get mutiple bombs to hit
Posted by: Annihilationzh - Thursday, April 23, 2009 1:27:55 PM
Yeah, I can get it to go in a straight line until it gets there, but I can't get it to continue after it's reached it's target. It then turns round and starts circling over the target until it has dropped it's entire payload. An irritating problem.
Posted by: yodaman888 - Thursday, April 23, 2009 5:36:56 PM
I wonder if there is a code for the weapon.ini data that forces it to drop its entire payload once it started to atack then that coupled with the locomotive you made would solve the problem
EDIT: I found a new code in the weapon.ini
[code]
PreAttackDelay = 75
PreAttackType = PER_SHOT ; Do the delay every single shot
[/code]
in this code the attack happens but the preAttack delay keeps it from firing until the delay is up so you give a weapon 0 delay and the preAttack delay keeps it from firing until the weapons delay runs out and then it will fire even after it passes the target
Posted by: Annihilationzh - Friday, April 24, 2009 2:12:50 AM
I don't understand your logic. It didn't make any difference.
Posted by: CommieDog - Friday, April 24, 2009 10:23:18 AM
You may be able to have bombers attack targets behind them while moving away by adding a dummy turret with a high rotation speed.
Posted by: Annihilationzh - Friday, April 24, 2009 12:30:54 PM
My weapon code has this line:
[code] AcceptableAimDelta = 180[/code]
So the plane can already do that. The AI just doesn't like to.
Posted by: Sky Demon - Saturday, July 4, 2009 9:18:23 AM
I may not have much to contribute to the accomplishment of your mod but I just want to say that I admire the idea and hope you succeed. I have always liked the idea of being able to build a unit that employs the same "carpet bomb" style attack. Never really cared much for the "one bomb" drop from the aurora.