[−][src]Trait weasel::character::CharacterRules
Rules to define the structure and the behavior of characters.
Associated Types
type CreatureId: Hash + Eq + Clone + Debug + Send + Serialize + for<'a> Deserialize<'a>
See CreatureId.
type ObjectId: Hash + Eq + Clone + Debug + Send + Serialize + for<'a> Deserialize<'a>
See ObjectId.
type Statistic: Id + 'static
See Statistic.
type StatisticsSeed: Clone + Debug + Send + Serialize + for<'a> Deserialize<'a>
See StatisticsSeed.
type StatisticsAlteration: Clone + Debug + Send + Serialize + for<'a> Deserialize<'a>
See StatisticsAlteration.
type Status: Id + 'static
See Status.
type StatusesAlteration: Clone + Debug + Send + Serialize + for<'a> Deserialize<'a>
See StatusesAlteration.
Provided methods
fn generate_statistics(
&self,
_seed: &Option<Self::StatisticsSeed>,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
) -> Box<dyn Iterator<Item = Self::Statistic>>
&self,
_seed: &Option<Self::StatisticsSeed>,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
) -> Box<dyn Iterator<Item = Self::Statistic>>
Generates all statistics of a character. Statistics should have unique ids, otherwise only the last entry will be persisted.
The provided implementation generates an empty set of statistics.
fn alter_statistics(
&self,
_character: &mut dyn Character<R>,
_alteration: &Self::StatisticsAlteration,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
) -> Option<Transmutation>
&self,
_character: &mut dyn Character<R>,
_alteration: &Self::StatisticsAlteration,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
) -> Option<Transmutation>
Alters one or more statistics starting from the given alteration object.
Returns an optional Transmutation
to be applied to the character as result of
this alteration.
The provided implementation does nothing.
fn generate_status(
&self,
_character: &dyn Character<R>,
_status_id: &StatusId<R>,
_potency: &Option<Potency<R>>,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
) -> Option<Status<R>>
&self,
_character: &dyn Character<R>,
_status_id: &StatusId<R>,
_potency: &Option<Potency<R>>,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
) -> Option<Status<R>>
Generates a status to be applied to the given character.
Returns the new status or nothing if no status should be added. Existing status with
the same id will be replaced.
The provided implementation returns None
.
fn alter_statuses(
&self,
_character: &mut dyn Character<R>,
_alteration: &Self::StatusesAlteration,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
)
&self,
_character: &mut dyn Character<R>,
_alteration: &Self::StatusesAlteration,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
)
Alters one or more statuses starting from the given alteration object.
The provided implementation does nothing.
fn on_character_added(
&self,
_state: &BattleState<R>,
_character: &dyn Character<R>,
_event_queue: &mut Option<EventQueue<R>>,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
)
&self,
_state: &BattleState<R>,
_character: &dyn Character<R>,
_event_queue: &mut Option<EventQueue<R>>,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
)
Invoked when a character is added to the battle.
The provided implementation does nothing.
fn on_character_transmuted(
&self,
_state: &BattleState<R>,
_character: &dyn Character<R>,
_transmutation: Transmutation,
_event_queue: &mut Option<EventQueue<R>>,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
)
&self,
_state: &BattleState<R>,
_character: &dyn Character<R>,
_transmutation: Transmutation,
_event_queue: &mut Option<EventQueue<R>>,
_entropy: &mut Entropy<R>,
_metrics: &mut WriteMetrics<'_, R>
)
Invoked when a character is transmuted during the battle.
The provided implementation does nothing.