DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec)
DetectionRange = 200 ;Dustin, enable this for independant balancing!
CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of.
CanDetectWhileContained = No ;Contained means being in a transport or tunnel network.
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 250
End
Locomotor = SET_NORMAL BasicHumanLocomotor
Behavior = PhysicsBehavior ModuleTag_04
Mass = 5.0
End
Behavior = SlavedUpdate ModuleTag_06
;nothing
End
; Behavior = ProneUpdate ModuleTag_07
; DamageToFramesRatio = 5.0 ; I take 20 damage, I go prone for 100. For this guy, if any of my buds or my building take damage too (I have SlaveUpdate + ProneUpdate) Prone may get cut by itself though
; End
Behavior = SquishCollide ModuleTag_08
;nothing
End
; --- begin Death modules ---
Behavior = SlowDeathBehavior ModuleTag_Death01
DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDie
End
Behavior = SlowDeathBehavior ModuleTag_Death02
DeathTypes = NONE +CRUSHED +SPLATTED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDieCrushed
End
Behavior = SlowDeathBehavior ModuleTag_Death03
DeathTypes = NONE +EXPLODED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDie
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = SlowDeathBehavior ModuleTag_Death04
DeathTypes = NONE +BURNED
DestructionDelay = 0
FX = INITIAL FX_GIDie
OCL = INITIAL OCL_FlamingInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death05
DeathTypes = NONE +POISONED
DestructionDelay = 0
FX = INITIAL FX_GIDie
OCL = INITIAL OCL_ToxicInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
DeathTypes = NONE +POISONED_BETA
DestructionDelay = 0
FX = INITIAL FX_GIDie
OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
End
; --- end Death modules ---
Behavior = PoisonedBehavior ModuleTag_14
PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me...
PoisonDuration = 3000 ; ... for this long after last hit by poison damage
DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec)
DetectionRange = 200 ;Dustin, enable this for independant balancing!
CanDetectWhileGarrisoned = No ;Garrisoned means being in a structure that you units can shoot out of.
CanDetectWhileContained = No ;Contained means being in a transport or tunnel network.
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes
MoodAttackCheckRate = 250
End
Locomotor = SET_NORMAL BasicHumanLocomotor
Behavior = PhysicsBehavior ModuleTag_04
Mass = 5.0
End
Behavior = SlavedUpdate ModuleTag_06
;nothing
End
; Behavior = ProneUpdate ModuleTag_07
; DamageToFramesRatio = 5.0 ; I take 20 damage, I go prone for 100. For this guy, if any of my buds or my building take damage too (I have SlaveUpdate + ProneUpdate) Prone may get cut by itself though
; End
Behavior = SquishCollide ModuleTag_08
;nothing
End
; --- begin Death modules ---
Behavior = SlowDeathBehavior ModuleTag_Death01
DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDie
End
Behavior = SlowDeathBehavior ModuleTag_Death02
DeathTypes = NONE +CRUSHED +SPLATTED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDieCrushed
End
Behavior = SlowDeathBehavior ModuleTag_Death03
DeathTypes = NONE +EXPLODED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDie
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = SlowDeathBehavior ModuleTag_Death04
DeathTypes = NONE +BURNED
DestructionDelay = 0
FX = INITIAL FX_GIDie
OCL = INITIAL OCL_FlamingInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death05
DeathTypes = NONE +POISONED
DestructionDelay = 0
FX = INITIAL FX_GIDie
OCL = INITIAL OCL_ToxicInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
DeathTypes = NONE +POISONED_BETA
DestructionDelay = 0
FX = INITIAL FX_GIDie
OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
End
; --- end Death modules ---
Behavior = PoisonedBehavior ModuleTag_14
PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me...
PoisonDuration = 3000 ; ... for this long after last hit by poison damage
HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash
SupplyCenterActionDelay = 400 ; ms for whole thing (one transaction)
SupplyWarehouseActionDelay = 1000 ; ms per box (many small transactions)
SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan)
Model = AVChinook_A ;Carrying a full wobbly net of stuff
Animation = AVChinook_A.AVChinook_A
AnimationMode = LOOP
TransitionKey = TRANS_Full
WaitForStateToFinishIfPossible = TRANS_PickingUp
End
ConditionState = DOCKING
Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff
Animation = AVChinook_A1SK.AVChinook_A1
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
AnimationSpeedFactorRange = .75 .75
TransitionKey = TRANS_PickingUp
WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
End
ConditionState = DOCKING CARRYING
Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net
Animation = AVChinook_A1SK.AVChinook_A1
AnimationMode = ONCE
AnimationSpeedFactorRange = 2.75 2.75
TransitionKey = TRANS_Unloading
WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Chinook
EditorSorting = VEHICLE
Side = America
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 300.0
ShroudClearingRange = 600
BuildCost = 1200
BuildTime = 10.0 ;in seconds
Prerequisites
Object = AmericaSupplyCenter
End
ExperienceValue = 50 50 50 50 ;Experience point value at each level
IsTrainable = No
CommandSet = AmericaVehicleChinookCommandSet
ArmorSet
Conditions = None
Armor = ChinookArmor
DamageFX = None
End
; *** AUDIO Parameters ***
VoiceSelect = ChinookVoiceSelect
VoiceMove = ChinookVoiceMove
VoiceAttack = ChinookVoiceAttack
SoundAmbient = ChinookAmbientLoop
SoundAmbientRubble = NoSound
SoundDie = ChinookVoiceFalling
SoundEnter = HumveeEnter
SoundExit = HumveeExit
UnitSpecificSounds
VoiceCreate = ChinookVoiceCreate
VoiceSupply = ChinookVoiceSupply
VoiceUnload = ChinookVoiceUnload
VoiceCombatDrop = ChinookVoiceCombatDrop
VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings!
VoiceGarrison = ChinookVoiceMove
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at
; (well, "near" actually) an Airfield to get healed...
; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there.
SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction)
SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions)
SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan)
;************************** Cinematic-only unit *******************************
Object CINE_AmericaVehicleChinook
; *** ART Parameters ***
SelectPortrait = SAChinook_L
ButtonImage = SAChinook
;UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
;UpgradeCameo2 = NONE
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DModelDraw ModuleTag_01 ; Helicopter
ExtraPublicBone = RopeStart
ExtraPublicBone = RopeEnd
DefaultConditionState
Model = AVChinook
Animation = AVChinook.AVChinook
AnimationMode = LOOP
End
ConditionState = REALLYDAMAGED
Model = AVChinook_d
Animation = AVChinook_d.AVChinook_d
AnimationMode = LOOP
End
ConditionState = RUBBLE
Model = AVChinook_d
Animation = AVChinook_d.AVChinook_d
AnimationMode = LOOP
End
ConditionState = RUBBLE SPECIAL_DAMAGED
Model = AVChinook_d
HideSubObject = Props01
HideSubObject = Props02
End
OkToChangeModelColor = Yes
End
Draw = W3DModelDraw ModuleTag_02 ; Cargo net
ConditionState = NONE
Model = None ; Nothing here
TransitionKey = TRANS_Empty
WaitForStateToFinishIfPossible = TRANS_Unloading
End
ConditionState = DYING
Model = None ; Nothing here
End
AliasConditionState = RUBBLE
AliasConditionState = CARRYING RUBBLE
AliasConditionState = DOCKING RUBBLE
AliasConditionState = DOCKING CARRYING RUBBLE
ConditionState = CARRYING
Model = AVChinook_A ;Carrying a full wobbly net of stuff
Animation = AVChinook_A.AVChinook_A
AnimationMode = LOOP
TransitionKey = TRANS_Full
WaitForStateToFinishIfPossible = TRANS_PickingUp
End
ConditionState = DOCKING
Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff
Animation = AVChinook_A1SK.AVChinook_A1
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
AnimationSpeedFactorRange = .75 .75
TransitionKey = TRANS_PickingUp
WaitForStateToFinishIfPossible = TRANS_Unloading ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
End
ConditionState = DOCKING CARRYING
Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net
Animation = AVChinook_A1SK.AVChinook_A1
AnimationMode = ONCE
AnimationSpeedFactorRange = 2.75 2.75
TransitionKey = TRANS_Unloading
WaitForStateToFinishIfPossible = TRANS_PickingUp ;Trick. Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Chinook
EditorSorting = VEHICLE
Side = America
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 300.0
ShroudClearingRange = 600
BuildCost = 1200
BuildTime = 10.0 ;in seconds
Prerequisites
Object = AmericaSupplyCenter
End
ExperienceValue = 50 50 50 50 ;Experience point value at each level
IsTrainable = No
CommandSet = AmericaVehicleChinookCommandSet
ArmorSet
Conditions = None
Armor = ChinookArmor
DamageFX = None
End
; *** AUDIO Parameters ***
VoiceSelect = ChinookVoiceSelect
VoiceMove = ChinookVoiceMove
VoiceAttack = ChinookVoiceAttack
SoundAmbient = ChinookAmbientLoop
SoundAmbientRubble = NoSound
SoundDie = ChinookVoiceFalling
SoundEnter = HumveeEnter
SoundExit = HumveeExit
UnitSpecificSounds
VoiceCreate = ChinookVoiceCreate
VoiceSupply = ChinookVoiceSupply
VoiceUnload = ChinookVoiceUnload
VoiceCombatDrop = ChinookVoiceCombatDrop
VoiceClearBuilding = RangerVoiceClearBuilding ;Special combat drop that clears buildings!
VoiceGarrison = ChinookVoiceMove
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at
; (well, "near" actually) an Airfield to get healed...
; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there.
SupplyCenterActionDelay = 3000 ; ms for whole thing (one transaction)
SupplyWarehouseActionDelay = 1250 ; 875 ; ms per box (many small transactions)
SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan)
RepairHealthPercentPerSecond = 2% ; % of max health to repair each second
BoredTime = 5000 ; in milliseconds
BoredRange = 150 ; when bored, we look this far away to do something
MaxBoxes = 1
SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction)
SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions)
SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan)
RepairHealthPercentPerSecond = 2% ; % of max health to repair each second
BoredTime = 5000 ; in milliseconds
BoredRange = 150 ; when bored, we look this far away to do something
MaxBoxes = 1
SupplyCenterActionDelay = 150 ;400 ; ms for whole thing (one transaction)
SupplyWarehouseActionDelay = 150 ;400 ;ms per box (many small transactions)
SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home. (Direct dock command on warehouse overrides, and no max on Center Scan)