pub struct Fortress {Show 18 fields
pub buildings: EnumMap<FortressBuildingType, FortressBuilding>,
pub units: EnumMap<FortressUnitType, FortressUnit>,
pub resources: EnumMap<FortressResourceType, FortressResource>,
pub last_collectable_updated: Option<DateTime<Local>>,
pub building_max_lvl: u8,
pub wall_combat_lvl: u16,
pub building_upgrade: FortressAction<FortressBuildingType>,
pub upgrades: u16,
pub honor: u32,
pub rank: Option<u32>,
pub gem_search: FortressAction<GemType>,
pub hall_of_knights_level: u16,
pub hall_of_knights_upgrade_price: FortressCost,
pub attack_target: Option<PlayerId>,
pub attack_free_reroll: Option<DateTime<Local>>,
pub opponent_reroll_price: u64,
pub secret_storage_stone: u64,
pub secret_storage_wood: u64,
}
Expand description
The information about a characters fortress
Fields§
§buildings: EnumMap<FortressBuildingType, FortressBuilding>
All the buildings, that a fortress can have. If they are not yet built, they are level 0
units: EnumMap<FortressUnitType, FortressUnit>
Information about all the buildable units in the fortress
resources: EnumMap<FortressResourceType, FortressResource>
All information about resources in the fortress
last_collectable_updated: Option<DateTime<Local>>
The last_collectable
variable in FortessProduction
is NOT
calculated whenever you did the last request, instead the server
calculates it at regular points in time and whenever you collect
resources. That point in time is this variable here. That means if
you want to know the exact current value, that you can collect, you
need to calculate that yourself based on the current time, this
time, the last collectable value and the per hour production of
whatever you are looking at
building_max_lvl: u8
The highest level buildings can be upgraded to
wall_combat_lvl: u16
The level the fortress wall will have when defending against another player
building_upgrade: FortressAction<FortressBuildingType>
Information about the building, that is currently being upgraded
upgrades: u16
The upgrades count visible on the HOF screen for fortress. Should be all building levels summed up
honor: u32
The honor you have in the fortress Hall of Fame
rank: Option<u32>
The rank you have in the fortress Hall of Fame if you have any
gem_search: FortressAction<GemType>
Information about searching for gems
hall_of_knights_level: u16
The level of the hall of knights
hall_of_knights_upgrade_price: FortressCost
The price to upgrade the hall of knights. Note, that the duration here will be 0, as the game does not tell you how long it will take
attack_target: Option<PlayerId>
The next enemy you can choose to battle. This should always be Some, but there is the edge case of being the first player on a server to get a fortress, which I can not even test for, so I just assume this could be none then.
attack_free_reroll: Option<DateTime<Local>>
The time at which switching is free again
opponent_reroll_price: u64
The price in silver re-rolling costs
secret_storage_stone: u64
The amount of stone currently in your secret storage
secret_storage_wood: u64
The amount of wood currently in your secret storage
Implementations§
Source§impl Fortress
impl Fortress
Sourcepub fn in_use(&self, building_type: FortressBuildingType) -> bool
pub fn in_use(&self, building_type: FortressBuildingType) -> bool
Check if units are being trained in the building (soldiers in barracks, magicians in mages’ tower, archers in archery guild), or gem mining is in progress
Sourcepub fn can_build(
&self,
building_type: FortressBuildingType,
available_silver: u64,
) -> bool
pub fn can_build( &self, building_type: FortressBuildingType, available_silver: u64, ) -> bool
Checks whether or not it is possible to build/upgrade a building