lol
It really doesn't entirely matter where you put the modules, so long as each one has a unique name (like ModuleTag_01, ModuleTag_02 etc). Some do matter though, like an AI module MUST be placed BEFORE the Locomotor, else the unit will not move.
Usually, when I'm creating a new or cloned Object, I tend to group certain bits together, like upgrade, specials, damage details, etc. And I tend to put the Locomotor right at the very end just so it's out of my way.
As an example, here's my A10...
Code:
Object Thunderbolt
SelectPortrait = SAWarthog_L
ButtonImage = SAWarthog
UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
UpgradeCameo2 = Upgrade_AmericaCountermeasures
UpgradeCameo3 = Upgrade_ChinaAircraftArmor
; --------- [ ART Parameters ] --------- ;
Draw = W3DModelDraw W3D
OkToChangeModelColor = Yes
ExtraPublicBone = WeaponA01
ExtraPublicBone = WeaponA02
ExtraPublicBone = WeaponA03
ExtraPublicBone = WeaponA04
ExtraPublicBone = WeaponA05
ExtraPublicBone = WeaponA06
DefaultConditionState
Model = AVWarthog
WeaponMuzzleFlash = PRIMARY MuzzleFX01
WeaponFireFXBone = PRIMARY Muzzle01
ParticleSysBone = Engine01 JetBlackTrailThin
ParticleSysBone = Engine02 JetBlackTrailThin
ParticleSysBone = Wingtip01 JetContrailThin
ParticleSysBone = Wingtip02 JetContrailThin
End
ConditionState = REALLYDAMAGED
Model = AVWarthog_D
WeaponMuzzleFlash = PRIMARY MuzzleFX01
WeaponFireFXBone = PRIMARY Muzzle01
End
AliasConditionState = RUBBLE
End
; -------- [ DESIGN Parameters ] ------- ;
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE
DisplayName = OBJECT:A10Thunderbolt
EditorSorting = VEHICLE
RadarPriority = UNIT
TransportSlotCount = 0
VisionRange = 300
ShroudClearingRange = 300
IsTrainable = Yes
ExperienceValue = 50 100 150 400
ExperienceRequired = 0 150 450 900
BuildCost = 2500
BuildTime = 30
Prerequisites
Object = Airfield
Object = StrategyCenter
End
WeaponSet
Conditions = None
Weapon = PRIMARY ThunderboltVulcan
Weapon = SECONDARY ThunderboltMissileWeapon
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY NONE
End
ArmorSet
Conditions = None
Armor = AirplaneArmor
DamageFX = None
End
CommandSet = CommandSet_Thunderbolt
MaxSimultaneousOfType = 4
; -------- [ AUDIO Parameters ] -------- ;
VoiceSelect = ComancheVoiceSelect
VoiceMove = ComancheVoiceMove
VoiceGuard = ComancheVoiceMove
VoiceAttack = ComancheVoiceAttack
SoundAmbient = A10ThunderboltAmbientLoop
UnitSpecificSounds
SoundEject = PilotSoundEject
VoiceEject = PilotVoiceEject
VoiceCreate = ComancheVoiceCreate
VoiceFireRocketPods = ComancheVoiceAttackRocket
StartDive = A10ThunderboltDive
Afterburner = RaptorAfterburner
End
; ----- [ ENGINEERING Parameters ] ----- ;
Body = ActiveBody Body
MaxHealth = 500
InitialHealth = 500
End
Behavior = JetAIUpdate AI
MinHeight = 5
TakeoffPause = 500
TakeoffDistForMaxLift = 0%
ReturnToBaseIdleTime = 10000
Turret
TurretTurnRate = 0
TurretPitchRate = 0
ControlledWeaponSlots = PRIMARY
End
AutoAcquireEnemiesWhenIdle = Yes
End
Behavior = ExperienceScalarUpgrade Experience
TriggeredBy = Upgrade_AmericaAdvancedTraining
AddXPScalar = 1
End
Behavior = MaxHealthUpgrade Health
ChangeType = ADD_CURRENT_HEALTH_TOO
TriggeredBy = Upgrade_ChinaAircraftArmor
AddMaxHealth = 100
End
ClientUpdate = AnimatedParticleSysBoneClientUpdate SysBone
End
; -------- [ DAMAGE Parameters ] ------- ;
Behavior = JetSlowDeathBehavior SlowDeath
DestructionDelay = 99999999
RollRate = 0.0
RollRateDelta = 100%
PitchRate = 0.0
FallHowFast = 110.0%
FXInitialDeath = FX_JetDeathInitial
OCLInitialDeath = None
DelaySecondaryFromInitialDeath = 500
FXSecondary = FX_JetDeathSecondary
OCLSecondary = None
FXHitGround = FX_JetDeathHitGround
OCLHitGround = OCL_A10DeathHitGround
DelayFinalBlowUpFromHitGround = 200
FXFinalBlowUp = FX_JetDeathFinalBlowUp
OCLFinalBlowUp = OCL_A10DeathFinalBlowUp
End
Behavior = FlammableUpdate Flammable
AflameDuration = 5000
AflameDamageAmount = 3
AflameDamageDelay = 500
End
; ------- [ GEOMETRY Parameters ] ------ ;
Locomotor = SET_NORMAL A10ThunderboltLocomotor
Locomotor = SET_TAXIING BasicJetTaxiLocomotor
Behavior = PhysicsBehavior Physics
Mass = 500
End
Geometry = Cylinder
GeometryIsSmall = Yes
GeometryMajorRadius = 10
GeometryMinorRadius = 10
GeometryHeight = 10
Shadow = SHADOW_VOLUME
ShadowSizeX = 89
End