diff --git a/server/gameserver/metadata.cc b/server/gameserver/metadata.cc index 8d291573..9ed8f0c4 100644 --- a/server/gameserver/metadata.cc +++ b/server/gameserver/metadata.cc @@ -489,6 +489,13 @@ namespace MetaData a8::SetBitFlag(special_damage_type, n); } } + { + std::vector strings; + a8::Split(i->hit_buff(), strings, '|'); + for (auto& str : strings) { + hit_buff_list.push(a8::XValue(str)); + } + } } void Equip::Init2() diff --git a/server/gameserver/metadata.h b/server/gameserver/metadata.h index 20ae0cb4..cd00ec6d 100644 --- a/server/gameserver/metadata.h +++ b/server/gameserver/metadata.h @@ -109,6 +109,7 @@ namespace MetaData std::vector> power_charge; MetaData::Buff* buff_meta = nullptr; std::vector> car_buff_list; + std::vector> hit_buff_list; int car_active_buff_id = 0; int car_deactive_buff_id = 0; long long special_damage_type = 0; diff --git a/server/tools/protobuild/metatable.proto b/server/tools/protobuild/metatable.proto index 7a440394..5f98fe32 100755 --- a/server/tools/protobuild/metatable.proto +++ b/server/tools/protobuild/metatable.proto @@ -196,6 +196,7 @@ message Equip optional float cri_damage = 71; optional int32 shootfire = 73; + optional string hit_buff = 75; } message EquipUpgrade