1
This commit is contained in:
parent
50637c9b0b
commit
43a1d7adf3
@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
#include "buff.h"
|
#include "buff.h"
|
||||||
|
|
||||||
|
A8_DECLARE_CLASS_ENUM(BuffCallFunc_e, int,
|
||||||
|
kAddMinorMode = 5,
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
class CallFuncBuff : public Buff
|
class CallFuncBuff : public Buff
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -36,7 +36,7 @@ void HoldShieldBuff::Activate()
|
|||||||
(
|
(
|
||||||
SMT_BLINK,
|
SMT_BLINK,
|
||||||
SkillHelper::GetLdfyBuffTime(owner, skill_meta) * 1000,
|
SkillHelper::GetLdfyBuffTime(owner, skill_meta) * 1000,
|
||||||
[this, c]
|
[this, c] (int action)
|
||||||
{
|
{
|
||||||
c->RemoveBuffByEffectId(kBET_HoldShield);
|
c->RemoveBuffByEffectId(kBET_HoldShield);
|
||||||
if (meta->_buff_param1_int_list.size() > 1) {
|
if (meta->_buff_param1_int_list.size() > 1) {
|
||||||
|
@ -167,7 +167,7 @@ int Skill::GetMaxExp()
|
|||||||
void Skill::AddMinorMode(
|
void Skill::AddMinorMode(
|
||||||
int minor_type,
|
int minor_type,
|
||||||
int minor_cd_time,
|
int minor_cd_time,
|
||||||
std::function<void()> cb
|
std::function<void(int)> cb
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (!minor_mode_timer_.expired()) {
|
if (!minor_mode_timer_.expired()) {
|
||||||
@ -186,6 +186,7 @@ void Skill::AddMinorMode(
|
|||||||
minor_type_ = SMT_NONE;
|
minor_type_ = SMT_NONE;
|
||||||
minor_cd_time_ = 0;
|
minor_cd_time_ = 0;
|
||||||
minor_frameno_ = 0;
|
minor_frameno_ = 0;
|
||||||
|
minor_cb_(0);
|
||||||
minor_cb_ = nullptr;
|
minor_cb_ = nullptr;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -209,7 +210,7 @@ void Skill::AddMinorMode(
|
|||||||
void Skill::DoMinorMode()
|
void Skill::DoMinorMode()
|
||||||
{
|
{
|
||||||
if (GetMinorType() != SMT_NONE) {
|
if (GetMinorType() != SMT_NONE) {
|
||||||
minor_cb_();
|
minor_cb_(1);
|
||||||
minor_type_ = SMT_NONE;
|
minor_type_ = SMT_NONE;
|
||||||
minor_cd_time_ = 0;
|
minor_cd_time_ = 0;
|
||||||
minor_cb_ = nullptr;
|
minor_cb_ = nullptr;
|
||||||
@ -1217,7 +1218,7 @@ void Skill::ProcForthBackJumpPhase(const mt::SkillPhase* phase)
|
|||||||
phase->param2.GetInt() * 1000,
|
phase->param2.GetInt() * 1000,
|
||||||
#endif
|
#endif
|
||||||
[this, pre_pos, pre_dir, buff_id1, buff_id2, buff_id3, land_effect_buff_uniid,
|
[this, pre_pos, pre_dir, buff_id1, buff_id2, buff_id3, land_effect_buff_uniid,
|
||||||
skill_meta] () {
|
skill_meta] (int action) {
|
||||||
glm::vec3 old_dir = owner->GetMoveDir();
|
glm::vec3 old_dir = owner->GetMoveDir();
|
||||||
Position old_pos = owner->GetPos();
|
Position old_pos = owner->GetPos();
|
||||||
float distance = owner->GetPos().Distance2D2(pre_pos);
|
float distance = owner->GetPos().Distance2D2(pre_pos);
|
||||||
|
@ -39,7 +39,7 @@ class Skill
|
|||||||
void AddMinorMode(
|
void AddMinorMode(
|
||||||
int minor_type,
|
int minor_type,
|
||||||
int minor_cd_time,
|
int minor_cd_time,
|
||||||
std::function<void()> cb
|
std::function<void(int)> cb
|
||||||
);
|
);
|
||||||
void DoMinorMode();
|
void DoMinorMode();
|
||||||
void ProcSkillPhase(const mt::SkillPhase* phase);
|
void ProcSkillPhase(const mt::SkillPhase* phase);
|
||||||
@ -75,7 +75,7 @@ private:
|
|||||||
int minor_type_ = 0;
|
int minor_type_ = 0;
|
||||||
int minor_cd_time_ = 0;
|
int minor_cd_time_ = 0;
|
||||||
long long minor_frameno_ = 0;
|
long long minor_frameno_ = 0;
|
||||||
std::function<void()> minor_cb_;
|
std::function<void(int)> minor_cb_;
|
||||||
|
|
||||||
friend class PBUtils;
|
friend class PBUtils;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user