Expand description
Traits and structures to analyze fights.
Fights need different logic in order to determine specific data, for example each fight has a different way to determine whether or not the Challenge Mote was activated, whether or not the fight was successful, …
This module aims to unify that logic by providing the Analyzer
trait, which
provides a unified interface to query this information. You can use
Log::analyzer
or for_log
to obtain an analyzer fitting for the
encounter that is represented by the log.
Most of the time, you will be dealing with a dynamically dispatched version of
Analyzer
, that is either &dyn Analyzer
or Box<dyn Analyzer>
. Also keep in
mind that an analyzer keeps a reference to the log that it is analyzing, which can be accessed
through Analyzer::log
.
The implementation of the different analyzers is split off in different submodules:
raids
for the raid-related encounters.fractals
for the fractal-specific encounters.strikes
for the strike-mission specific encounters.
Note that you should not create concrete analyzers on your own, as the behaviour is not
specified when you use a wrong analyzer for the given log. Rely only on
Log::analyzer
(or for_log
) and the methods defined in
Analyzer
.
Modules
Analyzers for (challenge mote) fractal encounters.
This module contains helper methods that are used in different analyzers.
Analyzers for raid logs.
Analyzers for Strike Mission logs.
Enums
The outcome of a fight.