|
33 | 33 | #================================================================================
|
34 | 34 | # Unit types
|
35 | 35 |
|
36 |
| -# name, cost, movementPoints, vision, maxAmmunition |
| 36 | +# name, cost, movementPoints, vision, maxAmmunition, maxFuel |
37 | 37 | # Ground units
|
38 |
| -infantery = UnitType('Infantery', 1000, 3, 2, 0, canCapture = True) |
39 |
| -mech = UnitType('Mech', 3000, 2, 2, 3, canCapture = True) |
40 |
| -recon = UnitType('Recon', 4000, 8, 5, 0) |
41 |
| -apc = UnitType('APC', 5000, 6, 1, 0, canSupply = True) |
42 |
| -antiAir = UnitType('Anti-Air', 8000, 6, 2, 9) |
43 |
| -tank = UnitType('Tank', 7000, 6, 3, 9) |
44 |
| -mediumTank = UnitType('Medium Tank', 16000, 5, 1, 8) |
45 |
| -heavyTank = UnitType('Heavy Tank', 22000, 6, 1, 9) |
46 |
| -artillery = UnitType('Artillery', 6000, 5, 1, 9, minRange = 2, maxRange = 3, canActAfterMoving = False, canRetaliate = False) |
47 |
| -rockets = UnitType('Rockets', 15000, 5, 1, 6, minRange = 3, maxRange = 5, canActAfterMoving = False, canRetaliate = False) |
48 |
| -missiles = UnitType('Missiles', 12000, 4, 5, 6, minRange = 3, maxRange = 5, canActAfterMoving = False, canRetaliate = False) |
| 38 | +infantery = UnitType('Infantery', 1000, 3, 2, 0, 99, canCapture = True) |
| 39 | +mech = UnitType('Mech', 3000, 2, 2, 3, 70, canCapture = True) |
| 40 | +recon = UnitType('Recon', 4000, 8, 5, 0, 80) |
| 41 | +apc = UnitType('APC', 5000, 6, 1, 0, 70, canSupply = True) |
| 42 | +antiAir = UnitType('Anti-Air', 8000, 6, 2, 9, 60) |
| 43 | +tank = UnitType('Tank', 7000, 6, 3, 9, 70) |
| 44 | +mediumTank = UnitType('Medium Tank', 16000, 5, 1, 8, 50) |
| 45 | +heavyTank = UnitType('Heavy Tank', 22000, 6, 1, 9, 99) |
| 46 | +artillery = UnitType('Artillery', 6000, 5, 1, 9, 50, minRange = 2, maxRange = 3, canActAfterMoving = False, canRetaliate = False) |
| 47 | +rockets = UnitType('Rockets', 15000, 5, 1, 6, 50, minRange = 3, maxRange = 5, canActAfterMoving = False, canRetaliate = False) |
| 48 | +missiles = UnitType('Missiles', 12000, 4, 5, 6, 50, minRange = 3, maxRange = 5, canActAfterMoving = False, canRetaliate = False) |
49 | 49 |
|
50 | 50 | # Aerial units
|
51 |
| -fighter = UnitType('Fighter', 20000, 9, 2, 9) |
52 |
| -bomber = UnitType('Bomber', 22000, 7, 2, 9) |
53 |
| -battleCopter = UnitType('Battle copter', 9000, 6, 3, 6) |
54 |
| -transportCopter = UnitType('Transport copter', 5000, 6, 2, 0) |
| 51 | +fighter = UnitType('Fighter', 20000, 9, 2, 9, 99) |
| 52 | +bomber = UnitType('Bomber', 22000, 7, 2, 9, 99) |
| 53 | +battleCopter = UnitType('Battle copter', 9000, 6, 3, 6, 99) |
| 54 | +transportCopter = UnitType('Transport copter', 5000, 6, 2, 0, 99) |
55 | 55 |
|
56 | 56 | # Naval units
|
57 |
| -battleShip = UnitType('Battleship', 28000, 5, 2, 9, minRange = 2, maxRange = 6, canActAfterMoving = False, canRetaliate = False) |
58 |
| -cruiser = UnitType('Cruiser', 18000, 6, 3, 9) |
59 |
| -lander = UnitType('Lander', 12000, 6, 1, 0) |
60 |
| -sub = UnitType('Sub', 20000, 5, 5, 6, canHide = True) |
| 57 | +battleShip = UnitType('Battleship', 28000, 5, 2, 9, 99, minRange = 2, maxRange = 6, canActAfterMoving = False, canRetaliate = False) |
| 58 | +cruiser = UnitType('Cruiser', 18000, 6, 3, 9, 99) |
| 59 | +lander = UnitType('Lander', 12000, 6, 1, 0, 99) |
| 60 | +sub = UnitType('Sub', 20000, 5, 5, 6, 60, canHide = True) |
61 | 61 |
|
62 | 62 | groundUnits = [infantery, mech, recon, apc, antiAir, tank, mediumTank, heavyTank, artillery, rockets, missiles]
|
63 | 63 | aerialUnits = [fighter, bomber, battleCopter, transportCopter]
|
|
68 | 68 | fighter, bomber, battleCopter, transportCopter, \
|
69 | 69 | battleShip, cruiser, lander, sub])
|
70 | 70 |
|
| 71 | +# Aerial and naval units take some fuel each turn, and they die if they run out of fuel |
| 72 | +for unitType in aerialUnits + navalUnits: |
| 73 | + unitType.needsFuelToStayAlive = True |
| 74 | + |
| 75 | +fighter.fuelCostPerTurn = 5 |
| 76 | +bomber.fuelCostPerTurn = 5 |
| 77 | +battleCopter.fuelCostPerTurn = 2 |
| 78 | +transportCopter.fuelCostPerTurn = 2 |
| 79 | + |
| 80 | +battleShip.fuelCostPerTurn = 1 |
| 81 | +cruiser.fuelCostPerTurn = 1 |
| 82 | +lander.fuelCostPerTurn = 1 |
| 83 | +sub.fuelCostPerTurn = 1 |
| 84 | +sub.fuelCostPerTurnWhileHiding = 5 |
| 85 | + |
71 | 86 | # Infantery can look further when standing on tall mountains
|
72 | 87 | infantery.overrideVisionForTerrainType(mountain, 4)
|
73 | 88 | mech.overrideVisionForTerrainType(mountain, 4)
|
|
0 commit comments