From 72ab8d288b5e40b29ef37d6b6c9d0915d7f7cda9 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 16 Aug 2022 13:31:28 +0800 Subject: [PATCH] 1 --- server/gameserver/creature.cc | 6 ++++-- server/gameserver/skill.cc | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index d511ec1f..f5df57dd 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1104,10 +1104,12 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase) a8::Vec2 old_pos = GetPos(); if (CurrentSkill()->GetMinorType() == SMT_NONE) { int buff_id = phase->param3.GetInt(); - TryAddBuff(this, buff_id); + //TryAddBuff(this, buff_id); + a8::XPrintf("old_pos:%f,%f", {GetPos().x, GetPos().y}); _UpdateMove(phase->param1.GetInt()); a8::Vec2 pre_dir = old_dir; a8::Vec2 pre_pos = old_pos; + a8::XPrintf("new_pos:%f,%f", {GetPos().x, GetPos().y}); CurrentSkill()->AddMinorMode ( SMT_BLINK, @@ -1120,7 +1122,7 @@ void Creature::ProcSkillPhase(MetaData::SkillPhase* phase) a8::Vec2 new_dir = pre_pos - GetPos(); new_dir.Normalize(); SetMoveDir(new_dir); - TryAddBuff(this, buff_id); + //TryAddBuff(this, buff_id); _UpdateMove(distance); } SetMoveDir(old_dir); diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 8b8781a5..eb7a2e1f 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -76,6 +76,11 @@ void Skill::FillMFSkill(cs::MFSkill* skill_pb) #if 1 skill_pb->set_left_time(GetCd()); #endif + a8::XPrintf("type: %d, lefttime:%d cd_time:%d\n", { + minor_type_, + minor_left_time, + minor_cd_time_ + }); } } @@ -212,6 +217,7 @@ void Skill::AddMinorMode( .SetSender(this), [] (const a8::XParams& param) { + Skill* skill = (Skill*)param.sender.GetUserData(); }, &xtimer_attacher.timer_list_, [] (const a8::XParams& param) @@ -224,7 +230,7 @@ void Skill::AddMinorMode( skill->minor_mode_timer_ = nullptr; } ); - NotifySkillState(); + owner->need_sync_active_player = true; } void Skill::DoMinorMode() @@ -235,5 +241,6 @@ void Skill::DoMinorMode() minor_cd_time_ = 0; minor_cb_ = nullptr; ResetSkillCd(); + owner->need_sync_active_player = true; } }