View Single Post
Old 05-24-2004, 01:00 PM   #1 (permalink)
4hammer
Senior Member
 
Join Date: Nov 2003
Location: Hell
Posts: 272
Default CommandSet Upgrade Problem

i can't buy the upgrade, it just grayed out :\

NOTE this is normal gen no ZH

Code:
;------------------------------------------------------------------------------
;USA Construction Dozer or USDozer
Object AmericaVehicleDozer

  ; *** ART Parameters ***
  SelectPortrait         = SACDozer_L
  ButtonImage            = SACDozer
  
  ;UpgradeCameo1 = NONE
  ;UpgradeCameo2 = NONE
  ;UpgradeCameo3 = NONE
  ;UpgradeCameo4 = NONE
  ;UpgradeCameo5 = NONE
  
  Draw = W3DTruckDraw ModuleTag_01

    OkToChangeModelColor = Yes

    DefaultConditionState
      Model             = AVCONSTDOZ_A
      ParticleSysBone   = EXHAUSTFX01 DozerSmokeLight
      WaitForStateToFinishIfPossible = TRANS_DIGGING
    End

    ConditionState = PREATTACK_A 
      Animation         = AVCONSTDOZ_A.AVCONSTDOZ_A
      AnimationMode     = ONCE
      ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
      ParticleSysBone   = DIRTFX01 DozerDirtFall ;gush of dirt
      TransitionKey     = TRANS_DIGGING
    End

    ConditionState = MOVING
      ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
      WaitForStateToFinishIfPossible = TRANS_DIGGING
    End

    ConditionState      = REALLYDAMAGED RUBBLE
      Model             = AVCONSTDOZ_AD
      ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
      WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
    End

    ConditionState = PREATTACK_A REALLYDAMAGED RUBBLE
      Model             = AVCONSTDOZ_AD
      Animation         = AVCONSTDOZ_AD.AVCONSTDOZ_AD
      AnimationMode     = ONCE
      ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
      TransitionKey     = TRANS_DIGGING_DAMAGED
    End

    ConditionState      = MOVING REALLYDAMAGED RUBBLE
      Model             = AVCONSTDOZ_AD
      ParticleSysBone   = EXHAUSTFX01 DozerSmokeHeavy
      WaitForStateToFinishIfPossible = TRANS_DIGGING_DAMAGED
    End


    TrackMarks            = EXTireTrack2.tga
    Dust                  = RocketBuggyDust
    DirtSpray             = RocketBuggyDirtSpray

    ; These parameters are only used if the model has a separate suspension, 
    ; and the locomotor has HasSuspension = Yes.

    LeftFrontTireBone     = TIRE01
    RightFrontTireBone    = TIRE02
    LeftRearTireBone      = TIRE03
    RightRearTireBone     = TIRE04

    TireRotationMultiplier      = 0.2   ; this * speed = rotation.
    PowerslideRotationAddition  = 0   ; This vehicle doesn't powerslide.

  End



  ; ***DESIGN parameters ***
  DisplayName         = OBJECT:Dozer
  Side                = America
  EditorSorting       = VEHICLE
  TransportSlotCount  = 5 ;how many "slots" we take in a transport (0 == not transportable)
  BuildCost           = 1000
  BuildTime           = 5.0 ; in seconds
  VisionRange         = 200
  ShroudClearingRange = 200

  WeaponSet
    Conditions = None 
    Weapon = PRIMARY None
  End
  WeaponSet
    Conditions = MINE_CLEARING_DETAIL 
    Weapon = PRIMARY DozerMineDisarmingWeapon
  End

  ArmorSet
    Conditions        = None
    Armor             = DozerArmor ;Special Explosion-Proof Armor
    DamageFX          = TankDamageFX
  End
  CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
  CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  CommandSet          = AmericaDozerCommandSet

  ; *** AUDIO Parameters ***
  VoiceSelect         = DozerUSAVoiceSelect
  VoiceMove           = DozerUSAVoiceMove
  VoiceGuard          = DozerUSAVoiceMove
  VoiceTaskComplete   = DozerUSAVoiceBuildComplete
  SoundMoveStart      = DozerUSAMoveStart
  SoundMoveStartDamaged = DozerUSAMoveStart
  UnitSpecificSounds
    VoiceCreate           = DozerUSAVoiceCreate
    VoiceNoBuild          = DozerUSAVoiceBuildNot
    VoiceCrush            = DozerUSAVoiceCrush
    VoiceRepair           = DozerUSAVoiceRepair
    VoiceDisarm           = DozerUSAVoiceClearMine
    TruckLandingSound     = NoSound
    TruckPowerslideSound  = NoSound
    VoiceEnter            = DozerUSAVoiceMove
    VoiceBuildResponse    = DozerUSAVoiceBuild
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority       = UNIT
  KindOf              = PRELOAD VEHICLE SCORE SELECTABLE CAN_CAST_REFLECTIONS DOZER
 
  Body                = ActiveBody ModuleTag_02
    MaxHealth         = 250.0
    InitialHealth     = 250.0
  End
  Behavior = DozerAIUpdate ModuleTag_03
    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
    ; the only "enemies" that workers can acquire are mines, to be disarmed...
    AutoAcquireEnemiesWhenIdle   = Yes
  End

  Locomotor = SET_NORMAL AmericaVehicleDozerLocomotor

  Behavior            = PhysicsBehavior ModuleTag_04
    Mass              = 75.0
  End

  Behavior = StealthDetectorUpdate ModuleTag_05
    DetectionRate         = 500   ; how often to rescan for stealthed things in my sight (msec)
    ;DetectionRange       = ??? ;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.
    ExtraRequiredKindOf   = MINE  ; we can only detect MINES, not other stealthed things
  End

  Behavior                 = TransitionDamageFX ModuleTag_06
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
  End

  ; Catch fire, and explode death
  Behavior = SlowDeathBehavior ModuleTag_07
    DeathTypes = ALL -CRUSHED -SPLATTED
    ProbabilityModifier = 100
    DestructionDelay = 1500
    DestructionDelayVariance = 600
    FX  = INITIAL  FX_CrusaderCatchFire
    OCL = FINAL    OCL_AmericaDozerExplode  
    FX  = FINAL    FX_BattleMasterExplosionOneFinal
  End   

  Behavior = CreateCrateDie ModuleTag_CratesChange
    CrateData = SalvageCrateData
  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

  ClientUpdate         = AnimatedParticleSysBoneClientUpdate ModuleTag_22
  End

  Behavior               = FXListDie ModuleTag_23
    DeathTypes = NONE +CRUSHED +SPLATTED
    DeathFX         = FX_CarCrush
  End

  Behavior = DestroyDie ModuleTag_24
    DeathTypes = NONE +CRUSHED +SPLATTED
  End


  Behavior = CommandSetUpgrade ModuleTag_CommandSetUp  
    CommandSet    = AmericaDozerCommandSetUpgraded
    TriggeredBy   = Upgrade_USADozerCSUp1
  End


  Behavior = CommandSetUpgrade ModuleTag_CommandSetUp2
    CommandSet    = AmericaDozerCommandSet
    TriggeredBy   = Upgrade_USADozerCSUp2
  End

  Behavior = ObjectCreationUpgrade ModuleTag_CommandSetUp3
    UpgradeObject = OCL_AmericaDozerCSUpgradeRemove
    TriggeredBy   = Upgrade_USADozerCSUp1 Upgrade_USADozerCSUp2
  End




  Geometry            = BOX
  GeometryMajorRadius = 15.0
  GeometryMinorRadius = 10.0
  GeometryHeight      = 15.0     
  GeometryIsSmall     = Yes
  Shadow              = SHADOW_VOLUME
  ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length    

End
Code:

Upgrade Upgrade_USADozerCSUp1
  DisplayName        = UPGRADE:CommandSetChanged
  Type               = OBJECT
  BuildTime          = 0.001
  BuildCost          = 0
  ButtonImage        = SARadarUpgrade
  ResearchSound      = NoSound ;Doesn't need a sound because this upgrade is granted immediately!
End


Upgrade Upgrade_USADozerCSUp2
  DisplayName        = UPGRADE:CommandSetChanged
  Type               = OBJECT
  BuildTime          = 0.001
  BuildCost          = 0
  ButtonImage        = SARadarUpgrade
  ResearchSound      = NoSound ;Doesn't need a sound because this upgrade is granted immediately!
End
Code:
; -----------------------------------------------------------------------------
; -----------------------------------------------------------------------------
ObjectCreationList OCL_AmericaDozerCSUpgradeRemove
  CreateObject
    Offset = X:0 Y:0 Z:50 
    ObjectNames = AmericaDozerCSRemover
    IgnorePrimaryObstacle = Yes
    Disposition = LIKE_EXISTING
    Count = 1
    RequiresLivePlayer = Yes
  End
End
Code:
;------------------------------------------------------------------------------
Object AmericaDozerCSRemover

  ; ***DESIGN parameters ***
  VisionRange     = 0.0
  EditorSorting   = SYSTEM
  KindOf = NO_COLLIDE IMMOBILE UNATTACKABLE INERT

  ; *** ENGINEERING Parameters ***
  Body = InactiveBody ModuleTag_01
    ;nothing
  End

  Behavior = UpgradeDie  ModuleTag_02
    DeathTypes = ALL
    UpgradeToRemove = Upgrade_USADozerCSUp1 ModuleTag_05
  End

  Behavior = UpgradeDie  ModuleTag_03
    DeathTypes = ALL
    UpgradeToRemove = Upgrade_USADozerCSUp2 ModuleTag_06
  End

  Behavior = LifetimeUpdate ModuleTag_04
    MinLifetime = 50
    MaxLifetime = 50
  End

End
4hammer is offline   Reply With Quote