diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index a1dd7247..145e103a 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -2369,7 +2369,8 @@ void Creature::UpdateMove() if (a8::HasBitFlag(status, CS_CrazeMode) && IsNearGas(100)) { GetMutablePos() = old_pos; GetMovement()->ClearPath(); - glm::vec3 dir = GetPos().ToGlmVec3() - old_pos.ToGlmVec3(); + glm::vec2 dir2 = room->GetGasData().pos_new - room->GetGasData().pos_old; + glm::vec3 dir = glm::vec3(dir2.x, 0.0f, dir2.y); if (std::abs(dir.x) > FLT_EPSILON || std::abs(dir.y) > FLT_EPSILON || std::abs(dir.z) > FLT_EPSILON diff --git a/server/gameserver/creature.h b/server/gameserver/creature.h index ecee34de..ac4814b0 100644 --- a/server/gameserver/creature.h +++ b/server/gameserver/creature.h @@ -17,6 +17,7 @@ enum CreatureStatus CS_DeadNoDrop, CS_Reviving, CS_CrazeMode, + CS_DisableAttackAndroid, CS_End };