mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-26 07:23:34 +00:00
80f8dd8003
* WIP Immunities * Immunity getters * remove redundent variable replace it use with it's equivalent * remove unused lookups, fix typos * fix tests * added imunity test * address feedback * more immunity tests * explicit this
43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
#pragma once
|
|
#include "Behavior.h"
|
|
|
|
class ImmunityBehavior final : public Behavior
|
|
{
|
|
public:
|
|
/*
|
|
* Inherited
|
|
*/
|
|
|
|
explicit ImmunityBehavior(const uint32_t behaviorId) : Behavior(behaviorId) {
|
|
}
|
|
|
|
void Handle(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
|
|
|
|
void Calculate(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
|
|
|
|
void Timer(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) override;
|
|
|
|
void Load() override;
|
|
|
|
private:
|
|
// stuns
|
|
bool m_ImmuneToStunAttack = false;
|
|
bool m_ImmuneToStunEquip = false;
|
|
bool m_ImmuneToStunInteract = false;
|
|
bool m_ImmuneToStunJump = false; // Unused
|
|
bool m_ImmuneToStunMove = false;
|
|
bool m_ImmuneToStunTurn = false;
|
|
bool m_ImmuneToStunUseItem = false; // Unused
|
|
|
|
//status
|
|
bool m_ImmuneToBasicAttack = false;
|
|
bool m_ImmuneToDamageOverTime = false;
|
|
bool m_ImmuneToKnockback = false;
|
|
bool m_ImmuneToInterrupt = false;
|
|
bool m_ImmuneToSpeed = false;
|
|
bool m_ImmuneToImaginationGain = false;
|
|
bool m_ImmuneToImaginationLoss = false;
|
|
bool m_ImmuneToQuickbuildInterrupt = false;
|
|
bool m_ImmuneToPullToPoint = false; // Unused in cdclient, but used in client
|
|
};
|