diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index fc28cd0f..5aa57aec 100644 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -315,17 +315,6 @@ enum AIMode_e kHumanAiMode = 1, }; -enum ColliderTag_e -{ - kHalfWallTag = 1, - kColliderSpecTag_Begin = 2, - kColliderTag_Grass = 2, //草丛 - kColliderTag_Water = 3, //水 - kColliderTag_Ice = 4, //冰 - kColliderTag_MountainTop = 5, //山顶 - kColliderSpecTag_End = 5, -}; - enum PostBuffAction_e { kRemoveBuffByIdAction = 1, @@ -537,14 +526,6 @@ const int MAX_AI_LEVEL = 8; const int HUNLUAN_BUFFID = 6001; -const long long SPEC_MAP_OBJECT_FLAGS = - A8_DEFINE_RANGE_BIT - ( - long long, - kColliderSpecTag_Begin, - kColliderSpecTag_End - ); - const int ANDROID_AI_ID_START = 10001; const int MAX_SKILL_LV = 15; diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index ef2fc7a6..2ef63330 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1415,10 +1415,12 @@ void Creature::CheckSpecObject() { long long old_cell_flags = cell_flags_; cell_flags_ = 0; + int ext_flags = 0; { int poly_idx = 0; dtPoly* poly = room->map_instance->GetPoly(GetPos().ToGlmVec3(), poly_idx); if (poly) { + ext_flags = room->GetPolyExtFlag(poly_idx); #if 0 if ((poly->flags & SAMPLE_POLYFLAGS_SWIM) == SAMPLE_POLYFLAGS_SWIM) { a8::SetBitFlag(cell_flags_, kColliderTag_Water); @@ -1427,14 +1429,7 @@ void Creature::CheckSpecObject() } } if (old_cell_flags != cell_flags_) { - if (!a8::SameBitFlag(old_cell_flags, cell_flags_, kColliderTag_Grass)) { - if (a8::HasBitFlag(cell_flags_, kColliderTag_Grass)) { - TryAddBuff(this, kInGrassBuffId); - } else { - RemoveBuffById(kInGrassBuffId); - } - } - + #if 0 if (!a8::SameBitFlag(old_cell_flags, cell_flags_, kColliderTag_Water)) { if (a8::HasBitFlag(cell_flags_, kColliderTag_Water)) { TryAddBuff(this, kInWater1BuffId); @@ -1442,23 +1437,7 @@ void Creature::CheckSpecObject() RemoveBuffByEffectId(kBET_InWater); } } - - if (!a8::SameBitFlag(old_cell_flags, cell_flags_, kColliderTag_Ice)) { - if (a8::HasBitFlag(cell_flags_, kColliderTag_Ice)) { - TryAddBuff(this, kInIceBuffId); - } else { - RemoveBuffById(kInIceBuffId); - } - } - - if (!a8::SameBitFlag(old_cell_flags, cell_flags_, kColliderTag_MountainTop)) { - if (a8::HasBitFlag(cell_flags_, kColliderTag_MountainTop)) { - TryAddBuff(this, kInMountainTopBuffId); - } else { - RemoveBuffById(kInMountainTopBuffId); - } - } - + #endif } } diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index f00e8d01..fe1a0b83 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -473,9 +473,11 @@ float Human::GetSpeed() speed = (speed + GetAbility()->GetAttrAbs(kHAT_Speed)) * (1 + GetAbility()->GetAttrRate(kHAT_Speed)); #endif + #if 0 if (a8::HasBitFlag(cell_flags_, kColliderTag_Water)) { speed *= mt::Param::s().water_move_coefficient; } + #endif return std::max(speed, 1.0f); }