Posted by: precision_bomber - Sunday, December 25, 2011 3:20:57 AM
Hello people!
I have a problem with a new SuperWeapon I made for the SuperWeapon General.
It's a 5-star promotion named 'MOAB Carpet Bomb'
Sorry if I have too much to say here...
OCL
[code]ObjectCreationList SupW_SUPERWEAPON_BombingRun
DeliverPayload
Transport = AirF_AmericaJetB3
StartAtPreferredHeight = Yes
StartAtMaxSpeed = Yes
MaxAttempts = 1 ; max attempts
DropDelay = 200 ; time in between each set of items dropped (if more than one)
DeliveryDistance = 500 ; distance from target allowed to start/stop dropping.
; Drops two bombs at a time
; The bombs are created and dropped at this bone base
; The bombs are visible until dropped.
VisibleNumBones = 6 ; Number of bones.
; Created when payload is dropped.
; The bombs will start at transport velocity.
; The bomb will pitch down.
; Strafe while diving (so long target point is within weapon range)
DeliveryDecalRadius = 180
DeliveryDecal
Texture = SCCA10Strike_USA
Style = SHADOW_ALPHA_DECAL
OpacityMin = 25%
OpacityMax = 50%
OpacityThrobTime = 500
Color = R:255 G:156 B:0 A:255
OnlyVisibleToOwningPlayer = Yes
End
DropOffset = X:0 Y:0 Z:-2
DropVariance = X:30 Y:40 Z:0
Payload = MOAB 4
End
DeliverPayload
Transport = AirF_AmericaJetB3
StartAtPreferredHeight = Yes
StartAtMaxSpeed = Yes
MaxAttempts = 1 ; max attempts
DropDelay = 200 ; time in between each set of items dropped (if more than one)
DeliveryDistance = 500 ; distance from target allowed to start/stop dropping.
; Drops two bombs at a time
; The bombs are created and dropped at this bone base
; The bombs are visible until dropped.
VisibleNumBones = 6 ; Number of bones.
; Created when payload is dropped.
; The bombs will start at transport velocity.
; The bomb will pitch down.
; Strafe while diving (so long target point is within weapon range)
DeliveryDecalRadius = 180
DeliveryDecal
Texture = SCCA10Strike_USA
Style = SHADOW_ALPHA_DECAL
OpacityMin = 25%
OpacityMax = 50%
OpacityThrobTime = 500
Color = R:255 G:156 B:0 A:255
OnlyVisibleToOwningPlayer = Yes
End
DropOffset = X:0 Y:0 Z:-2
DropVariance = X:30 Y:40 Z:0
Payload = MOAB 4
End
DeliverPayload
Transport = AirF_AmericaJetB3
StartAtPreferredHeight = Yes
StartAtMaxSpeed = Yes
MaxAttempts = 1 ; max attempts
DropDelay = 200 ; time in between each set of items dropped (if more than one)
DeliveryDistance = 500 ; distance from target allowed to start/stop dropping.
; Drops two bombs at a time
; The bombs are created and dropped at this bone base
; The bombs are visible until dropped.
VisibleNumBones = 6 ; Number of bones.
; Created when payload is dropped.
; The bombs will start at transport velocity.
; The bomb will pitch down.
; Strafe while diving (so long target point is within weapon range)
DeliveryDecalRadius = 180
DeliveryDecal
Texture = SCCA10Strike_USA
Style = SHADOW_ALPHA_DECAL
OpacityMin = 25%
OpacityMax = 50%
OpacityThrobTime = 500
Color = R:255 G:156 B:0 A:255
OnlyVisibleToOwningPlayer = Yes
End
DropOffset = X:0 Y:0 Z:-2
DropVariance = X:30 Y:40 Z:0
Payload = MOAB 4
End
End
; [/code]
OCLSpecialPower Behavior in SupW Gen's Command
[code]Behavior = OCLSpecialPower ModuleTag_26
SpecialPowerTemplate = SupW_SuperweaponB3BombingRun
UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike3 SupW_SUPERWEAPON_BombingRun
UpgradeOCL = SCIENCE_A10ThunderboltMissileStrike2 SUPERWEAPON_A10ThunderboltMissileStrike2
OCL = SupW_SUPERWEAPON_BombingRun
CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE
End
[/code]
The weird thing here is that this popped out of the raw code, but on not my editor.
Maybe this is what is making the game crash. Though, maybe there is still somethings within my code that is wrong.
Here's the SpecialPower
[code]SpecialPower SupW_SuperweaponB3BombingRun
Enum = AIRF_SPECIAL_CARPET_BOMB
ReloadTime = 600000 ; in milliseconds
RequiredScience = SupW_SCIENCE_B3BombingRun
PublicTimer = No
SharedSyncedTimer = Yes
ViewObjectDuration = 30000
ViewObjectRange = 250
RadiusCursorRadius = 50
ShortcutPower = Yes ; Capable of being fired by the side-bar shortcut.
AcademyClassify = ACT_SUPERPOWER ; Considered a powerful special power that a player could fire. Not for simpler unit based powers.
InitiateAtLocationSound = SupW_MOABCarpetBomb
End
[/code]
I probably don't need to show the science.
But anyway, is the error in raw code my mistake or did I made more mistakes?
Posted by: acidbrain - Wednesday, January 4, 2012 10:52:35 AM
Try this stuff...
[u]Add this to Science.ini[/u]
[code]Science SCIENCE_Supw_MoabCarpetBomb
PrerequisiteSciences = SCIENCE_AMERICA SCIENCE_Rank5
SciencePurchasePointCost = 1
IsGrantable = Yes
DisplayName = SCIENCE:ChinaCarpetBomb
Description = CONTROLBAR:AirF_ToolTipUSAScienceCarpetBomb
End[/code]
[u]Add this to CommandButton.ini[/u]
[code]CommandButton Command_PurchaseScienceMoabCarpetBomb
Command = PURCHASE_SCIENCE
Science = SCIENCE_Supw_MoabCarpetBomb
ButtonImage = SAMoabCarpet
ButtonBorderType = UPGRADE ; Identifier for the User as to what kind of button this is
End
CommandButton Supw_Command_MoabCarpetBomb
Command = SPECIAL_POWER
SpecialPower = SupW_SuperweaponMoabCarpetBomb
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
TextLabel = CONTROLBAR:CarpetBomb
ButtonImage = SAMoabCarpet
RadiusCursorType = CARPETBOMB
InvalidCursorName = GenericInvalid
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:TooltipCarpetBomb
End
;If you want to use this you have to delete another shortcut...
;CommandButton Supw_Command_MoabCarpetBombFromShortcut
; Command = SPECIAL_POWER_FROM_SHORTCUT
; SpecialPower = SupW_SuperweaponMoabCarpetBomb
; Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
; TextLabel = OBJECT:CarpetBomb
; ButtonImage = SAMoabCarpet
; RadiusCursorType = CARPETBOMB
; InvalidCursorName = GenericInvalid
; ;ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
; DescriptLabel = CONTROLBAR:TooltipCarpetBomb
;End[/code]
[u]Add this to CommandSet.ini[/u]
CommandSet SupW_SCIENCE_AMERICA_CommandSetRank8
[code]3 = Command_PurchaseScienceMoabCarpetBomb[/code]
If you want a shortcutbutton you have to delete another one....
CommandSet SupW_SpecialPowerShortcutUSA
[code][Number of choice] = Supw_Command_MoabCarpetBombFromShortcut[/code]
CommandSet SupW_AmericaCommandCenterCommandSet
[code]3 = Supw_Command_MoabCarpetBomb[/code]
[u]Add this to SpecialPower.ini[/u]
[code]SpecialPower SupW_SuperweaponMoabCarpetBomb
Enum = AIRF_SPECIAL_CARPET_BOMB
ReloadTime = 600000 ; in milliseconds
RequiredScience = SCIENCE_Supw_MoabCarpetBomb
PublicTimer = No
SharedSyncedTimer = Yes
ViewObjectDuration = 30000
ViewObjectRange = 250
RadiusCursorRadius = 50
ShortcutPower = Yes
AcademyClassify = ACT_SUPERPOWER
End[/code]
[u]Add this to SuperWeaponGeneral.ini[/u]
Object SupW_AmericaCommandCenter
[code]Behavior = OCLSpecialPower ModuleTag_29
SpecialPowerTemplate = SupW_SuperweaponMoabCarpetBomb
OCL = SupW_SUPERWEAPON_MoabCarpetBomb
CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE
End[/code]
This is a new B3 bomber, a bit more health and a bit faster.
[code]Object SupW_AmericaJetB3MoabCarpet
; *** 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
; ***DESIGN parameters ***
DisplayName = OBJECT:B52
EditorSorting = VEHICLE
Side = AmericaSuperWeaponGeneral
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
; *** 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
Body = ActiveBody ModuleTag_03
MaxHealth = 3000.0
InitialHealth = 3000.0
End
ExperienceValue = 50 50 50 50 ; Experience point value at each level
Behavior = OCLSpecialPower ModuleTag_06
SpecialPowerTemplate = SupW_SuperweaponMoabCarpetBomb
OCL = SupW_SUPERWEAPON_MoabCarpetBomb
CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE
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 B3MoabCarpetLocomotor
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
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[/code]
[u]Add this to ObjectCreationList.ini[/u]
[code]ObjectCreationList SupW_SUPERWEAPON_MoabCarpetBomb
DeliverPayload
Transport = SupW_AmericaJetB3MoabCarpet ;SupW_AmericaJetB3
FormationSize = 3
FormationSpacing = 85.0 ;Smaller is planes closer together
StartAtPreferredHeight = Yes
StartAtMaxSpeed = Yes
MaxAttempts = 1 ; max attempts
DropOffset = X:0 Y:0 Z:-2
DropVariance = X:30 Y:40 Z:0
DropDelay = 300 ; time in between each set of items dropped (if more than one)
Payload = MOAB 2
DeliveryDistance = 350 ;500 ; distance from target allowed to start/stop dropping.
DeliveryDecalRadius = 180
DeliveryDecal
Texture = SCCCarpBomb
Style = SHADOW_ALPHA_DECAL
OpacityMin = 25%
OpacityMax = 50%
OpacityThrobTime = 500
Color = R:255 G:156 B:0 A:255
OnlyVisibleToOwningPlayer = Yes
End
End
End[/code]
[u]Add this to your MappedImages[/u]
[code]MappedImage SAMoabCarpet
Texture = SAMoabCarpet.tga
TextureWidth = 113
TextureHeight = 81
Coords = Left:0 Top:0 Right:113 Bottom:81
Status = NONE
End[/code]
[u]Add this to Locomotor.ini[/u]
[code]Locomotor B3MoabCarpetLocomotor
Surfaces = AIR
Speed = 275 ; in dist/sec
SpeedDamaged = 180 ; in dist/sec
; MinSpeed = 120 ; in dist/sec
; !!! DO NOT REDUCE MinSpeed BELOW 60 UNTIL LANDINGS ARE FIXED (srj)
MinSpeed = 60 ; in dist/sec
TurnRate = 160 ; in degrees/sec
TurnRateDamaged = 90 ; in degrees/sec
Acceleration = 180 ; in dist/(sec^2)
AccelerationDamaged = 120 ; in dist/(sec^2)
Lift = 120 ; in dist/(sec^2)
LiftDamaged = 80 ; in dist/(sec^2)
Braking = 10 ; in dist/(sec^2)
MinTurnSpeed = 100 ; in dist/sec
PreferredHeight = 100
AllowAirborneMotiveForce = Yes
ZAxisBehavior = SURFACE_RELATIVE_HEIGHT
CirclingRadius = 150 ; the radius at which we circle when we are trying to maintain position.
Appearance = WINGS
PitchInDirectionOfZVelFactor = 1.0 ; how much to pitch according to our z-vel. 0=none, 1=lots (0=default)
PitchStiffness = 0.5 ; stiffness of the "springs" in the suspension forward & back.
RollStiffness = 0.4 ; stiffness of the "springs" in the suspension side to side.
PitchDamping = 0.9 ; How fast it damps. 0=perfect spring, bounces forever. 1=glued to terrain.
RollDamping = 0.8 ; How fast it damps. 0=perfect spring, bounces forever. 1=glued to terrain.
ForwardVelocityPitchFactor = 0 ; How much velocity will cause the front to lift/dip
LateralVelocityRollFactor = 0.2 ; How much cornering will cause the chassis to roll.
Apply2DFrictionWhenAirborne = Yes
AirborneTargetingHeight = 30
LocomotorWorksWhenDead = Yes ; JetSlowDeathBehavior needs this to function correctly
End[/code]
I made a shiny new cameo for the buttons, put it in your Art folder.
Sorry i got a bit carried away...[grin]
If you run into trouble with this stuff just let me know...
Greetz, acidbrain [ATTACH]1004[/Attach] [ATTACH]1005[/Attach]
Posted by: precision_bomber - Friday, January 6, 2012 10:35:03 PM
Thanks now I can relieve sort of overlook for Moddb.
I already have something In mind for it's picture though.
Next thing. ParticleSystem for a shell.