
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; WEAPONS DESIGNS
;
;AccuracyBonusCloseRange - default value is 0.3.  How much of an accuracy bonus does this weapon get for being in close range?  Lower is better.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[KNIFE]
Type = Weapon
ResourceCost = Salvage(0)
BuildTime = 400
AttackClass = Piercing
ResourceTypeConsumed = None
AttackDamage = 10, 10.6, 11.2, 13 ; high rate of fire
AttackRange = Melee
OvershootDistance = 0.0
DamageDecay = 1.0 ; no decay
AttackArea = 0, 0
HitAir = never
CanTargetInSmoke = true
MustDescendToHitGround = on
RateOfFireStart	= 0
RateOfFireContinue = 40
RateOfFireContinue_Moving = 80
AccuracyGround = -1
IsDroppable = off
UnconsciousChance = 1.0
PopLimitScore = 0.0
InvalidTargets = Land mine, Refinery, Ammo Factory, Precious Metal Site
IsAbleToAttackFromVehicle = off
IsAbleToAttackFromBuilding = off
CanUseInProne = off
DamageFactorVehicle = 0.0
DamageFactorVehicleOccupant = 0.0
DamageFactorStructure = 0.0
DamageFactorStructureOccupantFighting = 0.0
DamageFactorStructureOccupantHiding = 0.0
DamageFactorTargetOnWall = 0.0
DamageFactorTargetBehindShortWall = 0.0
DamageFactorInfantryProne = 1.0
RunAndGun = 1  ; start off with level 1 R&G
ExpNeededToLevelUp = 600, 1800, 3600
Description = used to knife enemy units

[RIFLE]
Type = Weapon
ResourceCost = Salvage(5)
BuildTime = 800
AttackClass = Piercing
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 0.05
AttackDamage = 5.0, 5.5, 6.0, 6.5
AttackRange = Medium
OvershootDistance = 3   ; OvershootDistance is amount shot goes beyond max range - DamageDecay uses Max Range + OvershootDistance
DamageDecay = 1.5, 1.3, 1.1, 1.0, 1.0, 1.0, 1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.5  ; the first entry seems only possible if standing directly over target
AttackArea = 0, 0
RateOfFireStart	= 10
RateOfFireContinue = 110 ; rate of fire between bursts
RateOfFireBurst = 20 ; rate of fire between shots in a burst
BurstShots = 3 ; How many shots are fired in a burst
AccuracyGround = 2.0, 1.4, 0.8, 0.4, 0.2, 0.1, 0.05
AccuracyAir = 2.0, 1.4, 0.8, 0.4, 0.2, 0.1, 0.05
;IsDroppable = off
ForceProneOnMovingTargets = off
ForceProneOnStationaryTargets = on
UnconsciousChance = 0.1
PopLimitScore = 0.25
IsAbleToAttackFromVehicle = on
IsAbleToAttackFromBuilding = on
DamageFactorVehicle = 0.5
DamageFactorVehicleOccupant = 0.12
DamageFactorStructure = 0.0
DamageFactorStructureOccupantFighting = 0.2
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.7
DamageFactorTargetBehindShortWall = 0.4
DamageFactorInfantryProne = 0.6		    ; keep in mind that weapon accuracy and hitbox dimensions effect actual damage
DamageReceiveFactorWhenActive = 0.5
DamageReceiveFactorWhenInactive = 0.0
HitPoints = 200, 220, 240, 260
RunAndGun = 1  ; start off with level 1 R&G
PassThroughInfantry = on
ShotSpeed = 40.0
ExpNeededToLevelUp = 600, 1800, 3600
Description = basic weapon that fires bullet and does damage

[FLAME_THROWER]
Type = Weapon
ShortName = Flamer
ResourceCost = Salvage(10)
BuildTime = 1000
AttackClass = Flame
ResourceTypeConsumed = Gas
ResourceConsumedPerShot = 0.05
AttackDamage = 4, 5, 6, 7 ; this is base dmg, also consider afterburn damage 
AttackDamage_Moving = 1.5, 2, 2.5, 3
AfterburnStructures = 3.0	; seconds of burning given to structures - modified if attacker is moving (multiplied by AttackDamage_Moving / AttackDamage)
AfterburnUnits = 3.0		; seconds of burning given to units
AttackRange = 5
OvershootDistance = 1
DamageDecay = 1.0, 1.0, 1.0, 0.7, 0.5
AttackArea = 2.0
AutoMinimizeArea = 0.25; do some FF dmg
HitAir = off
CanTargetInSmoke = true
MustDescendToHitGround = on
AutoMinimizeArea = 0.4 ; default is 0.2; -1 means do not auto minimize aoe
RateOfFireStart	= 25
RateOfFireContinue = 50
AccuracyGround = -1		; -1 for perfect accuracy
AccuracyAir = -1
UnconsciousChance = 0.02
DamageFactorVehicle = 0.6
DamageFactorVehicleOccupant = 0.1 ; damage is low, but all occupants are damaged at same time
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.5
DamageFactorStructureOccupantHiding = 0.3
DamageFactorTargetOnWall = 0.7
DamageFactorTargetBehindShortWall = 0.4
DamageFactorInfantryProne = 0.8
RunAndGun = 1  ; start off with level 1 R&G
HitPoints = 225, 250, 275, 300
PassThroughInfantry = on
ExpNeededToLevelUp = 600, 1800, 3600
Description = fires a stream of ignited flammable liquid

[SNIPER_RIFLE] ; sniper rifle
Type = Weapon
ShortName = Sniper
ShotSpeed = 50.0
ResourceCost = Salvage(20)
BuildTime = 3000
AttackClass = Piercing
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 0.71  ; 0.71 = 7 shots if carrying 5
AttackDamage = 100.0, 105.0, 110.0, 118.0
AttackDamage_InUnitHolder = 75.0, 78.0, 81, 85
AttackRange = Long
AttackRange_InUnitHolder = Long ; Medium
AttackMinRange = 4.0
OvershootDistance = 4
DamageDecay = 1.0, 0.95, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3 ; OvershootDistance is included in this
AttackArea = 0.0, 0.0
DeployTime = 125, 115, 105, 95
DeployTime_InUnitHolder = 0
AutoProneWhenDeployed = off
TurretRotationLimit = 45.0
TurretRotationLimit_InUnitHolder = -1
TurretRotationVelocity = -1
TurretRotationVelocity_InUnitHolder = 3
RateOfFireStart	= 125, 120, 115, 110
RateOfFireStart_InUnitHolder = 200, 190, 180, 170
RateOfFireContinue = 300
RateOfFireContinue_InUnitHolder = 450
AccuracyGround = -1
AccuracyGround_InUnitHolder = -1 ; = 0.1, 0.4, 0.2, 0.1, 0.05, 0
AccuracyAir = -1
UnconsciousChance = 0.01
IsAbleToAttackFromVehicle = on
IsAbleToAttackFromBuilding = on
CanUseInProne = off
DamageFactorVehicle = 0.1
DamageFactorVehicleOccupant = 0.2
DamageFactorStructure = 0.0
DamageFactorStructureOccupantFighting = 0.35
DamageFactorStructureOccupantHiding = 0.2
DamageFactorTargetOnWall = 1.0
DamageFactorTargetBehindShortWall = 0.5
DamageFactorInfantryProne = 0.6
HitPoints = 150, 175, 200, 225
;Requires = HE Grenade
PassThroughInfantry = on
Prediction = on ; this is off for now -- snipers are currently too good vs vehicle occupants 
ExpNeededToLevelUp = 800, 2200, 4600

[RPG_LAUNCHER] ; RPG Launcher
Type = Weapon
ShortName = RPG
ResourceCost = Salvage(20)
BuildTime = 1500
AttackClass = Explosive, Concussive
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 0.36
AttackDamage = 50.0, 53.0, 56.0, 59.0
AttackRange = Medium
OvershootDistance = 2
DamageDecay = 1.0 ; no decay
AttackMinRange = 1.6
AttackArea = 0.1, 0.11, 0.12, 0.135
AutoMinimizeArea = -1.0; do FF dmg
RateOfFireStart	= 60, 50, 40, 30
RateOfFireContinue = 300, 290, 280, 270
RateOfFireContinue_Moving = 400
RateOfFireStart_InUnitHolder = 120
RateOfFireContinue_InUnitHolder = 400
AccuracyBonusCloseRange = 0.4
AccuracyGround	= 0.1, 0.4, 0.9, 0.7, 0.2, 0.1, 0.05, 0
AccuracyAir		= 0.1, 0.4, 0.9, 0.7, 0.2, 0.1, 0.05, 0
AccuracyCurveSpacingForX = 0.1
ShotSpeed = 25.0
CanUseInProne = off
AttackGroundOrder = on
WanderingAttacker = off
; IgnoreInTransit = 
TargetsNotAutoFiredAt = Soldier, Captured Soldier
UnconsciousChance = 0.1
DamageFactorInfantry = 0.4
DamageFactorVehicle = 1.0
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 0.6
DamageFactorStructureOccupantFighting = 0.2
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.3
DamageFactorTargetBehindShortWall = 0.25
DamageFactorInfantryProne = 0.25
HitPoints = 200, 220, 240, 260
RunAndGun = 0, 0, 0, 1
ExpNeededToLevelUp = 800, 2200, 4600

[HEAVY_MACHINE_GUN] ; Heavy Machine Gun
Type = Weapon
ShortName = HMG
ResourceCost = Salvage(12)
BuildTime = 1800
AttackClass = Piercing
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 0.11
AttackDamage = 16, 18, 20, 22
AttackDamage_InUnitHolder = 12, 14, 16, 18
AttackRange = 14
AttackRange_InUnitHolder = 14
OvershootDistance = 3
DamageDecay = 1.0, 1.0, 1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.5
AttackArea = 0.0, 0.0
DeployTime = 125, 115, 105, 95
DeployTime_InUnitHolder = 0
CanUseInProne = off
TurretRotationLimit = 60.0
TurretRotationLimit_InUnitHolder = -1
TurretRotationVelocity = -1
TurretRotationVelocity_InUnitHolder = 5
RateOfFireStart	= 10
RateOfFireStart_InUnitHolder = 16
RateOfFireContinue = 50
RateOfFireContinue_InUnitHolder = 75
AccuracyGround = 2.0, 1.4, 0.8, 0.4, 0.2, 0.1, 0.05
AccuracyAir = 2.0, 1.4, 0.8, 0.4, 0.2, 0.1, 0.05
UnconsciousChance = 0.05
IsAbleToAttackFromVehicle = on
IsAbleToAttackFromBuilding = on
ForceProneOnMovingTargets = on
ForceProneOnStationaryTargets = on
DamageFactorVehicle = 0.5
DamageFactorVehicleOccupant = 0.1
DamageFactorStructure = 0.0
DamageFactorStructureOccupantFighting = 0.2
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.7
DamageFactorTargetBehindShortWall = 0.25
DamageFactorInfantryProne = 0.3
HitPoints = 225, 250, 275, 300
RunAndGun = 0, 0, 0, 1
PassThroughInfantry = on
ExpNeededToLevelUp = 600, 1800, 3600

[MORTAR]
Type = Weapon
ResourceCost = Salvage(20)
BuildTime = 1800
AttackClass = Explosive
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 0.6
AttackDamage = 50.0, 52.0, 54.0, 58.0
AttackRange = 20
OvershootDistance = 1
DamageDecay = 1.0 ; no decay
AttackMinRange = 8.0
AttackArea = 1.2, 1.21, 1.22, 1.24
AutoMinimizeArea = -1;  do FF dmg
RunAndGun = off
HitAir = never
CanTargetInSmoke = true
DeployTime = 300, 290, 280, 270
DeployTime_InUnitHolder = 0
TurretRotationLimit = 50.0
RateOfFireStart	= 100
RateOfFireContinue = 500
AccuracyGround = 0.6, 0.9, 1.0, 1.0, 0.9, 0.7, 0.5, 0.2, 0.1, 0.05, 0.025, 0.0
AccuracyCurveSpacingForX = 0.3
LobCurve = 15.0 ; height of shot
ShotSpeed = 5.0
;Homing = 0.5
TargetsNotAutoFiredAt = Soldier, Captured Soldier, Barracuda Car, Armored Car, Attacker Truck, Armored Truck
LineOfFireBlockage = off
AttackGroundOrder = on
IsCarefulAboutFriendlyFire = on
WanderingAttacker = off
UnconsciousChance = 0.2
IsAbleToAttackFromVehicle = off
IsAbleToAttackFromBuilding = off
CanUseInProne = off
DamageFactorInfantry = 0.5
DamageFactorVehicle = 0.7
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.15
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 0.8
DamageFactorInfantryProne = 0.25
HitPoints = 175, 200, 225, 250
Prediction = off
ExpNeededToLevelUp = 800, 2200, 4600

[ANTI-TANK_CANNON] ; ANTI_TANK_CANNON for ANTI_TANK_UNIT
Type = Weapon
ShortName = Anti-Tank
ResourceCost = Salvage(20)
BuildTime = 1800
AttackClass = Concussive
ResourceTypeConsumed = Ammo
AttackDamage = 125, 130, 140, 150
ResourceConsumedPerShot = 1.35
AttackRange = long
OvershootDistance = 1
DamageDecay = 1.0, 0.9
AttackMinRange = 5.0
AttackArea = 0.2, 0.2
AutoMinimizeArea = -1;  do FF dmg
TurretRotationVelocity = 20.0
TurretRotationLimit = 60
RateOfFireStart	= 0 ; to hit fast moving cars
RateOfFireContinue = 300, 290, 280, 270
RateOfFireContinue_Moving = 500
AccuracyGround =  0.0, 0.0, 0.2, 1.0, 0.4, 0.1, 0.0
AccuracyAir =  0.6, 0.9, 1.0, 1.0, 0.9, 0.5, 0.2, 0.1, 0.05, 0.025, 0.0
AccuracyCurveSpacingForX = 0.1
AccuracyBonusCloseRange = 0.8 ; higher is worse
ShotSpeed = 35.0
;Homing = 0.5
LineOfFireBlockage = on
AttackGroundOrder = on
IsCarefulAboutFriendlyFire = on
TargetsNotAutoFiredAt = Soldier, Captured Soldier
WanderingAttacker = off
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.1
DamageFactorInfantry = 0.4
DamageFactorVehicle = 1.0
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 0.5
DamageFactorStructureOccupantFighting = 0.1
DamageFactorStructureOccupantHiding = 0.05
DamageFactorTargetOnWall = 0.2
DamageFactorTargetBehindShortWall = 0.15
DamageFactorInfantryProne = 0.15
IsDroppable = off
TargetTracking = on
Prediction = on
ExpNeededToLevelUp = 800, 2200, 4600

[CANNON_TOWER_TURRET] ; for CANNON_TOWER (Cannon Tower)
Type = Weapon
ShortName = Cannon
ResourceCost = Salvage(0) ; resource costs for structures are not working
BuildTime = 1800
AttackClass = Concussive
ResourceTypeConsumed = Ammo
AttackDamage = 650, 650
ResourceConsumedPerShot = 6.0
AttackRange = long
OvershootDistance = 1
DamageDecay = 1.0, 1.0, 0.6
AttackMinRange = 5.0
AttackArea = 0.2, 0.2
AutoMinimizeArea = -1;  do FF dmg
TurretRotationVelocity = 4.0
;TurretRotationLimit = 60
RateOfFireStart	= 0 ; to hit fast moving cars
RateOfFireContinue = 500
RateOfFireContinue_Moving = 500
AccuracyGround =  0.0, 0.0, 0.1, 0.5, 1.0, 0.5, 0.1, 0.05, 0.0
AccuracyAir =  0.6, 0.9, 1.0, 1.0, 0.9, 0.7, 0.5, 0.2, 0.1, 0.05, 0.025, 0.0
AccuracyCurveSpacingForX = 0.07 ; making better than normal -- this has a low rate-of-fire and cant move so missing is really painful
AccuracyBonusCloseRange = 0.8 ; higher is worse
ShotSpeed = 35.0
;Homing = 0.5
LineOfFireBlockage = on
AttackGroundOrder = on
IsCarefulAboutFriendlyFire = on
TargetsNotAutoFiredAt = Soldier, Captured Soldier
WanderingAttacker = off
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.1
DamageFactorInfantry = 0.4
DamageFactorVehicle = 1.0
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 0.5 ; matching anti-tank
DamageFactorStructureOccupantFighting = 0.1
DamageFactorStructureOccupantHiding = 0.05
DamageFactorTargetOnWall = 0.2
DamageFactorTargetBehindShortWall = 0.15
DamageFactorInfantryProne = 0.15
IsDroppable = off
TargetTracking = on
Prediction = on

[SUPER_CANNON] ; for SUPER_TANK
Type = Weapon
ShortName = Cannon
ResourceCost = Salvage(0) ; cost here seems to not work for units made a cons yard
BuildTime = 0
AttackClass = Concussive
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 2.0
AttackDamage = 300.0, 300
AttackRange = Medium
OvershootDistance = 1
DamageDecay = 1.0 ; no decay
AttackMinRange = 3.0
AttackArea = 0.75, 0.75
AutoMinimizeArea = -1;  do FF dmg
TurretRotationVelocity = 2.0
TurretRotationLimit = 90
RateOfFireStart	= 0 ; to hit fast moving cars
RateOfFireContinue = 300
RateOfFireContinue_Moving = 500
AccuracyGround = 0.2, 0.6, 1.0, 0.9, 0.7, 0.3, 0.1, 0.05, 0.0
AccuracyAir = 0.2, 0.6, 0.8, 1.0, 0.9, 0.7, 0.5, 0.2, 0.1, 0.05, 0.025, 0.0
ShotSpeed = 25.0
;Homing = 0.5
LineOfFireBlockage = on
AttackGroundOrder = on
IsCarefulAboutFriendlyFire = on
WanderingAttacker = off
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
TargetsNotAutoFiredAt = Soldier, Captured Soldier
UnconsciousChance = 0.2
DamageFactorVehicle = 1.0
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.1
DamageFactorStructureOccupantHiding = 0.05
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 0.5
DamageFactorInfantryProne = 0.25
IsDroppable = off
Prediction = on

[SUPER_LAUNCHER_WEAPON]
Type = Weapon
ShortName = Launcher
ResourceCost = Salvage(0)
BuildTime = 0
AttackClass = Explosive, Concussive
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 2.0
AttackDamage = 350, 350 ; rate of fire is low
AttackRange = 32
OvershootDistance = 1
DamageDecay = 1.0 ; no decay
AttackMinRange = 10.0
AttackArea = 2.5, 2.5
AutoMinimizeArea = -1;  do FF dmg
CanTargetInSmoke = true
DeployTime = 300
TurretRotationVelocity = 2.0
TurretRotationLimit = 90
RateOfFireStart	= 75
RateOfFireContinue = 600
RateOfFireContinue_Moving = 600
AccuracyGround = 0.2, 0.5, 0.8, 1.0, 0.8, 0.6, 0.4, 0.1, 0.1, 0.1, 0.1, 0.075, 0.05, 0.025, 0.0
AccuracyAir = 0.5, 0.8, 0.9, 1.0, 0.9, 0.8, 0.5, 0.4, 0.3, 0.2, 0.1, 0.05, 0.0
TargetsNotAutoFiredAt = Soldier, Captured Soldier, Barracuda Car, Armored Car, Attacker Truck, Armored Truck
LobCurve = 8.0; height of shot
ShotSpeed = 10.0
Homing = 0.5
LineOfFireBlockage = off
AttackGroundOrder = on
IsCarefulAboutFriendlyFire = on
WanderingAttacker = off
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.2
DamageFactorVehicle = 0.6
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.15
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 0.8
DamageFactorInfantryProne = 0.25
IsDroppable = off
Prediction = off

[SUPER_GUN_WEAPON]
Type = Weapon
ShortName = Super Gun
ResourceCost = Salvage(0)
BuildTime = 0
AttackClass = Explosive
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 15.0
AttackDamage = 4000.0, 4000.0
AttackRange = 250
AttackMinRange = 30.0
AttackRangeUpgradeOverride = 0.5	; how range upgrades improve this weapon
AttackArea = 32.0, 32.0
AutoMinimizeArea = -1;  do lots of FF dmg
RunAndGun = off
HitAir = never
CanTargetInSmoke = true
TurretRotationVelocity = 0.0175
RateOfFireStart	= 0
RateOfFireContinue = 18000, 9000, 4500, 2000  ;  needs to be slow enough to allow super tank as a counter (for construction plus refueling)
AccuracyGround = 0.2, 0.6, 0.8, 1.0, 0.9, 0.7, 0.5, 0.2, 0.1, 0.05, 0.025, 0.0  ; note that the accuracy of super gun shots improve as the super gun shoots in a particular area
AccuracyCurveSpacingForX = 1.0     ; increase spacing so we dont need a huge list of numbers in AccuracyGround
AccuracyBonusCloseRange = 0.8      ; program code already gives a slight range bonus for super gun
OvershootDistance = 0
DamageDecay = 1.0 ; no decay
LobCurve = 60.0 ; height of shot
ShotSpeed = 10.0
LineOfFireBlockage = off
AttackGroundOnceOrder = on
IsCarefulAboutFriendlyFire = on
WanderingAttacker = off
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.2  ; chance is essentially lowered because damage is so high
DamageFactorVehicle = 0.6
DamageFactorVehicleOccupant = 0.1
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.15
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 1.0
DamageFactorInfantryProne = 0.25
IsDroppable = off
ViewerShot = on
ShotFireFlare = on
ShotLandsFlare = on
AutoFireWeapon = off
LearnWithPractice = on ;	For increased accuracy with practice
Prediction = off
ForceProneOnStationaryTargets = on
ForceProneOnMovingTargets = off
ExpNeededToLevelUp = 1200, 2400, 3600

[MINI_SUPER_GUN_WEAPON]
Type = Weapon
ShortName = Mini Gun
ResourceCost = Salvage(0)
BuildTime = 0
AttackClass = Explosive
ResourceTypeConsumed = Gas
ResourceConsumedPerShot = 4.0
AttackDamage = 300.0, 300.0
AttackRange = 80
AttackMinRange = 15.0
AttackRangeUpgradeOverride = 0.5	; how range upgrades improve this weapon
AttackArea = 8.0, 8.0
AutoMinimizeArea = -1;  do lots of FF dmg
RunAndGun = off
HitAir = never
CanTargetInSmoke = true
TurretRotationVelocity = 0.0175
RateOfFireStart	= 0
RateOfFireContinue = 6000
AccuracyGround = 0.2, 0.6, 0.8, 1.0, 0.9, 0.7, 0.5, 0.2, 0.1, 0.05, 0.025, 0.0  ; note that the accuracy of super gun shots improve as the super gun shoots in a particular area
AccuracyCurveSpacingForX = 1.5     ; accuracy needs to be better than larger super gun because range is so little
AccuracyBonusCloseRange = 0.8      ; program code already gives a slight range bonus for super gun
OvershootDistance = 0
DamageDecay = 1.0 ; no decay
LobCurve = 15.0 ; height of shot
ShotSpeed = 10.0
LineOfFireBlockage = off
AttackGroundOrder = on
IsCarefulAboutFriendlyFire = on
WanderingAttacker = off
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.2  ; chance is essentially lowered because damage is so high
DamageFactorInfantry = 0.7
DamageFactorVehicle = 0.6
DamageFactorVehicleOccupant = 0.1
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.15
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 1.0
DamageFactorInfantryProne = 0.25
IsDroppable = off
ViewerShot = on
ShotFireFlare = on
ShotLandsFlare = on
AutoFireWeapon = off
LearnWithPractice = on ;	For increased accuracy with practice
Prediction = off

[FLAME_THROWER_TOWER]
Type = Weapon
ShortName = Flamer
ResourceCost = Salvage(0) ; weapon cost seems to not work for buildings
BuildTime = 0 ; not sure if this is working for buildings
AttackClass = Flame
ResourceTypeConsumed = Gas
ResourceConsumedPerShot = 0.2
AttackDamage = 8, 9, 10, 11
AttackRange = 8
AttackArea = 3.0 
OvershootDistance = 1
DamageDecay = 1.0, 1.0, 1.0, 1.0, 0.7, 0.5
AutoMinimizeArea = 0.5; do some FF dmg
HitAir = off
CanTargetInSmoke = true
MustDescendToHitGround = on
AutoMinimizeArea = 0.4 ; default is 0.2; -1 means do not auto minimize aoe
TurretRotationVelocity = 5.0  ; fast turning to easier burn several targets at once
RateOfFireStart	= 25
RateOfFireContinue = 50
AccuracyGround = -1		; -1 for perfect accuracy
AccuracyAir = -1
AfterburnStructures = 7.0	; seconds of burning given to structures
AfterburnUnits = 7.0		; seconds of burning given to units
AttackGroundOrder = on
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.01
DamageFactorVehicle = 0.6
DamageFactorVehicleOccupant = 0.15
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.5
DamageFactorStructureOccupantHiding = 0.3
DamageFactorTargetOnWall = 0.7
DamageFactorTargetBehindShortWall = 0.5
DamageFactorInfantryProne = 0.8
IsDroppable = off
PassThroughInfantry = on
ExpNeededToLevelUp = 800, 2200, 4600

[BUNKER_MACHINE_GUN] ; bunker machine gun for gun bunker
Type = Weapon
ShortName = Bunker Gun
ResourceCost = Salvage(0) ; weapon cost seems to not work for buildings
BuildTime = 0 ; not sure if this is working for buildings
AttackClass = Piercing
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 0.11
AttackDamage = 20, 22, 24, 26
AttackRange = 17
OvershootDistance = 3
DamageDecay = 1.0, 1.0, 1.0, 0.9, 0.7, 0.5
TurretRotationVelocity = 2.0
TurretRotationLimit = 60.0
AttackArea = 0.0, 0.0
RateOfFireStart	= 10
RateOfFireContinue = 50
;AccuracyGround = 0.8, 0.4, 0.1, 0.1, 0.1, 0.1, 0.075, 0.05, 0.025, 0.0
;AccuracyAir = 0.5, 0.8, 0.9, 1.0, 0.9, 0.8, 0.5, 0.4, 0.3, 0.2, 0.1, 0.05, 0.0
AccuracyGround = 0.9, 0.8, 0.7, 0.6
AccuracyAir = 0.8, 0.5, 0.2, 0.2, 0.2, 0.1, 0.075, 0.05, 0.003, 0.0
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.05
DamageFactorVehicle = 0.6
DamageFactorVehicleOccupant = 0.08
DamageFactorStructure = 0.0
DamageFactorStructureOccupantFighting = 0.2
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.7
DamageFactorTargetBehindShortWall = 0.2
DamageFactorInfantryProne = 0.25
AutofireDamageThreshold = 0.15 ; telling bunker to not auto attack a building unless that building is attacking back (assumes DmgVsOccupantFighting is > than this and VsOccupantHiding is less)
IsDroppable = off
ForceProneOnMovingTargets = on
ForceProneOnStationaryTargets = on
PassThroughInfantry = on
ExpNeededToLevelUp = 800, 2200, 4600

[CAR_MACHINE_GUN] ; Car Machine Gun
Type = Weapon
ShortName = Car MG
ResourceCost = Salvage(15)
BuildTime = 800
AttackClass = Piercing
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 0.1
AttackDamage = 10, 12, 14, 16
AttackDamage_Moving = 8, 10, 12, 14  ;  in addition to accuracy penalty
AttackRange = Medium
OvershootDistance = 3
DamageDecay = 1.5, 1.3, 1.1, 1.0, 1.0, 1.0, 1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.5  ; the first entry seems only possible if standing directly over target
AttackArea = 0.0, 0.0
RateOfFireStart	= 10
RateOfFireContinue = 50
;TurretRotationLimit = 45
TurretRotationVelocity = 3.0
AccuracyGround = 2.0, 1.4, 0.8, 0.4, 0.2, 0.1, 0.05
AccuracyAir = 2.0, 1.4, 0.8, 0.4, 0.2, 0.1, 0.05
IsDroppable = off
ForceProneOnMovingTargets = off
ForceProneOnStationaryTargets = on
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.1
DamageFactorVehicle = 0.65
DamageFactorVehicleOccupant = 0.08
DamageFactorStructure = 0.0
DamageFactorStructureOccupantFighting = 0.2
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.7
DamageFactorTargetBehindShortWall = 0.3
DamageFactorInfantryProne = 0.4
AutofireDamageThreshold = 0.1
RunAndGun = 1  ; start off with level 1 R&G
PassThroughInfantry = on
ExpNeededToLevelUp = 800, 2200, 4600

[CAR_FLAME_THROWER] ; Car Flame Thrower 
Type = Weapon
ShortName = Car Flamer
ResourceCost = Salvage(25)
BuildTime = 1000
AttackClass = Flame
ResourceTypeConsumed = Gas
ResourceConsumedPerShot = 0.075
AttackDamage = 7, 8, 9, 10
AttackDamage_Moving = 3, 3.5, 4.0, 4.5
AfterburnStructures = 5.0	; seconds of burning given to structures - modified if attacker is moving (multiplied by AttackDamage_Moving / AttackDamage)
AfterburnUnits = 5.0		; seconds of burning given to units
AttackRange = 5
OvershootDistance = 1
DamageDecay = 1.0, 1.0, 1.0, 0.7, 0.5
AttackArea = 3.0 ; non-lobbed weapons essentially need more AOE because of LoF calculations
AutoMinimizeArea = 0.35; do some FF dmg
HitAir = off
CanTargetInSmoke = true
MustDescendToHitGround = on
AutoMinimizeArea = 0.4 ; default is 0.2; -1 means do not auto minimize aoe
RateOfFireStart	= 25
RateOfFireContinue = 50
;TurretRotationLimit = 45
TurretRotationVelocity = 5.0  ; fast turning to easier burn several targets at once
AccuracyGround = -1		; -1 for perfect accuracy
AccuracyAir = -1
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.02
DamageFactorVehicle = 0.6
DamageFactorVehicleOccupant = 0.08
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.5
DamageFactorStructureOccupantHiding = 0.3
DamageFactorTargetOnWall = 0.7
DamageFactorTargetBehindShortWall = 0.4
DamageFactorInfantryProne = 0.8
RunAndGun = 0, 1, 1, 1  ; start off WITHOUT R&G, but give at lvl 1
IsDroppable = off
PassThroughInfantry = on
ExpNeededToLevelUp = 800, 2200, 4600

[TANK_TRUCK_TURRET] ; Tank Truck Turret
Type = Weapon
ShortName = Cannon
ResourceCost = Salvage(30)
BuildTime = 1500
AttackClass = Concussive
ResourceTypeConsumed = Ammo
AttackDamage = 100.0, 105.0, 110.0, 118.0
ResourceConsumedPerShot = 1.0
AttackRange = Medium
OvershootDistance = 1
DamageDecay = 1.0, 0.9
AttackMinRange = 3.0
AttackArea = 0.2, 0.25, 0.3, 0.4
AutoMinimizeArea = -1.0; do FF dmg
TurretRotationVelocity = 2.5
;TurretRotationLimit = 60
RateOfFireStart	= 0 ; to hit fast moving cars
RateOfFireContinue = 300, 290, 280, 260
RateOfFireContinue_Moving = 500
AccuracyGround =  0.0, 0.0, 0.1, 1.0, 0.5, 0.1, 0.05, 0.0
AccuracyAir = 0.5, 0.8, 0.9, 1.0, 0.9, 0.8, 0.5, 0.4, 0.3, 0.2, 0.1, 0.05, 0.0
ShotSpeed = 30.0
;Homing = 0.5
;LineOfFireBlockage = off
AttackGroundOrder = on
IsCarefulAboutFriendlyFire = on
WanderingAttacker = off
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
TargetsNotAutoFiredAt = Soldier, Captured Soldier
UnconsciousChance = 0.1
DamageFactorVehicle = 1.0
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.1
DamageFactorStructureOccupantHiding = 0.05
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 0.3
DamageFactorInfantryProne = 0.2
IsDroppable = off
Prediction = on
ExpNeededToLevelUp = 900, 2200, 4600

[ARTILLERY_TRUCK_TURRET] ; Artillery Truck Turret
Type = Weapon
ShortName = Artillery
ResourceCost = Salvage(30)
BuildTime = 2000
AttackClass = Explosive
ResourceTypeConsumed = Gas
ResourceConsumedPerShot = 1.2
AttackDamage = 100.0, 105.0, 110.0, 118.0
AttackRange = 22
OvershootDistance = 1
DamageDecay = 1.0 ; no decay
AttackMinRange = 10.0
AttackArea = 1.5, 1.55, 1.6, 1.7
AutoMinimizeArea = -1.0; do FF dmg
RunAndGun = off
DeployTime = 75, 70, 65, 55
HitAir = never
CanTargetInSmoke = true
CanUseInProne = off
TurretRotationLimit = 50.0
RateOfFireStart	= 75
RateOfFireContinue = 500, 490, 480, 460
AccuracyGround = 0.3, 0.6, 0.9, 1.0, 1.0, 0.9, 0.7, 0.5, 0.2, 0.1, 0.05, 0.025, 0.0
AccuracyCurveSpacingForX = 0.3
LobCurve = 12.0 ; height of shot
ShotSpeed = 5.0
;Homing = 0.5
TargetsNotAutoFiredAt = Soldier, Captured Soldier, Barracuda Car, Armored Car, Attacker Truck, Armored Truck
LineOfFireBlockage = off
AttackGroundOrder = on
IsCarefulAboutFriendlyFire = on
WanderingAttacker = off
UnitHolderWeapon = true  ; this weapon is available to units inside the unit holder
UnconsciousChance = 0.15
DamageFactorVehicle = 1.0
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 1.0
DamageFactorStructureOccupantFighting = 0.2
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 0.8
DamageFactorInfantryProne = 0.25
IsDroppable = off
Prediction = off
ExpNeededToLevelUp = 800, 2200, 4600

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ATTACKER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SIMPLE_ATTACKER]
Type = Attacker
WeaponsSupported = Knife
HoseProtection = 0.33333		; == 1/3 -- dmg reduction
AuraLevelModifer = 1.0
MutantDamageBenefitFromHumans = 1.0
MutantRangeBenefitFromHumans = 1.0
HoldFireLowAmmo = 0.3
HoldFireLowGas = 0.3
MaxCarriedWeapons = 1

[VEHICLE_WITH_TURRET_ATTACKER]
Type = Attacker
WeaponsSupported = Tank Truck Turret, Artillery Truck Turret, Car Machine Gun, Car Flame Thrower
HoseProtection = 0.33333		; == 1/3 -- dmg reduction
AuraLevelModifer = 1.0
MutantDamageBenefitFromHumans = 1.0
MutantRangeBenefitFromHumans = 1.0
HoldFireLowAmmo = 0.3
HoldFireLowGas = 0.3
MaxCarriedWeapons = 1

[SOLDIER_ATTACKER]
Type = Attacker
WeaponsSupported = Rifle, Sniper Rifle, Rpg Launcher, Mortar, Heavy Machine Gun, Flame Thrower
HoseProtection = 0.33333		; == 1/3 -- dmg reduction
AuraLevelModifer = 1.0
MutantDamageBenefitFromHumans = 1.0
MutantRangeBenefitFromHumans = 1.0
HoldFireLowAmmo = 0.3
HoldFireLowGas = 0.3
MaxCarriedWeapons = 3

[TOWER_ATTACKER]
Type = Attacker
WeaponsSupported = Flame Thrower Tower, Rifle
HoseProtection = 0.33333		; == 1/3 -- dmg reduction
AuraLevelModifer = 1.0
MutantDamageBenefitFromHumans = 1.0
MutantRangeBenefitFromHumans = 1.0
HoldFireLowAmmo = 0.1
HoldFireLowGas = 0.1
MaxCarriedWeapons = 1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; MOVER DEFS
;
;SizeModifierForProne - Lower is better for target
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[FOOT_FAST]
Type = Mover
NitroUpgradeFactor = 0.5
UnitSpeedFactor_Carrying = 0.5
UnitSpeedFactor_Encumbered = 0.7 ; When encumbered, speed reduces by this factor.
SpeedNotActive = 0.3334	; When speed is not active, units are still faster.  This tells how fast in relation to Nitro upgrades.
SpeedActive = 1.40		; When speed is active, this tells how fast in relation to Nitro upgrades.
EnduranceRegenPerSecond = 0.01
EnduranceConsumePerSecond = 0.085
Duration = 1000			; 100 = one sec, when speed is active, this is how long it stays in the active state.
Cooldown = 3000			; 100 = one sec
TopSpeed = 16.0
Acceleration = 15.0
RotationSpeed = 4.0
RotationSpeed_Prone = 0.5
ProneFactor = 0.3
PatrolFactor = 0.3
StandToProneDuration = 100
ProneToStandDuration = 100
StairsFactor = 4.0
RoadFactor = 0.8
UsesGas = false

[FOOT_MED]
Type = Mover
NitroUpgradeFactor = 0.5
UnitSpeedFactor_Carrying = 0.5
UnitSpeedFactor_Encumbered = 0.7 ; When encumbered, speed reduces by this factor.
SpeedNotActive = 0.3334	; When speed is not active, units are still faster.  This tells how fast in relation to Nitro upgrades.
SpeedActive = 1.40		; When speed is active, this tells how fast in relation to Nitro upgrades.
Duration = 1000			; 100 = one sec, when speed is active, this is how long it stays in the active state.
Cooldown = 3000			; 100 = one sec
TopSpeed = 14.0
Acceleration = 12.0
RotationSpeed = 4.0
RotationSpeed_Prone = 0.5
StandToProneDuration = 100
ProneToStandDuration = 100
StairsFactor = 4.0
RoadFactor = 0.80
UsesGas = false

[FOOT_SLOW]
Type = Mover
NitroUpgradeFactor = 0.5
UnitSpeedFactor_Carrying = 0.5
UnitSpeedFactor_Encumbered = 0.7 ; When encumbered, speed reduces by this factor.
SpeedNotActive = 0.3334	; When speed is not active, units are still faster.  This tells how fast in relation to Nitro upgrades.
SpeedActive = 1.40		; When speed is active, this tells how fast in relation to Nitro upgrades.
Duration = 1000			; 100 = one sec, when speed is active, this is how long it stays in the active state.
Cooldown = 3000			; 100 = one sec
TopSpeed = 8.0
Acceleration = 8.0
RotationSpeed = 3.0
StairsFactor = 4.0
RoadFactor = 0.80
UsesGas = false

[WHEEL_FAST]
Type = Mover
NitroUpgradeFactor = 0.5
UnitSpeedFactor_Carrying = 0.5
UnitSpeedFactor_Encumbered = 0.8 ; When encumbered, speed reduces by this factor.
SpeedNotActive = 0.3334	; When speed is not active, units are still faster.  This tells how fast in relation to Nitro upgrades.
SpeedActive = 1.40		; When speed is active, this tells how fast in relation to Nitro upgrades.
Duration = 1000			; 100 = one sec, when speed is active, this is how long it stays in the active state.
Cooldown = 3000			; 100 = one sec
TopSpeed = 30.0
Acceleration = 12.5
RotationSpeed = 0.4
RoadFactor = 0.5
ProneFactor = -1		; -1 = disabled
GasConsumptionRate = 0.015
UsesGas = true
EnduranceRegenPerSecond = 0.01
EnduranceConsumePerSecond = 0.085
GasConsumptionFactor_Sprinting = 2.0  ; increases gas consumption by this much while sprint is active
GasConsumptionFactor_OnRoad = 0.5

[WHEEL_MED]
Type = Mover
NitroUpgradeFactor = 0.5
UnitSpeedFactor_Carrying = 0.5
UnitSpeedFactor_Encumbered = 0.8 ; When encumbered, speed reduces by this factor.
SpeedNotActive = 0.3334	; When speed is not active, units are still faster.  This tells how fast in relation to Nitro upgrades.
SpeedActive = 1.2		; When speed is active, this tells how fast in relation to Nitro upgrades.
Duration = 1000			; 100 = one sec, when speed is active, this is how long it stays in the active state.
Cooldown = 3000			; 100 = one sec
TopSpeed = 28.0
Acceleration = 12.5
RotationSpeed = 0.4
RoadFactor = 0.5
ProneFactor = -1		; -1 = disabled
GasConsumptionRate = 0.0225
UsesGas = true
EnduranceRegenPerSecond = 0.01
EnduranceConsumePerSecond = 0.085
GasConsumptionFactor_Sprinting = 2.0  ; increases gas consumption by this much while sprint is active
GasConsumptionFactor_OnRoad = 0.5


[WHEEL_SLOW]
Type = Mover
NitroUpgradeFactor = 0.5
UnitSpeedFactor_Carrying = 0.5
UnitSpeedFactor_Encumbered = 0.8 ; When encumbered, speed reduces by this factor.
SpeedNotActive = 0.3334	; When speed is not active, units are still faster.  This tells how fast in relation to Nitro upgrades.
SpeedActive = 1.0		; When speed is active, this tells how fast in relation to Nitro upgrades.
Duration = 1000			; 100 = one sec, when speed is active, this is how long it stays in the active state.
Cooldown = 3000			; 100 = one sec
TopSpeed = 20.0
Acceleration = 7.5
RotationSpeed = 0.3
RoadFactor = 0.5
ProneFactor = -1		; -1 = disabled
UsesGas = true
GasConsumptionFactor_OnRoad = 0.5

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; PEON DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[LIGHT_PEON]
Type = Peon
;ResourceCapacity = 15		; resource carrying capacity
BuildSpeed = 1.0			; build structure ratio
RepairRate = 4.0 ; making really slow because repairing seems to be free			; hp per sec
RepairStructureCost = 1.0	; how much does it cost to repair a structure in relation to it's original cost

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; HEALER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[HEALER]
Type = Healer
HealRate = 50
HealAmount = 3, 4, 5, 6
HealRange = 8
CanHealStructure = no 
CanHealOrganic = yes
HealRateExtraLevels = 0.25	; amount increased per level above level 4

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; REMOTE VIEWER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[REMOTE_VIEWER]
Type = RemoteViewer
MaxMana = 100
ManaCost = 50
Range = 15
Duration = 500
ManaRegenPerTickPerPrisoner = 0.01

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; UNIT STATION DEFS
;
;CargoSize - how many units can be carried. 100 means this can carry 2 units with a radius of 50
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[UNIT_STATION]
Type = UnitStation
UnitsAllowed = Soldier, Captured Soldier
NeutralIfEmpty = no
CargoSize = 100
;MaxUnitsPerPlayer = 4
CaptureTime = 6000		; optional

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; TRANSPORTER DEFS
;
;CargoSize - how many units can be carried. 100 means this can carry 2 units with a radius of 50
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[INFANTRY_TRANSPORTER]
Type = Transporter
UnitsAllowed = Soldier, Captured Soldier
CargoSize = 15.0
AllowUsableLegsUnit = off
;MaxUnitsPerPlayer = 4
CaptureTime = 600 ; not used for infantry

[VEHICLE_TRANSPORTER]
Type = Transporter
UnitsAllowed = Soldier, Captured Soldier
NeutralIfEmpty = no
CargoSize = 60.0
AttackHeight = 0.5
NeedsDriver = on
CaptureTime = 1500

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; RESOURCE PURCHASER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RESOURCE_PURCHASER]
Type = ResourcePurchaser
;ResourceList = Ammo( ResourceAmount = 5, ResourceCost = Salvage(2), BuildTime = 1000, AddIntoAssetNetwork = yes )

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; RESEARCH PURCHASER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RESEARCH_PURCHASER]
Type = ResearchPurchaser
;GameTechs = First-Aid Kit ( TechAmount = 1, ResourceCost = Salvage(2), BuildTime = 1000, AddIntoAssetNetwork = no )

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; TECH USER COMPONENT DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[TECH_USER_COMPONENT]
Type = TechUser
TechsSupported = Detection

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; RESOURCE SHARE SENDER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;all buildings those need pipe should be FillToMaxcapacity
;all  attacker buildings those need gas should have resource request amount (receiver) and reserve amount (sender)

[RESOURCE_SHARE_SENDER]
Type = ResourceSender
ResourceList = Gas( TransferRate = 50, TransferAmount = 5, ReserveAmount = 0, ReserveAmountForTeammate = 2, RatioDiffAllowSend = 0.20, Fallback_Capacity = 10 ), Ammo( TransferRate = 100, TransferAmount = 5, ReserveAmount = 0, ReserveAmountForTeammate = 2, RatioDiffAllowSend = 0.20, Fallback_Capacity = 10 )
FillToMaxcapacity = no
ScanRange = 0 ; error if scan range is used on a normal sender (not FillToMaxcapacity)

[RESOURCE_SHARE_SENDER_AMMO_ONLY]
Type = ResourceSender
ResourceList = Ammo( TransferRate = 100, TransferAmount = 5, ReserveAmount = 0, ReserveAmountForTeammate = 2, RatioDiffAllowSend = 0.20, Fallback_Capacity = 10 )
FillToMaxcapacity = no
ScanRange = 0 ; error if scan range is used on a normal sender (not FillToMaxcapacity)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; RESOURCE SHARE RECEIVER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;RequestAmount = 0 means receiver needs gas until it's full

[RESOURCE_SHARE_RECEIVER]
Type = ResourceReceiver
ResourceList = Gas( RequestAmount = 0.0, ResourceRequestRatio_Cpu = 0.40, Fallback_Capacity = 10 ), Ammo( RequestAmount = -1.0, ResourceRequestRatio_Cpu = 0.30, Fallback_Capacity = 10 )
TrackRange = 5

[RESOURCE_SHARE_RECEIVER_AMMO_ONLY]
Type = ResourceReceiver
ResourceList = Ammo( RequestAmount = 0.0, ResourceRequestRatio_Cpu = 0.30, Fallback_Capacity = 10 )
TrackRange = 5

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; UNITS
;
; Settings suffixed with * are required settings, others being optional.
;Mover - mover component used by unit.
;Attacker - attacker component used by unit.
;InitialWeapon - initial weapon carried by unit. Attacker component is needed.
;HitBox* - damage hitbox. Stored in width, length, height.
;HitPoints* - starting hitpoints of unit.
;HitPoints_Mover* - starting hitpoints of unit's legs/wheels.
;FeetZoneHeight* - damage is done to unit's legs/wheels if hit is below this.
;UnconsciousHitPoints - when unit is unconscious, his HP is reset to this.
;UnconsciousHpLossRate - (amount, rate) ; when unit is unconscious, he loses 'amount' hitpoints per 'rate' ticks.
;Propulsion* - propulsion system used by unit.
;ResourceCost - resources required to build unit; default = 0
;TrashCost - trash required to build unit; default = 0
;GasCost - gas requried to build unit; default = 0
;SurvivorsCost - Survivors required to build unit; default = 0
;BuildTime* - time to construct unit; 100 = one sec
;Radius* - how large unit is; large units are easier to hit for inaccurate weapons
;Radius_Moving* - same as Radius, but applies when unit is moving
;PopLimitScore - optional, overrides default setting. First unit has popLimitScore 1.0 .  AI uses this to assess value of units, so be careful with it.  Override default for free units or units with special hidden costs (like PK unit)
;TechUsageScore - optional; how many upgrades unit uses per level; overrides default value, which is the pop-limit score.
;HotKey - hotkey used to create unit from unit factory.
;Description - unit description on mouse over
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; For both units and buildings:
;
; [Direction][Weapon]Resistance = X ; number of upgrades of resistance against a particular weapon class for a given direction
; Direction Options:  Front, Sides, Back.  Note that Side applies to both sides, left and right.
; Weapon Class Names: Piercing, Concussive, Flame, Explosive
; Examples:
; SidesConcussiveResistance = X; number of upgrades
; FrontPiercingResistance = X; number of upgrades
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; FOOT UNITS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SOLDIER]
Type = Unit
Mover = FOOT_FAST
Peon = LIGHT_PEON
Attacker = SOLDIER_ATTACKER ( AttackHeight = 0.77 | AttackHeight_Prone = 0.1)
InitialWeapon = Knife;, Rifle
Transporter = INFANTRY_TRANSPORTER
TechUser = TECH_USER_COMPONENT ( TechsSupported = First-Aid Kit, Sticky Bomb, HE Grenade, Molotov Cocktail, Land Mine Tech, Smoke Grenade)
TechProvider = TECH_PROVIDER ( TechTypes = HE Grenade, Molotov Cocktail, Sticky Bomb, Land Mine Tech, Smoke Grenade)
Upgrader = UPGRADER
ResourceSender = RESOURCE_SHARE_SENDER
ResourceReceiver = RESOURCE_SHARE_RECEIVER
ResourceCapacity = Ammo(6), Gas(5)
ResourceCapacityEncumbered = Salvage(10), Ammo(20), Gas(20), Metal(1)
HitBox = 0.4, 0.4, 1.0 ; width, length, height
HitBoxFriendly = 0.2, 0.2, 0.75
HitBox_Prone = 0.4, 1.0, 0.35
HitBoxFriendly_Prone = 0.2, 0.5, 0.15
HitPoints = 160
HitPoints_Mover = 60
FeetZoneHeight = 0.2
UnconsciousHitPoints = 30
UnconsciousHpLossRate = 1, 500
CanDetectLandMinesWhenIdle = true
LandMineStunDuration = 50 ; timing based on animation
Propulsion = FOOT
ResourceCost = Survivors(1)
BuildTime = 1200
OrganicHull = yes
Radius = 15.0
Radius_Moving = 20.0
VisualRadius = 26.0
PopLimitScore = 0.75
TechUsageScore = 0.5
UseFirstAid = yes
FirstAidCapacity = 5
AutoHealHpRatio = 0.30
Prisoner = Captured Soldier
;ExpNeededToLevelUp = 150, 375, 650
;HotKey = S
Description = Basic infantry unit.

[CAPTURED_SOLDIER]
Type = Unit
Mover = FOOT_MED
Peon = LIGHT_PEON ( BuildSpeed = 0.6 )
ResourceSender = RESOURCE_SHARE_SENDER
ResourceReceiver = RESOURCE_SHARE_RECEIVER
ResourceCapacity = Ammo(6), Gas(5)
ResourceCapacityEncumbered = Salvage(10), Ammo(20), Gas(20), Metal(1)
HitBox = 0.4, 0.4, 1.0 ; width, length, height
HitBoxFriendly = 0.2, 0.2, 0.75
HitBox_Prone = 0.4, 1.0, 0.35
HitBoxFriendly_Prone = 0.2, 0.5, 0.15
HitPoints = 150
HitPoints_Mover = 40
FeetZoneHeight = 0.2
UnconsciousHitPoints = 30
UnconsciousHpLossRate = 1, 300
CanDetectLandMinesWhenIdle = true
LandMineStunDuration = 50 ; timing based on animation
Propulsion = FOOT
BuildTime = 0
OrganicHull = yes
Radius = 15.0
Radius_Moving = 20.0
VisualRadius = 26.0
PopLimitScore = 0.75
TechUsageScore = 1.0
UseFirstAid = yes
Rescuee = Soldier
Prisoner = Captured Soldier
Description = Captured Soldier builds and repairs structures.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; VEHICLES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[BARRACUDA_CAR]
Type = Unit
Mover = WHEEL_FAST
Attacker = VEHICLE_WITH_TURRET_ATTACKER ( AttackHeight = 0.5 )
Transporter = VEHICLE_TRANSPORTER ( NeedsAttackerUnit = on | CaptureTime = 1500 | CargoSize = 30.0 )
TechUser = TECH_USER_COMPONENT ( TechsSupported = Spare Parts )
ResourceSender = RESOURCE_SHARE_SENDER
ResourceReceiver = RESOURCE_SHARE_RECEIVER
ResourceCapacity = Ammo(10), Gas(10)
HitBox = 0.7, 1.4, 1.0 ; width, length, height
HitBoxFriendly = 0.35, 0.7, 0.5
FeetZoneHeight = 0.1
HitPoints = 300
HitPoints_Mover = 90
MaxMetal = 5
; we already have DamageFactorVehicle and DamageFactorVehicleOccupant, so resistance is just unneeded complexity
;FrontPiercingResistance = 1.0 ; number of bullet resistance upgrades
FrontExplosiveResistance = 0.5 ; number of bullet resistance upgrades
SidesExplosiveResistance = 0.5
BackExplosiveResistance = 0.5
;UnconsciousHitPoints = 50
;UnconsciousHpLossRate = 3, 100
Propulsion = WHEEL
ResourceCost = Salvage(15)
BuildTime = 2500
Radius = 55.0
VisualRadius = 50.0
TechUsageScore = 1.0
UseSpareParts = on
AutoHealHpRatio = 0.30
;Requires = Auto Factory
TechUsageScore = 1.0
HotKey = B
Description = Car with a mounted weapon.
Upgrade = Armored Car

[ARMORED_CAR]
Type = Unit (BARRACUDA_CAR)
Mover = WHEEL_MED
Transporter = VEHICLE_TRANSPORTER ( NeedsAttackerUnit = on | CaptureTime = 2500 | CargoSize = 30.0 )
HitPoints = 400
HitPoints_Mover = 130
ResourceCapacity = Ammo(10), Gas(15)
FrontPiercingResistance = 5.0 ; number of bullet resistance upgrades
SidesPiercingResistance = 4.0
BackPiercingResistance = 4.0
FrontFlameResistance = 5.0 ; number of bullet resistance upgrades
SidesFlameResistance = 4.0
BackFlameResistance = 4.0
FrontExplosiveResistance = 2.0 ; number of bullet resistance upgrades
SidesExplosiveResistance = 2.0
BackExplosiveResistance = 2.0
ResourceCost = Salvage(40)
BuildTime = 3000
UpgradeCost = Salvage(25) ; from BARRACUDA_CAR
UpgradeTime = 1000
Upgrade = 
;Requires = Armor Factory
HotKey = V
Description = Car with extra armor.

[ANTI-TANK_UNIT] ; ANTI_TANK_UNIT
Type = Unit
Mover = FOOT_SLOW ( RotationSpeed = 1.5 )
Propulsion = FOOT ; turn like a foot (dont backup to rotate)
Attacker = SIMPLE_ATTACKER ( AttackHeight = 0.77 | WeaponsSupported = Anti-Tank Cannon )
Transporter = VEHICLE_TRANSPORTER ( CargoSize = 30.0 | CaptureTime = 1000 | DamageFactorHolderOccupantFightingWeight = 0.5 )
TechUser = TECH_USER_COMPONENT ( TechsSupported = Spare Parts )
ResourceSender = RESOURCE_SHARE_SENDER_AMMO_ONLY
ResourceReceiver = RESOURCE_SHARE_RECEIVER_AMMO_ONLY
ResourceCapacity = Ammo(10)
HitBox = 1.0, 1.0, 1.0 ; width, length, height
HitBoxFriendly = 1.0, 1.0, 1.0
HitPoints = 200
HitPoints_Mover = 80
FeetZoneHeight = 0.0
; we already have DamageFactorVehicle and DamageFactorVehicleOccupant, so resistance is just unneeded complexity
;FrontPiercingResistance = 1.0 ; number of bullet resistance upgrades
;UnconsciousHitPoints = 50
;UnconsciousHpLossRate = 3, 100
ResourceCost = Salvage(5)
BuildTime = 3000
Radius = 55.0
VisualRadius = 50.0
UseSpareParts = on
AutoHealHpRatio = 0.30
;Requires = Fire Station
TechUsageScore = 1.0
PopLimitScore = 1.75
HotKey = C
Description = Good vs vehicles.

[ATTACKER_TRUCK]
Type = Unit
Mover = WHEEL_MED
Attacker = VEHICLE_WITH_TURRET_ATTACKER ( AttackHeight = 0.77 )
Transporter = VEHICLE_TRANSPORTER ( NeedsAttackerUnit = on | CaptureTime = 3000 | CargoSize = 50.0 )
TechUser = TECH_USER_COMPONENT ( TechsSupported = Spare Parts )
ResourceSender = RESOURCE_SHARE_SENDER
ResourceReceiver = RESOURCE_SHARE_RECEIVER
ResourceCapacity = Salvage(0), Ammo(0), Gas(40), Metal(0)
HitBox = 0.8, 1.5, 1.2 ; width, length, height
HitBoxFriendly = 0.4, 0.8, 0.6
HitPoints = 400
HitPoints_Mover = 100
FeetZoneHeight = 0.1
;UnconsciousHitPoints = 50
;UnconsciousHpLossRate = 3, 100
FrontExplosiveResistance = 0.5 
SidesExplosiveResistance = 0.5
BackExplosiveResistance = 0.5
Propulsion = WHEEL
ResourceCost = Salvage(30)
BuildTime = 3000
Radius = 55.0
VisualRadius = 50.0
UseSpareParts = on
AutoHealHpRatio = 0.30
;Requires = Siege Factory
TechUsageScore = 1.0
HotKey = D
Description = Attacker truck.

[ARMORED_TRUCK] ; armored truck - tank truck
Type = Unit(ATTACKER_TRUCK)
Mover = WHEEL_MED ( GasConsumptionRate = 0.03 )  
Transporter = VEHICLE_TRANSPORTER ( NeedsAttackerUnit = on | CaptureTime = 3500 | CargoSize = 50.0 )
ResourceCapacity = Salvage(0), Ammo(20), Gas(20), Metal(0)
FrontPiercingResistance = 5.0 ; number of bullet resistance upgrades
SidesPiercingResistance = 4.0
BackPiercingResistance = 4.0
FrontFlameResistance = 5.0 
SidesFlameResistance = 4.0
BackFlameResistance = 4.0
FrontExplosiveResistance = 2.0 
SidesExplosiveResistance = 2.0
BackExplosiveResistance = 2.0
ResourceCost = Salvage(50)
HitPoints = 500
HitPoints_Mover = 150

[SUPER_TANK]
Type = Unit
Mover = WHEEL_SLOW ( GasConsumptionRate = 0.12 )
Transporter = VEHICLE_TRANSPORTER ( CaptureTime = 7500 | NeedsAttackerUnit = on )
TechUser = TECH_USER_COMPONENT ( TechsSupported = Spare Parts )
Attacker = VEHICLE_WITH_TURRET_ATTACKER ( AttackHeight = 0.77 )
ResourceCapacity = Salvage(0), Ammo(40), Gas(100), Metal(0)
InitialWeapon = Super Cannon
ResourceSender = RESOURCE_SHARE_SENDER
ResourceReceiver = RESOURCE_SHARE_RECEIVER
HitBox = 1.0, 1.6, 1.4  ; width, length, height
HitBoxFriendly = 1.0, 1.0, 1.0
HitPoints = 2400
HitPoints_Mover = 400
FeetZoneHeight = 0.2
FrontPiercingResistance = 5.0 ; number of bullet resistance upgrades
SidesPiercingResistance = 4.0
BackPiercingResistance = 4.0
FrontFlameResistance = 5.0 ; number of bullet resistance upgrades
SidesFlameResistance = 4.0
BackFlameResistance = 4.0
FrontExplosiveResistance = 2.0 
SidesExplosiveResistance = 2.0
BackExplosiveResistance = 2.0
;UnconsciousHitPoints = 50
;UnconsciousHpLossRate = 3, 100
Propulsion = WHEEL
ResourceCost = Metal(4);, Gas(8)
BuildTime = 42000
Radius = 55.0
VisualRadius = 50.0
UseSpareParts = on
AutoHealHpRatio = 0.30
TechUsageScore = 1.0
ImportantEntity = yes
NotifyPlayersWhenUnderConstruction = yes
NotifyPlayersWhenConstructed = yes
NotifyPlayersWhenDestroyed = yes
RevealLocationToPlayers = yes
HotKey = H
Description = Super Tank made with metal from metal site.

[SUPER_LAUNCHER]
Type = Unit
Mover = WHEEL_SLOW ( GasConsumptionRate = 0.10 )
Transporter = VEHICLE_TRANSPORTER ( CaptureTime = 7000 | NeedsAttackerUnit = on )
TechUser = TECH_USER_COMPONENT ( TechsSupported = Spare Parts )
Attacker = VEHICLE_WITH_TURRET_ATTACKER ( AttackHeight = 0.77 )
ResourceCapacity = Salvage(0), Ammo(30), Gas(80), Metal(0)
InitialWeapon = Super Launcher Weapon
ResourceSender = RESOURCE_SHARE_SENDER
ResourceReceiver = RESOURCE_SHARE_RECEIVER
HitBox = 1.1, 2.0, 1.2  ; width, length, height
HitBoxFriendly = 1.0, 1.0, 1.0
HitPoints = 1200
HitPoints_Mover = 500
FeetZoneHeight = 0.2
FrontPiercingResistance = 5.0 ; number of bullet resistance upgrades
SidesPiercingResistance = 4.0
BackPiercingResistance = 4.0
FrontFlameResistance = 5.0 ; number of bullet resistance upgrades
SidesFlameResistance = 4.0
BackFlameResistance = 4.0
FrontExplosiveResistance = 2.0 
SidesExplosiveResistance = 2.0
BackExplosiveResistance = 2.0
;UnconsciousHitPoints = 50
;UnconsciousHpLossRate = 3, 100
Propulsion = WHEEL
ResourceCost = Metal(4)
BuildTime = 42000
Radius = 55.0
VisualRadius = 50.0
UseSpareParts = on
AutoHealHpRatio = 0.30
TechUsageScore = 1.0
ImportantEntity = yes
NotifyPlayersWhenUnderConstruction = yes
NotifyPlayersWhenConstructed = yes
NotifyPlayersWhenDestroyed = yes
RevealLocationToPlayers = yes
HotKey = V
Description = Super Launcher made with metal from metal site.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; UNIT VARIATIONS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SOLDIER]
Type = UnitVariation
DisplayName = Soldier
Unit = Soldier
InitialWeapon = Knife
HotKey = E

[UNCONSCIOUS_SOLDIER]
Type = UnitVariation
DisplayName = Unconscious Soldier
Unit = Soldier
InitialWeapon = Knife
Unconsious = yes

[CAPTURED_SOLDIER]
Type = UnitVariation
DisplayName = Captured Soldier
Unit = Captured Soldier
Prisoner = yes

[UNCONSCIOUS_CAPTURED_SOLDIER]
Type = UnitVariation
DisplayName = Unconscious Soldier
Unit = Captured Soldier
Unconsious = yes
Prisoner = yes

[RIFLEMAN]
Type = UnitVariation
DisplayName = Rifleman
Unit = Soldier
InitialWeapon = Rifle
HotKey = R

[ANTI_TANK]
Type = UnitVariation
DisplayName = Anti-Tank
Unit = Anti-Tank Unit
InitialWeapon = Anti-Tank Cannon
Cargo = Soldier
HotKey = N

[SNIPER]
Type = UnitVariation
DisplayName = Sniper
Unit = Soldier
InitialWeapon = Sniper Rifle
HotKey = P

[RPG_SOLDIER]
Type = UnitVariation
DisplayName = RPG Soldier
Unit = Soldier
InitialWeapon = Rpg Launcher
HotKey = K

[MORTAR_SOLDIER]
Type = UnitVariation
DisplayName = Mortar Soldier
Unit = Soldier
InitialWeapon = Mortar
HotKey = M

[HMG_SOLDIER]
Type = UnitVariation
DisplayName = HMG Soldier
Unit = Soldier
InitialWeapon = Heavy Machine Gun
HotKey = H

[FLAMER]
Type = UnitVariation
DisplayName = Flamer
Unit = Soldier
InitialWeapon = Flame Thrower
HotKey = L

[BARRACUDA_CAR]
Type = UnitVariation
DisplayName = Barracuda Car
Unit = Barracuda Car

[ARMORED_CAR]
Type = UnitVariation
DisplayName = Armored Car
Unit = Armored Car

[MACHINE_GUN_CAR]
Type = UnitVariation
DisplayName = Machine Gun Car
Unit = Barracuda Car
InitialWeapon = Car Machine Gun
Cargo = Soldier
HotKey = I

[ARMORED_MACHINE_GUN_CAR]
Type = UnitVariation
DisplayName = Armored MG Car
Unit = Armored Car
InitialWeapon = Car Machine Gun
Cargo = Soldier
HotKey = O

[FLAME_CAR]
Type = UnitVariation
DisplayName = Flame Car
Unit = Barracuda Car
InitialWeapon = Car Flame Thrower
Cargo = Soldier
HotKey = K

[ARMORED_FLAME_CAR]
Type = UnitVariation
DisplayName = Armored Flame Car
Unit = Armored Car
InitialWeapon = Car Flame Thrower
Cargo = Soldier
HotKey = L

[ATTACKER_TRUCK]
Type = UnitVariation
DisplayName = Attacker Truck
Unit = Attacker Truck

[TANK_TRUCK]
Type = UnitVariation
DisplayName = Tank Truck
Unit = Armored Truck
InitialWeapon = Tank Truck Turret  ; TANK_TRUCK_TURRET
Cargo = Soldier
HotKey = H

[ARTILLERY_TRUCK]
Type = UnitVariation
DisplayName = Artillery Truck
Unit = Attacker Truck
InitialWeapon = Artillery Truck Turret ; ARTILLERY_TRUCK_TURRET
Cargo = Soldier
HotKey = J

[SUPER_TANK]
Type = UnitVariation
DisplayName = Super Tank
Unit = Super Tank
;InitialWeapon = Super Cannon ; SUPER_CANNON
Cargo = Soldier

[SUPER_LAUNCHER]
Type = UnitVariation
DisplayName = Super Launcher
Unit = Super Launcher
;InitialWeapon = Super Artillery
Cargo = Soldier

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; UPGRADER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[UPGRADER]
Type = Upgrader
UpgradeRange = 10
UpgradeDuration = 100

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; RESEARCHER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RESEARCHER]
Type = Researcher
Research = Detection

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; RESOURCE FACTORY DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RESOURCE_FACTORY]
Type = ResourceFactory
;ResourceTypes = Ammo( Periods(ResourceRate = 0, BatchAmount = 0, AddIntoAssetNetwork = yes, DropOffThresholdAmount = -1, EnableDropOff = true, DepletionAfter = 100 | Destroy = false))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; YARD RESOURCE MANAGER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[YARD_RESOURCE_MANAGER]
Type = YardResourceManager

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; UNIT FACTORY DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[UNIT_FACTORY]
Type = UnitFactory
;Units = Dump Truck
UnitCreationOffset = 0, 0	; x, y
BuildPreparationTime = 0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; TECH FACTORY DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[TECH_FACTORY]
Type = TechFactory

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; TECH PROVIDER DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[TECH_PROVIDER]
Type = TechProvider

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; DOCK DEFS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[DOCK]
Type = Dock
ConcurrentUnloaders = 0			; 0 for infinite
CanLoad = no					;
CanUnload =  no
ResourceTypes = None				; None, Salvage, Survivors, Gas, Ammo, Metal
MaxLoadDistance = 1.5

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; STRUCTURE DEFAULT
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[STRUCTURE_DEFAULTS]
Type = StructureDefault
WorkerPreparationTime = 0
; no need to give resistance to buildings as we have DamageFactorStructure and DamageFactorStructureOccupant
FrontPiercingResistance = 0.0 ; number of innate bullet resistance upgrades
SidesPiercingResistance = 0.0
BackPiercingResistance = 0.0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; BUILDINGS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ResourceCapacityIsPooled if true, then resources automatically shared with nearby buildings. if false, resources are private

[PRECIOUS_METAL_SITE]
Type = Building
; Dock = DOCK ( ConcurrentUnloaders = 3 | CanLoad = yes | CanUnload = yes | ResourceTypes = Metal )
ResourceFactory = RESOURCE_FACTORY ( ResourceTypes = Metal(DropOffThresholdAmount = 1, Periods(ResourceRate = 15000, BatchAmount = 1, AddIntoAssetNetwork = no, DepletionAfter = 1 | ResourceRate = 21000, BatchAmount = 1, AddIntoAssetNetwork = no, DepletionAfter = 1 | ResourceRate = 27000, BatchAmount = 1, AddIntoAssetNetwork = no, DepletionAfter = 2 | Destroy = true) ) )
YardResourceManager = YARD_RESOURCE_MANAGER
UnitStation = UNIT_STATION ( CargoSize = 100.0 | NeutralIfEmpty = yes | CaptureTime = 0 | MaxUnitsPerPlayer = 4 | DamageFactorHolderOccupantFightingWeight = 0.25 | DamageFactorStructureOccupantHidingWeight = 0.25)
ProductionRatio = 0.0, 0.5, 0.7, 0.85, 1.0
BuildTime = 1
HitPoints = -1
AttackeeHeight = 0.75
FrontPiercingResistance = 0.0 ; number of innate bullet resistance upgrades
SidesPiercingResistance = 0.0
BackPiercingResistance = 0.0
FrontFlameResistance = 0.0 ; number of innate bullet resistance upgrades
SidesFlameResistance = 0.0
BackFlameResistance = 0.0
DisplayName = Metal Site
Description = Metal for super weapons is gathered from here.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; BARRACKS UPGRADE TREE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[BARRACKS]
Type = Building
UnitStation = UNIT_STATION ( CargoSize = 100.0 )
UnitFactory = UNIT_FACTORY ( Units = Rifleman, Flamer )
Researcher = RESEARCHER ( Research = Land Mine Tech, Molotov Cocktail )
TechProvider = TECH_PROVIDER ( TechTypes = Land Mine Tech, Molotov Cocktail )
Upgrader = UPGRADER
ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Gas( ReserveAmountForTeammate = 5.0 ), Ammo( ReserveAmountForTeammate = 5.0 ) | FillToMaxcapacity = yes | ScanRange = 5 )
ProductionRatio = 0.0, 1.0
ResourceCapacityIsPooled = true
HitPoints = 400
AttackeeHeight = 0.75
ResourceCost = Salvage(20)
SiteSlotsConsumed = 0
DropAmmo = 0.2
BuildTime = 4000
Upgrades = Soldier Barracks, Siege Barracks
AttackDesirability = 10.0
HotKey = R
Description = Trains Rifleman and Flamethrower.

[SOLDIER_BARRACKS]
Type = Building(BARRACKS)
UnitFactory = UNIT_FACTORY ( Units = Rifleman, Flamer, HMG Soldier, Sniper )
Researcher = RESEARCHER ( Research = Land Mine Tech, Molotov Cocktail, HE Grenade, Smoke Grenade)
TechProvider = TECH_PROVIDER ( TechTypes = Land Mine Tech, Molotov Cocktail, HE Grenade, Smoke Grenade)
HitPoints = 500
ResourceCost = Salvage(30)
BuildTime = 5500
Upgrades = 
AttackDesirability = 10.0
Description = Trains Rifleman, Flamethrower, Heavy Machine Gun Soldiers, and Snipers.

[SIEGE_BARRACKS]
Type = Building(BARRACKS)
UnitFactory = UNIT_FACTORY ( Units = Rifleman, Flamer, RPG Soldier, Mortar Soldier )
Researcher = RESEARCHER ( Research = Land Mine Tech, Molotov Cocktail, HE Grenade, Sticky Bomb)
TechProvider = TECH_PROVIDER ( TechTypes = Land Mine Tech, Molotov Cocktail, HE Grenade, Sticky Bomb)
HitPoints = 500
AttackeeHeight = 0.75
ResourceCost = Salvage(40)
BuildTime = 6500
Upgrades = 
AttackDesirability = 10.0
Description = Trains Rifleman, Flamethrower, RPG Soldier, and Mortar Soldier.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[CLINIC]
Type = Building
Healer = HEALER ( HealAmount = 5 | HealRate = 50 | HealRange = 7 | CanHealOrganic = yes)
UnitStation = UNIT_STATION ( CargoSize = 100.0 )
TechFactory = TECH_FACTORY ( Tech = First-Aid Kit )
Upgrader = UPGRADER ; first-aid is implemented as a techProductionRatio = 0.0, 1.0
ProductionRatio = 0.0, 1.0
HitPoints = 400
AttackeeHeight = 0.9
ResourceCost = Salvage(30)
;SiteSlotsConsumed = 1
BuildTime = 3000
;Upgrades = First-Aid Kit Assembly
HotKey = C
Description = Troops are automatically healed here.

[FIRST-AID_KIT_ASSEMBLY]
Type = Building 
Healer = HEALER ( HealAmount = 3 | HealRate = 50 | HealRange = 7 | CanHealOrganic = yes)
UnitStation = UNIT_STATION ( CargoSize = 100.0 )
;Researcher = RESEARCHER ( Research = First-Aid Kit)
TechFactory = TECH_FACTORY ( Tech = First-Aid Kit )	;, NeedsResourceInside = Metal)
Upgrader = UPGRADER ; first-aid is implemented as a tech
ProductionRatio = 0.0, 1.0
HitPoints = 600
AttackeeHeight = 0.9
ResourceCost = Salvage(20), Ammo(40)
;SiteSlotsConsumed = 1
BuildTime = 3000
HotKey = K
Description = First-Aid Kits are produced here.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SALVAGE YARD ADDONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[MECHANIC]
Type = Building 
Healer = HEALER ( HealAmount = 4 | HealRate = 50 | HealRange = 7 | CanHealOrganic = no )
UnitStation = UNIT_STATION ( CargoSize = 100.0 | CargoHeightPos = 0.5 )
TechFactory = TECH_FACTORY ( Tech = Spare Parts )
Upgrader = UPGRADER
ProductionRatio = 0.0, 1.0
HitPoints = 400
AttackeeHeight = 1.5
ResourceCost = Salvage(30)
BuildTime = 3000
;SiteSlotsConsumed = 1
;Upgrades = Spare Parts Salvage
;Requires = Garage
HotKey = M
Description = Vehicles are automatically repaired here.

[SPARE_PARTS_SALVAGE]
Type = Building 
Healer = HEALER ( HealAmount = 4 | HealRate = 50 | HealRange = 7 | CanHealOrganic = no )
UnitStation = UNIT_STATION ( CargoSize = 100.0 )
;Researcher = RESEARCHER ( Research = Spare Parts )
TechFactory = TECH_FACTORY ( Tech = Spare Parts )
Upgrader = UPGRADER
ProductionRatio = 0.0, 1.0
HitPoints = 600
ResourceCost = Salvage(20), Ammo(40);, Gas(50) Its network never has gas
BuildTime = 3000
;SiteSlotsConsumed = 1
HotKey = P
Description = Spare parts salvage are produced here.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; FACTORY UPGRADE TREE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[FACTORY] ; TODO: REMOVE -- this is not used!!!!
Type = Building
Dock = DOCK ( ConcurrentUnloaders = 3 | CanLoad = yes | ResourceTypes = Salvage )
ResourceCapacityIsPooled = true
UnitStation = UNIT_STATION ( CargoSize = 50.0 )
ProductionRatio = 0.0, 1.0
ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Gas( ReserveAmountForTeammate = 5.0 ) | FillToMaxcapacity = yes | ScanRange = 5 )
;Upgrader = UPGRADER
HitPoints = 600
ResourceCost = Salvage(0)   ; should be free to allow easy establishment of expansions
;SiteSlotsConsumed = 1
BuildTime = 2500
AttackDesirability = 10.0
;Upgrades = Auto Factory
HotKey = A
Description = Factory increases Salvage resource.

[GARAGE]
Type = Building
Dock = DOCK ( ConcurrentUnloaders = 3 | CanLoad = yes | ResourceTypes = Salvage )
UnitFactory = UNIT_FACTORY ( Units = | UnitCreationOffset = 0, -2 )
ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Gas( ReserveAmountForTeammate = 5.0 ) | FillToMaxcapacity = yes | ScanRange = 5 )
UnitStation = UNIT_STATION ( CargoSize = 50.0 | CargoHeightPos = 1.0 )
ResourceCapacityIsPooled = true
ProductionRatio = 0.0, 1.0
;Upgrader = UPGRADER
HitPoints = 500
AttackeeHeight = 1.5
ResourceCost = Salvage(30)
SiteSlotsConsumed = 0
BuildTime = 4500
AttackDesirability = 10.0
;Upgrades = Auto Factory
;Requires = Barracks 
UsesPipe = true
HotKey = A
Description = Garage produces anti-tank and can be upgraded to produce vehicles.

[AUTO_FACTORY]
Type = Building(GARAGE)
UnitFactory = UNIT_FACTORY ( Units = Anti Tank, Machine Gun Car, Flame Car | UnitCreationOffset = 0, -2 )
ResourceCost = Gas(25), Salvage(30)
HitPoints = 650
DropAmmo = 0.2
Requires = Gas Station | Refinery(using_teammates_ok)		; Refinery(using_teammates_ok) means refinery belongs to your teammate and you are inside that refinery
Upgrades = Armor Factory;, Siege Factory
Description = Auto Factory produces anti-tank and combat vehicles.

[SIEGE_FACTORY]
Type = Building(AUTO_FACTORY)
;UnitFactory = UNIT_FACTORY ( Units = Anti Tank, Machine Gun Car, Flame Car, Tank Truck, Artillery Truck | UnitCreationOffset = 1, -2 )
HitPoints = 850
ResourceCost = Salvage(20), Gas(0), Ammo(120)
BuildTime = 6500
AttackDesirability = 10.0
Upgrades = ;nothing
;Upgrades = Tank Factory
Description = Siege Factory produces siege vehicles.

[ARMOR_FACTORY]
Type = Building(AUTO_FACTORY)
UnitFactory = UNIT_FACTORY ( Units = Anti Tank, Machine Gun Car, Flame Car, Armored Machine Gun Car, Armored Flame Car, Artillery Truck | UnitCreationOffset = 1, -2 )
HitPoints = 850
ResourceCost = Salvage(20), Gas(50)
BuildTime = 6500
AttackDesirability = 10.0
Upgrades = Tank Factory
Description = Armor Factory produces armored vehicles and upgrades normal vehicles to armored.

[TANK_FACTORY]
Type = Building(ARMOR_FACTORY)
UnitFactory = UNIT_FACTORY ( Units = Anti Tank, Machine Gun Car, Flame Car, Armored Machine Gun Car, Armored Flame Car, Artillery Truck, Tank Truck | UnitCreationOffset = 1, -2 )
HitPoints = 1000
ResourceCost = Salvage(20), Ammo(100)
BuildTime = 4500
AttackDesirability = 10.0
Upgrades = ;nothing
Description = Tank Factory produces armored siege vehicles.

[REFINERY]
Type = Building
UnitStation = UNIT_STATION ( CargoSize = 30.0 | MaxUnitsPerPlayer = 1 | CaptureTime = 2000 | DamageFactorHolderOccupantFightingWeight = 0.25 | DamageFactorStructureOccupantHidingWeight = 0.25 )
ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Gas( ReserveAmountForTeammate = 5.0 ) | FillToMaxcapacity = yes | ScanRange = 5 )
ResourceFactory = RESOURCE_FACTORY ( ResourceTypes = Gas( TeammatesShareRatio = 1.0, Periods( ResourceRate = 1200, DepletionAfter = 50 | ResourceRate = 1350 ) ) )
ProductionRatio = 0.0, 1.0
ResourceCapacityIsPooled = true
UsesPipe = true
HasCorpse = true
BuildTime = 9000
RuinCooldown = 3000
HitPoints = 800
AttackeeHeight = 1.5
ResourceCost = Salvage(0)
FrontPiercingResistance = 0.0 ; number of innate bullet resistance upgrades
SidesPiercingResistance = 0.0
BackPiercingResistance = 0.0
FrontFlameResistance = 0.0 ; number of innate bullet resistance upgrades
SidesFlameResistance = 0.0
BackFlameResistance = 0.0
SiteSlotsConsumed = 0
WorkerPreparationTime = 0
RotationalDirection = Eight
;HotKey = R
Description = Produces gas for units and pipe-connected structures.

[AMMO_FACTORY]
Type = Building
UnitStation = UNIT_STATION ( CargoSize = 90.0 | MaxUnitsPerPlayer = 3 | MaxPlayersPerTeam = 2 | DamageFactorHolderOccupantFightingWeight = 0.25 | DamageFactorStructureOccupantHidingWeight = 0.25 )
ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Ammo( ReserveAmountForTeammate = 5.0 ) | FillToMaxcapacity = yes | ScanRange = 6 )
ResourceFactory = RESOURCE_FACTORY ( ResourceTypes = Ammo( DropOffThresholdAmount = 20, EnableDropOff = true, TeammatesShareRatio = 1.0, Periods( ResourceRate = 600, DepletionAfter = 35 | ResourceRate = 700, DepletionAfter = 50 | ResourceRate = 800 )) )
Dock = DOCK ( ConcurrentUnloaders = 9 | CanLoad = yes | ResourceTypes = Ammo )
ProductionRatio = 0.0, 1.0
ResourceCapacityIsPooled = true
HasCorpse = true
BuildTime = 9000
RuinCooldown = 3000
HitPoints = 800
ResourceCost = Salvage(0)
AttackeeHeight = 1.125
FrontPiercingResistance = 0.0 ; number of innate bullet resistance upgrades
SidesPiercingResistance = 0.0
BackPiercingResistance = 0.0
FrontFlameResistance = 0.0 ; number of innate bullet resistance upgrades
SidesFlameResistance = 0.0
BackFlameResistance = 0.0
DropAmmo = 0.7
SiteSlotsConsumed = 0
WorkerPreparationTime = 0
RotationalDirection = Eight
;HotKey = R
Description = Produces Ammo. Uses 2+ workers for transporting ammo back to base.

[GAS_STATION]
Type = Building 
UnitStation = UNIT_STATION ( CargoSize = 100.0 | CaptureTime = 1500 )
ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Gas( ReserveAmountForTeammate = 5.0 ) | FillToMaxcapacity = yes | ScanRange = 5 )
ResourceFactory = RESOURCE_FACTORY ( ResourceTypes = Gas( Periods( ResourceRate = 1200, DepletionAfter = 50 | ResourceRate = 1350 )) )
UsesPipe = true
ProductionRatio = 0.0, 1.0
ResourceCost = Salvage(0)
ResourceCapacityIsPooled = true
HasCorpse = true
BuildTime = 9000
RuinCooldown = 3000
HitPoints = 800
AttackeeHeight = 0.9
FrontPiercingResistance = 0.0 ; number of innate bullet resistance upgrades
SidesPiercingResistance = 0.0
BackPiercingResistance = 0.0
FrontFlameResistance = 0.0 ; number of innate bullet resistance upgrades
SidesFlameResistance = 0.0
BackFlameResistance = 0.0
;HotKey = G
Description = Produces gas for units and pipe-connected structures.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; TOWERS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[FLAME_TOWER]
Type = Building
Attacker = TOWER_ATTACKER ( AttackHeight = 2.0 | HoldFireLowGas = 0.1 )
InitialWeapon = Flame Thrower Tower
UnitStation = UNIT_STATION ( UnitsAllowed = Soldier | CargoSize = 15.0 | CargoHeightPos = 1.5 | NeedsAttackerUnit = yes )
ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Gas( ReserveAmount = 5.0, ReserveAmountForTeammate = 7.0 ) | FillToMaxcapacity = yes | ScanRange = 5 )
ResourceReceiver = RESOURCE_SHARE_RECEIVER ( ResourceList = Gas( RequestAmount = 3.0 ) )
ResourceCapacity = Salvage(0), Ammo(0), Gas(10), Metal(0)
ResourceCapacityIsPooled = false
HitPoints = 600
AttackeeHeight = 1.875
ResourceCost = Salvage(20)
BuildTime = 3000		; how long does it take to create the deployable structure?  100 = one sec
UsesPipe = true
WorkerPreparationTime = 0
FrontPiercingResistance = 1.0
FrontFlameResistance = 1.0 
FrontConcussiveResistance = 1.0
;RotationalDirection = Any		;IsRotationalOnCreation = yes
HotKey = L
Description = Provides ground defense.

[GUN_BUNKER]
Type = Building
Attacker = TOWER_ATTACKER ( AttackHeight = 0.7 )
InitialWeapon = bunker machine gun
UnitStation = UNIT_STATION ( UnitsAllowed = Soldier | CargoSize = 60.0 | NeedsAttackerUnit = yes )
ResourceSender = RESOURCE_SHARE_SENDER
ResourceReceiver = RESOURCE_SHARE_RECEIVER
ResourceCapacity = Salvage(0), Ammo(15), Gas(0), Metal(0)
HitPoints = 600
AttackeeHeight = 0.75
ResourceCost = Salvage(30)
BuildTime = 3500		; how long does it take to create the deployable structure?  100 = one sec
DropAmmo = 0.7
RotationalDirection = Any		;IsRotationalOnCreation = yes
; not working for sides/back: FrontPiercingResistance = 3.0 ; number of innate bullet resistance upgrades
FrontPiercingResistance = 5.0 ; number of innate bullet resistance upgrades
; not working: SidesPiercingResistance = 1.0
; not working: BackPiercingResistance = 1.0
; not working for sides/back: FrontFlameResistance = 3.0 ; number of innate bullet resistance upgrades
FrontFlameResistance = 3.5 ; number of innate resistance upgrades
; not working: SidesFlameResistance = 1.0
; not working: BackFlameResistance = 1.0
FrontConcussiveResistance = 2.0 ; number of resistance upgrades
; not working for sides/back: FrontConcussiveResistance = 1.0 ; number of innate bullet resistance upgrades
; not working for sides/back: FrontExplosiveResistance = 1.0 ; number of innate bullet resistance upgrades
HotKey = U
Description = Provides defense vs infantry.

[CANNON_TOWER]
Type = Building
Attacker = TOWER_ATTACKER ( AttackHeight = 4.0 ) ; extra high to reduce LoF issues
InitialWeapon = Cannon Tower Turret ; CANNON_TOWER_TURRET
UnitStation = UNIT_STATION ( UnitsAllowed = Soldier | CargoSize = 15.0 | CargoHeightPos = 3.5 | NeedsAttackerUnit = yes )
ResourceSender = RESOURCE_SHARE_SENDER
ResourceReceiver = RESOURCE_SHARE_RECEIVER
ResourceCapacity = Salvage(0), Ammo(50), Gas(0), Metal(0)
ResourceCapacityIsPooled = false
HitPoints = 600
AttackeeHeight = 3.375
ResourceCost = Salvage(40), Metal(1)
BuildTime = 5000		; how long does it take to create the deployable structure?  100 = one sec
DropAmmo = 0.7
WorkerPreparationTime = 0
FrontConcussiveResistance = 2.0 ; number of resistance upgrades
; not working for sides/back: SidesConcussiveResistance = 1.0 ; number of innate bullet resistance upgrades
;RotationalDirection = Any		;IsRotationalOnCreation = yes
ImportantEntity = yes
NotifyPlayersWhenUnderConstruction = yes
NotifyPlayersWhenConstructed = yes
NotifyPlayersWhenDestroyed = yes
RevealLocationToPlayers = yes
HotKey = T
Description = Anti-vehicle tower made with metal from metal site.

[SUPER_GUN]
Type = Building
Attacker = TOWER_ATTACKER ( AttackHeight = 1.0 )
InitialWeapon = Super Gun Weapon
UnitStation = UNIT_STATION ( UnitsAllowed = Soldier | CaptureTime = 9000 | CargoSize = 60.0 | CargoHeightPos = 1.0 | NeedsAttackerUnit = yes )
ResourceSender = RESOURCE_SHARE_SENDER
ResourceReceiver = RESOURCE_SHARE_RECEIVER
ResourceCapacity = Ammo(50)
HitPoints = 800
AttackeeHeight = 2.25
ResourceCost = Metal(8), Salvage(100)
BuildTime = 84000		; how long does it take to create the deployable structure?  100 = one sec
DropAmmo = 0.7
HotKey = G
Radius = 55.0
VisualRadius = 50.0
TechUsageScore = 1.0
RotationalDirection = Any		;IsRotationalOnCreation = yes
ImportantEntity = yes
NotifyPlayersWhenUnderConstruction = yes
NotifyPlayersWhenConstructed = yes
NotifyPlayersWhenDestroyed = yes
RevealLocationToPlayers = yes
PopLimitScore = 200
Description = Game-ending super weapon made with metal from metal site.

[MINI_SUPER_GUN]
Type = Building
Attacker = TOWER_ATTACKER ( AttackHeight = 1.0 )
InitialWeapon = Mini Super Gun Weapon
UnitStation = UNIT_STATION ( UnitsAllowed = Soldier | CaptureTime = 9000 | CargoSize = 60.0 | NeedsAttackerUnit = yes )
ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Gas( ReserveAmount = 5.0, ReserveAmountForTeammate = 7.0 ) | FillToMaxcapacity = yes | ScanRange = 5 )
ResourceReceiver = RESOURCE_SHARE_RECEIVER ( ResourceList = Gas( RequestAmount = 3.0 ) )
ResourceCapacity = Gas(5)
HitPoints = 400
AttackeeHeight = 0.75
ResourceCost = Metal(2), Salvage(0)
BuildTime = 9000		; how long does it take to create the deployable structure?  100 = one sec
DropAmmo = 0.7
HotKey = N
Radius = 55.0
VisualRadius = 50.0
UsesPipe = true
TechUsageScore = 1.0
RotationalDirection = Any		;IsRotationalOnCreation = yes
ImportantEntity = yes
NotifyPlayersWhenUnderConstruction = yes
NotifyPlayersWhenConstructed = yes
NotifyPlayersWhenDestroyed = yes
RevealLocationToPlayers = yes
Description = Long range artillery made with metal from metal site.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Misc buildings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RUINS]
Type = Building
DisplayName = Ruin
UnitStation = UNIT_STATION ( CargoSize = 100.0 | CargoHeightPos = 1.0 | CaptureTime = 2500 )
HitPoints = 600
AttackeeHeight = 1.0
BuildTime = 1
RotationalDirection = Eight
;SiteSlotsConsumed = 0
AttackDesirability = 0.0
Description = Provides units with cover.

[RUINS_1]
Type = Building(RUINS)

[RUINS_2]
Type = Building(RUINS)

[RUINS_3]
Type = Building(RUINS)

[RUINS_4]
Type = Building(RUINS)

[RUINS_5]
Type = Building(RUINS)

[RUINS_6]
Type = Building(RUINS)

[RUINS_7]
Type = Building(RUINS)

[RUINS_8]
Type = Building(RUINS)

; Short walls
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[SHORT_WALL]
Type = Short Wall
DisplayName = Short Wall
HitPoints = 300
BuildTime = 1000
ResourceCost = Salvage(0)
RotationalDirection = Any
Description = Provides units with cover.

[SHORT_WALL_BARREL]
Type = Short Wall(SHORT_WALL)

[SHORT_WALL_METAL]
Type = Short Wall(SHORT_WALL)

[SHORT_WALL_METAL_1]
Type = Short Wall(SHORT_WALL)

[SHORT_WALL_TYRE_STACK]
Type = Short Wall(SHORT_WALL)

[SHORT_WALL_TYRE_STACK_1]
Type = Short Wall(SHORT_WALL)

[SHORT_WALL_BULK_HEAD]
Type = Short Wall(SHORT_WALL)

[SHORT_WALL_BULK_HEAD_1]
Type = Short Wall(SHORT_WALL)

; Other map gen objects
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[DECALS_PLAYER_BASE]
Type = MapObj
HitPoints = -1
Selectable = off
Collidable = off

[DECALS_PLAYER_BASE_1]
Type = MapObj(DECALS_PLAYER_BASE)

[DECALS_PLAYER_BASE_2]
Type = MapObj(DECALS_PLAYER_BASE)

[DECALS_PLAYER_BASE_3]
Type = MapObj(DECALS_PLAYER_BASE)

[DECALS_PLAYER_BASE_4]
Type = MapObj(DECALS_PLAYER_BASE)

[DECALS_PLAYER_BASE_5]
Type = MapObj(DECALS_PLAYER_BASE)

[DECALS_PLAYER_BASE_6]
Type = MapObj(DECALS_PLAYER_BASE)

[DECALS_PLAYER_BASE_7]
Type = MapObj(DECALS_PLAYER_BASE)

[DECALS_PLAYER_BASE_8]
Type = MapObj(DECALS_PLAYER_BASE)

[PLAYER_BASE_GATE]
Type = Structure
HitPoints = 300
BuildTime = 1
Collidable = off
Selectable = off
VisualBlockageAltitude = 0.0
AttackDesirability = 0.0

[TREE]
Type = Structure
HitPoints = 200
AttackeeHeight = 1.0
BuildTime = 1
Selectable = off
VisualBlockageAltitude = 0.0
AttackDesirability = 0.0

[TREE_CACTI_S_1]
Type = Structure(TREE)

[TREE_CACTI_S_2]
Type = Structure(TREE)

[TREE_CACTI_S_3]
Type = Structure(TREE)

[TREE_CACTI_S_4]
Type = Structure(TREE)

[TREE_CACTI_4]
Type = Structure(TREE)

[TREE_CACTI_5]
Type = Structure(TREE)

[TREE_CACTI_6]
Type = Structure(TREE)

[GRASS]
Type = MapObj
HitPoints = -1
Selectable = off
Collidable = off

[BUSH]
Type = MapObj
HitPoints = -1
Selectable = off
Collidable = off

[BUSH_CACTI_1]
Type = MapObj(BUSH)

[BUSH_CACTI_2]
Type = MapObj(BUSH)

[PATCH_PLAIN]
Type = MapObj(GRASS)

[PATCH_GRASS]
Type = MapObj(GRASS)

[SMALL_PATCH_GRASS]
Type = MapObj(GRASS)

[SMALL_PATCH_GRASS_1]
Type = MapObj(GRASS)

[PATCH_PLAIN_BUSH]
Type = MapObj(BUSH)

[PATCH_PLAIN_BUSH_LOW]
Type = MapObj(BUSH)

[BOULDER]
Type = MapObj
HitPoints = -1
Selectable = off
Collidable = on

[BOULDER_1]
Type = MapObj(BOULDER)

[BOULDER_2]
Type = MapObj(BOULDER)

[BOULDER_4]
Type = MapObj(BOULDER)

[BOULDER_5]
Type = MapObj(BOULDER)

[BOULDER_6]
Type = MapObj(BOULDER)

[BOULDER_7]
Type = MapObj(BOULDER)

[RUBBLE]
Type = MapObj
HitPoints = -1
Selectable = off
Collidable = off

[RUBBLE_1]
Type = MapObj(RUBBLE)

[RUBBLE_2]
Type = MapObj(RUBBLE)

[RUBBLE_3]
Type = MapObj(RUBBLE)

[RUBBLE_4]
Type = MapObj(RUBBLE)

[RUBBLE_5]
Type = MapObj(RUBBLE)

[RUBBLE_6]
Type = MapObj(RUBBLE)

[BILLBOARD]
Type = Structure
DisplayName = Billboard
HitPoints = 300
AttackeeHeight = 2.0
BuildTime = 1
Selectable = off
AttackDesirability = 0.0

[BILLBOARD_SMALL_1]
Type = Structure(BILLBOARD)

[BILLBOARD_SMALL_2]
Type = Structure(BILLBOARD)

[BILLBOARD_SMALL_3]
Type = Structure(BILLBOARD)

[BILLBOARD_BIG_1]
Type = Structure(BILLBOARD)

[BILLBOARD_BIG_2]
Type = Structure(BILLBOARD)

[BILLBOARD_BIG_3]
Type = Structure(BILLBOARD)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; MISC PROPERTIES
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RESOURCE_GATHERING]
Type = ResourceGathering
;InitialResources = Survivors(8), Salvage(100), Ammo(70), Gas(1000)					; amount of resources, players have at start
CargoSpaceUsedPerResource = Salvage(1), Survivors(2), Gas(1), Ammo(1), Metal(1)	; controls how much resources can be carried at once
SalvageHarvestDelay = 15				; salvage harvest rate - higher is slower
SalvageUnloadDelay = 5					; higher is slower
SalvagePileAmount = 20					; how much salvage the default piles have
EasyAiSurvivorsProductionFactor = 0.8
EasyAiSalvageProductionFactor = 0.8
NormalAiSurvivorsProductionFactor = 1.0
NormalAiSalvageProductionFactor = 1.0
HardAiSurvivorsProductionFactor = 2.0
HardAiSalvageProductionFactor = 2.0
HardAiAmmoProductionFactor = 1.3
HardAiGasProductionFactor = 1.3

[MISC]
Type = Misc
InitialMapObjs = Shelter(Count = 1 | Distance = 6), Salvage Yard(Count = 1 | Distance = 6), Barracks(Count = 1 | Distance = 6) ; Building_Name (Count = X | Distance = Y | Unit_Name = Z) - the distance is from initial position
InitialUnits = Soldier(Count = 0)		; how many units player has at start of game
GameAges = 0, 0							; for testing, making ages already completed --- 8, 16			; when does the each game age start?
BaseRedesignPeriod = 0 ; 3099				; the time until when players are allowed to move base buildings around.
RangeToAttackAir = 6.0					; range needed to attack air units if HitAir = NeedRange
FireBurnDamage = 8.0					; damage per second
FriendlyFirePenalty = 1.5				; factor describign how much friendly-fire negatively affects score
;FootRoadFactor = 0.70					; time factor for units with feet traveling on roads - lower is faster
StackedResearchTimeFactor = 0.25		; how much faster or slower does it take for level 2+ of research techs?
SiteDropRate = 0.0						; what is the chance of a research site being generated if trash is producing during the game
SiteHitPointsDrop = 1.0					; for sites that are destructable, used sites have less hp than unused ones.  
										; The higher this value, the lower the hp of used sites.
DisassembleRate_Friendly = 75			; hp per sec removed for disassembling a friendly structure
DisassembleRate_Enemy = 2.5				; disassemble rate for enemy structures
DisassembleRate_Walls = 2.5
RebuiltStructureHitPointRatio = 0.5		; hit points ratio when building is being reconstructed
FlameResistanceForMetalUnits = 0.0		; number of innate flame resistance upgrades for units encased in metal (cars, tanks, extenders, etc.).
GlobalHitPointModifier_Units = 1.0		; globally modify the hitpoints of all units
GlobalHitPointModifier_Structures = 1.0 ; globally modify the hitpoints of all structures
; this is not there yet: GlobalHitPointModifier_Weapons = 
AddonRange = 16							; area around strategic sites where addon buildings can be placed
PickUpDuration = 50
ResourceDeliverTime = 50
MapPlayAreaOffset = 32						; The play area is extended by this amount on all four sides.
RateModifier = 1.0, 0.75, 0.6, 0.5, 0.5			; RateModifier for controlling the capture & construction time of the structure
BuildingPassiveHealAmount = 4, 3.6, 3.2, 3.2; Heal amount unit performs on buildings they are in
BuildingPassiveHealRate = 100
VehiclePassiveHealAmount = 3, 2.6, 2.2, 2.2; Heal amount unit performs on buildings they are in
VehiclePassiveHealRate = 100
MaxCapacity_AmmoDrop = 100
MaxCapacity_GasDrop = 100
MaxCapacity_MetalDrop = 1
EliminationTimer = 15, 120, 240
EliminationBuildings = Shelter, Salvage Yard, Cannon Tower, Mini Super Gun, Super Gun
EliminationUnits = Super Tank, Super Launcher
ProneDetectedVisualRange = 5.5
ProneDetectedVisualRangeMoving = 8.5
;
; For Damage and Area upgrades this is the formula:
; fRaw * (1.0f + (Factor * Upgrades)) ^ Exponent
;
[UPGRADE_IMPROVEMENT]
Type = UpgradeImprovement
DamageFactor = 1.0
DamageExponent = 0.433
AreaFactor = 1.2
AreaExponent = 0.55
AttackClassCountFactor = 1.0, 0.5, 0.33333, 0.25	; if a weapon has multiple weapon classes, this modifies how much benefit weapon gets per class

[RANGE_CLASSES]
Type = RangeClasses
Melee = 1.95							; use 1.95 for level 1 melee
Short = 7
Medium = 11
Long = 17
VeryLong = 22
ProneBonusMinimumRange = 1.5					; minimum range for prone damage factors to take effect.
ProneBonusMaximumRangeThreshold = 5.0			; maximum range after which prone damage is always constant. (maximum for the specific weapon)
ExtraLevel = 0							; how range is improved at the high levels, for levels beyond the levels specified. 
										; 0.5 means two upgrades needed per range improvement.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; RESEARCH TECH DEFS
;
; Research Tech Reference
;
;ResearchTime - how long it takes to research; 100 = one sec
;TrashCost - amount of Trash required
;GasCost - amount of Gas required
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[RESEARCH_TECH]
Type = ResearchTech
ResearchTime = 1000
ResourceCost = Salvage(12), Survivors(8)

[TECH]
Type = Tech
TechDropDefault = On					; either on or off.  this default value can be overridden using TechDrop
TechDropExpireTime = 10.0				; in minutes
TechUsageScaled = Off					; default setting of whether tech usage is scaled by how good the unit is
TechsReserve = 3						; how many techs to reserve for player's own units, anything over this may be shared with teammates
TechsInitial = 5						; default number of techs a research building initially has, when first built - can be overriden
TechProductionTime = 3500				; default production time for techs - can be overriden
TechProductionModifier_IfOld = 1.5		; after a certain amount of tech is produced, production rates change.
										; The rate change occurs after the amount reaches TechsInitial.
TechProduction_GlobalModifier = 1.0		; change the TechProductionTime of everything in the game using this factor

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; GAME TECHS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ResearchTime				; How much time will be taken by Researcher to research tech
; TechProductionTime		; How much time will be taken by TechFactory to produce a tech
; ResourceCost				; How many resources are required to research tech
; ResourceTypeConsumed		; Which resource type is needed to use (in case of grenades)
; ResourceConsumedPerShot	; How many resources are required to use (in case of grenades)

[DETECTION]
Type = GameTech
ResearchTime = 3000
ResourceCost = Salvage(20)
DetectionRange = 10
TechsInitial = 8
TechProductionTime = 6500

[STEEP_ROADS]
Type = GameTech
ResearchTime = 1500
ResourceCost = Salvage(18), Gas(15)
TimePerSegment = 400					; Time it takes to make a steep road piece.  100 = one sec, total time is divided by number of upgrades
TechsInitial = 8
TechProductionTime = 6500

[RUN_AND_GUN_RESEARCH]
Type = GameTech
ResearchTime = 1500
ResourceCost = Salvage(20), Gas(5)
TechUsageScaled = On
RunAndGunSpray = 3.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.25, 0 ; http://forums.inhumangames.com/viewtopic.php?t=7214
ChanceOfPenalty = 0.25, 0.20, 0.15  ;  what % of shots get penalized

[FIRST-AID_KIT]
Type = GameTech
ResearchTime = 2500
; done elsewhere ResourceCost =  
HealAmount = 50
HealTime = 500
FirstAidDropAmount = 2
;TimePerSegment = 400					; Time it takes to make a steep road piece.  100 = one sec, total time is divided by number of upgrades
TechsInitial = 0
TechProductionTime = 5000

[SPARE_PARTS]
Type = GameTech
ResearchTime = 2500
; done elsewhere ResourceCost = 
RepairAmount = 200
RepairTime = 700
SparePartsDropAmount = 1
;TimePerSegment = 400					; Time it takes to make a steep road piece.  100 = one sec, total time is divided by number of upgrades
TechsInitial = 0
TechProductionTime = 7500

[ENHANCED_SPEED]
Type = GameTech
ResearchTime = 1500
SpeedNotActive = 0.3334					; When speed is not active, units are still faster.  This tells how fast in relation to Nitro upgrades.
SpeedActive = 1.0						; When speed is active, this tells how fast in relation to Nitro upgrades.
Duration = 1000							; 100 = one sec, when speed is active, this is how long it stays in the active state.
Cooldown = 3000							; 100 = one sec
TechUsageScaled = On
TechsInitial = 8

;[LEVITATION]
;Type = GameTech
;ResearchTime = 9000
;ResourceCost = Salvage(12), Survivors(5)
;Duration = 1200, 2000, 2800, 3200		; duration at each level, 100 = one sec
;Cooldown = 2500 ; 100 = one sec
;TechUsageScaled = On
;TechsInitial = 10
;TechProductionTime = 1500

[ROACH_SHELL]
Type = GameTech
;GameTech = RESEARCH_TECH
ResearchTime = 1500
ResourceCost = Salvage(25), Survivors(8)
FlameResistance = 2.0

[IMPLOSION]
Type = GameTech
ResearchTime = 7500
ResourceCost = Salvage(20)
Factor = 0.33							; new_area = area * factor, but area is never reduced below 1/8 tile
TechsInitial = 1
TechsReserve = 2
TechProductionTime = 0

[TARGET_TRACKING]
Type = GameTech
ResearchTime = 4500
ResourceCost = Salvage(20)
;SprayWithoutTT =  5.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.25, 0 ; http://forums.inhumangames.com/viewtopic.php?t=7214
; target tracking is not in the game, but SprayWithoutTT is still used -- in fact it's always used since nobody has the TT tech
SprayWithoutTT = 7.0, 1.0, 0.4, 0.4, 0.3, 0.3, 0.2, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0 ; http://forums.inhumangames.com/viewtopic.php?t=7214
ChanceOfPenalty = 0.2					; ratio from 0 to 1. 1.0 means TT has no benefit, 0.0 means the penalty of SprayWithoutTT will never used for units with TT.  0.5 means 50%/50% chance.
TechUsageScaled = On

[PASSIVE_HEAL]
Type = GameTech
ResearchTime = 1500
; not used: PassiveHealTime = 4.0, 3.25, 2.5, 2.0, 1.75, 1.65, ; full-heal time in minutes
PassiveHealInitial = 6.0				; passive full-heal time = PassiveHealInitial / ( 1 + (upgrades / PassiveHealDecay))
PassiveHealDecay = 3.0
ResumeAfterBattleTime = 1500			; while battling, repair is suspended.  X seconds after battle, it passive heal resumes.  100 = one sec.
TechUsageScaled = On
TechsInitial = 10

[FLAME_WALL]
Type = GameTech
ResearchTime = 7500
ResourceCost = Salvage(20)
TechsInitial = 1
TechsReserve = 2
TechProductionTime = 0

[EMP_GRENADE]
Type = Grenade
ResearchTime = 4500
ResourceCost = Salvage(20)
Range = 6.0
Area = 3.5
Duration = 1600
ShotSpeed = 3.0
TechsInitial = 1
TechProductionTime = 6500

[HE_GRENADE]
Type = Grenade
ResearchTime = 4500
ResourceCost = Ammo(10)
TechsInitial = 1
;TechProductionTime = 6500
IsDroppable = false
Range = 8.0
RangeVsBuildings = 1.5
AreaVsBuildings = 0.5 ; everyone inside will get hurt
Area = 4
AttackClass = Explosive
Damage = 120
FriendlyFire = true
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 3.5  ; max 2 grenades per soldier (without sharing)
AutoMinimizeArea = 3
ShotSpeed = 4.0
Timer = 0		; 300
Timer_TossInWindow = 600
DamageFactorInfantry = 1.0
DamageFactorInfantryProne = 0.3
DamageFactorVehicle = 0.5
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 0.5
DamageFactorStructureOccupantFighting = 0.5
DamageFactorStructureOccupantHiding = 0.4
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 0.6
DamageFactorInfantry_TossInWindow = 1.0
DamageFactorInfantryProne_TossInWindow = 0.3
DamageFactorVehicle_TossInWindow = 0.5
DamageFactorVehicleOccupant_TossInWindow = 0.05
DamageFactorStructure_TossInWindow = 0.5
DamageFactorStructureOccupantFighting_TossInWindow = 0.7
DamageFactorStructureOccupantHiding_TossInWindow = 0.6
DamageFactorTargetOnWall_TossInWindow = 0.4
DamageFactorTargetBehindShortWall_TossInWindow = 0.6

[MOLOTOV_COCKTAIL]
Type = Grenade
ResearchTime = 4500
ResourceCost = Ammo(10)
TechsInitial = 1
;TechProductionTime = 6500
IsDroppable = false
Range = 8.0
RangeVsBuildings = 2.0
Area = 4
AttackClass = Explosive
Damage = 120
FriendlyFire = true
ResourceTypeConsumed = Gas
ResourceConsumedPerShot = 3.5  ; max 2 grenades per soldier (without sharing)
AutoMinimizeArea = 3
Timer = 0		; 300
Timer_TossInWindow = 600
ShotSpeed = 4.0
DamageFactorInfantry = 1.0
DamageFactorInfantryProne = 0.3
DamageFactorVehicle = 0.5
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 0.5
DamageFactorStructureOccupantFighting = 0.5
DamageFactorStructureOccupantHiding = 0.4
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 0.6
DamageFactorInfantry_TossInWindow = 1.0
DamageFactorInfantryProne_TossInWindow = 0.3
DamageFactorVehicle_TossInWindow = 0.5
DamageFactorVehicleOccupant_TossInWindow = 0.05
DamageFactorStructure_TossInWindow = 0.5
DamageFactorStructureOccupantFighting_TossInWindow = 0.5
DamageFactorStructureOccupantHiding_TossInWindow = 0.4
DamageFactorTargetOnWall_TossInWindow = 0.4
DamageFactorTargetBehindShortWall_TossInWindow = 0.6

[SMOKE_GRENADE]
Type = Grenade
ResearchTime = 3000
ResourceCost = Ammo(10)
TechsInitial = 1
;TechProductionTime = 6500
IsDroppable = false
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 1.5
Range = 8.0
Radius = 4
BlockageAltitude = 20
SpreadTime = 100 ; time between each step
Duration = 2400
ShotSpeed = 4.0

[FLASHBANG]
Type = Grenade
ResearchTime = 4500
ResourceCost = Salvage(20)
TechsInitial = 1
;TechProductionTime = 6500
Range = 8.0
Radius = 4
Duration = 800
ShotSpeed = 4.0

[STICKY_BOMB]
Type = Grenade
ResearchTime = 4500
ResourceCost = Ammo(15), Survivors(2)
TechsInitial = 1
;TechProductionTime = 6500
IsDroppable = false
FriendlyFire = true
AttackClass = Explosive, Concussive
Range = 1.95
Area = 1.5
AutoMinimizeArea = -1
Damage = 350
OnGroundDamage = 150
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 3.0
Timer = 1000							; time from when it lands to when it blows up
ShotSpeed = 10.0
AccuracyGround = 0.05, 0.1, 1.0, 1.0, 1.0, 0.4, 0.2, 0.15, 0.1, 0.05, 0
DamageFactorInfantry = 0.7
DamageFactorInfantryProne = 0.2
DamageFactorVehicle = 1.0
DamageFactorVehicleOccupant = 0.05
DamageFactorStructure = 0.4
DamageFactorStructureOccupantFighting = 0.15
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 1.0

[LAND_MINE]
;Type = Attackee
BuildTime = 50
HitPoints = 30
HitBox = 0.3, 0.3, 0.3
TriggerRange = 1
DetectRange = 6
ScheduleToCheckLandMine = 200
FrontPiercingResistance = 2.0	; number of bullet resistance upgrades
SidesPiercingResistance = 2.0
BackPiercingResistance = 2.0
FrontFlameResistance = 1.0		; number of flame resistance upgrades
SidesFlameResistance = 1.0
BackFlameResistance = 1.0
Description = Land Mines are exploded when triggered by pressure.

[LAND_MINE_TECH]
Type = GameTech
ResearchTime = 4500
ResourceCost = Ammo(10)
TechsInitial = 1
;TechProductionTime = 6500
HitPoints = 30
IsDroppable = false
Area = 1.95  ; if area is too high, then units sometimes injure themselves when they attack the mine to destroy it
Damage = 320
FriendlyFire = true
ResourceTypeConsumed = Ammo
ResourceConsumedPerShot = 4.0
AutoMinimizeArea = -1
AttackDesirability = 10.0
DamageFactorInfantry = 0.7
DamageFactorInfantryProne = 0.7
DamageFactorVehicle = 1.0
DamageFactorVehicleOccupant = 0.1
DamageFactorStructure = 0.8
DamageFactorStructureOccupantFighting = 0.15
DamageFactorStructureOccupantHiding = 0.1
DamageFactorTargetOnWall = 0.4
DamageFactorTargetBehindShortWall = 1.0

[SLOWNESS]
Type = GameTech
ResearchTime = 4500
ResourceCost = Salvage(20)
Range = 6.0
Area = 5.0
Duration = 1000
ShotSpeed = 3.0
TechsInitial = 1
TechProductionTime = 6500

[MADNESS]
Type = GameTech
ResearchTime = 4500
ResourceCost = Salvage(20)
Range = 6.0
Area = 1.5
ShotSpeed = 3.0
Duration = 1500							; duration is scaled based on radius of unit...larger units are mad for a shorter time, this duration is for units of radius 40
TechsInitial = 1
TechProductionTime = 6500

[SELECTIVE_FIRE]
Type = GameTech
ResearchTime = 1500
ResourceCost = Salvage(20)
TechUsageScaled = On


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; RESEARCH SITES
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SHELTER]
Type = StrategicSite
BuildTime = 15000
RuinCooldown = 3000
UnitStation = UNIT_STATION ( CargoSize = 100.0 | CargoHeightPos = 2.0 | CaptureTime = 18000 )
UnitFactory = UNIT_FACTORY ( Units = Soldier )
RemoteViewer = REMOTE_VIEWER

; ORIGINAL VALUES
;ResourceFactory = RESOURCE_FACTORY ( ResourceTypes = Survivors(Periods(ResourceRate = 3000, DepletionAfter = 8 | ResourceRate = 3500, DepletionAfter = 10 | ResourceRate = 4500, DepletionAfter = 14 | ResourceRate = 5500)))

; EXPERIMENTAL - this is slow production...
ResourceFactory = RESOURCE_FACTORY ( ResourceTypes = Survivors( RecoveryBonus = true, Periods(ResourceRate = 15000, ResourceRate_Bonus = 1500)))

ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Ammo( ReserveAmountForTeammate = 5.0 ) | FillToMaxcapacity = yes | ScanRange = 5 )
;ResourcePurchaser = RESOURCE_PURCHASER ( ResourceList = Ammo(ResourceCost = Salvage(10), ResourceAmount = 10, BuildTime = 500) )
;ResearchPurchaser = RESEARCH_PURCHASER ( GameTechs = First-Aid Kit(ResourceCost = Salvage(10), TechAmount = 1, BuildTime = 500, AddIntoAssetNetwork = no) )
Dock = DOCK ( ConcurrentUnloaders = 9 | CanLoad = yes | ResourceTypes = Salvage )
ResourceCapacityIsPooled = true
ProductionRatio = 0.0, 1.0 ; TODO remove this - dont require what we mak
Addons = Barracks, Soldier Barracks, Siege Barracks			;, Clinic, First-Aid Kit Assembly
Slots = 1
HasCorpse = true
HitPoints = 1000
AttackeeHeight = 2.4
; Requires = Salvage Yard
Description = A Shelter is where wasteland survivors gather. You can build a Barracks or Clinic here.
PopLimitScore = 10

[SALVAGE_YARD]
Type = StrategicSite
BuildTime = 15000
RuinCooldown = 3000
ResourceFactory = RESOURCE_FACTORY ( ResourceTypes = Salvage( DropOffThresholdAmount = 10, Periods( ResourceRate = 200, DepletionAfter = 500, BatchAmount = 1 | ResourceRate = 300, BatchAmount = 1 )), Ammo(DropOffThresholdAmount = 20, Periods(ResourceRate = 400, BatchAmount = 1, DepletionAfter = 50 | ResourceRate = 600, BatchAmount = 1)))
;ResourceFactory = RESOURCE_FACTORY ( ResourceTypes = Salvage( Periods(DepletionAfter = 600, ResourceRate = 150, BatchAmount = 1 | DepletionAfter = 300, ResourceRate = 300, BatchAmount = 1 | DepletionAfter = 150, ResourceRate = 600, BatchAmount = 1 | ResourceRate = -1, BatchAmount = 1 )), Ammo(Periods(ResourceRate = 300, BatchAmount = 1)))
UnitStation = UNIT_STATION ( CaptureTime = 18000 | CargoSize = 100.0 )
ResourceSender = RESOURCE_SHARE_SENDER ( ResourceList = Ammo( ReserveAmountForTeammate = 5.0 ) | FillToMaxcapacity = yes | ScanRange = 7 )
;ResearchPurchaser = RESEARCH_PURCHASER ( GameTechs = Spare Parts(ResourceCost = Salvage(20), TechAmount = 1, BuildTime = 500, AddIntoAssetNetwork = no) )
Dock = DOCK ( ConcurrentUnloaders = 9 | CanLoad = yes | ResourceTypes = Salvage, Ammo )
ResourceCapacityIsPooled = true
ProductionRatio = 0.0, 1.0
Addons = Garage, Auto Factory, Armor Factory, Siege Factory, Tank Factory		;, Mechanic, Spare Parts Salvage
Slots = 1
DropAmmo = 0.2
HasCorpse = true
HitPoints = 1000
AttackeeHeight = 0.9
; Requires = Shelter
Description = A Salvage yard allows you to gather salvage.
PopLimitScore = 12

[SUPER_TOXIC_SITE]
Type = StrategicSite
Addons = None
Slots = 0
HitPoints = -1
BuildTime = 1
Description = Site for making super weapon.

[HUT]
Type = StrategicSite
Addons = None
Slots = 1
HitPoints = -1
BuildTime = 1
Description = Site not used as of now.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; PLANT THE BOMB
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[PLANT_THE_BOMB]
Type = PlantTheBomb
UnitSpeedFactor = 2.0					; to increase the speed of all units 
UnitSpeedFactor_Carrying = 0.5			; applied when carrying the bomb
UnitBuyPeriod = 5.0						; in secs
MaxRoundTime = 240.0					; in secs
RoundRespawnTime = 4.0					; in secs - time between end of one round and start of another
CountdownPlantedBombExplodes = 24.0		; in secs
ClearUnitsEachRound = on				; if on, units are removed at the end of each round
GlobalHitPointModifier_Units = 0.5
PlayerPopLimit = 200					; player's pop limit (this is not currently working correctly)
ExplosionDamage = 150
ExplosionArea = 10
ResearchHuman = Target Tracking(15 0), Nitro Lab(20 6), Run-And-Gun Research(20 6), Turret Rotation Speed(8 0), Kinetic Damage Upgrade(15 0), Kinetic Range Upgrade(15 0), Combustive Damage Upgrade(15 0), Combustive Range Upgrade(15 0), Combustive Area Upgrade(15 0), Sticky Bomb(15 0), EMP Grenade(15 0), Mechanic Depot(20 6), Fire Station(20 6)
ResearchMutant = Target Tracking(15 0), Enhanced Speed(20 2), Passive Repair(20 2), Amplicon Upgrade(20 2), Extender Upgrade(20 2), Karkino Upgrade(20 2), Acid Bomb(15 0), Slowness(15 0), Madness(15 0), Emp Grenade(15 0), Taunt(15 0), Brawler Skin(15 0), Clench(20 2), Roach Shell(15 0), Levitation(15 0), Teleportation(15 0), Selective Fire(8 0)

;  resources given at start of game
InitialResources = Salvage(Amount = 150), Gas(Amount = 50), Ammo(Amount = 50) ; SurvivorsInStartGame = 18

;  resources given for winning a round (list is used for winning streaks)
Resources_WinRound = Salvage(Amount = 140, 130, 125, 120, 120), Gas(Amount = 46, 42, 39, 37, 36, 36), Ammo(Amount = 46, 42, 39, 37, 36, 36)

;  resources given for losing a round (list is used for losing streaks)
Resources_LoseRound = Salvage(Amount = 160, 170, 175, 180, 180), Gas(Amount = 54, 57, 59, 60, 60), Ammo(Amount = 54, 57, 59, 60, 60)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; BASE SITES
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[TEAMMATES_APART]
Type = TeammatesApart
InitialResources = Survivors(6), Salvage(100), Ammo(25), Gas(0)					; amount of resources, players have at start
;BaseSites = ;Shelter(Count = 1), Salvage Yard(Count = 1)	;, Gas Site(Count = 1), Precious Metal Site(Count = 1)	; how many gas sites start in your initial base -- if too many, they won't fit on certain maps
;BaseSalvageCount = 0						; how much Trash should be given to the player initially

[TEAMMATES_TOGETHER]					; when teammates are together -AND- a team has at least three Survivors
Type = TeammatesTogether
InitialResources = Survivors(6), Salvage(100), Ammo(25), Gas(0)					; amount of resources, players have at start
;Base Expansions = Short Wall Expansion
;BaseSites = ;Shelter(Count = 1), Salvage Yard(Count = 1)	;, Gas Site(Count = 1), Precious Metal Site(Count = 1)
;BaseSalvageCount = 0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; EXPANSION SITES
;
; Types of expansions: Base, Normal, Border, Road, Foliage, Misc
;
; Defensive expansion are special.
; Defense expansions are placed around this main expansion.
;
; Syntax:
; Type = <type> : Type of expansion.
; AllowOnRoad = on/off 				;	Allow on road. Default: on.
; AllowOnSteep = on/ off			;	Allow on steep areas. Default: off.
; Structures += <Structure name>.
; Defensive += <Defensive Expansion Name>
;
; Syntax Defensive:
; Type = Defensive.
; MinCount = x																	;	Min, how many of the structures to be placed.
; MaxCount = x																	;	Max, how many of the structures to be placed.
; DistanceFromSpotMin = x														;	Min, Distance from main expansion.
; DistanceFromSpotMax = x														;	Max, Distance from main expansion.
; DirectionType = Random/FaceMainExpansion/FaceOutward							;
; CheckFaceOpenLand = on/off													;	Checks if placement faces open land. 
; CloserToFriend = on/off														;	Use if you want the expansions to be placed closer to friend. Can only be used with base expansions. (As they belong to players, rest are neutral). Default: off.
; CloserToEnemy = on/off														;	Use if you want the expansions to be placed closer to enemy. Can only be used with base expansions. (As they belong to players, rest are neutral). Default: off.
; SkipScoreChecks = on/off														;	IMP: To be used with caution. Skips scoring of spots. Including checking if tiles are empty etc. Use only with generic map objs that do not alter gameplay. Default: off.
; Structures += <Structure name>												;	Structures to place
; Defensive += <Defensive Expansion Name>										;	Yes, defense objs can have their own defense objs. Make sure no circular dependencies are created though.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Base
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[BASES]
Type = Base Expansion
Defensive += Short Wall Expansion Base
;Defensive += Player Gate Expansion Base
Defensive += Gas Station Expansion
Defensive += Player Base Decal Expansion Tyre Tracks
Defensive += Player Base Decal Expansion
;Defensive
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; BUILD PLAN
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[BUILD_PLAN_1]
Peon = Soldier
constructRequirement = Auto Factory		: resources = gas(2)
ConstructRequirement = Armor Factory	: buildings = Auto Factory : resources = gas(40)
ConstructRequirement = Tank Factory		: buildings = Armor Factory : resources = ammo(100)
UnitClass = Rifleman					: continious = false : required = true : weight = 2
UnitClass = Flamer						: continious = false : required = true : weight = 2
UnitClass = rpg soldier					: continious = false : required = true : weight = 1
UnitClass = mortar soldier				: continious = false : required = true : weight = 1
UnitClass = Machine Gun Car				: continious = false : required = true : weight = 2
UnitClass = Flame Car					: continious = false : required = true : weight = 2
UnitClass = Armored Flame Car			: continious = false : required = true : weight = 2
UnitClass = Tank truck					: continious = false : required = true : weight = 2

[BUILD_PLAN_2]
Peon = Soldier
constructRequirement = Auto Factory		: resources = gas(2)
ConstructRequirement = Armor Factory	: buildings = Auto Factory : resources = gas(40)
ConstructRequirement = Tank Factory		: buildings = Armor Factory : resources = ammo(100)
UnitClass = Rifleman					: continious = false : required = true : weight = 3
UnitClass = HMG Soldier					: continious = false : required = true : weight = 3
UnitClass = sniper						: continious = false : required = true : weight = 3
UnitClass = mortar soldier				: continious = false : required = false : weight = 1
UnitClass = Flame Car					: continious = false : required = true : weight = 3
UnitClass = Armored Flame Car			: continious = false : required = true : weight = 2
UnitClass = Tank truck					: continious = false : required = true : weight = 2

;Tech = First-Aid Kit				: required = false : 10, -1
;Tech = Enhanced Speed				: required = false : 10, 30, 50, 80

;Upgrade = Run-And-Gun Research		: required = false : 25, -1
;Upgrade = Nitro Lab					: required = false : 25, 55, 120, -1
;Upgrade = Kinetic Damage Upgrade	: required = false : 8, 25, 60, 100, 150
;Upgrade = Kinetic Range Upgrade		: required = false : 12, 32, 65, 110, 170
;Upgrade = Amplicon Upgrade			: required = false : 13, 35, 60, 120

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[HUMAN_BUILD_SITES]

; define locations in the build UI - use None as a spacer
; For Soldier
Basic1_0 = Pipe
Basic1_1 = None
Basic1_2 = None
Basic1_3 = Cannon Tower
Basic1_4 = Mini Super Gun
; row 2
Basic1_5 = Barracks
Basic1_6 = Clinic
Basic1_7 = Gun Bunker
Basic1_8 = Super Tank
Basic1_9 = Super Gun
; row 3
Basic1_10 = Auto Factory
Basic1_11 = Mechanic
Basic1_12 = Flame Tower
Basic1_13 = Super Launcher
Basic1_14 = None ; currently the back button

; row 1
Basic2_0 = Flame Tower
Basic2_1 = Auto Factory
Basic2_2 = None
Basic2_3 = Gate
Basic2_4 = Wall
; row 2
Basic2_5 = None
Basic2_6 = Super Tank
Basic2_7 = Super Launcher
Basic2_8 = None
Basic2_9 = Wall Stairs

; these require precious metal sites
Basic3_0 = None
Basic3_1 = None
Basic3_2 = None
Basic3_3 = Cannon Tower
Basic3_4 = Mini Super Gun
; row 2
Basic3_5 = None
Basic3_6 = None
Basic3_7 = None
Basic3_8 = Super Tank 
Basic3_9 = Super Gun
; row 3
Basic3_10 = None
Basic3_11 = None
Basic3_12 = None
Basic3_13 = Super Launcher
Basic3_14 = None

; this catagory is no longer used
Basic4_0 = None
Basic4_1 = None
Basic4_2 = None
Basic4_3 = None
Basic4_4 = None
; row 2
Basic4_5 = None
Basic4_6 = None
Basic4_7 = None
Basic4_8 = None
Basic4_9 = None

; define locations in the build UI - use None as a spacer
; For Shelter
Basic5_0 = None
Basic5_1 = None
Basic5_2 = None
Basic5_3 = None
Basic5_4 = None
; row 2
Basic5_5 = Barracks
Basic5_6 = Clinic
Basic5_7 = Gun Bunker
Basic5_8 = None
Basic5_9 = None
; row 3
Basic5_10 = Auto Factory
Basic5_11 = Mechanic
Basic5_12 = Flame Tower
Basic5_13 = None
Basic5_14 = None ; currently the soldier
