This commit is contained in:
aozhiwei 2023-03-04 23:14:21 +08:00
parent eb4dec4bad
commit c8025803fb
7 changed files with 32 additions and 52 deletions

View File

@ -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:

View File

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

View File

@ -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();
};

View File

@ -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()
{
}

View File

@ -1,12 +0,0 @@
#pragma once
#include "buff.h"
class MarkTagBuff : public Buff
{
public:
virtual void Activate() override;
virtual void Deactivate() override;
};

View File

@ -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, //人物反向

View File

@ -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()) {