Fixes Duration1 and Duration2 negative values

* Duration1 and Duration2 have potential -1 value to send infinite tick for statuses.
Thanks to @teededung!
This commit is contained in:
aleos 2020-02-09 11:54:19 -05:00
parent 47131b4585
commit e4046f9d18
3 changed files with 51 additions and 4 deletions

View File

@ -16088,6 +16088,7 @@ Body:
Flags: Flags:
IsNpc: true IsNpc: true
HitCount: 1 HitCount: 1
Duration1: -1
- Id: 686 - Id: 686
Name: NPC_INVINCIBLEOFF Name: NPC_INVINCIBLEOFF
Description: Invincible off Description: Invincible off
@ -22500,6 +22501,7 @@ Body:
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
SplashArea: 3 SplashArea: 3
Duration1: -1
Duration2: Duration2:
- Level: 1 - Level: 1
Time: 2000 Time: 2000
@ -32835,6 +32837,7 @@ Body:
HitCount: 1 HitCount: 1
Element: Fire Element: Fire
Knockback: 2 Knockback: 2
Duration1: -1
Requires: Requires:
SpCost: 40 SpCost: 40
- Id: 8402 - Id: 8402
@ -32846,6 +32849,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 60 SpCost: 60
- Id: 8403 - Id: 8403
@ -32880,6 +32884,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 40 SpCost: 40
- Id: 8405 - Id: 8405
@ -32891,6 +32896,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 60 SpCost: 60
- Id: 8406 - Id: 8406
@ -32925,6 +32931,7 @@ Body:
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Knockback: 5 Knockback: 5
Duration1: -1
Requires: Requires:
SpCost: 40 SpCost: 40
- Id: 8408 - Id: 8408
@ -32936,6 +32943,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 60 SpCost: 60
- Id: 8409 - Id: 8409
@ -32968,6 +32976,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 40 SpCost: 40
- Id: 8411 - Id: 8411
@ -32979,6 +32988,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 60 SpCost: 60
- Id: 8412 - Id: 8412
@ -33011,6 +33021,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8414 - Id: 8414
@ -33022,6 +33033,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8415 - Id: 8415
@ -33033,6 +33045,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8416 - Id: 8416
@ -33044,6 +33057,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8417 - Id: 8417
@ -33055,6 +33069,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8418 - Id: 8418
@ -33066,6 +33081,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8419 - Id: 8419
@ -33077,6 +33093,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8420 - Id: 8420
@ -33088,6 +33105,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8421 - Id: 8421
@ -33099,6 +33117,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8422 - Id: 8422
@ -33110,6 +33129,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8423 - Id: 8423
@ -33121,6 +33141,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8424 - Id: 8424
@ -33132,6 +33153,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
Requires: Requires:
SpCost: 1 SpCost: 1
- Id: 8425 - Id: 8425
@ -33247,6 +33269,7 @@ Body:
HitCount: 1 HitCount: 1
Element: Water Element: Water
SplashArea: 1 SplashArea: 1
Duration1: -1
Requires: Requires:
SpCost: 80 SpCost: 80
- Id: 8434 - Id: 8434

View File

@ -16802,6 +16802,7 @@ Body:
Flags: Flags:
IsNpc: true IsNpc: true
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
- Id: 686 - Id: 686
Name: NPC_INVINCIBLEOFF Name: NPC_INVINCIBLEOFF
@ -23614,6 +23615,7 @@ Body:
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
SplashArea: 3 SplashArea: 3
Duration1: -1
Duration2: Duration2:
- Level: 1 - Level: 1
Time: 2000 Time: 2000
@ -31866,6 +31868,7 @@ Body:
HitCount: 1 HitCount: 1
CastCancel: true CastCancel: true
AfterCastActDelay: 1000 AfterCastActDelay: 1000
Duration1: -1
Cooldown: 15000 Cooldown: 15000
Requires: Requires:
SpCost: 10 SpCost: 10
@ -36084,6 +36087,7 @@ Body:
HitCount: 1 HitCount: 1
Element: Fire Element: Fire
Knockback: 2 Knockback: 2
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 40 SpCost: 40
@ -36096,6 +36100,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 60 SpCost: 60
@ -36132,6 +36137,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 40 SpCost: 40
@ -36144,6 +36150,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 60 SpCost: 60
@ -36179,6 +36186,7 @@ Body:
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Knockback: 5 Knockback: 5
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 40 SpCost: 40
@ -36191,6 +36199,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 60 SpCost: 60
@ -36225,6 +36234,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 40 SpCost: 40
@ -36237,6 +36247,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 60 SpCost: 60
@ -36271,6 +36282,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36283,6 +36295,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36295,6 +36308,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36307,6 +36321,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36319,6 +36334,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36331,6 +36347,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36343,6 +36360,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36355,6 +36373,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36367,6 +36386,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36379,6 +36399,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36391,6 +36412,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36403,6 +36425,7 @@ Body:
NoDamage: true NoDamage: true
Hit: Single Hit: Single
HitCount: 1 HitCount: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 1 SpCost: 1
@ -36519,6 +36542,7 @@ Body:
HitCount: 1 HitCount: 1
Element: Water Element: Water
SplashArea: 1 SplashArea: 1
Duration1: -1
FixedCastTime: -1 FixedCastTime: -1
Requires: Requires:
SpCost: 80 SpCost: 80

View File

@ -1894,14 +1894,14 @@ static bool skill_parse_row_skilldb(char* split[], int columns, int current) {
} }
if (!isMultiLevel(it_cast->second.upkeep_time)) { if (!isMultiLevel(it_cast->second.upkeep_time)) {
if (it_cast->second.upkeep_time[0] > 0) if (it_cast->second.upkeep_time[0] != 0)
body << YAML::Key << "Duration1" << YAML::Value << it_cast->second.upkeep_time[0]; body << YAML::Key << "Duration1" << YAML::Value << it_cast->second.upkeep_time[0];
} else { } else {
body << YAML::Key << "Duration1"; body << YAML::Key << "Duration1";
body << YAML::BeginSeq; body << YAML::BeginSeq;
for (size_t i = 0; i < ARRAYLENGTH(it_cast->second.upkeep_time); i++) { for (size_t i = 0; i < ARRAYLENGTH(it_cast->second.upkeep_time); i++) {
if (it_cast->second.upkeep_time[i] > 0) { if (it_cast->second.upkeep_time[i] != 0) {
body << YAML::BeginMap; body << YAML::BeginMap;
body << YAML::Key << "Level" << YAML::Value << i + 1; body << YAML::Key << "Level" << YAML::Value << i + 1;
body << YAML::Key << "Time" << YAML::Value << it_cast->second.upkeep_time[i]; body << YAML::Key << "Time" << YAML::Value << it_cast->second.upkeep_time[i];
@ -1913,14 +1913,14 @@ static bool skill_parse_row_skilldb(char* split[], int columns, int current) {
} }
if (!isMultiLevel(it_cast->second.upkeep_time2)) { if (!isMultiLevel(it_cast->second.upkeep_time2)) {
if (it_cast->second.upkeep_time2[0] > 0) if (it_cast->second.upkeep_time2[0] != 0)
body << YAML::Key << "Duration2" << YAML::Value << it_cast->second.upkeep_time2[0]; body << YAML::Key << "Duration2" << YAML::Value << it_cast->second.upkeep_time2[0];
} else { } else {
body << YAML::Key << "Duration2"; body << YAML::Key << "Duration2";
body << YAML::BeginSeq; body << YAML::BeginSeq;
for (size_t i = 0; i < ARRAYLENGTH(it_cast->second.upkeep_time2); i++) { for (size_t i = 0; i < ARRAYLENGTH(it_cast->second.upkeep_time2); i++) {
if (it_cast->second.upkeep_time2[i] > 0) { if (it_cast->second.upkeep_time2[i] != 0) {
body << YAML::BeginMap; body << YAML::BeginMap;
body << YAML::Key << "Level" << YAML::Value << i + 1; body << YAML::Key << "Level" << YAML::Value << i + 1;
body << YAML::Key << "Time" << YAML::Value << it_cast->second.upkeep_time2[i]; body << YAML::Key << "Time" << YAML::Value << it_cast->second.upkeep_time2[i];