From 7177667e2354c611df16bc9c4e47a589a0b39934 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 28 Feb 2023 10:04:53 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/SkillNumber.cc | 7 +++++++ server/gameserver/mt/SkillNumber.h | 2 ++ server/gameserver/mtb/SkillNumber.h | 5 ++++- server/gameserver/mtb/mtb.all.cc | 3 ++- server/tools/protobuild/mt.proto | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/server/gameserver/mt/SkillNumber.cc b/server/gameserver/mt/SkillNumber.cc index 7b1bffc4..8f8e7cb6 100644 --- a/server/gameserver/mt/SkillNumber.cc +++ b/server/gameserver/mt/SkillNumber.cc @@ -88,6 +88,13 @@ namespace mt //skill_pb->set_skill_cd(float_cd); //skill_cd_ = _float_cd; } + { + std::vector strings; + a8::Split(effect_list(), strings, '|'); + for (auto& str : strings) { + _effect_list.push_back(a8::XValue(str)); + } + } } } diff --git a/server/gameserver/mt/SkillNumber.h b/server/gameserver/mt/SkillNumber.h index 84506697..a663db84 100644 --- a/server/gameserver/mt/SkillNumber.h +++ b/server/gameserver/mt/SkillNumber.h @@ -35,6 +35,8 @@ namespace mt int _int_cd = 0; float _float_cd = 0; + std::vector _effect_list; + void Init1(); }; diff --git a/server/gameserver/mtb/SkillNumber.h b/server/gameserver/mtb/SkillNumber.h index 4ea930cb..2ef75ee2 100644 --- a/server/gameserver/mtb/SkillNumber.h +++ b/server/gameserver/mtb/SkillNumber.h @@ -29,6 +29,7 @@ namespace mtb float buff_time() const { return buff_time_; }; const std::string probability() const { return probability_; }; int explosion_effect() const { return explosion_effect_; }; + const std::string effect_list() const { return effect_list_; }; bool has_skill_id() const { return __flags__.test(0);}; bool has_skill_type() const { return __flags__.test(1);}; @@ -49,6 +50,7 @@ namespace mtb bool has_buff_time() const { return __flags__.test(16);}; bool has_probability() const { return __flags__.test(17);}; bool has_explosion_effect() const { return __flags__.test(18);}; + bool has_effect_list() const { return __flags__.test(19);}; protected: @@ -71,9 +73,10 @@ namespace mtb float buff_time_ = 0.0f; std::string probability_; int explosion_effect_ = 0; + std::string effect_list_; public: - std::bitset<19> __flags__; + std::bitset<20> __flags__; }; }; diff --git a/server/gameserver/mtb/mtb.all.cc b/server/gameserver/mtb/mtb.all.cc index bf83bc5b..3e2f6fb6 100644 --- a/server/gameserver/mtb/mtb.all.cc +++ b/server/gameserver/mtb/mtb.all.cc @@ -398,7 +398,7 @@ namespace mtb { a8::reflect::Class* meta_class = nullptr; if (!meta_class) { - meta_class = new a8::reflect::Class("SkillNumber", 19, 0); + meta_class = new a8::reflect::Class("SkillNumber", 20, 0); meta_class->SetSimpleField(0, "skill_id", a8::reflect::ET_INT32, my_offsetof2(SkillNumber, skill_id_)); meta_class->SetSimpleField(1, "skill_type", a8::reflect::ET_INT32, my_offsetof2(SkillNumber, skill_type_)); meta_class->SetSimpleField(2, "number", a8::reflect::ET_INT32, my_offsetof2(SkillNumber, number_)); @@ -418,6 +418,7 @@ namespace mtb meta_class->SetSimpleField(16, "buff_time", a8::reflect::ET_FLOAT, my_offsetof2(SkillNumber, buff_time_)); meta_class->SetSimpleField(17, "probability", a8::reflect::ET_STRING, my_offsetof2(SkillNumber, probability_)); meta_class->SetSimpleField(18, "explosion_effect", a8::reflect::ET_INT32, my_offsetof2(SkillNumber, explosion_effect_)); + meta_class->SetSimpleField(19, "effect_list", a8::reflect::ET_STRING, my_offsetof2(SkillNumber, effect_list_)); } return meta_class; } diff --git a/server/tools/protobuild/mt.proto b/server/tools/protobuild/mt.proto index 6ee9b44f..a69e95cc 100755 --- a/server/tools/protobuild/mt.proto +++ b/server/tools/protobuild/mt.proto @@ -330,6 +330,7 @@ message SkillNumber optional float buff_time = 17; optional string probability = 18; optional int32 explosion_effect = 19; + optional string effect_list = 20; } message NpcStandard