diff --git a/server/gameserver/buff/callfunc.cc b/server/gameserver/buff/callfunc.cc index 45a7c632..e4b3c3bc 100644 --- a/server/gameserver/buff/callfunc.cc +++ b/server/gameserver/buff/callfunc.cc @@ -190,6 +190,11 @@ void CallFuncBuff::Activate() SpecCenterRangeHoldBuff(); } break; + case BuffCallFunc_e::kLispEval: + { + LispEval(); + } + break; default: { } @@ -236,11 +241,6 @@ void CallFuncBuff::Deactivate() owner->ClearEnergyShield(); } break; - case BuffCallFunc_e::kLispEval: - { - LispEval(); - } - break; default: { } @@ -302,6 +302,11 @@ void CallFuncBuff::ProcAddMinorMode() owner_ptr.Get()->RemoveBuffById(buff_id); } for (int buff_id : meta_ptr->_buff_param4_int_list) { +#ifdef DEBUG + if (owner_ptr.Get()->IsPlayer()) { + a8::XPrintf("addminor buff_id:%d\n", {buff_id}); + } +#endif owner_ptr.Get()->TryAddBuff(owner_ptr.Get(), buff_id, skill_meta_ptr); } } else if (action == 0 || @@ -1104,7 +1109,17 @@ void CallFuncBuff::SpecCenterRangeHoldBuff() meta->GetBuffParam7(this), meta->GetBuffParam8(this) ); - +#ifdef DEBUG + if (owner->IsPlayer()) { + a8::XPrintf("init_center:%f %f %f\n", + { + init_center.x, + init_center.y, + init_center.z, + } + ); + } +#endif InternalRangeHoldBuff ( [this, init_center] (glm::vec3& center) @@ -1149,6 +1164,17 @@ void CallFuncBuff::InternalRangeHoldBuff(std::function get_cen InnerObject o; o.c = hum->GetWeakPtrRef(); + if (meta->buff_id() == 203032) { + int i = 0; +#ifdef DEBUG + a8::XPrintf("aaaaaaaaaaaa a_team_id:%d b_team_id:%d\n", + { + owner->team_id, + hum->team_id + }); +#endif + } + if (owner->team_id == hum->team_id) { for (int buff_id : meta->_buff_param4_int_list) { o.buff_uniids.push_back(hum->TryAddBuff(GetCaster().Get(), buff_id, skill_meta)); diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index a1c0502a..4965f451 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -3687,6 +3687,11 @@ void Creature::InitMobaRoad() void Creature::ClearSkillLocalVars(int skill_id) { +#ifdef DEBUG + if (IsPlayer()) { + a8::XPrintf("ClearSkillLocalVars skill_id:%d\n", {skill_id}); + } +#endif auto itr = skill_local_vars_.find(skill_id); if (itr != skill_local_vars_.end()) { skill_local_vars_.erase(itr); @@ -3699,14 +3704,44 @@ float Creature::GetSkillLocalVar(int skill_id, int idx) if (itr != skill_local_vars_.end()) { auto itr2 = itr->second.find(idx); if (itr2 != itr->second.end()) { +#ifdef DEBUG + if (IsPlayer()) { + a8::XPrintf("GetSkillLocalVars skill_id:%d idx:%d val:%d\n", + { + skill_id, + idx, + itr2->second + }); + } +#endif return itr2->second; } } +#ifdef DEBUG + if (IsPlayer()) { + a8::XPrintf("GetSkillLocalVars skill_id:%d idx:%d val:%d\n", + { + skill_id, + idx, + 0 + }); + } +#endif return 0.0f; } void Creature::SetSkillLocalVar(int skill_id, int idx, float val) { +#ifdef DEBUG + if (IsPlayer()) { + a8::XPrintf("SetSkillLocalVars skill_id:%d idx:%d val:%d\n", + { + skill_id, + idx, + val + }); + } +#endif auto itr = skill_local_vars_.find(skill_id); if (itr == skill_local_vars_.end()) { skill_local_vars_[skill_id] = std::map();