diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 6a24b49..c157846 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -1570,7 +1570,7 @@ void Human::RecalcBaseAttr() } } } - if (driver_meta) { + if (driver_meta && skin_meta && driver_meta->i->g_type() == skin_meta->i->type()) { for (auto& pair : driver_meta->attr_up) { float* p_attr = GetAbilityById(pair.first); if (p_attr) { diff --git a/server/tools/protobuild/metatable.proto b/server/tools/protobuild/metatable.proto index d3a6525..c98492c 100755 --- a/server/tools/protobuild/metatable.proto +++ b/server/tools/protobuild/metatable.proto @@ -214,6 +214,7 @@ message Tank required int32 skill_id = 4; required string attr_origin = 5; required string attr_up = 6; + optional int32 type = 7; } //end