SkyMix_RMT
9 years ago
The first time I saw a BioHazardTech I thought he was using an epic minigun that would spit bullets at enemies, I was very disapointed when I saw that the unit was almost useless and the "minigun" was actually a toxin clearing gun that spits awful looking liquid? I don't know. 👎

But now!!!
This piece of code makes the BioHazardTech have an awsome minigun that behaves like a gattling gun but with some twists, it has SpectreGunshipGattlingWeapon sound (wich sounds awsome and has light effects) and the guy wears heavy armour and is super slow. UserPostedImage


Locomotor HeavyWeaponsInfantryLocomotor
  Surfaces = GROUND RUBBLE
  Speed = 17                ; in dist/sec
  SpeedDamaged = 15         ; in dist/sec
  TurnRate = 180            ; in degrees/sec
  TurnRateDamaged = 150     ; in degrees/sec
  Acceleration = 80        ; in dist/(sec^2)
  AccelerationDamaged = 40 ; in dist/(sec^2)
  Braking = 100             ; in dist/(sec^2)
  MinTurnSpeed = 0          ; in dist/sec
  ZAxisBehavior = NO_Z_MOTIVE_FORCE
  Appearance = TWO_LEGS
  StickToGround = Yes       ; walking guys aren't allowed to catch huge (or even small) air.
End

;------------------------------------------------------------------------------

Weapon HeavyWeaponsMiniGun
  PrimaryDamage         = 12.0 
  PrimaryDamageRadius   = 4.0       ; 0 primary radius means "hits only intended victim"
  AttackRange           = 300.0
  DamageType            = SMALL_ARMS
  DeathType             = NORMAL
  WeaponSpeed           = 999999.0          ; dist/sec (huge value == effectively instant)
  ProjectileObject      = NONE
  FireFX                = WeaponFX_Comanche20mmCannonFire
  VeterancyFireFX       = HEROIC WeaponFX_Comanche20mmCannonFire
  FireSound             = SpectreGunshipGattlingWeapon
  RadiusDamageAffects   = ALLIES ENEMIES NEUTRALS
  DelayBetweenShots     = 200               ; time between shots, msec
  ClipSize              = 0                    ; how many shots in a Clip (0 == infinite)
  ClipReloadTime        = 0              ; how long to reload a Clip, msec
  ContinuousFireOne     = 6 ; How many shots at the same target constitute "Continuous Fire"
  ContinuousFireTwo     = 18 ; How many shots at the same target constitute "Continuous Fire Two"
  ContinuousFireCoast   = 1000 ; msec we can coast without firing before we lose Continuous Fire
  WeaponBonus           = CONTINUOUS_FIRE_MEAN RATE_OF_FIRE 200% ; When the object achieves this state, this weapon gets double the rate of fire
  WeaponBonus           = CONTINUOUS_FIRE_FAST RATE_OF_FIRE 300% ; This is not cumulative, so with Delay of 40, and values of 2 and 4 for these bonuses, you shoot at (40, 20, 10)
  AntiAirborneVehicle   = No
  AntiAirborneInfantry  = No
  AntiGround = Yes
End

Object AmericaInfantryBiohazardTech

 ReplaceModule ModuleTag_01
  Draw = W3DModelDraw ModuleTag_01_Override

    OkToChangeModelColor = Yes
    
    IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A

    ; ---- standing
    DefaultConditionState
      Model               = AITECH_SKN
      IdleAnimation       = AITECH_SKL.AITECH_STA 0 21
      IdleAnimation       = AITECH_SKL.AITECH_IDA
      IdleAnimation       = AITECH_SKL.AITECH_IDB 
      AnimationMode       = ONCE
      WeaponMuzzleFlash   = PRIMARY BIOGUNFX
      WeaponFireFXBone    = PRIMARY BIOGUNFX
      WeaponLaunchBone    = PRIMARY BIOGUNFX
      WeaponRecoilBone    = PRIMARY BIOGUNFX
      TransitionKey       = TRANS_Standing
    End

    ConditionState        = REALLYDAMAGED
      IdleAnimation       = AITECH_SKL.AITECH_STA 0 21
      IdleAnimation       = AITECH_SKL.AITECH_IDA
      IdleAnimation       = AITECH_SKL.AITECH_IDB 
      AnimationMode       = ONCE
      TransitionKey       = TRANS_StandingHurt
    End

    ; ---- moving
    ConditionState        = MOVING
      Animation           = AITECH_SKL.AITECH_WKA 15
      AnimationMode       = LOOP
      Flags               = RANDOMSTART
      TransitionKey       = TRANS_Walking
      ParticleSysBone     = None InfantryDustTrails
    End
    AliasConditionState   = MOVING ATTACKING

    ConditionState        = MOVING REALLYDAMAGED
      Animation           = AITECH_SKL.AITECH_WKA 15
      AnimationMode       = LOOP
      TransitionKey       = TRANS_WalkingHurt
      ParticleSysBone     = None InfantryDustTrails
    End
    AliasConditionState   = MOVING ATTACKING REALLYDAMAGED
    
    ; ---- dying 
    ConditionState        = DYING
      Animation           = AITECH_SKL.AITECH_DTA
      Animation           = AITECH_SKL.AITECH_DTB
      AnimationMode       = ONCE
      TransitionKey       = TRANS_Dying
    End

    TransitionState = TRANS_Dying TRANS_Flailing
      Animation = AITECH_SKL.AITECH_STA
      AnimationMode = ONCE
    End

    ConditionState = DYING EXPLODED_FLAILING
      Animation = AITECH_SKL.AITECH_ADTD2
      AnimationMode = LOOP
      TransitionKey = TRANS_Flailing
    End

    ConditionState = DYING EXPLODED_BOUNCING
      Animation = AITECH_SKL.AITECH_ADTD3
      AnimationMode = ONCE
      TransitionKey = None
    End
    
    ConditionState = SPECIAL_CHEERING
      Animation = AITECH_SKL.AITECH_CHA
    End

    ; ---- firing
    ConditionState = USING_WEAPON_A
      Animation = AITECH_SKL.AITECH_STA
      AnimationMode = LOOP
      TransitionKey = TRANS_Firing
    End

    ConditionState = USING_WEAPON_A REALLYDAMAGED
      Animation = AITECH_SKL.AITECH_STA
      AnimationMode = LOOP
      TransitionKey = TRANS_FiringHurt
    End

    TransitionState = TRANS_Standing TRANS_Firing
      Animation = AITECH_SKL.AITECH_STA
      AnimationMode = ONCE
    End

    TransitionState = TRANS_Firing TRANS_Standing
      Animation = AITECH_SKL.AITECH_STA
      AnimationMode = ONCE
    End

    TransitionState = TRANS_StandingHurt TRANS_FiringHurt
      Animation = AITECH_SKL.AITECH_STA
      AnimationMode = ONCE_BACKWARDS
    End

    TransitionState = TRANS_FiringHurt TRANS_StandingHurt
      Animation = AITECH_SKL.AITECH_STA
      AnimationMode = ONCE
    End

    TransitionState = TRANS_Standing TRANS_StandingHurt
      Animation = AITECH_SKL.AITECH_STA
      AnimationMode = ONCE
    End

    

    ; ------- Bldg-capture

    ConditionState = UNPACKING
      Model             = UIRGrd_F_SKN
      Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP1
      AnimationMode     = ONCE
    End
    AliasConditionState = UNPACKING REALLYDAMAGED

    ConditionState = RAISING_FLAG
      Model             = UIRGrd_F_SKN
      Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP2
      AnimationMode     = ONCE
      TransitionKey     = TRANS_Raising
    End
    AliasConditionState = RAISING_FLAG REALLYDAMAGED

    ConditionState = PACKING
      Model             = UIRGrd_F_SKN
      Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP1
      AnimationMode     = ONCE_BACKWARDS
      Flags             = START_FRAME_LAST
      TransitionKey     = TRANS_Packing
    End
    AliasConditionState = PACKING REALLYDAMAGED

    TransitionState = TRANS_Raising TRANS_Packing
      Model             = UIRGrd_F_SKN
      Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP2
      AnimationMode     = ONCE_BACKWARDS
      Flags             = START_FRAME_LAST
    End

  End
  
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY HeavyWeaponsMiniGun ;A10ThunderboltVulcan
    Weapon = SECONDARY None
    Weapon = TERTIARY TerroristSuicideNotARealWeapon
    AutoChooseSources = TERTIARY NONE
  End
  ArmorSet
    Conditions      = None
    Armor           = ChemSuitHumanArmor
    DamageFX        = InfantryDamageFX
  End
  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE
  VisionRange         = 200
  ShroudClearingRange = 420
  End

 ReplaceModule ModuleTag_02
  Body              = ActiveBody ModuleTag_02_Override
    MaxHealth       = 600.0
    InitialHealth   = 600.0
  End
 End
 
 ReplaceModule ModuleTag_05
  Behavior = AIUpdateInterface ModuleTag_05_Override
    AutoAcquireEnemiesWhenIdle = Yes
  End
 End
 
 AddModule ModuleTag_Hnt_Override
  Behavior = CommandButtonHuntUpdate  ModuleTag_Hnt
  End
  Locomotor = SET_NORMAL HeavyWeaponsInfantryLocomotor
 End
End



The code was made using parts of different units, I know it can be perfected but I didn't want to mess with it because I could risk making the game crash without knowing why.
Feel free to change or use the code as you like.

UserPostedImage See him in action here:




HAVE FUN!!
Check out:
My Music  (Techno/House/Experimental)
My Website  (GeneralsCentral)
My Youtube Channel  (Inactive)
World Builder Community Discord 
SkyMix_RMT
9 years ago
The wiki and pretty much everyone says that the rebel is armed with an AK47, but it really doesn't sound like one.

This code makes the rebel use the AK47 angrymobs use, but less overpowered.


Weapon AK47Weapon 
  PrimaryDamage         = 5.0
  PrimaryDamageRadius   = 0.0       ; 0 primary radius means "hits only intended victim"
  AttackRange           = 120.0
  DamageType            = SMALL_ARMS
  DeathType             = NORMAL
  WeaponSpeed           = 999999.0          ; dist/sec (huge value == effectively instant)
  ProjectileObject      = NONE
  FireFX                = WeaponFX_RangerAdvancedCombatRifleFire
  VeterancyFireFX       = HEROIC WeaponFX_HeroicRangerAdvancedCombatRifleFire
  FireSound             = AngryMobWeaponAK47
  RadiusDamageAffects   = ALLIES ENEMIES NEUTRALS
  DelayBetweenShots     = 125    ; time between shots, msec
  ClipSize              = 12                 ; how many shots in a Clip (0 == infinite)
  ClipReloadTime        = 500         ; how long to reload a Clip, msec
  WeaponBonus           = PLAYER_UPGRADE DAMAGE 125% ; Armor Piercing Bullets
End

Object GLAInfantryRebel
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY AK47Weapon
  End
End

With this weapon, a rebel can beat a ranger, if you do not want that, change "PrimaryDamage" to "4.0" and "AttackRange" to "100.0".
Check out:
My Music  (Techno/House/Experimental)
My Website  (GeneralsCentral)
My Youtube Channel  (Inactive)
World Builder Community Discord 
SkyMix_RMT
9 years ago
With this code you can spawn units from the angrymob individually, they will not die immediately, they will be selectable, they will be able to garrison buildings and vehicles, and behave like pretty much any other unit.



Object GLAInfantryAngryMobPistol01

  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)

  VoiceSelect = AngryMobVoiceSelect
  VoiceMove = AngryMobVoiceMove
  VoiceGuard = AngryMobVoiceMove
  VoiceAttack = AngryMobVoiceAttack

  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER
  
  RemoveModule ModuleTag_04
End

;------------------------------------------------

Object GLAInfantryAngryMobRock02

  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)

  VoiceSelect = AngryMobVoiceSelect
  VoiceMove = AngryMobVoiceMove
  VoiceGuard = AngryMobVoiceMove
  VoiceAttack = AngryMobVoiceAttack

  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER
  
  RemoveModule ModuleTag_04
End

;------------------------------------------------

Object GLAInfantryAngryMobMolotov02

  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)

  VoiceSelect = AngryMobVoiceSelect
  VoiceMove = AngryMobVoiceMove
  VoiceGuard = AngryMobVoiceMove
  VoiceAttack = AngryMobVoiceAttack

  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER
  
  RemoveModule ModuleTag_04
End

;------------------------------------------------

Object GLAInfantryAngryMobPistol03

  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)

  VoiceSelect = AngryMobVoiceSelect
  VoiceMove = AngryMobVoiceMove
  VoiceGuard = AngryMobVoiceMove
  VoiceAttack = AngryMobVoiceAttack

  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER
  
  RemoveModule ModuleTag_04
End

;------------------------------------------------

Object GLAInfantryAngryMobRock04

  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)

  VoiceSelect = AngryMobVoiceSelect
  VoiceMove = AngryMobVoiceMove
  VoiceGuard = AngryMobVoiceMove
  VoiceAttack = AngryMobVoiceAttack

  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER
  
  RemoveModule ModuleTag_04
End

;------------------------------------------------

Object GLAInfantryAngryMobPistol05

  TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)

  VoiceSelect = AngryMobVoiceSelect
  VoiceMove = AngryMobVoiceMove
  VoiceGuard = AngryMobVoiceMove
  VoiceAttack = AngryMobVoiceAttack

  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER
  
  RemoveModule ModuleTag_04
End


Check out:
My Music  (Techno/House/Experimental)
My Website  (GeneralsCentral)
My Youtube Channel  (Inactive)
World Builder Community Discord 
jman
  • jman
  • 50.25% (Neutral)
  • Private
9 years ago
Some map.ini file I have collected.A lot of good resources got lost because modding sites went down.We gotta keep and preserve the good code.

GLA vanilla Marauder with 3 guns


;-----------------------------------------------------------------------------
;---------------------------Marauder with 3 guns------------------------------
;-----------------------------------------------------------------------------

Object GLATankMarauder

ReplaceModule ModuleTag_01
Draw = W3DTankDraw ModuleTag_01_Override
OkToChangeModelColor = Yes

ConditionState = NONE
Model = UVMarauder
Turret = Turret
ShowSubObject = Turret
HideSubObject = TurretUp01 TurretUp02 BarrelFX01

WeaponFireFXBone = PRIMARY BarrelMS
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY BarrelFX
WeaponLaunchBone = PRIMARY BarrelMS
End

ConditionState = REALLYDAMAGED
Model = UVMarauder_d
Turret = Turret
ShowSubObject = Turret
HideSubObject = TurretUp01 TurretUp02 BarrelFX01

WeaponFireFXBone = PRIMARY BarrelMS
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY BarrelFX
WeaponLaunchBone = PRIMARY BarrelMS
End

ConditionState = RUBBLE
Model = UVMarauder_d
Turret = Turret
ShowSubObject = Turret
HideSubObject = TurretUp01 TurretUp02 BarrelFX01

WeaponFireFXBone = PRIMARY BarrelMS
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY BarrelFX
WeaponLaunchBone = PRIMARY BarrelMS
End

ConditionState = WEAPONSET_CRATEUPGRADE_ONE
Model = UVMarauder
Turret = TurretUp01
ShowSubObject = TurretUp01
HideSubObject = Turret TurretUp02 BarrelUp01FX01

WeaponFireFXBone = PRIMARY BarrelUp01MS
WeaponRecoilBone = PRIMARY BarrelUp01
WeaponMuzzleFlash = PRIMARY BarrelUp01FX
WeaponLaunchBone = PRIMARY BarrelUp01MS
End

ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE
Model = UVMarauder_d
Turret = TurretUp01
ShowSubObject = TurretUp01
HideSubObject = Turret TurretUp02 BarrelUp01FX01

WeaponFireFXBone = PRIMARY BarrelUp01MS
WeaponRecoilBone = PRIMARY BarrelUp01
WeaponMuzzleFlash = PRIMARY BarrelUp01FX
WeaponLaunchBone = PRIMARY BarrelUp01MS
End

ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_ONE
Model = UVMarauder_d
Turret = TurretUp01
ShowSubObject = TurretUp01
HideSubObject = Turret TurretUp02 BarrelUp01FX01

WeaponFireFXBone = PRIMARY BarrelUp01MS
WeaponRecoilBone = PRIMARY BarrelUp01
WeaponMuzzleFlash = PRIMARY BarrelUp01FX
WeaponLaunchBone = PRIMARY BarrelUp01MS
End

ConditionState = WEAPONSET_CRATEUPGRADE_TWO
Model = UVMarauder
Turret = TurretUp01 TurretUp02
ShowSubObject = TurretUp01 TurretUp02
HideSubObject = Turret BarrelUp01FX01 BarrelUp02FX02

WeaponFireFXBone = PRIMARY BarrelUp01MS
WeaponRecoilBone = PRIMARY BarrelUp01
WeaponMuzzleFlash = PRIMARY BarrelUp01FX
WeaponLaunchBone = PRIMARY BarrelUp01MS

WeaponFireFXBone = SECONDARY BarrelUp02MS
WeaponRecoilBone = SECONDARY BarrelUp02
WeaponMuzzleFlash = SECONDARY BarrelUp02FX
WeaponLaunchBone = SECONDARY BarrelUp02MS
End

ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO
Model = UVMarauder_d
Turret = TurretUp01 TurretUp02
ShowSubObject = TurretUp01 TurretUp02
HideSubObject = Turret BarrelUp01FX01 BarrelUp02FX02

WeaponFireFXBone = PRIMARY BarrelUp01MS
WeaponRecoilBone = PRIMARY BarrelUp01
WeaponMuzzleFlash = PRIMARY BarrelUp01FX
WeaponLaunchBone = PRIMARY BarrelUp01MS

WeaponFireFXBone = SECONDARY BarrelUp02MS
WeaponRecoilBone = SECONDARY BarrelUp02
WeaponMuzzleFlash = SECONDARY BarrelUp02FX
WeaponLaunchBone = SECONDARY BarrelUp02MS
End

ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_TWO
Model = UVMarauder_d
Turret = TurretUp01 TurretUp02
ShowSubObject = TurretUp01 TurretUp02
HideSubObject = Turret BarrelUp01FX01 BarrelUp02FX02

WeaponFireFXBone = PRIMARY BarrelUp01MS
WeaponRecoilBone = PRIMARY BarrelUp01
WeaponMuzzleFlash = PRIMARY BarrelUp01FX
WeaponLaunchBone = PRIMARY BarrelUp01MS

WeaponFireFXBone = SECONDARY BarrelUp02MS
WeaponRecoilBone = SECONDARY BarrelUp02
WeaponMuzzleFlash = SECONDARY BarrelUp02FX
WeaponLaunchBone = SECONDARY BarrelUp02MS
End

TrackMarks = EXTnkTrack.tga
TreadAnimationRate = 2.0
TreadDriveSpeedFraction = 0.3
TreadPivotSpeedFraction = 0.6

End
End

WeaponSet
Conditions = None
Weapon = PRIMARY MarauderTankGun
End
WeaponSet
Conditions = CRATEUPGRADE_ONE
Weapon = PRIMARY MarauderTankGunUpgradeOne
End
WeaponSet
Conditions = CRATEUPGRADE_TWO
Weapon = PRIMARY MarauderTankGunUpgradeTwo
Weapon = SECONDARY MarauderTankGunUpgradeTwo
End

ReplaceModule ModuleTag_02
Body = ActiveBody ModuleTag_02_Override
MaxHealth = 480.0
InitialHealth = 480.0
SubdualDamageCap = 860
SubdualDamageHealRate = 500
SubdualDamageHealAmount = 50
End
End

End

;-----------------------------------------------------------------------------
;--------------------------- End of Marauder with 3 guns----------------------
;-----------------------------------------------------------------------------


Gla Marauder tank with turning turrret


;-------------------------------------------------------------------
;-------------Gla Marauder tank with turning turrret-----------------
;-------------------------------------------------------------------
Object GLATankMarauder
VisionRange = 150
RemoveModule ModuleTag_03
AddModule
Behavior = AIUpdateInterface ModuleTag_03a
Turret
TurretTurnRate = 180
FiresWhileTurning = Yes
ControlledWeaponSlots = PRIMARY
End
AutoAcquireEnemiesWhenIdle = Yes
MoodAttackCheckRate = 250
End
End
Locomotor = SET_NORMAL MarauderLocomotor
RemoveModule ModuleTag_04
AddModule
Behavior = PhysicsBehavior ModuleTag_04a
Mass = 50.0
End
End
End

Object Demo_GLATankMarauder
VisionRange = 150
RemoveModule ModuleTag_03
AddModule
Behavior = AIUpdateInterface ModuleTag_03a
Turret
TurretTurnRate = 180
FiresWhileTurning = Yes
ControlledWeaponSlots = PRIMARY
End
AutoAcquireEnemiesWhenIdle = Yes
MoodAttackCheckRate = 250
End
End
Locomotor = SET_NORMAL MarauderLocomotor
RemoveModule ModuleTag_04
AddModule
Behavior = PhysicsBehavior ModuleTag_04a
Mass = 50.0
End
End
End

Object Chem_GLATankMarauder
VisionRange = 150
RemoveModule ModuleTag_03
AddModule
Behavior = AIUpdateInterface ModuleTag_03a
Turret
TurretTurnRate = 180
FiresWhileTurning = Yes
ControlledWeaponSlots = PRIMARY
End
AutoAcquireEnemiesWhenIdle = Yes
MoodAttackCheckRate = 250
End
End
Locomotor = SET_NORMAL MarauderLocomotor
RemoveModule ModuleTag_04
AddModule
Behavior = PhysicsBehavior ModuleTag_04a
Mass = 50.0
End
End
End

;-------------------------------------------------------------------
;-----------End of Gla Marauder tank with turning turret------------
;-------------------------------------------------------------------



Ambulance no longer heals vehicles and can hold 4 infantry units


;-----------------------------------------------------------------------------
;---------------------------------Ambulance-----------------------------------
;-----------------------------------------------------------------------------
;Ambulance no longer heals vehicles and can hold 4 infantry units
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
;Changing usa
Object AmericaVehicleMedic
ReplaceModule ModuleTag_06
Behavior = TransportContain ModuleTag_06_Override
Slots = 4 ;original 3
HealthRegen%PerSec = 25
DamagePercentToUnits = 10%
AllowInsideKindOf = INFANTRY
AllowAlliesInside = Yes
AllowNeutralInside = No
AllowEnemiesInside = No
ExitDelay = 250
NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
End
End

ReplaceModule ModuleTag_23
Behavior = AutoHealBehavior ModuleTag_23_Override
HealingAmount = 0 ;original 5
HealingDelay = 1000 ; msec
Radius = 100.0f
StartsActive = Yes
KindOf = VEHICLE
ForbiddenKindOf = AIRCRAFT
SkipSelfForHealing = Yes
End
End
End

Object AmericaVehicleBattleDrone
ReplaceModule ModuleTag_07
Behavior = SlavedUpdate ModuleTag_07_Override
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 = 10.0 ;How many health points can I repair per second.
RepairWhenBelowHealth% = 80 ;How low should my master's health be (in 😵 (original is 60% )before I should prioritize repairing.
RepairMinReadyTime = 300
RepairMaxReadyTime = 750
RepairMinWeldTime = 250
RepairMaxWeldTime = 500
RepairWeldingSys = BlueSparks
RepairWeldingFXBone = Muzzle02
StayOnSameLayerAsMaster = Yes
End
End
End

;-----------------------------------------------------------------------------
;Changing Usa air force

Object AirF_AmericaVehicleMedic
ReplaceModule ModuleTag_06
Behavior = TransportContain ModuleTag_06_Override
Slots = 4 ;original 3
HealthRegen%PerSec = 25
DamagePercentToUnits = 10%
AllowInsideKindOf = INFANTRY
AllowAlliesInside = Yes
AllowNeutralInside = No
AllowEnemiesInside = No
ExitDelay = 250
NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
End
End

ReplaceModule ModuleTag_23
Behavior = AutoHealBehavior ModuleTag_23_Override
HealingAmount = 0 ;original 5
HealingDelay = 1000 ; msec
Radius = 100.0f
StartsActive = Yes
KindOf = VEHICLE
ForbiddenKindOf = AIRCRAFT
SkipSelfForHealing = Yes
End
End
End

Object AirF_AmericaVehicleBattleDrone
ReplaceModule ModuleTag_07
Behavior = SlavedUpdate ModuleTag_07_Override
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 = 10.0 ;How many health points can I repair per second.
RepairWhenBelowHealth% = 80 ;How low should my master's health be (in 😵 (original is 60%) before I should prioritize repairing.
RepairMinReadyTime = 300
RepairMaxReadyTime = 750
RepairMinWeldTime = 250
RepairMaxWeldTime = 500
RepairWeldingSys = BlueSparks
RepairWeldingFXBone = Muzzle02
StayOnSameLayerAsMaster = Yes
End
End
End

;-----------------------------------------------------------------------------
;Changing usa laser

Object Lazr_AmericaVehicleMedic
ReplaceModule ModuleTag_06
Behavior = TransportContain ModuleTag_06_Override
Slots = 4 ;original 3
HealthRegen%PerSec = 25
DamagePercentToUnits = 10%
AllowInsideKindOf = INFANTRY
AllowAlliesInside = Yes
AllowNeutralInside = No
AllowEnemiesInside = No
ExitDelay = 250
NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
End
End

ReplaceModule ModuleTag_23
Behavior = AutoHealBehavior ModuleTag_23_Override
HealingAmount = 0 ;original 5
HealingDelay = 1000 ; msec
Radius = 100.0f
StartsActive = Yes
KindOf = VEHICLE
ForbiddenKindOf = AIRCRAFT
SkipSelfForHealing = Yes
End
End
End

Object Lazr_AmericaVehicleBattleDrone
ReplaceModule ModuleTag_07
Behavior = SlavedUpdate ModuleTag_07_Override
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 = 10.0 ;How many health points can I repair per second.
RepairWhenBelowHealth% = 80 ;How low should my master's health be (in 😵 (original is 60% )before I should prioritize repairing.
RepairMinReadyTime = 300
RepairMaxReadyTime = 750
RepairMinWeldTime = 250
RepairMaxWeldTime = 500
RepairWeldingSys = BlueSparks
RepairWeldingFXBone = Muzzle02
StayOnSameLayerAsMaster = Yes
End
End
End

;-----------------------------------------------------------------------------
;Changing usa super weapon

Object SupW_AmericaVehicleMedic
ReplaceModule ModuleTag_06
Behavior = TransportContain ModuleTag_06_Override
Slots = 4 ;original 3
HealthRegen%PerSec = 25
DamagePercentToUnits = 10%
AllowInsideKindOf = INFANTRY
AllowAlliesInside = Yes
AllowNeutralInside = No
AllowEnemiesInside = No
ExitDelay = 250
NumberOfExitPaths = 3 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
End
End

ReplaceModule ModuleTag_23
Behavior = AutoHealBehavior ModuleTag_23_Override
HealingAmount = 0 ;original 5
HealingDelay = 1000 ; msec
Radius = 100.0f
StartsActive = Yes
KindOf = VEHICLE
ForbiddenKindOf = AIRCRAFT
SkipSelfForHealing = Yes
End
End

End

Object SupW_AmericaVehicleBattleDrone
ReplaceModule ModuleTag_07
Behavior = SlavedUpdate ModuleTag_07_Override
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 = 10.0 ;How many health points can I repair per second.
RepairWhenBelowHealth% = 80 ;How low should my master's health be (in 😵 (original is 60% )before I should prioritize repairing.
RepairMinReadyTime = 300
RepairMaxReadyTime = 750
RepairMinWeldTime = 250
RepairMaxWeldTime = 500
RepairWeldingSys = BlueSparks
RepairWeldingFXBone = Muzzle02
StayOnSameLayerAsMaster = Yes
End
End
End
;-----------------------------------------------------------------------------
;----------------------------End of Ambulance---------------------------
;-----------------------------------------------------------------------------



Realistic Microwave Tank - burns, damages your own infantry as well


;//////////////////////////////////////////////////////////////////////////////
;FILE: Weapon.ini (SYSTEM) ////////////////////////////////////////////////////
;//////////////////////////////////////////////////////////////////////////////

Weapon MicrowaveTankEmitterWeaponNEW
PrimaryDamage = 8.0
PrimaryDamageRadius = 100.0
DamageDealtAtSelfPosition = Yes
AttackRange = 100.0
DamageType = MICROWAVE
DeathType = BURNED
WeaponSpeed = 600
FireFX = FX_MicrowaveTankEmitterNEW
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS NOT_AIRBORNE
DelayBetweenShots = 250
End

;-----------------------------------------------------------------------------
;------------------------Realistic Microwave Tank-----------------------------
;-----------------------------------------------------------------------------
;Microwave tank damages own units too

FXList FX_MicrowaveTankEmitterNEW
ParticleSystem
Name = MicrowaveEmitter
UseCallersRadius = Yes
Offset = X:0.0 Y:0.0 Z:1.0
End
End

;-----------------------------------------------------------------------------

Object AmericaTankMicrowave

ReplaceModule ModuleTag_22
Behavior = FireWeaponUpdate ModuleTag_22_Override
Weapon = MicrowaveTankEmitterWeaponNEW
ExclusiveWeaponDelay = 1000
End
End

End

;-----------------------------------------------------------------------------

Object AirF_AmericaTankMicrowave

ReplaceModule ModuleTag_22
Behavior = FireWeaponUpdate ModuleTag_22_Override
Weapon = MicrowaveTankEmitterWeaponNEW
ExclusiveWeaponDelay = 1000
End
End

End

;-----------------------------------------------------------------------------

Object Lazr_AmericaTankMicrowave

ReplaceModule ModuleTag_22
Behavior = FireWeaponUpdate ModuleTag_22_Override
Weapon = MicrowaveTankEmitterWeaponNEW
ExclusiveWeaponDelay = 1000
End
End

End

;-----------------------------------------------------------------------------

Object SupW_AmericaTankMicrowave

ReplaceModule ModuleTag_22
Behavior = FireWeaponUpdate ModuleTag_22_Override
Weapon = MicrowaveTankEmitterWeaponNEW
ExclusiveWeaponDelay = 1000
End
End

End
;-----------------------------------------------------------------------------
;---------------------End of Realistic Microwave Tank-------------------------
;-----------------------------------------------------------------------------



Change the amount of cash you get from oil derrecs
(For no money maps it is annoying to wait 12 sec to get 200 from oil)


;-----------------------------------------------------------------------------
;---------------------------Oil Direcs --------------------------------------
;-----------------------------------------------------------------------------
Object TechOilDerrick
ReplaceModule ModuleTag_04
Behavior = AutoDepositUpdate ModuleTag_04_Override
DepositTiming = 1500
DepositAmount = 25
InitialCaptureBonus = 500
UpgradedBoost = UpgradeType:Upgrade_AmericaSupplyLines Boost:5
End
End
End

;Time is in miliseconds
;original DepositTiming = 12000 , DepositAmount = 200, InitialCaptureBonus=1000
;modified DepositTiming = 50 , DepositAmount = 1 => 50x1 > 20$/sec > 1200$/min
;modified DepositTiming = 1500 , DepositAmount = 25 => 1500x25 50$/3sec > 1000$/minute
;-----------------------------------------------------------------------------
;---------------------------End of Oil Direcs --------------------------------
;-----------------------------------------------------------------------------


This one change the command button.This can be done with scripts in the map using worldbuider.Which i think it is a better way to do it.Map.ini files requires all players to have the map with corresponding map.ini file before they launch the game.If you trnasfer the map with map.ini multiplayer game will be mismatched.But if you restart the whole game then it will work.Sometimes map.ini files dont get transfered using ingame file transfer mode for sending maps.Dont know why.


;Created By Fleetatks
;puts all nuclear missile upgrades on propaganda center
;except nuke MIGs which is on the airfeild

Object Nuke_ChinaAirfield
CommandSet = Nuke_ChinaAirfieldCommandSet2
ReplaceModule ModuleTag_25
Behavior = CommandSetUpgrade ModuleTag_25_2
CommandSet = Nuke_ChinaAirfieldCommandSetUpgrade2
TriggeredBy = Upgrade_ChinaMines
End
End
End

CommandSet Nuke_ChinaAirfieldCommandSet2
1 = Nuke_Command_ConstructChinaJetMIG
2 = Command_UpgradeChinaAircraftArmor
3 = Nuke_Command_ConstructChinaVehicleHelix
11 = Command_UpgradeChinaTacticalNukeMig
12 = Command_UpgradeChinaMines
13 = Command_SetRallyPoint
14 = Command_Sell
End

CommandSet Nuke_ChinaAirfieldCommandSetUpgrade2
1 = Nuke_Command_ConstructChinaJetMIG
2 = Command_UpgradeChinaAircraftArmor
3 = Nuke_Command_ConstructChinaVehicleHelix
11 = Command_UpgradeChinaTacticalNukeMig
12 = Command_UpgradeEMPMines
13 = Command_SetRallyPoint
14 = Command_Sell
End

;------------------------------------------------------------------------------------------------

Object ChinaNuclearMissileLauncher
CommandSet = ChinaNuclearMissileCommandSet2
ReplaceModule ModuleTag_25
Behavior = CommandSetUpgrade ModuleTag_25_2
CommandSet = ChinaNuclearMissileCommandSetUpgrade2
TriggeredBy = Upgrade_ChinaMines
End
End
End

CommandSet ChinaNuclearMissileCommandSet2
1 = Command_NeutronMissile
12 = Command_UpgradeChinaMines
14 = Command_Sell
End

CommandSet ChinaNuclearMissileCommandSetUpgrade2
1 = Command_NeutronMissile
12 = Command_UpgradeEMPMines
14 = Command_Sell
End

Object Nuke_ChinaNuclearMissileLauncher
CommandSet = Nuke_ChinaNuclearMissileCommandSet2
ReplaceModule ModuleTag_25
Behavior = CommandSetUpgrade ModuleTag_25_2
CommandSet = Nuke_ChinaNuclearMissileCommandSetUpgrade2
TriggeredBy = Upgrade_ChinaMines
End
End
End

CommandSet Nuke_ChinaNuclearMissileCommandSet2
1 = Nuke_Command_NeutronMissile
12 = Command_UpgradeChinaMines
14 = Command_Sell
End

CommandSet Nuke_ChinaNuclearMissileCommandSetUpgrade2
1 = Nuke_Command_NeutronMissile
12 = Command_UpgradeEMPMines
14 = Command_Sell
End

Object Tank_ChinaNuclearMissileLauncher
CommandSet = Tank_ChinaNuclearMissileCommandSet2
ReplaceModule ModuleTag_25
Behavior = CommandSetUpgrade ModuleTag_25_2
CommandSet = Tank_ChinaNuclearMissileCommandSetUpgrade2
TriggeredBy = Upgrade_ChinaMines
End
End
End

CommandSet Tank_ChinaNuclearMissileCommandSet2
1 = Command_NeutronMissile
12 = Command_UpgradeChinaMines
14 = Command_Sell
End

CommandSet Tank_ChinaNuclearMissileCommandSetUpgrade2
1 = Command_NeutronMissile
12 = Command_UpgradeEMPMines
14 = Command_Sell
End

Object Infa_ChinaNuclearMissileLauncher
CommandSet = Infa_ChinaNuclearMissileCommandSet2
ReplaceModule ModuleTag_25
Behavior = CommandSetUpgrade ModuleTag_25_2
CommandSet = Infa_ChinaNuclearMissileCommandSetUpgrade2
TriggeredBy = Upgrade_ChinaMines
End
End
End

CommandSet Infa_ChinaNuclearMissileCommandSet2
1 = Command_NeutronMissile
12 = Command_UpgradeChinaMines
14 = Command_Sell
End

CommandSet Infa_ChinaNuclearMissileCommandSetUpgrade2
1 = Command_NeutronMissile
12 = Command_UpgradeEMPMines
14 = Command_Sell
End

;--------------------------------------------------------------------------------------------

Object ChinaPropagandaCenter
CommandSet = ChinaPropagandaCenterCommandSet2
ReplaceModule ModuleTag_25
Behavior = CommandSetUpgrade ModuleTag_25_2
CommandSet = ChinaPropagandaCenterCommandSetUpgrade2
TriggeredBy = Upgrade_ChinaMines
End
End
End

CommandSet ChinaPropagandaCenterCommandSet2
1 = Command_UpgradeChinaNationalism
3 = Command_UpgradeChinaSubliminalMessaging
7 = Command_UpgradeChinaUraniumShells
8 = Command_UpgradeChinaNuclearTanks
10 = Command_UpgradeChinaNeutronShells
12 = Command_UpgradeChinaMines
14 = Command_Sell
End

CommandSet ChinaPropagandaCenterCommandSetUpgrade2
1 = Command_UpgradeChinaNationalism
3 = Command_UpgradeChinaSubliminalMessaging
7 = Command_UpgradeChinaUraniumShells
8 = Command_UpgradeChinaNuclearTanks
10 = Command_UpgradeChinaNeutronShells
12 = Command_UpgradeEMPMines
14 = Command_Sell
End

Object Nuke_ChinaPropagandaCenter
CommandSet = Nuke_ChinaPropagandaCenterCommandSet2
ReplaceModule ModuleTag_25
Behavior = CommandSetUpgrade ModuleTag_25_2
CommandSet = Nuke_ChinaPropagandaCenterCommandSetUpgrade2
TriggeredBy = Upgrade_ChinaMines
End
End
End

CommandSet Nuke_ChinaPropagandaCenterCommandSet2
1 = Command_UpgradeChinaNationalism
2 = Nuke_Command_UpgradeChinaIsotopeStability
3 = Command_UpgradeChinaSubliminalMessaging
10 = Command_UpgradeChinaNeutronShells
12 = Command_UpgradeChinaMines
14 = Command_Sell
End

CommandSet Nuke_ChinaPropagandaCenterCommandSetUpgrade2
1 = Command_UpgradeChinaNationalism
3 = Command_UpgradeChinaSubliminalMessaging
10 = Command_UpgradeChinaNeutronShells
12 = Command_UpgradeEMPMines
14 = Command_Sell
End

Object Infa_ChinaPropagandaCenter
CommandSet = Infa_ChinaPropagandaCenterCommandSet2
ReplaceModule ModuleTag_25
Behavior = CommandSetUpgrade ModuleTag_25_2
CommandSet = Infa_ChinaPropagandaCenterCommandSetUpgrade2
TriggeredBy = Upgrade_ChinaMines
End
End
End

CommandSet Infa_ChinaPropagandaCenterCommandSet2
1 = Command_UpgradeChinaFanaticism
3 = Command_UpgradeChinaSubliminalMessaging
10 = Command_UpgradeChinaNeutronShells
12 = Command_UpgradeChinaMines
14 = Command_Sell
End

CommandSet Infa_ChinaPropagandaCenterCommandSetUpgrade2
1 = Command_UpgradeChinaFanaticism
3 = Command_UpgradeChinaSubliminalMessaging
10 = Command_UpgradeChinaNeutronShells
12 = Command_UpgradeEMPMines
14 = Command_Sell
End

Object Tank_ChinaPropagandaCenter
CommandSet = Tank_ChinaPropagandaCenterCommandSet2
ReplaceModule ModuleTag_25
Behavior = CommandSetUpgrade ModuleTag_25_2
CommandSet = Tank_ChinaPropagandaCenterCommandSetUpgrade2
TriggeredBy = Upgrade_ChinaMines
End
End
End

CommandSet Tank_ChinaPropagandaCenterCommandSet2
1 = Command_UpgradeChinaNationalism
2 = Tank_Command_UpgradeChinaAutoLoader
3 = Command_UpgradeChinaSubliminalMessaging
7 = Tank_Command_UpgradeChinaUraniumShells
8 = Tank_Command_UpgradeChinaNuclearTanks
12 = Command_UpgradeChinaMines
14 = Command_Sell
End

CommandSet Tank_ChinaPropagandaCenterCommandSetUpgrade2
1 = Command_UpgradeChinaNationalism
2 = Tank_Command_UpgradeChinaAutoLoader
3 = Command_UpgradeChinaSubliminalMessaging
7 = Tank_Command_UpgradeChinaUraniumShells
8 = Tank_Command_UpgradeChinaNuclearTanks
12 = Command_UpgradeEMPMines
14 = Command_Sell
End



FarmHouse that works as a oil rig - enough to go inside of (garrison) it and you will start getting cash.
Initial idea from braxt and fixed by acidbrain



Object FarmHouse
    
  KindOf = STRUCTURE SELECTABLE IMMOBILE TECH_BUILDING CONSERVATIVE_BUILDING ;CAPTURABLE
 
  RemoveModule ModuleTag_02
 
  AddModule
    Body = ActiveBody Module_Body
      MaxHealth     = 3000.0
      InitialHealth = 3000.0
    End
 
    Behavior = AutoDepositUpdate Module_ADU     
      DepositTiming = 5000
      DepositAmount = 50
      InitialCaptureBonus = 500
      UpgradedBoost = UpgradeType:Upgrade_AmericaSupplyLines Boost:15
    End
   
    Behavior = TechBuildingBehavior Module_TBB
      ;<NO DATA>
    End
  End
End
acidbrain
  • acidbrain
  • 94.25% (Exalted)
  • General Topic Starter
9 years ago
Use the following code if you want Infantry and Vehicles to drop a $100 crate when destroyed, it's an alternative for oilderricks.
I added all the factions, you can copy/paste what you need for a mission, if you want to add it to a skirmish map you can copy/paste all the generals to a map.ini, dont forget to also add the crate, it is in the last spoiler.
UserPostedImage

America



;--------------------------------------------
;America

Object AmericaInfantryColonelBurton
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaInfantryMissileDefender
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaInfantryPathfinder
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaInfantryPilot
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaInfantryRanger
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaTankAvenger
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaTankCrusader
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaTankMicrowave
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaTankPaladin
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaVehicleDozer
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaVehicleHumvee
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaVehicleMedic
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaVehicleSentryDrone
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AmericaVehicleTomahawk
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


AmericaAirforceGeneral



;--------------------------------------------
;AmericaAirforceGeneral

Object AirF_AmericaInfantryColonelBurton
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaInfantryMissileDefender
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaInfantryPathfinder
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaInfantryPilot
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaInfantryRanger
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaTankAvenger
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaTankMicrowave
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


Object AirF_AmericaVehicleDozer
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaVehicleHumvee
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaVehicleMedic
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaVehicleSentryDrone
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object AirF_AmericaVehicleTomahawk
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


AmericaLaserGeneral



;--------------------------------------------
;AmericaLaserGeneral

Object Lazr_AmericaInfantryColonelBurton
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaInfantryMissileDefender
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaInfantryPathfinder
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaInfantryPilot
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaInfantryRanger
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaTankAvenger
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaTankCrusader
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaTankMicrowave
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaTankPaladin
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaVehicleDozer
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaVehicleHumvee
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaVehicleMedic
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaVehicleSentryDrone
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Lazr_AmericaVehicleTomahawk
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


AmericaSuperWeaponGeneral



;--------------------------------------------
;AmericaSuperWeaponGeneral

Object SupW_AmericaInfantryColonelBurton
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaInfantryMissileDefender
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaInfantryPathfinder
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaInfantryPilot
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaInfantryRanger
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaTankAvenger
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaTankMicrowave
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaVehicleDozer
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaVehicleHumvee
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaVehicleMedic
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaVehicleSentryDrone
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object SupW_AmericaVehicleTomahawk
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


China



;--------------------------------------------
;China

Object ChinaInfantryBlackLotus
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaInfantryHacker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaInfantryRedguard
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaInfantryTankHunter
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaTankBattleMaster
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaTankDragon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaTankECM
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaTankGattling
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaTankOverlord
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaVehicleDozer
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaVehicleInfernoCannon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaVehicleListeningOutpost
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaVehicleNukeLauncher
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaVehicleSupplyTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaVehicleTroopCrawler
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object ChinaVehicleTroopCrawlerEmpty
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


ChinaInfantryGeneral



;--------------------------------------------
;ChinaInfantryGeneral

Object Infa_ChinaInfantryBlackLotus
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaInfantryHacker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaInfantryMiniGunner
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaInfantryTankHunter
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaTankDragon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaTankECM
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaVehicleDozer
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaVehicleInfernoCannon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaVehicleListeningOutpost
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaVehicleNukeLauncher
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaVehicleSupplyTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Infa_ChinaVehicleTroopCrawler
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


ChinaNukeGeneral



;--------------------------------------------
;ChinaNukeGeneral

Object Nuke_ChinaInfantryBlackLotus
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaInfantryHacker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaInfantryMiniGunner
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaInfantryTankHunter
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaTankBattleMaster
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaTankDragon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaTankECM
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaTankGattling
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaTankOverlord
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaVehicleDozer
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaVehicleInfernoCannon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaVehicleListeningOutpost
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaVehicleNukeLauncher
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaVehicleSupplyTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Nuke_ChinaVehicleTroopCrawler
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


ChinaTankGeneral



;--------------------------------------------
;ChinaTankGeneral

Object Tank_ChinaInfantryBlackLotus
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaInfantryHacker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaInfantryMiniGunner
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaInfantryTankHunter
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaTankBattleMaster
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaTankDragon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaTankECM
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaTankEmperor
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaTankGattling
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaVehicleDozer
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaVehicleListeningOutpost
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaVehicleSupplyTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Tank_ChinaVehicleTroopCrawler
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


GLA



;--------------------------------------------
;GLA

Object GLAInfantryHijacker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAInfantryJarmenKell
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAInfantryRebel
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAInfantrySaboteur
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAInfantryTerrorist
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAInfantryTunnelDefender
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAInfantryWorker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End

End

Object GLATankMarauder
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLATankScorpion
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAVehicleBattleBus
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAVehicleBombTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAVehicleCombatBike
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAVehicleQuadCannon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAVehicleRadarVan
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAVehicleRocketBuggy
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAVehicleScudLauncher
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAVehicleTechnical
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object GLAVehicleToxinTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


GLADemolitionGeneral



;--------------------------------------------
;GLADemolitionGeneral

Object Demo_GLAInfantryHijacker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAInfantryJarmenKell
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAInfantryRebel
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAInfantrySaboteur
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAInfantryTerrorist
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAInfantryTunnelDefender
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAInfantryWorker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLATankMarauder
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLATankScorpion
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAVehicleBattleBus
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAVehicleBombTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAVehicleCombatBike
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAVehicleQuadCannon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAVehicleRadarVan
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAVehicleRocketBuggy
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAVehicleScudLauncher
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAVehicleTechnical
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Demo_GLAVehicleToxinTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


GLAStealthGeneral



;--------------------------------------------
;GLAStealthGeneral

Object Slth_GLAInfantryHijacker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAInfantryJarmenKell
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAInfantryRebel
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAInfantrySaboteur
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAInfantryTerrorist
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAInfantryTunnelDefender
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAInfantryWorker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLATankMarauder
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLATankScorpion
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAVehicleBattleBus
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAVehicleBombTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAVehicleCombatBike
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAVehicleQuadCannon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAVehicleRadarVan
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAVehicleRocketBuggy
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAVehicleScudLauncher
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAVehicleTechnical
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Slth_GLAVehicleToxinTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


GLAToxinGeneral



;--------------------------------------------
;GLAToxinGeneral

Object Chem_GLAInfantryJarmenKell
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAInfantryRebel
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAInfantryTerrorist
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAInfantryTunnelDefender
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAInfantryWorker
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLATankMarauder
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLATankScorpion
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAVehicleBattleBus
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAVehicleBombTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAVehicleCombatBike
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAVehicleQuadCannon
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAVehicleRadarVan
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAVehicleRocketBuggy
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAVehicleScudLauncher
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAVehicleTechnical
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End

Object Chem_GLAVehicleToxinTruck
  AddModule
    Behavior = CreateCrateDie Module_Crate
      CrateData = GLA02_Always100DollarCrate
    End
  End
End


Dont forget to add this!
Crate



;--------------------------------------------
;Crate

Object 100DollarCrate
  ReplaceModule ModuleTag_ForbiddenChanges
    Behavior = MoneyCrateCollide ModuleTag_ForbiddenChanges_Override
      ForbiddenKindOf       = PROJECTILE
      ForbidOwnerPlayer     = Yes
      MoneyProvided         = 100
      ExecuteAnimation      = MoneyPickUp
      ExecuteAnimationTime  = 4.0   ; In seconds
      ExecuteAnimationZRise = 15.0  ; Z world units per second to rise
      ExecuteAnimationFades = Yes   ; Animation does/doesn't fade out            
    End
  End

  AddModule
    ;Despawn time between 15 and 20 seconds
    Behavior = DeletionUpdate Module_DEL 
      MinLifetime = 15000   
      MaxLifetime = 20000   
    End
  End
  ;Set scale to 70%
  Scale = 0.70
End


Greetz and have fun
Panem et kirkinses
AdrianeMapMaker
9 years ago
Very Useful , Your Ordinary Map Will Be a Money Money And Your troops Be More Like The Gla (Salvage-Crate Logic,Mission Gla 2 and 3 Logic)
A part of ZH worldbuilders map making community
https://discord.gg/tJ6zyGb 

UserPostedImage




zero hour mad map maker
9 years ago
Don't know how useful this bit of coding will be to people, but you can use this to remove the mine upgrades from all of China's buildings.


Object ChinaBarracks
  RemoveModule ModuleTag_25
End

Object ChinaWarFactory
  RemoveModule ModuleTag_25
End

Object ChinaBunker
  RemoveModule ModuleTag_25
End

Object ChinaPropagandaCenter
  RemoveModule ModuleTag_25
End

Object ChinaGattlingCannon
  RemoveModule ModuleTag_25
End

Object ChinaSupplyCenter
  RemoveModule ModuleTag_25
End

Object ChinaPowerPlant
  RemoveModule ModuleTag_25
End

Object ChinaSpeakerTower
  RemoveModule ModuleTag_25
End

Object ChinaCommandCenter
  RemoveModule ModuleTag_25
End

Ready for Anything! --- C&C Labs Staff , Maps Staff , Moderator
zero hour mad map maker
9 years ago
Using this code will allow you to change the health and values of the oil derricks!


Object TechOilDerrick
 ReplaceModule ModuleTag_03
     
   Body              = ActiveBody ModuleTag_03_Override
     MaxHealth       = 1000.0
     InitialHealth   = 1000.0
   End
 End

 ReplaceModule ModuleTag_04
   Behavior              = AutoDepositUpdate ModuleTag_04_Override
     DepositTiming       = 24000  ; in milliseconds
     DepositAmount       = 100    ; cash amount to deposit every Deposit Timings
     InitialCaptureBonus = 1000   ;capture bonus only happens once
   End
 End
End

Ready for Anything! --- C&C Labs Staff , Maps Staff , Moderator
AdrianeMapMaker
9 years ago
Insane NuclearBoss Infantry Terrorist
This Boss Infantry Terrorist Can Pop Like a Nuclear ,This Is Perfect for an Aod map.A Powerful Destroyer.

The Weapon -TerrorNuke- SelfMadeByMe .


;---------------------------------------------------------------------------------
;NukeTerrorist With A Unique CommandButtons-------------
;---------------------------------------------------------------------------------
CommandSet GLAInfantryTerroristCommandSet
  1 = Command_DetonateConvoyTruckNuke
  12 = Command_Stop
End

CommandButton Command_DetonateConvoyTruckNuke
  Command           = FIRE_WEAPON 
  WeaponSlot        = PRIMARY 
  Options           = OK_FOR_MULTI_SELECT
  TextLabel         = CONTROLBAR:DetonateNuke
  ButtonImage       = SNNukeLaunch
  ButtonBorderType  = ACTION ; Identifier for the User as to what kind of button this is
  DescriptLabel     = CONTROLBAR:TooltipDetonateNuke
End

Weapon TerrorNuke
  PrimaryDamage = 800.0            
  PrimaryDamageRadius = 300.0          
  AttackRange = 5.0
  DamageType = EXPLOSION
  DeathType = SUICIDED
  WeaponSpeed = 99999.0             
  ProjectileObject = NONE
  DamageDealtAtSelfPosition = Yes   ; this is a suicide bomber... remember?
  RadiusDamageAffects = SELF SUICIDE ALLIES ENEMIES NEUTRALS
  DelayBetweenShots = 0              
  ClipSize = 1                        
  ClipReloadTime = 0                  
  AutoReloadsClip = No 
  FireFX = WeaponFX_CINEConvoyNuke
  FireSound = CarBomberDie
End
 
Object GLAInfantryTerrorist
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY TerrorNuke
  End
 
 ReplaceModule ModuleTag_02
  Body = ActiveBody ModuleTag_02_Override
   MaxHealth = 3000
   InitialHealth = 3000
  End
 End
 Scale = 2
 ReplaceModule ModuleTag_03
  Behavior = AIUpdateInterface ModuleTag_03_Override
   AutoAcquireEnemiesWhenIdle = Yes
  End
 End
 Locomotor = SET_NORMAL BasicAmphibiousLocomotor
End


(Credits:Gameanter,Acidbrain,SkyMix,AnnihilationZh,And Klingon).

Want The Preview:
UserPostedImage
A part of ZH worldbuilders map making community
https://discord.gg/tJ6zyGb 

UserPostedImage




Unknown Editor
8 years ago
Hey All , If You Want Civilians to Use Crates GLA Usually Use , You can Easily Use this Code in Your Map.ini File , For Your Specific Maps :

PlayerTemplate FactionCivilian
  Side              = Civilian
  PlayableSide      = No
  StartMoney        = 0
  PreferredColor    = R:255 G:255 B:255
  IntrinsicSciences = SCIENCE_GLA
  DisplayName       = INI:FactionCivilian
  ScoreScreenImage  = MutiPlayer_ScoreScreen
  ScoreScreenMusic  = Score_USA
End

But Just This Part Is Enough :

PlayerTemplate FactionCivilian
  IntrinsicSciences = SCIENCE_GLA
End

Explain : As You know GLA Is The Only Faction Can Use Crates .
That's Why Crates Require SCIENCE_GLA To be Shown And Used By a Player .
And You Can Easily Change IntrinsicSciences From Your Map.ini , so It can be Done .
Asking is Not a Problem , Problem is Not to Know Something .
Operation : Dark Angel
Static : Launch Delayed
Reason : Uncool Terrain - Old Logic in use - Lack of Performance
Status : Applying new Terrain - Applying new Logic - Increasing Performance by 300%
Romka beton
8 years ago
How to make sure that the corpses do not disappear


;-----------------------------------------------
;-----example: Leave corpses of rangers-------
;-----------------------------------------------
Object AmericaInfantryRanger
 ReplaceModule ModuleTag_Death01
  Behavior = SlowDeathBehavior ModuleTag_Death01_Override
    DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
    SinkDelay           = 3000
    SinkRate            = 0
    DestructionDelay    = 1000000
    FX                  = INITIAL FX_RangerDie
  End
 End
 ReplaceModule ModuleTag_Death02
  Behavior = SlowDeathBehavior ModuleTag_Death02_Override
    DeathTypes          = NONE +CRUSHED +SPLATTED
    SinkDelay           = 3000
    SinkRate            = 0
    DestructionDelay    = 1000000
    FX                  = INITIAL FX_GIDieCrushed
  End
 End 
 ReplaceModule ModuleTag_Death03
  Behavior = SlowDeathBehavior ModuleTag_Death03_Override
    DeathTypes          = NONE +EXPLODED
    SinkDelay           = 3000
    SinkRate            = 0
    DestructionDelay    = 1000000
    FX                  = INITIAL FX_RangerDie
    FlingForce          = 8
    FlingForceVariance  = 3
    FlingPitch          = 60
    FlingPitchVariance  = 10
  End
 End
 ReplaceModule ModuleTag_Death04
  Behavior = SlowDeathBehavior ModuleTag_Death04_Override
    DeathTypes          = NONE +BURNED
    DestructionDelay    = 1000000
    FX                  = INITIAL FX_DieByFireUSA
    OCL                 = INITIAL OCL_FlamingInfantry
  End
 End
 ReplaceModule ModuleTag_Death05
  Behavior = SlowDeathBehavior ModuleTag_Death05_Override
    DeathTypes          = NONE +POISONED
    DestructionDelay    = 0
    FX                  = INITIAL FX_DieByToxinUSA
    OCL                 = INITIAL OCL_ToxicInfantry
  End
 End
 ReplaceModule ModuleTag_Death06
  Behavior = SlowDeathBehavior ModuleTag_Death06_Override 
    DeathTypes          = NONE +POISONED_BETA
    DestructionDelay    = 0
    FX                  = INITIAL FX_DieByToxinUSA
    OCL                 = INITIAL OCL_ToxicInfantryBeta
  End
 End
 ReplaceModule ModuleTag_Death07
  Behavior = SlowDeathBehavior ModuleTag_Death07_Override
    DeathTypes          = NONE +POISONED_GAMMA
    DestructionDelay    = 0
    FX                  = INITIAL FX_DieByToxinUSA
    OCL                 = INITIAL OCL_ToxicInfantryGamma
  End
 End
End
Snodderz
8 years ago
Anybody have any .ini code to make the System AmericaTankAvengerLaserTurret actually rotate, have Point Missile Defence and targetable/destroyable?

I've been placing Avenger Tanks at Z = -15, setting held status and placing them on a team the player considers neutral, in order to create a sort of fixed trophy system. Some ini would make life much easier...
Unknown Editor
8 years ago

Anybody have any .ini code to make the System AmericaTankAvengerLaserTurret actually rotate, have Point Missile Defence and targetable/destroyable?

Originally Posted by: Snodderz 



This is going to Work :
WARN : If you Apply this it may Cause Bugs on Avengers ... For one , Avenger Turret can DIE Before itself

Object AmericaTankAvengerLaserTurret
  ArmorSet
    Conditions     = None
    Armor          = AntiAirVehicle ;InvulnerableAllArmor
  End
  VisionRange         = 200
  ShroudClearingRange = 300
  KindOf              = +SELECTABLE ;+CAPTURABLE ;Not sure if you want it to be CAPTURABLE
 ReplaceModule ModuleTag_02
    Body            = StructureBody ModuleTag_StrHP
    MaxHealth       = 400 ;100.0
    InitialHealth   = 400 ;100.0
  End
 End
End
Object AmericaTankAvengerLaserTurret
ArmorSet
Conditions = None
Armor = AntiAirVehicle ;InvulnerableAllArmor
End
VisionRange = 200
ShroudClearingRange = 300
KindOf = +SELECTABLE ;+CAPTURABLE ;Not sure if you want it to be CAPTURABLE
ReplaceModule ModuleTag_02
Body = StructureBody ModuleTag_StrHP
MaxHealth = 400 ;100.0
InitialHealth = 400 ;100.0
End
End
End[/code]

To have a Laser Defense :
1. Add this Weapons somewhere in your map.ini first :
Weapon AvengerTurretPointDefenseLaserOne
  PrimaryDamage       = 100.0
  PrimaryDamageRadius = 0.0
  AttackRange         = 100.0
  DamageType          = LASER
  DeathType           = LASERED
  WeaponSpeed         = 999999.0
  DelayBetweenShots   = 500
  ClipSize            = 0
  ClipReloadTime      = 0
  AcceptableAimDelta  = 180
  AntiSmallMissile    = Yes
  AntiProjectile      = Yes
  LaserName           = AvengerPointDefenseLaserBeam
  LaserBoneName       = TurretFX01
  FireFX              = WeaponFX_PaladinPointDefenseLaser
End

Weapon AvengerTurretPointDefenseLaserTwo
  PrimaryDamage       = 100.0
  PrimaryDamageRadius = 0.0
  AttackRange         = 100.0
  DamageType          = LASER
  DeathType           = LASERED
  WeaponSpeed         = 999999.0
  DelayBetweenShots   = 500
  ClipSize            = 0
  ClipReloadTime      = 0
  AcceptableAimDelta  = 180
  AntiSmallMissile    = Yes
  AntiProjectile      = Yes
  LaserName           = AvengerPointDefenseLaserBeam
  LaserBoneName       = TurretFX02
  FireFX              = WeaponFX_PaladinPointDefenseLaser
End

2. Add this Modules to your Avenger Turret then :

 AddModule
  Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
    WeaponTemplate        = AvengerTurretPointDefenseLaserOne
    PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
    ScanRate              = 0
    ScanRange             = 200.0
    PredictTargetVelocityFactor = 1.0
  End
  Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two
    WeaponTemplate        = AvengerTurretPointDefenseLaserTwo
    PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
    ScanRate              = 100
    ScanRange             = 200.0
    PredictTargetVelocityFactor = 1.0
  End
 End

FULL CODE (In case you have Problems with Placing) :
Weapon AvengerTurretPointDefenseLaserOne
  PrimaryDamage       = 100.0
  PrimaryDamageRadius = 0.0
  AttackRange         = 100.0
  DamageType          = LASER
  DeathType           = LASERED
  WeaponSpeed         = 999999.0
  DelayBetweenShots   = 500
  ClipSize            = 0
  ClipReloadTime      = 0
  AcceptableAimDelta  = 180
  AntiSmallMissile    = Yes
  AntiProjectile      = Yes
  LaserName           = AvengerPointDefenseLaserBeam
  LaserBoneName       = TurretFX01
  FireFX              = WeaponFX_PaladinPointDefenseLaser
End

Weapon AvengerTurretPointDefenseLaserTwo
  PrimaryDamage       = 100.0
  PrimaryDamageRadius = 0.0
  AttackRange         = 100.0
  DamageType          = LASER
  DeathType           = LASERED
  WeaponSpeed         = 999999.0
  DelayBetweenShots   = 500
  ClipSize            = 0
  ClipReloadTime      = 0
  AcceptableAimDelta  = 180
  AntiSmallMissile    = Yes
  AntiProjectile      = Yes
  LaserName           = AvengerPointDefenseLaserBeam
  LaserBoneName       = TurretFX02
  FireFX              = WeaponFX_PaladinPointDefenseLaser
End

Object AmericaTankAvengerLaserTurret
  ArmorSet
    Conditions     = None
    Armor          = AntiAirVehicle ;InvulnerableAllArmor
  End
  VisionRange         = 200
  ShroudClearingRange = 300
  KindOf              = +SELECTABLE ;+CAPTURABLE ;Not sure if you want it to be CAPTURABLE
 ReplaceModule ModuleTag_02
    Body            = StructureBody ModuleTag_StrHP
    MaxHealth       = 400 ;100.0
    InitialHealth   = 400 ;100.0
  End
 End
 AddModule
  Behavior = PointDefenseLaserUpdate ModuleTag_Laser_One
    WeaponTemplate        = AvengerTurretPointDefenseLaserOne
    PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
    ScanRate              = 0
    ScanRange             = 200.0
    PredictTargetVelocityFactor = 1.0
  End
  Behavior = PointDefenseLaserUpdate ModuleTag_Laser_Two
    WeaponTemplate        = AvengerTurretPointDefenseLaserTwo
    PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
    ScanRate              = 100
    ScanRange             = 200.0
    PredictTargetVelocityFactor = 1.0
  End
 End
End

Asking is Not a Problem , Problem is Not to Know Something .
Operation : Dark Angel
Static : Launch Delayed
Reason : Uncool Terrain - Old Logic in use - Lack of Performance
Status : Applying new Terrain - Applying new Logic - Increasing Performance by 300%
SkyMix_RMT
8 years ago
Please, if you have questions create a new thread, this is for sharing map.ini code snippets with others, thank you.
Check out:
My Music  (Techno/House/Experimental)
My Website  (GeneralsCentral)
My Youtube Channel  (Inactive)
World Builder Community Discord 
SkyMix_RMT
7 years ago
Laser Ranger used in Operation Kihill Beach. 😎



;======================================================================================
;=O= Laser Ranger by SkyMix_RMT =======================================================
;======================================================================================

;=== This is our "projectile" for "LaserName =" ===
Object AvengerTargetingLaserBeam
 RemoveModule ModuleTag_01
 AddModule
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01_Override
  
  Texture = EXLaser4.tga
  NumBeams = 4                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

  InnerBeamWidth = 5                       ;The total width of beam
  InnerColor = R:255 G:50 B:50 A:50         ;The inside color of the laser (hot)

  OuterBeamWidth = 1                        ;The total width of beam
  OuterColor = R:255 G:50 B:50  A:150       ;The outside color of the laser (cool)
 
  Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
  ScrollRate = -2500                           ;Scrolls the texture offset this fast -- towards(-) away(+)
  Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
  SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
  TilingScalar = -3                          ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
 
  ;MaxIntensityLifetime = 2000              ;Laser stays at max intensity for specified time in ms.
  ;FadeLifetime = 0                         ;Laser will fade and delete.

  End
 End
 KindOf = IMMOBILE INERT
 RemoveModule ModuleTag_02
 AddModule
  ClientUpdate = LaserUpdate ModuleTag_02_Override
    MuzzleParticleSystem = PaladinPointDefenseLaserFlare
    TargetParticleSystem = PaladinPointDefenseLaserFlare
  End
 End

  ;Used as a weapon, this is essentially a fast pulse laser. Adjusting
  ;the lifetime values will determine how long it renders. The damage
  ;is applied immediately, so lifetime doesn't matter.
 RemoveModule ModuleTag_03
 AddModule
  Behavior = LifetimeUpdate ModuleTag_03_Override
    MinLifetime = 100   ; min lifetime in msec
    MaxLifetime = 120   ; max lifetime in msec
  End
 End
End


Object AvengerLaserBeam
 RemoveModule ModuleTag_01
 AddModule
  ; *** ART Parameters ***
  Draw = W3DLaserDraw ModuleTag_01_Override
  
  Texture = EXLaser4.tga
  NumBeams = 4                              ;Number of overlapping cylinders that make the beam. 1 beam will just use inner data.

  InnerBeamWidth = 5                       ;The total width of beam
  InnerColor = R:50 G:255 B:255 A:50         ;The inside color of the laser (hot)

  OuterBeamWidth = 1                        ;The total width of beam
  OuterColor = R:0 G:0 B:255  A:150       ;The outside color of the laser (cool)
 
  Tile = Yes                                ;The height of the texture will determine how many times to tile the texture to fit without scaling.
  ScrollRate = -2500                           ;Scrolls the texture offset this fast -- towards(-) away(+)
  Segments = 1                              ;Number of segments -- more segments give smoother curve (but more joints) Current max: 20
  SegmentOverlapRatio = 0                   ;This value overlaps(+) or separates(-) the segments by ratio
  TilingScalar = -3                          ;Stretches tiling if value > 1.0, otherwise shrinks it (1.0 is natural)     
 
  ;MaxIntensityLifetime = 2000              ;Laser stays at max intensity for specified time in ms.
  ;FadeLifetime = 0                         ;Laser will fade and delete.

  End
 End
 KindOf = IMMOBILE INERT
 RemoveModule ModuleTag_07
 AddModule
  ClientUpdate = LaserUpdate ModuleTag_07_Override
    MuzzleParticleSystem = GenericBlueLaserFlare
    TargetParticleSystem = GenericBlueLaserFlare
  End
 End

  ;Used as a weapon, this is essentially a fast pulse laser. Adjusting
  ;the lifetime values will determine how long it renders. The damage
  ;is applied immediately, so lifetime doesn't matter.
 RemoveModule ModuleTag_04
 AddModule
  Behavior = LifetimeUpdate ModuleTag_04_Override
    MinLifetime = 100   ; min lifetime in msec
    MaxLifetime = 120   ; max lifetime in msec
  End
 End
End


;=== Laser Ranger Weapon Sound ===
AudioEvent LaserRangerWeaponPulse
  Sounds      = vpalwe2a vpalwe2b vpalwe2c vpalwe2d
  Control     = random interrupt
  PitchShift  = -10 10
  VolumeShift = -10
  Volume      = 50 ;The only value that changed
  Limit       = 3
  Priority    = normal
  Type        = world shrouded everyone
End
FXList WeaponFX_LaserRangerWeapon 
  LightPulse 
    Color = R:255 G:64 B:64 
    Radius = 23 
    IncreaseTime = 0 
    DecreaseTime = 330
  End
  ParticleSystem 
    Name = FallingShellsCQCShotgun
    OrientToObject = Yes
    Offset = X:-2.0 Y:0.0 Z:4.0
  End
  Sound
    Name = LaserRangerWeaponPulse
  End
End
FXList WeaponFX_LaserRangerWeaponFusionBlasters
  LightPulse 
    Color = R:64 G:255 B:255 
    Radius = 23 
    IncreaseTime = 0 
    DecreaseTime = 330
  End
  ParticleSystem 
    Name = FallingShellsCQCShotgun
    OrientToObject = Yes
    Offset = X:-2.0 Y:0.0 Z:4.0
  End
  Sound
    Name = LaserRangerWeaponPulse
  End
End

;=== Laser Ranger Speech ===
AudioEvent LaserRangerVoiceCreate
  Sounds = iralseb
  Control = random
  Volume  = 110
  MinVolume = 100
  Priority = high
  Type = world global player
End

AudioEvent LaserRangerVoiceSelect
  Sounds = iralsea iralseb iralsec iransee iransef 
  Control = random
  Volume  = 90
  Type = ui voice player
End
AudioEvent LaserRangerVoiceMove
  Sounds = iralmoa iranmob iranmoc iranmod iranmoe
  Control = random
  Volume = 90
  Type = ui voice player
End
AudioEvent LaserRangerVoiceAttack
  Sounds = iralata iralatb iranatc iranatd iranate iranatf
  Control = random
  Volume = 90
  Type = ui voice player
End

;=== Player Laser Ranger ===
Weapon LaserRangerWeapon
  PrimaryDamage         = 14.0
  PrimaryDamageRadius   = 0.0       ; 0 primary radius means "hits only intended victim"
  AttackRange           = 115.0
  DamageType            = EXPLOSION
  DeathType             = LASERED
  WeaponSpeed           = 999999.0          ; dist/sec (huge value == effectively instant)
  LaserName             = AvengerTargetingLaserBeam
  LaserBoneName         = Muzzle01
  FireFX                = WeaponFX_LaserRangerWeapon 
  FireSound             = AvengerAirLaserWeapon
  RadiusDamageAffects   = ALLIES ENEMIES NEUTRALS
  DelayBetweenShots     = 1000 ;time between shots, msec
  ClipSize              = 0                 ; how many shots in a Clip (0 == infinite)
  ClipReloadTime        = 0         ; how long to reload a Clip, msec
  ProjectileCollidesWith  = STRUCTURES
End

Object Lazr_AmericaInfantryRanger

  SelectPortrait          = SARanger_L
  ButtonImage            = SARanger
  
  UpgradeCameo1 = Upgrade_InfantryCaptureBuilding
  UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
  UpgradeCameo3 = Upgrade_AmericaChemicalSuits
  UpgradeCameo4 = SupW_Upgrade_AmericaAdvancedControlRods
  
 RemoveModule ModuleTag_01
 AddModule
  Draw = W3DModelDraw ModuleTag_01_Override

    OkToChangeModelColor = Yes
    ExtraPublicBone = Muzzle
    DefaultConditionState
      Model             = CIUNSL_SKN
      IdleAnimation     = CIUNSL_SKL.CIUNSL_STA 0 21
      IdleAnimation     = CIUNSL_SKL.CIUNSL_ID1
      IdleAnimation     = CIUNSL_SKL.CIUNSL_ID2
      AnimationMode     = ONCE
      WeaponMuzzleFlash   = PRIMARY MuzzleFX
      WeaponFireFXBone    = PRIMARY Muzzle
      WeaponLaunchBone    = PRIMARY Muzzle
      TransitionKey     = TRANS_Stand
    End

    ConditionState      = FIRING_A 
      Animation         = CIUNSL_SKL.CIUNSL_ATA1_LP
      AnimationMode     = LOOP
      TransitionKey     = TRANS_FiringA
    End
    AliasConditionState = BETWEEN_FIRING_SHOTS_A
    AliasConditionState = RELOADING_A

    TransitionState     = TRANS_Stand TRANS_FiringA
      Animation         = CIUNSL_SKL.CIUNSL_ATA1_ST
      AnimationMode     = ONCE
      AnimationSpeedFactorRange = 4 4
    End

    TransitionState     = TRANS_FiringA TRANS_Stand
      Animation         = CIUNSL_SKL.CIUNSL_ATA1_ED
      AnimationMode     = ONCE
      AnimationSpeedFactorRange = 4 4
    End

    ; these aliases handle the attack-move case.
    AliasConditionState = MOVING FIRING_A
    AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
    AliasConditionState = MOVING RELOADING_A

    ConditionState      = FREEFALL
      Animation         = CIUNSL_SKL.CIUNSL_PFL
      AnimationMode     = LOOP
      TransitionKey     = TRANS_Falling
    End

    ConditionState      = PARACHUTING
      Animation         = CIUNSL_SKL.CIUNSL_PHG
      AnimationMode     = LOOP
      TransitionKey     = TRANS_Chute
    End
    AliasConditionState = PARACHUTING DYING

    ConditionState      = MOVING
      Animation         = CIUNSL_SKL.CIUNSL_RNA 
      AnimationMode     = LOOP
      Flags             = RANDOMSTART
      ParticleSysBone   = None InfantryDustTrails
      TransitionKey     = None
    End

    ConditionState      = DYING
      Animation         = CIUNSL_SKL.CIUNSL_DTA
      Animation         = CIUNSL_SKL.CIUNSL_DTB
      AnimationMode     = ONCE
      TransitionKey     = TRANS_Dying
    End

    TransitionState     = TRANS_Dying TRANS_Flailing
      Animation         = CIUNSL_SKL.CIUNSL_ADTA1
      AnimationMode     = ONCE
    End

    ConditionState      = DYING EXPLODED_FLAILING
      Animation         = CIUNSL_SKL.CIUNSL_ADTA2
      AnimationMode     = LOOP
      TransitionKey     = TRANS_Flailing
    End

    ConditionState      = DYING EXPLODED_BOUNCING
      Animation         = CIUNSL_SKL.CIUNSL_ADTA3
      AnimationMode     = ONCE
      TransitionKey     = None
    End
    AliasConditionState = DYING SPLATTED

    TransitionState     = TRANS_Falling TRANS_Chute
      Animation         = CIUNSL_SKL.CIUNSL_POP
      AnimationMode     = ONCE
    End

    TransitionState     = TRANS_Chute TRANS_Stand
      Animation         = CIUNSL_SKL.CIUNSL_PTD
      AnimationMode     = ONCE
    End
  End
 End

  DisplayName         = LaserRanger
  Side                = America
  EditorSorting       = INFANTRY
  TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
 
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY LaserRangerWeapon
  End
  ArmorSet
    Conditions      = None
    Armor           = HumanArmor
    DamageFX        = InfantryDamageFX
  End
  ArmorSet
    Conditions      = PLAYER_UPGRADE
    Armor                 = ChemSuitHumanArmor
    DamageFX              = None
  End
  
  
  UnitSpecificSounds
    VoiceCreate           = LaserRangerVoiceCreate
  End
  
  VisionRange = 120
  ShroudClearingRange = 400

  VoiceSelect = LaserRangerVoiceSelect
  VoiceMove = LaserRangerVoiceMove
  VoiceAttack = LaserRangerVoiceAttack


  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE
  
 RemoveModule ModuleTag_03
 AddModule
  Body              = ActiveBody ModuleTag_03_Override
    MaxHealth       = 180.0
    InitialHealth   = 180.0
  End
 End
 
 RemoveModule ModuleTag_18
 AddModule
  Behavior = SpecialAbility ModuleTag_18_Override
    SpecialPowerTemplate      = SpecialAbilityRangerCaptureBuilding
    UpdateModuleStartsAttack  = Yes
    StartsPaused              = No ; Unpaused by upgrade module
    InitiateSound         = RangerVoiceCapture
  End
 End
 
 Locomotor = SET_NORMAL BasicHumanLocomotorPlus25
 
End

;======================================================================================
;=C= END Laser Ranger END =============================================================
;======================================================================================

Check out:
My Music  (Techno/House/Experimental)
My Website  (GeneralsCentral)
My Youtube Channel  (Inactive)
World Builder Community Discord 
SkyMix_RMT
7 years ago
Anti-Air Flak Battery from Operation Kihill Beach

Preview:
UserPostedImage




;======================================================================================
;=O= FlakGun originnaly by Beng customized and improved by SkyMix_RMT =================
;======================================================================================
;=== Audio ===
AudioEvent FlakSound
  Sounds = csquflaa csquflab csquflac csquflad csquflae csquflaf csquflag
  Control = interrupt random
  Volume = 70
  VolumeShift = -10
  PitchShift = -15  15
  Limit = 2
  Priority = normal
  ;LowPassCutoff = 20
  Type = ui ;everyone world shrouded everyone
End

AudioEvent FlakGunSound
  Sounds = vmarweaa vmarweab vmarweac vmarwead
  Control = interrupt random
  Priority = normal
  Limit= 3
  VolumeShift = -20
  PitchShift = -60 0
  Volume = 90
  Type = world shrouded everyone
End

;=== Particles ===

ParticleSystem FlakExplosionSpark3 ;big red spark
  Priority = CRITICAL ;WEAPON_EXPLOSION
  IsOneShot = No
  Shader = ADDITIVE
  Type = PARTICLE
  ParticleName = exexplo02.dds
  AngleZ = 0.00 0.00
  AngularRateZ = 0.00 0.00
  AngularDamping = 0.00 0.00
  VelocityDamping = 0.85 0.85
  Gravity = 0.00
  Lifetime = 7.00 7.00
  SystemLifetime = 2
  Size = 1.00 1.00
  StartSizeRate = 0.00 0.00
  SizeRate = 5.00 6.00
  SizeRateDamping = 0.65 0.65
  Alpha1 = -1.00 -1.00 5
  Alpha2 = -1.00 -1.00 100
  Alpha3 = 0.00 0.00 0
  Alpha4 = 0.00 0.00 0
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:255 G:255 B:128 0
  Color2 = R:0 G:0 B:0 15
  Color3 = R:0 G:0 B:0 0
  Color4 = R:0 G:0 B:0 0
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0
  ColorScale = 0.00 0.00
  BurstDelay = 5.00 5.00
  BurstCount = 1.00 1.00
  InitialDelay = 0.00 0.00
  DriftVelocity = X:0.00 Y:0.00 Z:0.00
  VolumeType = POINT
  IsHollow = No
  IsGroundAligned = No
  IsEmitAboveGroundOnly = No
  IsParticleUpTowardsEmitter = No
  WindMotion = Unused
  WindAngleChangeMin = 0.149924
  WindAngleChangeMax = 0.449946
  WindPingPongStartAngleMin = 0.000000
  WindPingPongStartAngleMax = 0.785398
  WindPingPongEndAngleMin = 5.497787
  WindPingPongEndAngleMax = 6.283185
End

ParticleSystem FlakCloud
  Priority = CRITICAL
  IsOneShot = Yes
  Shader = ALPHA
  Type = PARTICLE
  ParticleName = exexplo01.dds
  AngleZ = 2.00 7.00
  AngularRateZ = -0.05 -0.15
  AngularDamping = 0.60 0.80
  VelocityDamping = 0.20 0.30
  Gravity = 0.00
  PerParticleAttachedSystem = FlakExplosionSpark3
  Lifetime = 150.00 200.00
  SystemLifetime = 10 ;0 makes it last forever
  Size = 1.00 1.00
  StartSizeRate = 0.00 0.00
  SizeRate = 9.00 11.00 ;8 10
  SizeRateDamping = 0.65 0.65 ;0.6 0.6
  Alpha1 = 0.30  0.40 0
  Alpha2 = 0.50  0.60 10
  Alpha3 = 0.80  0.90 20
  Alpha4 = -0.50 0.00 200
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:255 G:255 B:0 0  ;yellow
  Color2 = R:255 G:128 B:0 5 ;orange
  Color3 = R:0 G:0 B:0     20 ;black
  Color4 = R:96 G:96 B:96 200 ;dark grey
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0
  ColorScale = 0.00 0.00
  BurstDelay = 150.00 150.00
  BurstCount = 1.00 1.00
  InitialDelay = 3.00 3.00
  DriftVelocity = X:0.05 Y:0.05 Z:0.05
  VelocityType = HEMISPHERICAL
  VelHemispherical = 0.00 0.50
  VolumeType = CYLINDER
  VolCylinderRadius = 40.00
  VolCylinderLength = 15.00
  IsHollow = No
  IsGroundAligned = No
  IsEmitAboveGroundOnly = No
  IsParticleUpTowardsEmitter = No
  WindMotion = Unused
  WindAngleChangeMin = 0.149924
  WindAngleChangeMax = 0.449946
  WindPingPongStartAngleMin = 0.000000
  WindPingPongStartAngleMax = 0.785398
  WindPingPongEndAngleMin = 5.497787
  WindPingPongEndAngleMax = 6.283185
End

;=== Flak gun air explosion ===

FXList FX_FlakExplosion
  LightPulse
    Color = R:0 G:0 B:0 
    Radius = 30
    IncreaseTime = 0
    DecreaseTime = 500
  End
  ViewShake
    Type = SUBTLE
  End
  Sound
    Name = FlakSound
  End
  ParticleSystem
    Name = FlakCloud
    RotateY = 90
    Height = 0  30 UNIFORM
    Radius = 30 50 UNIFORM
  End

  ParticleSystem
    Name = TankStruckSparks
    Height = 5 10 CONSTANT
    OrientToObject = Yes
    Ricochet = Yes
  End
  
  Sound
    Name = VehicleImpactHeavy
  End

End

;=== FX ===
DamageFX AirVehicleDamageFX

  ; this means, "when doing damagefx of the same type, wait at least this many milliseconds
  ; between repeated fx." this is used to prevent overwhelming the system with fx when
  ; groups of things are attacking a single object. example: 8 rangers attacking a tank
  ; would produce a ton of particle effects if we did one for every ranger, every time they
  ; attack, but with this in place, we only do (at most) one every 100 msec.
  ThrottleTime = DEFAULT 100
  
  AmountForMajorFX  = DEFAULT           2.0
  MajorFX           = DEFAULT           FX_DamageSmallTankStruck
  MinorFX           = DEFAULT           None

;no projectile Flak cannon fx:
  MajorFX           = LAND_MINE            FX_FlakExplosion
  VeterancyMajorFX  = HEROIC LAND_MINE     FX_FlakExplosion
  MinorFX           = LAND_MINE            FX_FlakExplosion
  VeterancyMinorFX  = HEROIC LAND_MINE     FX_FlakExplosion

; DEMO HACK  -- The minor effect should actually be a smaller version of the major effect.
  MajorFX           = SMALL_ARMS        FX_DamageSmallTankStruckSmallArms
  VeterancyMajorFX  = HEROIC SMALL_ARMS FX_HeroicDamageTankStruckSmallArms
  MinorFX           = SMALL_ARMS        FX_DamageSmallTankStruckSmallArms
  VeterancyMinorFX  = HEROIC SMALL_ARMS FX_HeroicDamageTankStruckSmallArms

  MajorFX           = COMANCHE_VULCAN         FX_DamageTankStruckSmallArms
  VeterancyMajorFX  = HEROIC COMANCHE_VULCAN  FX_HeroicDamageTankStruckSmallArms
  MinorFX           = COMANCHE_VULCAN         FX_DamageTankStruckSmallArms
  VeterancyMinorFX  = HEROIC COMANCHE_VULCAN  FX_HeroicDamageTankStruckSmallArms

  MajorFX           = KILL_PILOT          FX_DamageDisableVehicle
  VeterancyMajorFX  = HEROIC KILL_PILOT   FX_HeroicDamageDisableVehicle
  MinorFX           = KILL_PILOT          FX_DamageDisableVehicle
  VeterancyMinorFX  = HEROIC KILL_PILOT   FX_HeroicDamageDisableVehicle

  MajorFX           = SNIPER              FX_DamageTankStruckSmallArms
  VeterancyMajorFX  = HEROIC SNIPER       FX_HeroicDamageTankStruckSmallArms
  MinorFX           = SNIPER              FX_DamageTankStruckSmallArms
  VeterancyMinorFX  = HEROIC SNIPER       FX_HeroicDamageTankStruckSmallArms

  MajorFX           = GATTLING            FX_DamageTankStruckSmallArms
  VeterancyMajorFX  = HEROIC GATTLING     FX_HeroicDamageTankStruckSmallArms
  MinorFX           = GATTLING            FX_DamageTankStruckSmallArms
  VeterancyMinorFX  = HEROIC GATTLING     FX_HeroicDamageTankStruckSmallArms

  MajorFX           = FLAME             None
  MinorFX           = FLAME             None

  MajorFX           = PARTICLE_BEAM     None
  MinorFX           = PARTICLE_BEAM     None

  MajorFX           = HEALING           None
  MinorFX           = HEALING           None

  MajorFX           = RADIATION         None
  MinorFX           = RADIATION         None

  MajorFX           = POISON            None
  MinorFX           = POISON            None

  MajorFX           = STATUS           None
  MinorFX           = STATUS           None

  MajorFX           = SUBDUAL_VEHICLE   None
  MinorFX           = SUBDUAL_VEHICLE   None
End

;=== This will add the effects when the Jets get damaged ===
Object AmericaJetRaptor
  MaxSimultaneousOfType = 1
  ArmorSet
    Conditions = None
    Armor      = AirplaneArmor
    DamageFX   = AirVehicleDamageFX
  End
  ArmorSet
    Conditions = PLAYER_UPGRADE                ;missing in EA games
    Armor      = CountermeasuresAirplaneArmor
    DamageFX   = AirVehicleDamageFX
  End
End

;------------------------------------------------------------------------------

Object AmericaVehicleComanche
  ArmorSet
    Conditions        = None
    Armor             = AFG_ComancheArmor
    DamageFX          = AirVehicleDamageFX
  End
  ArmorSet 
    Conditions        = PLAYER_UPGRADE
    Armor             = AFG_CountermeasuresComancheArmor
    DamageFX          = AirVehicleDamageFX
  End
End

;------------------------------------------------------------------------------

Object AmericaVehicleChinook
  ArmorSet
    Conditions      = None
    Armor           = ChinookArmor
    DamageFX        = AirVehicleDamageFX
  End
End

;------------------------------------------------------------------------------
Object AmericaJetCargoPlane

  ArmorSet
    Conditions = None
    Armor      = AirplaneArmor
    DamageFX   = AirVehicleDamageFX
  End
  ArmorSet
    Conditions = PLAYER_UPGRADE
    Armor      = CountermeasuresAirplaneArmor
    DamageFX   = AirVehicleDamageFX
  End
  ShroudClearingRange = 300

 RemoveModule ModuleTag_10
 AddModule
  Behavior = TransportContain ModuleTag_10_Override
    Slots = 100
    ScatterNearbyOnExit = No
    OrientLikeContainerOnExit = Yes
    DamagePercentToUnits = 100%
    BurnedDeathToUnits = Yes
    KeepContainerVelocityOnExit = Yes
    ExitPitchRate = 30
    ExitBone = WeaponA01
    AllowInsideKindOf  = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE
    DoorOpenTime = 0
    NumberOfExitPaths = 0
    DestroyRidersWhoAreNotFreeToExit = No ;Yes
  End
 End

End

;------------------------------------------------------------------------------

Object AmericaVehicleScoutDrone
  ArmorSet
    Conditions  = None
    Armor       = TankArmor
    DamageFX    = AirVehicleDamageFX
  End
End

Object AmericaVehicleBattleDrone
  ArmorSet
    Conditions  = None
    Armor       = TankArmor
    DamageFX    = AirVehicleDamageFX
  End
End

Object AmericaVehicleHellfireDrone
  ArmorSet
    Conditions  = None
    Armor       = TankArmor
    DamageFX    = AirVehicleDamageFX
  End
End

Object AmericaVehicleSpyDrone
  ArmorSet
    Conditions  = None
    Armor       = AirplaneArmor
    DamageFX    = AirVehicleDamageFX
  End
End

;=== FX ===
FXList WeaponFX_FlakTracerGun
  ViewShake
    Type = SUBTLE
  End
  LightPulse 
    Color = R:255 G:255 B:128 
    Radius = 40
    IncreaseTime = 1
    DecreaseTime = 500
  End
  ParticleSystem 
    Name = TankMuzzleFlashSmoke
    OrientToObject = Yes
  End
  ParticleSystem 
    Name = TankMuzzleFlashFlame
    OrientToObject = Yes
  End
  ParticleSystem 
    Name = TankMuzzleFlare
    OrientToObject = Yes
  End
  Tracer
    DecayAt = 0.9 ;bullets go through infantry at values higher than 1
    Length = 10
    Width = 0.8 ;0.3
    Color = R:255 G:240 B:64
    Speed = 800
    Probability = 1.0 ;1.0 = every time
  End
End

;-------------------------------------------------


;=== Weapon Stats ===
Weapon FlakTracerGun3
  PrimaryDamage          = 40
  PrimaryDamageRadius    = 5.0  ;15.0
  SecondaryDamage        = 20
  SecondaryDamageRadius  = 10.0 ;40
  AttackRange            = 500.0
  MinimumAttackRange     = 0.0
  MinTargetPitch         = -80
  MaxTargetPitch         = 90
  DamageType             = LAND_MINE
  DeathType              = LASERED
  WeaponSpeed            = 1200 ;2800
  WeaponRecoil           = 5
  ProjectileObject       = NONE ; map ini weapons cannot use objects
  FireFX                 = WeaponFX_FlakTracerGun
  VeterancyFireFX        = HEROIC WeaponFX_FlakTracerGun
  FireSound              = FlakGunSound
  RadiusDamageAffects    = ENEMIES NEUTRALS ;ALLIES
  DelayBetweenShots      = 500              ; time between shots, msec
  ClipSize               = 0                ; how many shots in a Clip (0 == infinite)
  ClipReloadTime         = 0             ; how long to reload a Clip, msec
  AutoReloadsClip        = Yes
  AutoReloadWhenIdle     = 1500             ; If I haven't fired in this long, I will reload on my own (rather than only after the last one is fired)
  AntiGround             = No
  AntiAirborneVehicle    = Yes
  AntiAirborneInfantry   = No
  AntiBallisticMissile   = Yes
  ProjectileCollidesWith = ENEMIES
  WeaponBonus            = PLAYER_UPGRADE DAMAGE 125%
End

;=== Used for die FX ===
Object GLACombatBikeFullDebris

 RemoveModule ModuleTag_01
 AddModule
  Draw = W3DModelDraw ModuleTag_01_Override
    OkToChangeModelColor = Yes

    DefaultConditionState
      Model = ABPwrPlant_d01
    End
  End
 End
End

Object GLACombatBikeToppledHulk

 RemoveModule ModuleTag_01
 AddModule
  Draw = W3DModelDraw ModuleTag_01_Override
    OkToChangeModelColor = Yes

    DefaultConditionState
      Model = ABPwrPlant_d01
    End
  End
 End
End

;=== Adds Quad Cannon turret with flak weapon ===
Object ConcreteBarricade

 RemoveModule ModuleTag_01
 AddModule
  Draw = W3DModelDraw ModuleTag_01_Override
  
    DefaultConditionState
      Model = PMDRUM
    End
    ConditionState = DAMAGED
      Model = PMDRUM_D
    End
    ConditionState = REALLYDAMAGED
      Model = PMDRUM_D
    End
 
  End
 End


 AddModule
  Draw = W3DModelDraw ModuleTag_Tur
    OkToChangeModelColor = Yes

    DefaultConditionState
      Model = UVQuadCann
      Turret      = TURRET
      TurretPitch = TURRETEL
      HideSubObject = CHASSIS TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04
      ShowSubObject = TURRET
      WeaponFireFXBone  = PRIMARY   BarrelMS
      WeaponMuzzleFlash = PRIMARY   BarrelFX
      WeaponRecoilBone  = PRIMARY   Barrel
    End
    
    ConditionState = REALLYDAMAGED
      Model = UVQuadCann_D
    End
    AliasConditionState = RUBBLE

  End
 End

  ArmorSet
    Armor    = UpgradedTankArmor
    DamageFX = TankDamageFX
  End

  WeaponSet
    Conditions       = None 
    Weapon           = PRIMARY   FlakTracerGun3
    PreferredAgainst = PRIMARY   AIRCRAFT
  End

  WeaponSet
    Conditions       = ELITE
    Weapon           = PRIMARY   FlakTracerGun3
    PreferredAgainst = PRIMARY   AIRCRAFT
  End

  WeaponSet
    Conditions       = HERO
    Weapon           = PRIMARY   FlakTracerGun3
    PreferredAgainst = PRIMARY   AIRCRAFT
  End

UnitSpecificSounds
  TurretMoveLoop  = OverlordTankTurretMoveLoop
End
  
  VisionRange         = 500
  ShroudClearingRange = 600

  Scale = 1.3
  
  IsTrainable = Yes
  ExperienceValue    = 50 70 100 150 ;Experience point value at each level
  ExperienceRequired = 0  300 800  900  ;Experience points needed to gain each level

  KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT VEHICLE TRANSPORT GARRISONABLE_UNTIL_DESTROYED SALVAGER

 RemoveModule ModuleTag_02
 AddModule
  Body            = ActiveBody ModuleTag_02_Override
    MaxHealth     = 1500.0
    InitialHealth = 1500.0
  End
 End

 AddModule
  Behavior = TransportAIUpdate ModuleTag_AI
    Turret
      TurretTurnRate = 120
      TurretPitchRate = 120
      MinPhysicalPitch = -30
      AllowsPitch = Yes
      ControlledWeaponSlots = PRIMARY
      FiresWhileTurning = Yes
   NaturalTurretPitch  = 45 ; this keeps it aimed half way between land and sky
      MinIdleScanInterval   = 1000    ; in milliseconds
      MaxIdleScanInterval   = 1000   ; in milliseconds
      MinIdleScanAngle      = 0       ; in degrees off the natural turret angle
      MaxIdleScanAngle      = 360     ; in degrees off the natural turret angle
    End
    AutoAcquireEnemiesWhenIdle = Yes
    MoodAttackCheckRate        = 250
  End
 End


 ;AddModule
 ; Behavior = WeaponSetUpgrade ModuleTag_WpnUp
 ;   TriggeredBy = Upgrade_Veterancy_HEROIC
 ; End
 ;End

 AddModule
  Behavior = PropagandaTowerBehavior ModulePropaganda
    Radius                = 60.0
    DelayBetweenUpdates   = 2000
    HealPercentEachSecond = 1%
    ;PulseFX              = FX_OverlordPropagandaTowerPropagandaPulse
    UpgradeRequired       = Upgrade_Veterancy_ELITE ;Upgrade_GLAJunkRepair Upgrade_AmericaCompositeArmor Upgrade_ChinaSubliminalMessaging
    UpgradedHealPercentEachSecond = 2%
    ;UpgradedPulseFX      = FX_OverlordPropagandaTowerSubliminalPulse
    AffectsSelf           = Yes
  End
 End

 AddModule
  Behavior = SlowDeathBehavior DeathTag_99
    DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
    DestructionDelay = 0
    FX = INITIAL FX_BuggyNewDeathExplosion
	OCL = INITIAL OCL_LargeStructureDebris
    OCL = FINAL OCL_CombatBikeAirDeathStart
  End
 End
 
 AddModule
  Behavior = DestroyDie ModuleTag_95
    DeathTypes = NONE +CRUSHED +SPLATTED +TOPPLED
  End
 End
 
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45
 
End
;======================================================================================
;=C= END FlakGun END ==================================================================
;======================================================================================


NOTE: You need to add "DamageFX = AirVehicleDamageFX" to the ArmorSet of the air units used in your map, otherwise when the aircraft gets shot there won't be any effects, this code only has DamageFX added to the air units that appear in Operation Kihill Beach.
Check out:
My Music  (Techno/House/Experimental)
My Website  (GeneralsCentral)
My Youtube Channel  (Inactive)
World Builder Community Discord 
UTD^Force
7 years ago
I was watching anime and there was a meteor in it, so I thought why not add that to Generals, lol.

So here is the code that changes the nuclear missile (the neutron missile because it is faster and easier to make effects of what the meteor would do) to a meteor, but from certain camera angles.
;optional particle system to look more realistic
ParticleSystem NeutronMissleLenzflare
  Priority = WEAPON_EXPLOSION
  IsOneShot = No
  Shader = ADDITIVE
  Type = PARTICLE
  ParticleName = EXLnzFlar2.tga
  AngleZ = 0.00 0.00
  AngularRateZ = 0.00 0.00
  AngularDamping = 1.00 1.00
  VelocityDamping = 1.00 1.00
  Gravity = 0.00
  Lifetime = 2.00 2.00
  SystemLifetime = 0
  Size = 2.00 4.00
  StartSizeRate = 0.00 0.00
  SizeRate = 0.20 0.40
  SizeRateDamping = 1.00 1.00
  Alpha1 = 1.00 1.00 0
  Alpha2 = 0.00 0.00 75
  Alpha3 = 0.00 0.00 0
  Alpha4 = 0.00 0.00 0
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:255 G:255 B:255 0
  Color2 = R:0 G:0 B:0 2
  Color3 = R:0 G:0 B:0 0
  Color4 = R:0 G:0 B:0 0
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0
  ColorScale = 0.00 0.00
  BurstDelay = 0.00 0.00
  BurstCount = 1.00 1.00
  InitialDelay = 0.00 0.00
  DriftVelocity = X:0.00 Y:0.00 Z:0.25
  VelocityType = OUTWARD
  VelOutward = 0.00 0.00
  VelOutwardOther = 0.00 0.00
  VolumeType = CYLINDER
  VolCylinderRadius = 10.00
  VolCylinderLength = 0.00
  IsHollow = Yes
  IsGroundAligned = No
  IsEmitAboveGroundOnly = No
  IsParticleUpTowardsEmitter = No
  WindMotion = Unused
  WindAngleChangeMin = 0.150000
  WindAngleChangeMax = 0.450000
  WindPingPongStartAngleMin = 0.000000
  WindPingPongStartAngleMax = 0.785398
  WindPingPongEndAngleMin = 5.497787
  WindPingPongEndAngleMax = 6.283185
End


ParticleSystem NeutronMissileExhaust
  Priority = WEAPON_TRAIL
  IsOneShot = No
  Shader = ALPHA
  Type = PARTICLE
  ParticleName = EXSmokNew2.tga
  AngleZ = 0.00 1.00
  AngularRateZ = -0.01 0.01
  AngularDamping = 1.00 1.00
  VelocityDamping = 0.20 0.20
  Gravity = 0.00
  SlaveSystem = NeutronMissleLenzflare
  SlavePosOffset = X:0.00 Y:0.00 Z:0.00
  Lifetime = 12000.00 12000.00
  SystemLifetime = 0
  Size = 80.00 105.00
  StartSizeRate = 0.00 0.00
  SizeRate = 1.00 2.00
  SizeRateDamping = 0.95 0.96
  Alpha1 = 1.00 1.00 0
  Alpha2 = 0.00 0.00 100
  Alpha3 = 0.00 0.00 0
  Alpha4 = 0.00 0.00 0
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:255 G:177 B:100 0
  Color2 = R:255 G:255 B:255 20
  Color3 = R:0 G:0 B:0 0
  Color4 = R:0 G:0 B:0 0
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0
  ColorScale = 0.00 0.00
  BurstDelay = 0.00 0.00
  BurstCount = 2.00 2.00
  InitialDelay = 0.00 0.00
  DriftVelocity = X:0.08 Y:0.16 Z:0.01
  VelocityType = SPHERICAL
  VelSpherical = 5.00 5.00
  VolumeType = POINT
  IsHollow = No
  IsGroundAligned = No
  IsEmitAboveGroundOnly = No
  IsParticleUpTowardsEmitter = No
  WindMotion = Unused
  WindAngleChangeMin = 0.150000
  WindAngleChangeMax = 0.450000
  WindPingPongStartAngleMin = 0.000000
  WindPingPongStartAngleMax = 0.785398
  WindPingPongEndAngleMin = 5.497787
  WindPingPongEndAngleMax = 6.283185
End
;end particle system

Object NeutronMissile
 RemoveModule ModuleTag_03
 AddModule
   Behavior = NeutronMissileUpdate ModuleTag_03
    DistanceToTravelBeforeTurning = 11       ;not really how high it goes, but it goes to the lowest possible height
    MaxTurnRate = 7200                        ; huge, since it turns off-camera
    ForwardDamping = 0.1
    RelativeSpeed = 1.0
    LaunchFX = FX_NeutronMissileLaunch
    IgnitionFX = FX_NeutronMissileIgnition
    TargetFromDirectlyAbove = 12      ; aim for an intermed spot directly above the target, so we come straight down onto it
    SpecialAccelFactor = 1
    SpecialSpeedTime = 1500
    SpecialSpeedHeight = 160
    SpecialJitterDistance = 0.4
    DeliveryDecalRadius = 210
    DeliveryDecal
      Texture           = SCCNuclearMissile_China
      Style             = SHADOW_ALPHA_DECAL
      OpacityMin        = 25%
      OpacityMax        = 50%
      OpacityThrobTime  = 500
      Color             = R:255 G:0 B:0 A:255 
      OnlyVisibleToOwningPlayer = Yes
    End
  End
 End

 RemoveModule ModuleTag_04
 AddModule
  Behavior = HeightDieUpdate ModuleTag_04
    TargetHeight        = 10.0
    TargetHeightIncludesStructures = No
    OnlyWhenMovingDown  = Yes
    SnapToGroundOnDeath = Yes
    InitialDelay                    = 1000
  End
 End

 RemoveModule ModuleTag_01
 AddModule
  Draw               = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    ConditionState   = NONE
      Model          = PRG13
    End
    ConditionState   = DAMAGED REALLYDAMAGED RUBBLE
      Model          = NONE
    End
  End
 End
End

Edit: screen shots.

UserPostedImage
UserPostedImage

A Muslim, ask me anything about Islam if you want
UTD^Force
Moderator and former map reviewer
Big fan of C&C Labs
UTD^Force
7 years ago
Update to the meteor particle system.

New particle system code:
ParticleSystem SpectreEngineFlareNeutron
  Priority = CRITICAL
  IsOneShot = No
  Shader = ADDITIVE
  Type = PARTICLE
  ParticleName = EXLnzFlar2.tga
  AngleZ = 0.00 0.00
  AngularRateZ = 0.00 0.00
  AngularDamping = 1.00 1.00
  VelocityDamping = 0.97 0.98
  Gravity = 0.00
  Lifetime = 500.00 500.00
  SystemLifetime = 0
  Size = 0.10 5.50
  StartSizeRate = 0.00 0.00
  SizeRate = -20.00 -20.00
  SizeRateDamping = 0.90 0.90
  Alpha1 = 0.20 0.20 1
  Alpha2 = 0.20 0.20 2
  Alpha3 = 0.20 0.20 10
  Alpha4 = 0.00 0.00 0
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:255 G:255 B:255 1
  Color2 = R:0 G:0 B:0 20
  Color3 = R:0 G:0 B:0 0
  Color4 = R:0 G:0 B:0 0
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0
  ColorScale = 0.00 0.00
  BurstDelay = 0.00 0.00
  BurstCount = 2.00 2.00
  InitialDelay = 0.00 0.00
  DriftVelocity = X:0.00 Y:0.00 Z:0.00
  VelocityType = ORTHO
  VelOrthoX = 0.00 0.00
  VelOrthoY = 0.00 0.00
  VelOrthoZ = 0.00 0.00
  VolumeType = POINT
  IsHollow = No
  IsGroundAligned = No
  IsEmitAboveGroundOnly = No
  IsParticleUpTowardsEmitter = No
  WindMotion = Unused
  WindAngleChangeMin = 0.149924
  WindAngleChangeMax = 0.449946
  WindPingPongStartAngleMin = 0.000000
  WindPingPongStartAngleMax = 0.785398
  WindPingPongEndAngleMin = 5.497787
  WindPingPongEndAngleMax = 6.283185
End
ParticleSystem NeutronMissileExhaust
  Priority = WEAPON_TRAIL
  IsOneShot = No
  Shader = ALPHA
  Type = PARTICLE
  ParticleName = EXSmokNew2.tga
  AngleZ = 0.00 1.00
  AngularRateZ = -0.01 0.01
  AngularDamping = 1.00 1.00
  VelocityDamping = 0.20 0.20
  Gravity = 0.00
  SlaveSystem = SpectreEngineFlareNeutron
  SlavePosOffset = X:0.00 Y:0.00 Z:0.00
  Lifetime = 26000.00 26000.00
  SystemLifetime = 0
  Size = 80.00 105.00
  StartSizeRate = 0.00 0.00
  SizeRate = 1.00 2.00
  SizeRateDamping = 0.95 0.96
  Alpha1 = 0.00 0.00 0
  Alpha2 = 0.45 0.85 4
  Alpha3 = 0.20 0.40 18
  Alpha4 = 0.00 0.00 120
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:255 G:105 B:0 0
  Color2 = R:200 G:70 B:0 4
  Color3 = R:64 G:64 B:64 8
  Color4 = R:32 G:32 B:32 36
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0
  ColorScale = 0.00 0.00
  BurstDelay = 0.00 0.00
  BurstCount = 2.00 2.00
  InitialDelay = 0.00 0.00
  DriftVelocity = X:0.08 Y:0.16 Z:0.01
  VelocityType = SPHERICAL
  VelSpherical = 5.00 5.00
  VolumeType = POINT
  IsHollow = No
  IsGroundAligned = No
  IsEmitAboveGroundOnly = No
  IsParticleUpTowardsEmitter = No
  WindMotion = Unused
  WindAngleChangeMin = 0.150000
  WindAngleChangeMax = 0.450000
  WindPingPongStartAngleMin = 0.000000
  WindPingPongStartAngleMax = 0.785398
  WindPingPongEndAngleMin = 5.497787
  WindPingPongEndAngleMax = 6.283185
End

Images:

UserPostedImageUserPostedImageUserPostedImage

A Muslim, ask me anything about Islam if you want
UTD^Force
Moderator and former map reviewer
Big fan of C&C Labs
UTD^Force
5 years ago

Anti-Air Flak Battery from Operation Kihill Beach

Originally Posted by: SkyMix_RMT 



1- I have to say that I loved this so much when I played your map!

2- I apologize to everyone, especially Beng, about the ini code dispute, I've edited my replies as I was definitely in the wrong there.

3- I'll quote precision_bomber (aka Zatsupashi) as this piece has helped me tremendously in using particle system and understanding it.

I'll let you in on things I know.
(*) Citation Needed


  ParticleName = EXexplo03.tga        ;The texture it uses
  Lifetime = 5.00 5.00                ;Existing Time in Seconds(*)
  Size = 2.00 5.00                    ;Min size, Max Size
  StartSizeRate = 0.00 0.00           ;Starting Size
  SizeRate = 1.00 2.00                ;Rate of growth
  Alpha1 = 0.00 0.00 0                ;Minimum Transparency(*),Maximum Transparency(*), In what time does it happen? 
  Alpha2 = 0.00 0.00 0
  Alpha3 = 0.00 0.00 0
  Alpha4 = 0.00 0.00 0
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:0 G:128 B:0 0           ;Red, Green, Blue, In what time does it happen?
  Color2 = R:0 G:0 B:0 5
  Color3 = R:0 G:0 B:0 0
  Color4 = R:0 G:0 B:0 0
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0

Transparency: 0 - opaque, 1 - fully transparent

Originally Posted by: precision_bomber 


A Muslim, ask me anything about Islam if you want
UTD^Force
Moderator and former map reviewer
Big fan of C&C Labs