From c8025803fb70c47e3cfb6d432ffda66200c4f224 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 4 Mar 2023 23:14:21 +0800 Subject: [PATCH] 1 --- server/gameserver/buff/bufffactory.cc | 3 --- server/gameserver/buff/callfunc.cc | 25 +++++++++++++++++++ server/gameserver/buff/callfunc.h | 5 +++- server/gameserver/buff/mark_tag.cc | 35 --------------------------- server/gameserver/buff/mark_tag.h | 12 --------- server/gameserver/constant_export.h | 2 +- server/gameserver/creature.cc | 2 ++ 7 files changed, 32 insertions(+), 52 deletions(-) delete mode 100644 server/gameserver/buff/mark_tag.cc delete mode 100644 server/gameserver/buff/mark_tag.h diff --git a/server/gameserver/buff/bufffactory.cc b/server/gameserver/buff/bufffactory.cc index 98e199f8..73149947 100644 --- a/server/gameserver/buff/bufffactory.cc +++ b/server/gameserver/buff/bufffactory.cc @@ -46,7 +46,6 @@ #include "buff/invincible.h" #include "buff/modify_attr.h" #include "buff/vertigo.h" -#include "buff/mark_tag.h" #include "buff/cond_add.h" #include "mt/Buff.h" @@ -138,8 +137,6 @@ Buff* BuffFactory::MakeBuff(const mt::Buff* buff_meta) return new ModifyBuff(); case kBET_Vertigo: return new VertigoBuff(); - case kBET_MarkTag: - return new MarkTagBuff(); case kBET_CondAdd: return new CondAddBuff(); default: diff --git a/server/gameserver/buff/callfunc.cc b/server/gameserver/buff/callfunc.cc index ea900d9d..097588af 100644 --- a/server/gameserver/buff/callfunc.cc +++ b/server/gameserver/buff/callfunc.cc @@ -28,6 +28,15 @@ void CallFuncBuff::Activate() ProcIntervalRangeAddBuffFunc(); } break; + case BuffCallFunc_e::kDecHp: + { + } + break; + case BuffCallFunc_e::kMarkTag: + { + ProcMarkTag(); + } + break; default: { } @@ -108,3 +117,19 @@ void CallFuncBuff::ProcAddMinorMode() } } } + +void CallFuncBuff::ProcMarkTag() +{ + switch (meta->_int_buff_param2) { + case 1: + { + owner->SetBuffTag(meta->_int_buff_param3, meta->_int_buff_param4); + } + break; + case 2: + { + owner->IncBuffTag(meta->_int_buff_param3, meta->_int_buff_param4); + } + break; + } +} diff --git a/server/gameserver/buff/callfunc.h b/server/gameserver/buff/callfunc.h index eb1894fe..d1b78472 100644 --- a/server/gameserver/buff/callfunc.h +++ b/server/gameserver/buff/callfunc.h @@ -5,7 +5,9 @@ A8_DECLARE_CLASS_ENUM(BuffCallFunc_e, int, kAddMinorMode = 1, kSpeedReduce = 2, - kInternalRangeAddBuff = 3 + kInternalRangeAddBuff = 3, + kDecHp = 4, + kMarkTag = 5 ); @@ -19,4 +21,5 @@ class CallFuncBuff : public Buff private: void ProcIntervalRangeAddBuffFunc(); void ProcAddMinorMode(); + void ProcMarkTag(); }; diff --git a/server/gameserver/buff/mark_tag.cc b/server/gameserver/buff/mark_tag.cc deleted file mode 100644 index a9f3b078..00000000 --- a/server/gameserver/buff/mark_tag.cc +++ /dev/null @@ -1,35 +0,0 @@ -#include "precompile.h" - -#include "buff/mark_tag.h" - -#include "creature.h" -#include "human.h" -#include "car.h" - -#include "mt/Buff.h" - -void MarkTagBuff::Activate() -{ - switch (meta->_int_buff_param1) { - case 1: - { - owner->SetBuffTag(meta->_int_buff_param2, meta->_int_buff_param3); - } - break; - case 2: - { - owner->IncBuffTag(meta->_int_buff_param2, meta->_int_buff_param3); - } - break; - case 3: - { - owner->UnSetBuffTag(meta->_int_buff_param2); - } - break; - } -} - -void MarkTagBuff::Deactivate() -{ - -} diff --git a/server/gameserver/buff/mark_tag.h b/server/gameserver/buff/mark_tag.h deleted file mode 100644 index 6b524ba5..00000000 --- a/server/gameserver/buff/mark_tag.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "buff.h" - -class MarkTagBuff : public Buff -{ - public: - - virtual void Activate() override; - virtual void Deactivate() override; - -}; diff --git a/server/gameserver/constant_export.h b/server/gameserver/constant_export.h index 2e2d1f7e..990eafec 100644 --- a/server/gameserver/constant_export.h +++ b/server/gameserver/constant_export.h @@ -102,7 +102,7 @@ A8_DECLARE_ENUM(BuffEffectType_e, kBET_BeatBack = 67, //击退 kBET_Disperse = 68, //驱散 kBET_PeaceMode = 69, //和平模式 - kBET_MarkTag = 70, // + kBET_UnUse70 = 70, // kBET_CondAdd = 71, // kBET_Dive = 72, //下潜模式 kBET_Reverse = 73, //人物反向 diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index edc62812..1b2ac97b 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -218,6 +218,8 @@ int Creature::AddBuff(Creature* caster, } #endif + } else if (buff_meta->_int_buff_param1 == 3 && !dead) { + return 0; } } if (buff_meta->no_immune()) {