diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 64a4845..f0081c1 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -1998,6 +1998,8 @@ int Human::SkinLv() void Human::CheckSkinTank() { if (tank_weapon.meta) { + float old_rad = self_collider_->rad; + self_collider_->rad = tank_weapon.meta->i->rad2(); std::set objects; for (auto& grid : grid_list) { for (Human* hum: grid->human_list) { @@ -2012,6 +2014,7 @@ void Human::CheckSkinTank() for (Human* hum : objects) { hum->BeKill(entity_uniid, name, VW_Tank); } + self_collider_->rad = old_rad; } } diff --git a/server/tools/protobuild/metatable.proto b/server/tools/protobuild/metatable.proto index 7dcfd4f..09aea6b 100755 --- a/server/tools/protobuild/metatable.proto +++ b/server/tools/protobuild/metatable.proto @@ -78,6 +78,7 @@ message Equip optional float bullet_angle = 34; //子弹浮动方向 optional string name = 35; //装备名字 optional float rad = 36; //半径 + optional float rad2 = 37; optional string inventory_slot = 31; //库存槽位 optional int32 _inventory_slot = 32; //库存槽位