summaryrefslogtreecommitdiff
path: root/src/engine/constants.rs
blob: 9ece36d3ce0ad9fced92cfaf89cbc70cf0c7713b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
pub const FULL_MAP_WIDTH: u8 = 16;
pub const SINGLE_MAP_WIDTH: u8 = FULL_MAP_WIDTH/2;
pub const MAP_HEIGHT: u8 = 8;

pub const MISSILE_COOLDOWN: usize = 3;
pub const MISSILE_COOLDOWN_STATES: usize = MISSILE_COOLDOWN+1;
pub const MISSILE_SPEED: usize = 2;
pub const MISSILE_MAX_SINGLE_CELL: usize = SINGLE_MAP_WIDTH as usize / MISSILE_SPEED;
pub const MISSILE_DAMAGE: u8 = 5;
pub const MISSILE_PRICE: u16 = 30;
pub const MISSILE_CONSTRUCTION_TIME: u8 = 1;

pub const DEFENCE_HEALTH: usize = 4; // '20' health is 4 hits
pub const DEFENCE_PRICE: u16 = 30;
pub const DEFENCE_CONSTRUCTION_TIME: u8 = 3;

pub const TESLA_MAX: usize = 2;
pub const TESLA_COOLDOWN: u8 = 10;
pub const TESLA_FIRING_ENERGY: u16 = 100;
pub const TESLA_DAMAGE: u8 = 20;
pub const TESLA_PRICE: u16 = 100;
pub const TESLA_CONSTRUCTION_TIME: u8 = 10;

pub const ENERGY_GENERATED_BASE: u16 = 5;
pub const ENERGY_GENERATED_TOWER: u16 = 3;
pub const ENERGY_PRICE: u16 = 20;
pub const ENERGY_CONSTRUCTION_TIME: u8 = 1;

pub const IRON_CURTAIN_PRICE: u16 = 100;
pub const IRON_CURTAIN_UNLOCK_INTERVAL: u16 = 30;
pub const IRON_CURTAIN_DURATION: u8 = 6;

pub const DECONSTRUCT_ENERGY: u16 = 5;

pub const MAX_CONCURRENT_CONSTRUCTION: usize = 6; //2 teslas, and 3 of anything else, 1 extra because it's push here then update construction times


#[cfg(not(feature = "reduced-time"))]
#[cfg(not(feature = "extended-time"))]
pub const MAX_TIME_MILLIS: i64 = 1950;

#[cfg(feature = "reduced-time")]
pub const MAX_TIME_MILLIS: i64 = 950;

#[cfg(feature = "extended-time")]
pub const MAX_TIME_MILLIS: i64 = 19950;