Struct evtclib::Log

source · []
pub struct Log { /* private fields */ }
Expand description

A fully processed log file.

Implementations

Return all agents present in this log.

Return an agent based on its address.

Return an agent based on the instance ID.

Return the master agent of the given agent.

  • addr - The address of the agent which to get the master for.

Return an iterator over all agents that represent player characters.

Return an iterator over all agents that are characters.

Return an iterator over all agents that are gadgets.

Return the boss agent.

Be careful with encounters that have multiple boss agents, such as Trio and Xera.

Panics

This function will panic if the boss agent cannot be found. For a more failsafe version, see Log::boss_agents.

Return all boss agents.

This correctly returns multiple agents on encounters where multiple agents are needed.

Check whether the given address is a boss agent.

Returns the encounter id.

Returns the encounter, if present.

Some logs don’t have an encounter set or have an ID that is unknown to us (for example, if people set up arcdps with custom IDs). Therefore, this method can only return the encounter if we know about it in Encounter.

Return an analyzer suitable to analyze the given log.

Return all events present in this log.

Returns the timespan of the log in milliseconds.

The timespan is the time between the first registered event and the last registered event, measured in milliseconds.

Note that this does not necessarily equate to the fight/encounter duration, as arcdps starts logging as soon as you enter combat, but some bosses are still invulnerable (e.g. Ensolyss). It does however give a good idea and is cheap to compute.

In the rare occassions that a log does not have any events, this function will return 0.

Check whether this log represents a “generic” log.

A generic log is a log that is not tied to a specific boss ID, but rather is triggered by squad members entering and leaving combat. This is for example the case in WvW logs, which can be identified using this function.

Note that many of the analyzing functions (such as Log::was_rewarded) do not have sensible results for generic functions.

Returns the game mode that the log was made in.

Note that if the game mode cannot be determined or is unknown to evtclib, None is returned.

Convenience data accessing funtions for Logs.

The information that is gathered by those functions is “expensive” to compute, as we have to loop through every event. They are not saved in the header, and instead are implemented using special EventKinds. This is not a limitation of evtclib, but rather a result of how arcdps stores the data.

This also means that those functions are fallible because we cannot guarantee that the special events that we’re looking for is actually present in every log file.

Use those functions only if necessary, and prefer to cache the result if it will be reused!

Check whether the fight was done with challenge mote activated.

This function always returns false if

  • The fight was done without CM
  • The fight does not have a CM
  • We cannot determine whether the CM was active
  • The boss is not known

Get the timestamp of when the log was started.

The returned value is a unix timestamp in the local time zone.

If the LogStart event cannot be found, this function returns None.

Get the timestamp of when the log was ended.

The returned value is a unix timestamp in the local time zone.

If the LogEnd event cannot be found, this function returns None.

Check if rewards for this fight have been given out.

This can be used as an indication whether the fight was successful (true) or not (false).

If you want to properly determine whether a fight was successful, check the Analyzer::outcome method, which does more sophisticated checks (dependent on the boss).

Returns all error strings that were captured.

If no errors were encountered, an empty vec is returned.

Note that those are errors reported verbatim by arcdps, nothing that evtclib produces/interprets.

Returns the game’s build id.

If no build id was found, None is returned.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.