1
This commit is contained in:
parent
376ea6990c
commit
2561d1ecf5
@ -339,7 +339,7 @@ namespace MetaData
|
|||||||
return weapon_idx;
|
return weapon_idx;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Equip::Match(CondAddBuff_e cond, int val)
|
bool Equip::Match(CondAddBuff_e cond, int val, int val2)
|
||||||
{
|
{
|
||||||
switch (cond) {
|
switch (cond) {
|
||||||
case kCondBuffUpdateWeaponId:
|
case kCondBuffUpdateWeaponId:
|
||||||
@ -357,7 +357,8 @@ namespace MetaData
|
|||||||
case kCondBuffUpdateWeaponType:
|
case kCondBuffUpdateWeaponType:
|
||||||
case kCondBuffShotWeaponType:
|
case kCondBuffShotWeaponType:
|
||||||
{
|
{
|
||||||
return val == i->equip_subtype();
|
return val == i->equip_type() &&
|
||||||
|
(val2 == 0 || val2 == i->equip_subtype());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -779,10 +780,12 @@ namespace MetaData
|
|||||||
param2 = a8::XValue(i->buff_param2()).GetDouble();
|
param2 = a8::XValue(i->buff_param2()).GetDouble();
|
||||||
param3 = a8::XValue(i->buff_param3()).GetDouble();
|
param3 = a8::XValue(i->buff_param3()).GetDouble();
|
||||||
param4 = a8::XValue(i->buff_param4()).GetDouble();
|
param4 = a8::XValue(i->buff_param4()).GetDouble();
|
||||||
|
param5 = a8::XValue(i->buff_param5()).GetDouble();
|
||||||
int_param1 = a8::XValue(i->buff_param1());
|
int_param1 = a8::XValue(i->buff_param1());
|
||||||
int_param2 = a8::XValue(i->buff_param2());
|
int_param2 = a8::XValue(i->buff_param2());
|
||||||
int_param3 = a8::XValue(i->buff_param3());
|
int_param3 = a8::XValue(i->buff_param3());
|
||||||
int_param4 = a8::XValue(i->buff_param4());
|
int_param4 = a8::XValue(i->buff_param4());
|
||||||
|
int_param5 = a8::XValue(i->buff_param5());
|
||||||
{
|
{
|
||||||
std::vector<std::string> strings;
|
std::vector<std::string> strings;
|
||||||
a8::Split(i->child_buff(), strings, '|');
|
a8::Split(i->child_buff(), strings, '|');
|
||||||
@ -820,7 +823,7 @@ namespace MetaData
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
std::vector<std::string> strings;
|
std::vector<std::string> strings;
|
||||||
a8::Split(i->buff_param4(), strings, ':');
|
a8::Split(i->buff_param4(), strings, '|');
|
||||||
for (auto& str : strings) {
|
for (auto& str : strings) {
|
||||||
param4_int_list.push_back(a8::XValue(str).GetInt());
|
param4_int_list.push_back(a8::XValue(str).GetInt());
|
||||||
}
|
}
|
||||||
|
@ -88,7 +88,7 @@ namespace MetaData
|
|||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
int GetWeaponIdx();
|
int GetWeaponIdx();
|
||||||
bool Match(CondAddBuff_e cond, int val);
|
bool Match(CondAddBuff_e cond, int val, int val2);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct EquipUpgrade
|
struct EquipUpgrade
|
||||||
@ -203,10 +203,12 @@ namespace MetaData
|
|||||||
float param2 = 0.0f;
|
float param2 = 0.0f;
|
||||||
float param3 = 0.0f;
|
float param3 = 0.0f;
|
||||||
float param4 = 0.0f;
|
float param4 = 0.0f;
|
||||||
|
float param5 = 0.0f;
|
||||||
int int_param1 = 0;
|
int int_param1 = 0;
|
||||||
int int_param2 = 0;
|
int int_param2 = 0;
|
||||||
int int_param3 = 0;
|
int int_param3 = 0;
|
||||||
int int_param4 = 0;
|
int int_param4 = 0;
|
||||||
|
int int_param5 = 0;
|
||||||
std::vector<int> param1_int_list;
|
std::vector<int> param1_int_list;
|
||||||
std::vector<int> param2_int_list;
|
std::vector<int> param2_int_list;
|
||||||
std::vector<int> param3_int_list;
|
std::vector<int> param3_int_list;
|
||||||
|
@ -27,7 +27,9 @@ void Trigger::TakeonWeapon(Weapon* old_weapon, Weapon* new_weapon)
|
|||||||
(cond,
|
(cond,
|
||||||
[this, cond, weapon_meta] (Buff* buff, bool& stop)
|
[this, cond, weapon_meta] (Buff* buff, bool& stop)
|
||||||
{
|
{
|
||||||
if (weapon_meta->Match((CondAddBuff_e)cond, buff->meta->int_param3)) {
|
if (weapon_meta->Match((CondAddBuff_e)cond,
|
||||||
|
buff->meta->int_param3,
|
||||||
|
buff->meta->int_param5)) {
|
||||||
switch (buff->meta->int_param2) {
|
switch (buff->meta->int_param2) {
|
||||||
case kWeaponOptTakeoff:
|
case kWeaponOptTakeoff:
|
||||||
case kWeaponOptKeep:
|
case kWeaponOptKeep:
|
||||||
@ -53,7 +55,9 @@ void Trigger::TakeonWeapon(Weapon* old_weapon, Weapon* new_weapon)
|
|||||||
(cond,
|
(cond,
|
||||||
[this, cond, weapon_meta] (Buff* buff, bool& stop)
|
[this, cond, weapon_meta] (Buff* buff, bool& stop)
|
||||||
{
|
{
|
||||||
if (weapon_meta->Match((CondAddBuff_e)cond, buff->meta->int_param3)) {
|
if (weapon_meta->Match((CondAddBuff_e)cond,
|
||||||
|
buff->meta->int_param3,
|
||||||
|
buff->meta->int_param5)) {
|
||||||
switch (buff->meta->int_param2) {
|
switch (buff->meta->int_param2) {
|
||||||
case kWeaponOptTakeon:
|
case kWeaponOptTakeon:
|
||||||
{
|
{
|
||||||
@ -84,7 +88,9 @@ void Trigger::Shot(MetaData::Equip* weapon_meta)
|
|||||||
(cond,
|
(cond,
|
||||||
[this, cond, weapon_meta] (Buff* buff, bool& stop)
|
[this, cond, weapon_meta] (Buff* buff, bool& stop)
|
||||||
{
|
{
|
||||||
if (weapon_meta->Match((CondAddBuff_e)cond, buff->meta->int_param2)) {
|
if (weapon_meta->Match((CondAddBuff_e)cond,
|
||||||
|
buff->meta->int_param2,
|
||||||
|
buff->meta->int_param5)) {
|
||||||
AddBuffs(buff->meta->int_param1, buff->meta->param4_int_list);
|
AddBuffs(buff->meta->int_param1, buff->meta->param4_int_list);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -240,6 +240,7 @@ message Buff
|
|||||||
required string buff_param2 = 7;
|
required string buff_param2 = 7;
|
||||||
required string buff_param3 = 8;
|
required string buff_param3 = 8;
|
||||||
required string buff_param4 = 9;
|
required string buff_param4 = 9;
|
||||||
|
optional string buff_param5 = 19;
|
||||||
required float duration_time = 10;
|
required float duration_time = 10;
|
||||||
optional float buff_valueup = 11;
|
optional float buff_valueup = 11;
|
||||||
required string immune_buffeffect_list = 12;
|
required string immune_buffeffect_list = 12;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user