From 00943a2c5f6532e9413d0d95d0d9175f54926360 Mon Sep 17 00:00:00 2001 From: Aleos Date: Wed, 8 Apr 2020 13:27:12 -0400 Subject: [PATCH] Corrects Star Emperor stances (#4753) * Fixes #4744. * Adds missing stance skill requirements. * Adds Stance values to csv2yaml for skill_db conversions. Thanks to @iubantot and @attackjom! --- db/re/skill_db.yml | 16 ++++++++++++++++ doc/skill_db.txt | 4 ++++ src/map/script_constants.hpp | 4 ++++ src/tool/csv2yaml.cpp | 4 ++++ 4 files changed, 28 insertions(+) diff --git a/db/re/skill_db.yml b/db/re/skill_db.yml index b3fd6bd0d6..7921741a30 100644 --- a/db/re/skill_db.yml +++ b/db/re/skill_db.yml @@ -29274,6 +29274,7 @@ Body: Time: 60000 Requires: SpCost: 40 + State: Moonstance - Id: 2575 Name: SJ_LUNARSTANCE Description: Lunar Stance @@ -29317,6 +29318,7 @@ Body: Amount: 55 - Level: 7 Amount: 60 + State: Moonstance - Id: 2577 Name: SJ_LIGHTOFSTAR Description: Light of Star @@ -29340,6 +29342,7 @@ Body: Time: 60000 Requires: SpCost: 40 + State: Starstance - Id: 2578 Name: SJ_STARSTANCE Description: Star Stance @@ -29384,6 +29387,7 @@ Body: Amount: 45 - Level: 7 Amount: 50 + State: Moonstance - Id: 2580 Name: SJ_FLASHKICK Description: Flash Kick @@ -29426,6 +29430,7 @@ Body: Amount: 20 - Level: 7 Amount: 15 + State: Starstance - Id: 2581 Name: SJ_STAREMPEROR Description: Star Emperor Advent @@ -29455,6 +29460,7 @@ Body: Amount: 85 - Level: 5 Amount: 90 + State: Universestance - Id: 2582 Name: SJ_NOVAEXPLOSING Description: Nova Explosion @@ -29486,6 +29492,7 @@ Body: Amount: 75 - Level: 5 Amount: 80 + State: Universestance - Id: 2583 Name: SJ_UNIVERSESTANCE Description: Universe Stance @@ -29542,6 +29549,7 @@ Body: Amount: 65 - Level: 7 Amount: 70 + State: Starstance - Id: 2585 Name: SJ_GRAVITYCONTROL Description: Gravity Control @@ -29559,6 +29567,7 @@ Body: Cooldown: 20000 Requires: SpCost: 80 + State: Universestance - Id: 2586 Name: SJ_BOOKOFDIMENSION Description: Book of Dimension @@ -29584,6 +29593,7 @@ Body: Time: 30000 Requires: SpCost: 40 + State: Universestance - Id: 2587 Name: SJ_BOOKOFCREATINGSTAR Description: Book of Creating Star @@ -29622,6 +29632,7 @@ Body: Amount: 65 - Level: 5 Amount: 70 + State: Universestance Unit: Id: Creatingstar Layout: 2 @@ -29671,6 +29682,7 @@ Body: Time: 60000 Requires: SpCost: 40 + State: Sunstance - Id: 2591 Name: SJ_SUNSTANCE Description: Sun Stance @@ -29713,6 +29725,7 @@ Body: Amount: 49 - Level: 7 Amount: 52 + State: Sunstance - Id: 2593 Name: SJ_PROMINENCEKICK Description: Prominence Kick @@ -29732,6 +29745,7 @@ Body: IgnoreStatus: true Requires: SpCost: 20 + State: Sunstance - Id: 2594 Name: SJ_FALLINGSTAR_ATK Description: Falling Star Attack @@ -29749,6 +29763,7 @@ Body: CastCancel: true Requires: SpCost: 1 + State: Starstance - Id: 2595 Name: SJ_FALLINGSTAR_ATK2 Description: Falling Star Attack 2 @@ -29767,6 +29782,7 @@ Body: CastCancel: true Requires: SpCost: 1 + State: Starstance - Id: 2596 Name: SP_SOULGOLEM Description: Golem's Soul diff --git a/doc/skill_db.txt b/doc/skill_db.txt index 5e665d963a..05a36d1904 100644 --- a/doc/skill_db.txt +++ b/doc/skill_db.txt @@ -693,6 +693,10 @@ Mado - Requires OPTION_MADOGEAR. ElementalSpirit - Requires an Elemental Spirit to be summoned. ElementalSpirit2 - Requires an Elemental Spirit to be summoned and will be removed after. Peco - Requires OPTION_RIDING. +Sunstance - Requires Sun/Universe Stance status be active. +Moonstance - Requires Moon/Universe Stance status be active. +Starstance - Requires Star/Universe Stance status be active. +Universestance - Requires Universe Stance status be active. ------------------ diff --git a/src/map/script_constants.hpp b/src/map/script_constants.hpp index 16e405d0e8..980aaaa239 100644 --- a/src/map/script_constants.hpp +++ b/src/map/script_constants.hpp @@ -7554,6 +7554,10 @@ export_constant(ST_ELEMENTALSPIRIT); export_constant(ST_ELEMENTALSPIRIT2); export_constant(ST_PECO); + export_constant(ST_SUNSTANCE); + export_constant(ST_MOONSTANCE); + export_constant(ST_STARSTANCE); + export_constant(ST_UNIVERSESTANCE); /* skill unit flags */ export_constant(UF_NOENEMY); diff --git a/src/tool/csv2yaml.cpp b/src/tool/csv2yaml.cpp index 1c621f5af3..f4b9d9f96e 100644 --- a/src/tool/csv2yaml.cpp +++ b/src/tool/csv2yaml.cpp @@ -1270,6 +1270,10 @@ static bool skill_parse_row_requiredb(char* split[], int columns, int current) else if (strcmpi(split[10], "elementalspirit") == 0) entry.state = ST_ELEMENTALSPIRIT; else if (strcmpi(split[10], "elementalspirit2") == 0) entry.state = ST_ELEMENTALSPIRIT2; else if (strcmpi(split[10], "peco") == 0) entry.state = ST_PECO; + else if (strcmpi(split[10], "sunstance") == 0) entry.state = ST_SUNSTANCE; + else if (strcmpi(split[10], "moonstance") == 0) entry.state = ST_MOONSTANCE; + else if (strcmpi(split[10], "starstance") == 0) entry.state = ST_STARSTANCE; + else if (strcmpi(split[10], "universestance") == 0) entry.state = ST_UNIVERSESTANCE; else entry.state = ST_NONE; // Unknown or no state trim(split[11]);