Fortress

Struct Fortress 

Source
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

Source

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

Source

pub fn can_build( &self, building_type: FortressBuildingType, available_silver: u64, ) -> bool

Checks whether or not it is possible to build/upgrade a building

Trait Implementations§

Source§

impl Clone for Fortress

Source§

fn clone(&self) -> Fortress

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Fortress

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Fortress

Source§

fn default() -> Fortress

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Fortress

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Fortress

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,