Files
.github
cmake
dAuthServer
dChatFilter
dChatServer
dCommon
dDatabase
dGame
dBehaviors
AirMovementBehavior.cpp
AirMovementBehavior.h
AndBehavior.cpp
AndBehavior.h
ApplyBuffBehavior.cpp
ApplyBuffBehavior.h
AreaOfEffectBehavior.cpp
AreaOfEffectBehavior.h
AttackDelayBehavior.cpp
AttackDelayBehavior.h
BasicAttackBehavior.cpp
BasicAttackBehavior.h
Behavior.cpp
Behavior.h
BehaviorBranchContext.cpp
BehaviorBranchContext.h
BehaviorContext.cpp
BehaviorContext.h
BehaviorSlot.h
BehaviorTemplates.cpp
BehaviorTemplates.h
BlockBehavior.cpp
BlockBehavior.h
BuffBehavior.cpp
BuffBehavior.h
CMakeLists.txt
CarBoostBehavior.cpp
CarBoostBehavior.h
ChainBehavior.cpp
ChainBehavior.h
ChangeIdleFlagsBehavior.cpp
ChangeIdleFlagsBehavior.h
ChangeOrientationBehavior.cpp
ChangeOrientationBehavior.h
ChargeUpBehavior.cpp
ChargeUpBehavior.h
ClearTargetBehavior.cpp
ClearTargetBehavior.h
ConsumeItemBehavior.cpp
ConsumeItemBehavior.h
DamageAbsorptionBehavior.cpp
DamageAbsorptionBehavior.h
DamageReductionBehavior.cpp
DamageReductionBehavior.h
DarkInspirationBehavior.cpp
DarkInspirationBehavior.h
DurationBehavior.cpp
DurationBehavior.h
EmptyBehavior.cpp
EmptyBehavior.h
EndBehavior.cpp
EndBehavior.h
FallSpeedBehavior.cpp
FallSpeedBehavior.h
ForceMovementBehavior.cpp
ForceMovementBehavior.h
HealBehavior.cpp
HealBehavior.h
ImaginationBehavior.cpp
ImaginationBehavior.h
ImmunityBehavior.cpp
ImmunityBehavior.h
InterruptBehavior.cpp
InterruptBehavior.h
JetPackBehavior.cpp
JetPackBehavior.h
KnockbackBehavior.cpp
KnockbackBehavior.h
LootBuffBehavior.cpp
LootBuffBehavior.h
MovementSwitchBehavior.cpp
MovementSwitchBehavior.h
NpcCombatSkillBehavior.cpp
NpcCombatSkillBehavior.h
OverTimeBehavior.cpp
OverTimeBehavior.h
PlayEffectBehavior.cpp
PlayEffectBehavior.h
ProjectileAttackBehavior.cpp
ProjectileAttackBehavior.h
PropertyTeleportBehavior.cpp
PropertyTeleportBehavior.h
PullToPointBehavior.cpp
PullToPointBehavior.h
RemoveBuffBehavior.cpp
RemoveBuffBehavior.h
RepairBehavior.cpp
RepairBehavior.h
SkillCastFailedBehavior.cpp
SkillCastFailedBehavior.h
SkillEventBehavior.cpp
SkillEventBehavior.h
SpawnBehavior.cpp
SpawnBehavior.h
SpawnQuickbuildBehavior.cpp
SpawnQuickbuildBehavior.h
SpeedBehavior.cpp
SpeedBehavior.h
StartBehavior.cpp
StartBehavior.h
StunBehavior.cpp
StunBehavior.h
SwitchBehavior.cpp
SwitchBehavior.h
SwitchMultipleBehavior.cpp
SwitchMultipleBehavior.h
TacArcBehavior.cpp
TacArcBehavior.h
TargetCasterBehavior.cpp
TargetCasterBehavior.h
TauntBehavior.cpp
TauntBehavior.h
VentureVisionBehavior.cpp
VentureVisionBehavior.h
VerifyBehavior.cpp
VerifyBehavior.h
dComponents
dEntity
dGameMessages
dInventory
dMission
dPropertyBehaviors
dUtilities
CMakeLists.txt
Character.cpp
Character.h
Entity.cpp
Entity.h
EntityManager.cpp
EntityManager.h
LeaderboardManager.cpp
LeaderboardManager.h
PlayerManager.cpp
PlayerManager.h
TeamManager.cpp
TeamManager.h
TradingManager.cpp
TradingManager.h
User.cpp
User.h
UserManager.cpp
UserManager.h
dMasterServer
dNavigation
dNet
dPhysics
dScripts
dServer
dWorldServer
dZoneManager
docs
migrations
resources
tests
thirdparty
vanity
.dockerignore
.editorconfig
.env.example
.git-blame-ignore-revs
.gitattributes
.gitignore
.gitmodules
CMakeLists.txt
CMakePresets.json
CMakeVariables.txt
CONTRIBUTING.md
Dockerfile
LICENSE
README.md
SECURITY.md
build.sh
docker-compose.yml
entrypoint.sh
logo.png
systemd.example
versions.txt
DarkflameServer/dGame/dBehaviors/ImmunityBehavior.h
Aaron Kimbrell 80f8dd8003 Imminuty updates ()
* 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
2023-01-06 23:59:19 -06:00

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
};