2021-12-05 17:54:36 +00:00
|
|
|
#pragma once
|
|
|
|
#include "Behavior.h"
|
|
|
|
|
|
|
|
class ImmunityBehavior final : public Behavior
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
/*
|
|
|
|
* Inherited
|
|
|
|
*/
|
|
|
|
|
|
|
|
explicit ImmunityBehavior(const uint32_t behaviorId) : Behavior(behaviorId) {
|
|
|
|
}
|
|
|
|
|
2024-02-27 07:25:44 +00:00
|
|
|
void Handle(BehaviorContext* context, RakNet::BitStream& bitStream, BehaviorBranchContext branch) override;
|
2021-12-05 17:54:36 +00:00
|
|
|
|
2024-02-27 07:25:44 +00:00
|
|
|
void Calculate(BehaviorContext* context, RakNet::BitStream& bitStream, BehaviorBranchContext branch) override;
|
2021-12-05 17:54:36 +00:00
|
|
|
|
|
|
|
void Timer(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) override;
|
|
|
|
|
|
|
|
void Load() override;
|
2023-01-07 05:59:19 +00:00
|
|
|
|
|
|
|
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
|
2021-12-05 17:54:36 +00:00
|
|
|
};
|