Oops
Ok. I recoded the entire lot and the game started and when i selected the crusader it crashed. I recoded it again and it showed up on the crusader no prob, but had 'conflicting Upgrade' shown and i could not build it. I tried again and now the game crashes on start up. I'll post the code, sorry about the length.(code for drone and for it to be built by crusader)
FactionUnit:
-----------
New entry for drone
-------------------
Code:
-----
Object AmericaVehiclePointDefenseDrone
; *** ART Parameters ***
SelectPortrait = SABattleDrone_L
ButtonImage = SABattleDrone
UpgradeCameo1 = Upgrade_AmericaDroneArmor
;UpgradeCameo2 = NONE
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
;MAIN CHASSIS
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ExtraPublicBone = Laser
DefaultConditionState
Model = AVBATTLEDR
Animation = AVBATTLEDR.AVBATTLEDR
AnimationMode = LOOP
Turret = Turret01
TurretPitch = TurretEL01
WeaponMuzzleFlash = PRIMARY TurretFX01
WeaponFireFXBone = PRIMARY Muzzle01
End
ConditionState = REALLYDAMAGED
Model = AVBATTLEDR_D
Animation = AVBATTLEDR_D.AVBATTLEDR_D
AnimationMode = LOOP
End
End
;EXTENDING ARM (FOR REPAIRING)
Draw = W3DModelDraw ModuleTag_02
OkToChangeModelColor = Yes
DefaultConditionState
Model = AVBATTLEDR_A
End
;Unloading the arm (before starting to repair)
ConditionState = UNPACKING
Animation = AVBATTLEDR_A1.AVBATTLEDR_A1
AnimationMode = ONCE
End
;Loading the arm (after reparing complete)
ConditionState = PACKING
Animation = AVBATTLEDR_A1.AVBATTLEDR_A1
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
End
;Repair extending animation 1 (using bogus condition states -- doesn't justify making a whole new set)
ConditionState = FIRING_B
Animation = AVBATTLEDR_A2.AVBATTLEDR_A2
AnimationMode = ONCE
End
;Repair retracting animation 1 (using bogus condition states -- doesn't justify making a whole new set)
ConditionState = FIRING_C
Animation = AVBATTLEDR_A2.AVBATTLEDR_A2
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:BattleDrone
Side = America
EditorSorting = VEHICLE
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY BattleDroneMachineGun
End
ArmorSet
Conditions = None
Armor = TankArmor
DamageFX = SmallTankDamageFX
End
BuildCost = 200
BuildTime = 5.0 ;in seconds
VisionRange = 150
ShroudClearingRange = 150
Prerequisites
Object = AmericaWarFactory
End
ExperienceValue = 10 10 10 10 ;Experience point value at each level
IsTrainable = No
; *** AUDIO Parameters ***
VoiceSelect = NoSound
VoiceMove = NoSound
VoiceAttack = NoSound
SoundMoveStart = NoSound
UnitSpecificSounds
; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
TurretMoveStart = NoSound
TurretMoveLoop = TurretMoveLoop
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD CAN_CAST_REFLECTIONS VEHICLE SELECTABLE CAN_ATTACK DRONE
Body = ActiveBody ModuleTag_03
MaxHealth = 100.0
InitialHealth = 100.0
End
Behavior = AIUpdateInterface ModuleTag_04
Turret
TurretTurnRate = 360 // turn rate, in degrees per sec
TurretPitchRate = 360
MinPhysicalPitch = -75 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal)
AllowsPitch = Yes
ControlledWeaponSlots = PRIMARY
End
AutoAcquireEnemiesWhenIdle = Yes
End
Locomotor = SET_NORMAL BattleDroneLocomotor
Locomotor = SET_PANIC BattleDronePanicLocomotor ;used for repairing master (zippy)
Behavior = PhysicsBehavior ModuleTag_05
Mass = 50.0
KillWhenRestingOnGround = Yes
AllowBouncing = No
End
Behavior = MaxHealthUpgrade ModuleTag_06
TriggeredBy = Upgrade_AmericaDroneArmor
AddMaxHealth = 50.0
ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
End
Behavior = SlavedUpdate ModuleTag_07
GuardMaxRange = 35 ;How far away from master I'm allowed when master is idle (doesn't wander)
GuardWanderRange = 35 ;How far away I'm allowed to wander from master while guarding.
AttackRange = 75 ;How far away from master I'm allowed when master is attacking a target.
AttackWanderRange = 10 ;How far I'm allowed to wander from target.
ScoutRange = 75 ;How far away from master I'm allowed when master is moving.
ScoutWanderRange = 10 ;How far I'm allowed to wander from scout point.
RepairRange = 8 ;How far I can zip around while repair (only moves when he stops welding)
RepairMinAltitude = 18.0 ;My minimum repair hover altitude.
RepairMaxAltitude = 24.0 ;My maximum repair hover altitude.
RepairRatePerSecond = 5.0 ;How many health points can I repair per second.
RepairWhenBelowHealth% = 60 ;How low should my master's health be (in %) before I should prioritize repairing.
RepairMinReadyTime = 300
RepairMaxReadyTime = 750
RepairMinWeldTime = 250
RepairMaxWeldTime = 500
RepairWeldingSys = BlueSparks
RepairWeldingFXBone = Muzzle02
StayOnSameLayerAsMaster = Yes
End
Behavior = DestroyDie ModuleTag_08
DeathTypes = ALL
End
Behavior = CreateObjectDie ModuleTag_09
DeathTypes = ALL
CreationList = OCL_AmericaBattleDroneExplode
End
Behavior = TransitionDamageFX ModuleTag_10
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleDroneDamageTransitionSmall
End
Behavior = FXListDie ModuleTag_11
DeathTypes = ALL
DeathFX = FX_AmericaBattleDroneExplode
End
Behavior = UpgradeDie ModuleTag_12
;This frees the object based upgrade for the producer object.
DeathTypes = ALL
UpgradeToRemove = Upgrade_AmericaBattleDrone ModuleTag_13
End
Behavior = FlammableUpdate ModuleTag_21
AflameDuration = 5000 ; If I catch fire, I'll burn for this long...
AflameDamageAmount = 3 ; taking this much damage...
AflameDamageDelay = 500 ; this often.
End
Geometry = CYLINDER
GeometryMajorRadius = 5
GeometryMinorRadius = 5
GeometryHeight = 10.0
GeometryIsSmall = Yes
Shadow = SHADOW_VOLUME
ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length
End
Crusader Code: (only engineering)
-------------
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
Body = ActiveBody ModuleTag_02
MaxHealth = 480
InitialHealth = 480
End
Behavior = AIUpdateInterface ModuleTag_03
Turret
TurretTurnRate = 180 ;60 // turn rate, in degrees per sec
ControlledWeaponSlots= PRIMARY
End
AutoAcquireEnemiesWhenIdle = Yes
End
Locomotor = SET_NORMAL CrusaderLocomotor
Behavior = PhysicsBehavior ModuleTag_04
Mass = 50.0
End
Behavior = ObjectCreationUpgrade ModuleTag_05
UpgradeObject = OCL_AmericanBattleDrone
TriggeredBy = Upgrade_AmericaBattleDrone
ConflictsWith = Upgrade_AmericaScoutDrone
End
Behavior = ObjectCreationUpgrade ModuleTag_06
UpgradeObject = OCL_AmericanScoutDrone
TriggeredBy = Upgrade_AmericaScoutDrone
ConflictsWith = Upgrade_AmericaBattleDrone
End
Behavior = ProductionUpdate ModuleTag_07
MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
End
Behavior = ExperienceScalarUpgrade ModuleTag_08
TriggeredBy = Upgrade_AmericaAdvancedTraining
AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
End
Behavior = MaxHealthUpgrade ModuleTag_09
TriggeredBy = Upgrade_AmericaCompositeArmor
AddMaxHealth = 100.0
ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
End
; Turret fly off death
Behavior = SlowDeathBehavior ModuleTag_10
DeathTypes = ALL -CRUSHED -SPLATTED
ProbabilityModifier = 50
DestructionDelay = 500
DestructionDelayVariance = 100
FX = INITIAL FX_GenericTankDeathEffect
OCL = MIDPOINT OCL_GenericTankDeathEffect
FX = FINAL FX_GenericTankDeathExplosion
OCL = FINAL OCL_CrusaderTurret
End
; Catch fire, and explode death
Behavior = SlowDeathBehavior ModuleTag_11
DeathTypes = ALL -CRUSHED -SPLATTED
ProbabilityModifier = 50
DestructionDelay = 2000
DestructionDelayVariance = 300
FX = INITIAL FX_CrusaderCatchFire
OCL = FINAL OCL_GenericTankDeathEffect
FX = FINAL FX_GenericTankDeathExplosion
End
Behavior = TransitionDamageFX ModuleTag_12
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
End
Behavior = DestroyDie ModuleTag_13
DeathTypes = NONE +CRUSHED +SPLATTED
End
; A crushing defeat
Behavior = FXListDie ModuleTag_14
DeathTypes = NONE +CRUSHED +SPLATTED
DeathFX = FX_CarCrush
End
Behavior = CreateObjectDie ModuleTag_15
DeathTypes = NONE +CRUSHED +SPLATTED
CreationList = OCL_CrusaderTank_CrushEffect
End
Behavior = CreateCrateDie ModuleTag_CratesChange
CrateData = SalvageCrateData
;CrateData = EliteTankCrateData
;CrateData = HeroicTankCrateData
End
Behavior = EjectPilotDie ModuleTag_17
GroundCreationList = OCL_EjectPilotOnGround
AirCreationList = OCL_EjectPilotViaParachute
ExemptStatus = HIJACKED
VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot
End
Behavior = MaxHealthUpgrade ModuleTag_18
TriggeredBy = Upgrade_AmericaCompositeArmor
AddMaxHealth = 100.0
ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
End
Behavior = FlammableUpdate ModuleTag_21
AflameDuration = 5000 ; If I catch fire, I'll burn for this long...
AflameDamageAmount = 3 ; taking this much damage...
AflameDamageDelay = 500 ; this often.
End
Behavior = ObjectCreationUpgrade ModuleTag_22
UpgradeObject = OCL_AmericanPointDefenseDrone
TriggeredBy = Upgrade_AmericaPointDefennseDrone
ConflictsWith = Upgrade_AmericaScoutDrone
End
Behavior = ObjectCreationUpgrade ModuleTag_23
UpgradeObject = OCL_AmericanPointDefenseDrone
TriggeredBy = Upgrade_AmericanPointDefenseDrone
ConflictsWith = Upgrade_AmericaBattleDrone
End
Behavior = ObjectCreationUpgrade ModuleTag_24
UpgradeObject = OCL_AmericanBattleDrone
TriggeredBy = Upgrade_AmericaBattleDrone
ConflictsWith = Upgrade_AmericaPointDefenseDrone
End
Behavior = ObjectCreationUpgrade ModuleTag_25
UpgradeObject = OCL_AmericanScoutDrone
TriggeredBy = Upgrade_AmericaScoutDrone
ConflictsWith = Upgrade_AmericaPointDefenseDrone
End
Behavior = ObjectCreationUpgrade ModuleTag_26 ;New code to conflict drones. (includes old conflict as well, moved from beginning of behaviours)
UpgradeObject = OCL_AmericanBattleDrone
TriggeredBy = Upgrade_AmericaBattleDrone
ConflictsWith = Upgrade_AmericaScoutDrone
End
Behavior = ObjectCreationUpgrade ModuleTag_27
UpgradeObject = OCL_AmericanScoutDrone
TriggeredBy = Upgrade_AmericaScoutDrone
ConflictsWith = Upgrade_AmericaBattleDrone
End
Geometry = BOX
GeometryMajorRadius = 15.0
GeometryMinorRadius = 10.0
GeometryHeight = 10.0
GeometryIsSmall = Yes
Shadow = SHADOW_VOLUME
ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length
End
CommandButton
-------------
CommandButton Command_ConstructAmericaVehiclePointDefenseDrone
Command = OBJECT_UPGRADE
;Command = UNIT_BUILD
Upgrade = Upgrade_AmericaPointDefenseDrone
;Object = AmericaPointDefenseDrone
Options = OK_FOR_MULTI_SELECT NOT_QUEUEABLE
TextLabel = CONTROLBAR:ConstructAmericaVehiclePointDefenseDron e
ButtonImage = SABattleDrone
ButtonBorderType = BUILD ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipUSABuildPointDefenseDrone
End
CommandSet (Crusader only at the mo.)
---------
CommandSet AmericaTankCrusaderCommandSet
1 = Command_ConstructAmericaVehicleBattleDrone
2 = Command_ConstructAmericaVehicleScoutDrone
3 = Command_ConstructAmericaVehiclePointDefenseDrone
9 = Command_AttackMove
11 = Command_Guard
12 = Command_Stop
End
Upgrade
-------
Upgrade Upgrade_AmericaPointDefenseDrone
DisplayName = UPGRADE:PointDefenseDrone
Type = OBJECT
BuildTime = 5.0
BuildCost = 500
ButtonImage = SABattleDrone
ResearchSound = BattleDroneVoiceCreate
End
|