diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 861d4f82..bbeca63e 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -884,7 +884,7 @@ bool Creature::InternalCanUseSkill(Skill* skill) return false; } #endif - if (skill->GetCurrTimes() <= 0) { + if (!(skill->GetCurrTimes() > 0 || skill->GetMinorType() != SMT_NONE)) { return false; } if (room->GetGasData().GetGasMode() == GasInactive) { @@ -928,13 +928,20 @@ void Creature::DoSkill(int skill_id, float skill_distance ) { +#ifdef DEBUG + if (IsPlayer()) { + a8::XPrintf("DoSkill skill_id:%d\n", {skill_id}); + } +#endif if (room->HasRoomSwitch(kRoomSwitchDisableUseSkill)) { return; } Skill* skill = GetSkill(skill_id); if (skill && CanUseSkill(skill_id)) { -#ifdef DEBUG1 - a8::XPrintf("DoSkill minor_type:%d\n", {skill->GetMinorType()}); +#ifdef DEBUG + if (IsPlayer()) { + a8::XPrintf("DoSkill minor_type:%d\n", {skill->GetMinorType()}); + } #endif RemoveBuffByEffectId(kBET_Hide); if (!nature_recover_hp_idle_timer.expired()) { diff --git a/server/gameserver/shot.cc b/server/gameserver/shot.cc index f187bed6..01aece19 100644 --- a/server/gameserver/shot.cc +++ b/server/gameserver/shot.cc @@ -505,7 +505,7 @@ void InternalShot(Creature* c, bullet_born_offset = glm::vec3(v.z *10*1, v.y, v.x*10*-1); bullet_born_pos = c->GetPos().ToGlmVec3() + bullet_born_offset; if (c->IsPlayer() || c->IsCar()) { -#ifdef DEBUG1 +#ifdef DEBUG a8::XPrintf("idx:%d offset:%f,%f,%f angle:%f old_angle:%f angle_xyz:%f,%f,%f %f %f gun_muzzle_position:%f,%f,%f pos:%f,%f,%f gun_id:%d t:%d\n", { bulletIdx,