Pārlūkot izejas kodu

Fixes SpiritSphereCost negative values
* SphiritSphereCost has potential -1 value to remove all available spirit spheres.
Thanks to @teededung!

Aleos 5 gadi atpakaļ
vecāks
revīzija
a74978b258
3 mainītis faili ar 8 papildinājumiem un 2 dzēšanām
  1. 3 0
      db/pre-re/skill_db.yml
  2. 3 0
      db/re/skill_db.yml
  3. 2 2
      src/tool/csv2yaml.cpp

+ 3 - 0
db/pre-re/skill_db.yml

@@ -27958,6 +27958,7 @@ Body:
       Ammo:
         Bullet: true
       AmmoAmount: 1
+      SpiritSphereCost: -1
       Equipment:
         Silver_Bullet: true
   - Id: 2564
@@ -28130,6 +28131,7 @@ Body:
         Time: 80000
     Requires:
       SpCost: 30
+      SpiritSphereCost: -1
   - Id: 2569
     Name: RL_AM_BLAST
     Description: Anti-Material Blast
@@ -28256,6 +28258,7 @@ Body:
           Amount: 55
       Weapon:
         Rifle: true
+      SpiritSphereCost: -1
   - Id: 2572
     Name: RL_R_TRIP_PLUSATK
     Description: Round Trip Plus Attack

+ 3 - 0
db/re/skill_db.yml

@@ -29287,6 +29287,7 @@ Body:
       Ammo:
         Bullet: true
       AmmoAmount: 1
+      SpiritSphereCost: -1
       Equipment:
         Silver_Bullet: true
         Sanctified_Bullet: true
@@ -29468,6 +29469,7 @@ Body:
     FixedCastTime: -1
     Requires:
       SpCost: 30
+      SpiritSphereCost: -1
   - Id: 2569
     Name: RL_AM_BLAST
     Description: Anti-Material Blast
@@ -29599,6 +29601,7 @@ Body:
           Amount: 55
       Weapon:
         Rifle: true
+      SpiritSphereCost: -1
   - Id: 2572
     Name: RL_R_TRIP_PLUSATK
     Description: Round Trip Plus Attack

+ 2 - 2
src/tool/csv2yaml.cpp

@@ -2203,14 +2203,14 @@ static bool skill_parse_row_skilldb(char* split[], int columns, int current) {
 		}
 		
 		if (!isMultiLevel(it_req->second.spiritball)) {
-			if (it_req->second.spiritball[0] > 0)
+			if (it_req->second.spiritball[0] != 0)
 				body << YAML::Key << "SpiritSphereCost" << YAML::Value << it_req->second.spiritball[0];
 		} else {
 			body << YAML::Key << "SpiritSphereCost";
 			body << YAML::BeginSeq;
 
 			for (size_t i = 0; i < ARRAYLENGTH(it_req->second.spiritball); i++) {
-				if (it_req->second.spiritball[i] > 0) {
+				if (it_req->second.spiritball[i] != 0) {
 					body << YAML::BeginMap;
 					body << YAML::Key << "Level" << YAML::Value << i + 1;
 					body << YAML::Key << "Amount" << YAML::Value << it_req->second.spiritball[i];