diff --git a/server/gameserver/mtb/SkillNumber.h b/server/gameserver/mtb/SkillNumber.h index 146a9491..00eac47b 100644 --- a/server/gameserver/mtb/SkillNumber.h +++ b/server/gameserver/mtb/SkillNumber.h @@ -12,7 +12,7 @@ namespace mtb a8::reflect::Class* GetClass() const; int skill_id() const { return skill_id_; }; int skill_type() const { return skill_type_; }; - int number() const { return number_; }; + float number() const { return number_; }; float damage() const { return damage_; }; float damage_addition() const { return damage_addition_; }; float damage_change() const { return damage_change_; }; @@ -58,7 +58,7 @@ namespace mtb int skill_id_ = 0; int skill_type_ = 0; - int number_ = 0; + float number_ = 0.0f; float damage_ = 0.0f; float damage_addition_ = 0.0f; float damage_change_ = 0.0f; diff --git a/server/gameserver/mtb/mtb.all.cc b/server/gameserver/mtb/mtb.all.cc index 35625213..f680923e 100644 --- a/server/gameserver/mtb/mtb.all.cc +++ b/server/gameserver/mtb/mtb.all.cc @@ -407,7 +407,7 @@ namespace mtb meta_class = new a8::reflect::Class("SkillNumber", 21, 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_)); + meta_class->SetSimpleField(2, "number", a8::reflect::ET_FLOAT, my_offsetof2(SkillNumber, number_)); meta_class->SetSimpleField(3, "damage", a8::reflect::ET_FLOAT, my_offsetof2(SkillNumber, damage_)); meta_class->SetSimpleField(4, "damage_addition", a8::reflect::ET_FLOAT, my_offsetof2(SkillNumber, damage_addition_)); meta_class->SetSimpleField(5, "damage_change", a8::reflect::ET_FLOAT, my_offsetof2(SkillNumber, damage_change_)); diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc index 742c23f3..6873ffde 100644 --- a/server/gameserver/trigger.cc +++ b/server/gameserver/trigger.cc @@ -228,7 +228,9 @@ void Trigger::HpChg() break; } #if 1 - TryAddBuffs(buff, buff->meta->_int_buff_param1, buff->meta->_buff_param4_int_list); + if (match) { + TryAddBuffs(buff, buff->meta->_int_buff_param1, buff->meta->_buff_param4_int_list); + } #else if (match) { TryAddBuffs(buff, buff->meta->_int_buff_param1, buff->meta->_buff_param4_int_list); diff --git a/server/tools/protobuild/mt.proto b/server/tools/protobuild/mt.proto index 2017df52..b03d0984 100755 --- a/server/tools/protobuild/mt.proto +++ b/server/tools/protobuild/mt.proto @@ -322,7 +322,7 @@ message SkillNumber { required int32 skill_id = 1; optional int32 skill_type = 2; - optional int32 number = 3; + optional float number = 3; optional float damage = 4; optional float damage_addition = 5; optional float damage_change = 6;