Skip to content

Tower Configuration

Sumner Evans edited this page Dec 22, 2016 · 5 revisions

Creating a New Tower Configuration

To create a new tower, you need to create a new tower configuration in the angle/server/src/main/resources/configs/towers/ directory. The tower configurations are JSON files. The tower config should be named something logical (i.e. lightning_tower.json not tower2.json).

Modifying an Existing Tower Configuration

All existing tower configurations should be in angle/server/src/main/resources/configs/towers/.

Configuration Options

(R) = required

All Towers

  • (R) name: the display name of the tower
  • (R) provided_by: the functionality provider for the tower
  • (R) price: the price of the tower
  • upgrades_to: an array of entity names that the tower can upgrade to. For example, "towers.air2" indicates that the tower can be upgraded to a air2 with the config in configs/towers/air2.json

Directional Tower Specific

  • (R) dtheta: the width of the fire angle in radians
  • (R) damage: the damage that the tower outputs
  • (R) fire_rate: the rate of fire for the tower
  • (R) range: the range of the tower
  • initial_angle: "random" or a number indicating the initial angle in radians. Default: "random"
  • is_area_of_effect: true to damage all units in range, false to only damage one unit at a time. Default: false

Sample Configuration

air_tower.json
----------------------------------------------

{
    "name": "Air Tower",
    "provided_by": "directional_tower",
    "dtheta": 0.02777777777777777,
    "damage": 10,
    "price": 30,
    "initial_angle": "random",
    "fire_rate": 2,
    "range": 5,
    "is_area_of_effect": false,
    "upgrades_to": ["towers.air2"]
}