This commit is contained in:
aozhiwei 2023-10-26 19:29:50 +08:00
parent 235c812559
commit 22b230adf2
5 changed files with 27 additions and 3 deletions

View File

@ -23,7 +23,8 @@ A8_DECLARE_CLASS_ENUM(SkillNumberLispField_e, int,
range3,
time,
cd,
number
number,
time2
);
namespace mt
@ -97,6 +98,14 @@ namespace mt
_float_time = a8::XValue(tmp_str).GetDouble() / 100;
}
_int_time2 = a8::XValue(time2());
_float_time2 = a8::XValue(time2()).GetDouble();
if (time2().find('%') != std::string::npos) {
std::string tmp_str = time2();
a8::ReplaceString(tmp_str, "%", "");
_float_time2 = a8::XValue(tmp_str).GetDouble() / 100;
}
_int_cd = a8::XValue(cd());
_float_cd = a8::XValue(cd()).GetDouble();
if (cd().find('%') != std::string::npos) {
@ -202,6 +211,11 @@ namespace mt
return number();
}
break;
case SkillNumberLispField_e::time2:
{
return _float_time2;
}
break;
default:
{
abort();
@ -240,6 +254,8 @@ namespace mt
return (int)SkillNumberLispField_e::cd;
} else if (name == "${skillNumber.number}") {
return (int)SkillNumberLispField_e::number;
} else if (name == "${skillNumber.time2}") {
return (int)SkillNumberLispField_e::time2;
}
return -1;
}

View File

@ -35,6 +35,9 @@ namespace mt
int _int_time = 0;
float _float_time = 0;
int _int_time2 = 0;
float _float_time2 = 0;
int _int_cd = 0;
float _float_cd = 0;

View File

@ -31,6 +31,7 @@ namespace mtb
const std::string probability() const { return probability_; };
int explosion_effect() const { return explosion_effect_; };
const std::string effect_list() const { return effect_list_; };
const std::string time2() const { return time2_; };
bool has_skill_id() const { return __flags__.test(0);};
bool has_skill_type() const { return __flags__.test(1);};
@ -53,6 +54,7 @@ namespace mtb
bool has_probability() const { return __flags__.test(18);};
bool has_explosion_effect() const { return __flags__.test(19);};
bool has_effect_list() const { return __flags__.test(20);};
bool has_time2() const { return __flags__.test(21);};
protected:
@ -77,9 +79,10 @@ namespace mtb
std::string probability_;
int explosion_effect_ = 0;
std::string effect_list_;
std::string time2_;
public:
std::bitset<21> __flags__;
std::bitset<22> __flags__;
};
};

View File

@ -420,7 +420,7 @@ namespace mtb
{
a8::reflect::Class* meta_class = nullptr;
if (!meta_class) {
meta_class = new a8::reflect::Class("SkillNumber", 21, 0);
meta_class = new a8::reflect::Class("SkillNumber", 22, 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_FLOAT, my_offsetof2(SkillNumber, number_));
@ -442,6 +442,7 @@ namespace mtb
meta_class->SetSimpleField(18, "probability", a8::reflect::ET_STRING, my_offsetof2(SkillNumber, probability_));
meta_class->SetSimpleField(19, "explosion_effect", a8::reflect::ET_INT32, my_offsetof2(SkillNumber, explosion_effect_));
meta_class->SetSimpleField(20, "effect_list", a8::reflect::ET_STRING, my_offsetof2(SkillNumber, effect_list_));
meta_class->SetSimpleField(21, "time2", a8::reflect::ET_STRING, my_offsetof2(SkillNumber, time2_));
}
return meta_class;
}

View File

@ -363,6 +363,7 @@ message SkillNumber
optional string probability = 18;
optional int32 explosion_effect = 19;
optional string effect_list = 20;
optional string time2 = 22;
}
message NpcStandard