This commit is contained in:
aozhiwei 2023-11-07 16:46:28 +08:00
parent f0705e3b46
commit 50edf72f3f
6 changed files with 29 additions and 5 deletions

View File

@ -123,7 +123,7 @@ namespace mt
0.0f,
a8::XValue(strings[1]).GetDouble());
}
if (!IsPveMap() && !is_moba() && player() < 10) {
if (is_open() && !IsPveMap() && !is_moba() && player() < 10) {
A8_ABORT();
}
collider_info = MapCollider::GetByName(map_collider());
@ -134,7 +134,7 @@ namespace mt
void Map::Init2()
{
{
if (!IsPveMap() && !is_moba() && safearea_list.empty()) {
if (is_open() && !IsPveMap() && !is_moba() && safearea_list.empty()) {
A8_ABORT();
}
for (const int area_type : safearea_list) {

View File

@ -29,7 +29,8 @@ A8_DECLARE_CLASS_ENUM(SkillNumberLispField_e, int,
number,
time2,
time3,
time4
time4,
time5
);
namespace mt
@ -151,6 +152,14 @@ namespace mt
_float_time4 = a8::XValue(tmp_str).GetDouble() / 100;
}
_int_time5 = a8::XValue(time5());
_float_time5 = a8::XValue(time5()).GetDouble();
if (time5().find('%') != std::string::npos) {
std::string tmp_str = time5();
a8::ReplaceString(tmp_str, "%", "");
_float_time5 = a8::XValue(tmp_str).GetDouble() / 100;
}
_int_cd = a8::XValue(cd());
_float_cd = a8::XValue(cd()).GetDouble();
if (cd().find('%') != std::string::npos) {
@ -286,6 +295,11 @@ namespace mt
return _float_time4;
}
break;
case SkillNumberLispField_e::time5:
{
return _float_time5;
}
break;
default:
{
abort();
@ -336,6 +350,8 @@ namespace mt
return (int)SkillNumberLispField_e::time3;
} else if (name == "${skillNumber.time4}") {
return (int)SkillNumberLispField_e::time4;
} else if (name == "${skillNumber.time5}") {
return (int)SkillNumberLispField_e::time5;
}
return -1;
}

View File

@ -53,6 +53,9 @@ namespace mt
int _int_time4 = 0;
float _float_time4 = 0;
int _int_time5 = 0;
float _float_time5 = 0;
int _int_cd = 0;
float _float_cd = 0;

View File

@ -37,6 +37,7 @@ namespace mtb
const std::string range6() const { return range6_; };
const std::string time3() const { return time3_; };
const std::string time4() const { return time4_; };
const std::string time5() const { return time5_; };
bool has_skill_id() const { return __flags__.test(0);};
bool has_skill_type() const { return __flags__.test(1);};
@ -65,6 +66,7 @@ namespace mtb
bool has_ragne6() const { return __flags__.test(24);};
bool has_time3() const { return __flags__.test(25);};
bool has_time4() const { return __flags__.test(26);};
bool has_time5() const { return __flags__.test(27);};
protected:
@ -95,9 +97,10 @@ namespace mtb
std::string time2_;
std::string time3_;
std::string time4_;
std::string time5_;
public:
std::bitset<27> __flags__;
std::bitset<28> __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", 27, 0);
meta_class = new a8::reflect::Class("SkillNumber", 28, 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_));
@ -448,6 +448,7 @@ namespace mtb
meta_class->SetSimpleField(24, "range6", a8::reflect::ET_STRING, my_offsetof2(SkillNumber, range6_));
meta_class->SetSimpleField(25, "time3", a8::reflect::ET_STRING, my_offsetof2(SkillNumber, time3_));
meta_class->SetSimpleField(26, "time4", a8::reflect::ET_STRING, my_offsetof2(SkillNumber, time4_));
meta_class->SetSimpleField(27, "time5", a8::reflect::ET_STRING, my_offsetof2(SkillNumber, time5_));
}
return meta_class;
}

View File

@ -369,6 +369,7 @@ message SkillNumber
optional string time2 = 22;
optional string time3 = 40;
optional string time4 = 41;
optional string time5 = 42;
}
message NpcStandard