#include <CombatEventHandler.h>
Public Member Functions | |
CombatEventHandler () | |
virtual | ~CombatEventHandler () |
void | Event (cbtevent *pEvent, ag *pSrc, ag *pDst, const char *pSkillname, uint64_t pId, uint64_t pRevision=1) |
bool | EventsPending () |
void | Reset () |
void | Shutdown () |
Protected Member Functions | |
virtual void | EventInternal (cbtevent *pEvent, ag *pSrc, ag *pDst, const char *pSkillname, uint64_t pId, uint64_t pRevision) |
virtual void | AgentAdded (const std::string &pAccountName, const std::string &pCharacterName, uintptr_t pId, uintptr_t pInstanceId, Prof pProfession, uint32_t pElite, bool pSelf, uint16_t pTeam, uint8_t pSubgroup) |
virtual void | AgentRemoved (const std::string &pAccountName, const std::string &pCharacterName, uintptr_t pId, bool pSelf) |
virtual void | TargetChange (uintptr_t pId) |
virtual void | EnterCombat (uint64_t pTime, uintptr_t pAgentId, uint8_t pSubgroup, const ag &pAgent) |
virtual void | ExitCombat (uint64_t pTime, uintptr_t pAgentId, const ag &pAgent) |
virtual void | ChangeUp (uint64_t pTime, uintptr_t pAgentId, const ag &pAgent) |
virtual void | ChangeDead (uint64_t pTime, uintptr_t pAgentId, const ag &pAgent) |
virtual void | ChangeDown (uint64_t pTime, uintptr_t pAgentId, const ag &pAgent) |
virtual void | LogStart (uint64_t pTime, uint32_t pServerTime, uint32_t pLocalTime, uintptr_t pSpeciesId) |
virtual void | LogEnd (uint64_t pTime, uint32_t pServerTime, uint32_t pLocalTime, uintptr_t pSpeciesId) |
virtual void | LogNpcUpdate (uint64_t pTime, uint32_t pServerTime, uint32_t pLocalTime, uintptr_t pSpeciesId) |
virtual void | WeaponSwap (uint64_t pTime, uintptr_t pAgentId, WeaponSet pWeaponSet, const ag &pAgent) |
virtual void | Reward (uint64_t pTime, uintptr_t pSelfId, uintptr_t pRewardId, int32_t pRewardType) |
virtual void | TeamChange (uint64_t pTime, uintptr_t pAgentId, uintptr_t pNewTeam, const ag &pAgent) |
virtual void | StackActive (uint64_t pTime, uintptr_t pAgentId, uintptr_t pStackId, const ag &pAgent) |
virtual void | StackReset (uint64_t pTime, uintptr_t pAgentId, uintptr_t pDuration, uint32_t pStackId, const ag &pAgent) |
virtual void | StatReset (uint64_t pTime) |
virtual void | Extension (uint64_t pTime, cbtevent *pEvent, ag *pSrc, ag *pDst, const char *pSkillname, uint64_t pId) |
virtual void | Delayed (uint64_t pTime, cbtevent *pEvent, ag *pSrc, ag *pDst, const char *pSkillname, uint64_t pId) |
virtual void | InstanceStart (uint64_t pTime, uintptr_t pStartTime) |
virtual void | Tickrate (uint64_t pTime, uintptr_t pData) |
virtual void | Last90BeforeDown (uint64_t pTime, uintptr_t pEnemyAgent, uintptr_t pSinceTime) |
virtual void | Activation (uint64_t pTime, cbtevent *pEvent, const ag &pSrc, const ag &pDst, const char *pSkillname, uint64_t pId) |
virtual void | BuffRemove (uint64_t pTime, const cbtevent *pEvent, const ag &pSrc, const ag &pDst, const char *pSkillname, uint64_t pId, uint32_t pStackId) |
virtual void | BuffDamage (uint64_t pTime, cbtevent *pEvent, const ag &pSrc, const ag &pDst, const char *pSkillname, uint64_t pId) |
virtual void | BuffApply (uint64_t pTime, const cbtevent *pEvent, const ag &pSrc, const ag &pDst, const char *pSkillname, uint64_t pId, uint32_t pStackId) |
virtual void | Strike (uint64_t pTime, cbtevent *pEvent, const ag &pSrc, const ag &pDst, const char *pSkillname, uint64_t pId) |
virtual void | BuffInitial (uint64_t pTime, cbtevent *pEvent, const ag &pSrc, const ag &pDst, const char *pSkillname, uint64_t pId, uint32_t pStackId) |
virtual void | Log (const std::string &pText) |
Protected Attributes | |
uint64_t | mLastEventTime = 0 |
For every combat event call Event()
The virtual protected functions are called for every event. This will happen in the correct order and in a separate thread. Call Shutdown()
in mod_release
to stop execution of events and stop the thread.
|
inlineexplicit |
|
inlinevirtual |
|
inlineprotectedvirtual |
Activation Event, not further deduced. For more information see the arcdps documentation. If you need deduction, change these files and create a PR.
|
inlineprotectedvirtual |
Agent is added to the tracking
pAccountName | AccountName of the adedd agent |
pCharacterName | CharacterName of the added agent |
pId | The ID of the added agent |
pInstanceId | Current Map instance ID, used to detect if players are on the same instance. |
pProfession | The Profession of the added agent |
pElite | The Elite specialization of the added agent |
pSelf | true if the agent is the local player. |
pTeam | The team this agent is part of. |
pSubgroup | The subgroup in which this agent is currently (only updated on EnterCombat again) |
|
inlineprotectedvirtual |
Agent is removed from tracking.
pAccountName | AccountName of the removed agent |
pCharacterName | CharacterName of the removed agent |
pId | The ID of the removed agent |
pSelf | true if the agent is the local player. |
|
inlineprotectedvirtual |
BuffApply event, not further deduced. This is called every time a stack of a buff is added. For more information see the arcdps documentation. If you need deduction, change these files and create a PR.
|
inlineprotectedvirtual |
BuffDamage event, not further deduced. This is called every time the buff simulation shows damage (mostly for condis, which are also buffs). For more information see the arcdps documentation. If you need deduction, change these files and create a PR.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
BuffRemove event, not further deduced. This is called every time a stack is removed. For more information see the arcdps documentation. If you need deduction, change these files and create a PR.
|
inlineprotectedvirtual |
The agent with the pAgentId
is now in Dead.
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pAgentId | The ID of the agent |
pAgent | The actual agent if it is needed with additional information (charactername) |
|
inlineprotectedvirtual |
The agent with the pAgentId
is now in Downstate.
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pAgentId | The ID of the agent |
pAgent | The actual agent if it is needed with additional information (charactername) |
|
inlineprotectedvirtual |
The agent with the pAgentId
is now in Alive (this is only called when the agent was dead/downed before).
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pAgentId | The ID of the agent |
pAgent | The actual agent if it is needed with additional information (charactername) |
|
inlineprotectedvirtual |
This is called by arcdps for events that are delayed as anti-cheat-measure. Mostly known for hidden buffs that you get when you get a mechanic. This has to be parsed by yourself, cause i don't know how this works exactly. If you want to use this you can also parse the events previously and send them over the correct channels.
|
inlineprotectedvirtual |
The agent with the pAgentId
is now in combat.
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pAgentId | The ID of the agent |
pAgent | The actual agent if it is needed with additional information (charactername) |
void ArcdpsExtension::CombatEventHandler::Event | ( | cbtevent * | pEvent, |
ag * | pSrc, | ||
ag * | pDst, | ||
const char * | pSkillname, | ||
uint64_t | pId, | ||
uint64_t | pRevision = 1 |
||
) |
|
protectedvirtual |
All events will call this before they are handled. If you decide to override this function, make sure to also call the parent one, else all other callbacks are never called. Parameters are 1to1 arcdps' parameters
bool ArcdpsExtension::CombatEventHandler::EventsPending | ( | ) |
|
inlineprotectedvirtual |
The agent with the pAgentId
is now out of combat.
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pAgentId | The ID of the agent |
pAgent | The actual agent if it is needed with additional information (charactername) |
|
inlineprotectedvirtual |
Extension is used when extensions send events over arcdps (the only addon i know that does this is the healing stats addon). If you want to parse anything of that life, you have to pare it yourself.
|
inlineprotectedvirtual |
Roughly the log-relative ms that the server started the instance.
pTime | Time of the event (Windows timegettime function aka time since startup) |
pStartTime | roughly the log-relative ms that the server started the instance |
|
inlineprotectedvirtual |
pTime | Time of the event (Windows timegettime function aka time since startup) |
pEnemyAgent | enemy agent that went down |
pSinceTime | time in ms since last 90% (for downs contribution) |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pServerTime | Current unix timestamp on the server (UTC) |
pLocalTime | Current unix timestamp of local user time |
pSpeciesId | Species ID of the boss that this Log is for. |
|
inlineprotectedvirtual |
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pServerTime | Current unix timestamp on the server (UTC) |
pLocalTime | Current unix timestamp of local user time |
pSpeciesId | Species ID of the boss that this Log is for. |
|
inlineprotectedvirtual |
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pServerTime | Current unix timestamp on the server (UTC) |
pLocalTime | Current unix timestamp of local user time |
pSpeciesId | Species ID of the boss that this Log is for (normally 1). |
|
inline |
Reset everything here aka. calls Reset on the sequencer. This has no live api uses. Only use in tests!
|
inlineprotectedvirtual |
Reward is only called for the local user (these are the wiggly boxes you get).
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pSelfId | The Id of the local user |
pRewardId | The Id of the reward you get (not always unique, but mostly) |
pRewardType | The Type of the reward |
|
inline |
|
inlineprotectedvirtual |
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pAgentId | The Id of the agent with the buff |
pStackId | The StackId that is marked as active |
pAgent | The actual agent if it is needed with additional information (charactername) |
|
inlineprotectedvirtual |
Reset the stack to given duration, also disables the stack
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pAgentId | The Id of the agent with the buff |
pDuration | The Duration to reset to |
pStackId | The StackId that is changed and marked inactive |
pAgent | The actual agent if it is needed with additional information (charactername) |
|
inlineprotectedvirtual |
Reset all stats (this is there when the arcdps api resets all it's stats. e.g. after the Xera pre)
pTime | Time of the event (Windows timegettime function aka. time since startup) |
|
inlineprotectedvirtual |
Strike event, not further deduced. This is called for every hit on something. For more information see the arcdps documentation. If you need deduction, change these files and create a PR.
|
inlineprotectedvirtual |
Changed target (this is only called for the local user).
pId | The ID of the agent that is now Targeted |
|
inlineprotectedvirtual |
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pAgentId | The Id of the agent |
pNewTeam | The new team the agent is now part if |
pAgent | The actual agent if it is needed with additional information (charactername) |
|
inlineprotectedvirtual |
Called every 500ms
pTime | Time of the event (Windows timegettime function aka time since startup) |
pData | = 25 - tickrate (when tickrate < 21) |
|
inlineprotectedvirtual |
pTime | Time of the event (Windows timegettime function aka. time since startup) |
pAgentId | The Id of the agent |
pWeaponSet | The weaponSet which was swapped to |
pAgent | The actual agent if it is needed with additional information (charactername) |
|
protected |
The time of the currently executed Event. Reset every executed event.