|
|
|
@ -9,6 +9,7 @@
@@ -9,6 +9,7 @@
|
|
|
|
|
package engine.wpak; |
|
|
|
|
|
|
|
|
|
import engine.gameManager.ConfigManager; |
|
|
|
|
import org.pmw.tinylog.Logger; |
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.nio.file.Files; |
|
|
|
@ -43,48 +44,57 @@ public class PowersParser {
@@ -43,48 +44,57 @@ public class PowersParser {
|
|
|
|
|
|
|
|
|
|
private static PowerEntry parsePowerEntry(String powerData) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PowerEntry powerEntry = new PowerEntry(); |
|
|
|
|
String[] powerEntries = powerData.trim().split("\n"); |
|
|
|
|
ArrayList<String> powerHeader = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
// Parse header
|
|
|
|
|
|
|
|
|
|
String headerString = powerEntries[0]; |
|
|
|
|
headerString = headerString.replace("\n", " "); |
|
|
|
|
|
|
|
|
|
Matcher matcher = STRSPLIT_REGEX.matcher(headerString); |
|
|
|
|
|
|
|
|
|
while (matcher.find()) |
|
|
|
|
powerHeader.add(matcher.group().trim()); |
|
|
|
|
|
|
|
|
|
powerEntry.power_id = powerHeader.get(0); |
|
|
|
|
powerEntry.power_name = powerHeader.get(1).replaceAll("\"", ""); |
|
|
|
|
powerEntry.power_type = powerHeader.get(2); |
|
|
|
|
powerEntry.skill_id = Integer.parseInt(powerHeader.get(3)); |
|
|
|
|
powerEntry.skill_name = powerHeader.get(4).replaceAll("\"", ""); |
|
|
|
|
powerEntry.target_type = powerHeader.get(5); |
|
|
|
|
powerEntry.range = Integer.parseInt(powerHeader.get(6)); |
|
|
|
|
powerEntry.radiusType = powerHeader.get(7); |
|
|
|
|
powerEntry.radius = Integer.parseInt(powerHeader.get(8)); |
|
|
|
|
powerEntry.groupReq = powerHeader.get(9); |
|
|
|
|
powerEntry.costType = powerHeader.get(10); |
|
|
|
|
powerEntry.cost = Float.parseFloat(powerHeader.get(11)); |
|
|
|
|
powerEntry.unknown01 = Integer.parseInt(powerHeader.get(12)); |
|
|
|
|
powerEntry.unknown02 = Integer.parseInt(powerHeader.get(13)); |
|
|
|
|
powerEntry.cast_time = Float.parseFloat(powerHeader.get(14)); |
|
|
|
|
powerEntry.cool_down = Float.parseFloat(powerHeader.get(15)); |
|
|
|
|
powerEntry.recycle_time = Float.parseFloat(powerHeader.get(16)); |
|
|
|
|
powerEntry.unknown03 = Integer.parseInt(powerHeader.get(17)); |
|
|
|
|
powerEntry.combatRequirement = powerHeader.get(18); |
|
|
|
|
powerEntry.unknown04 = Integer.parseInt(powerHeader.get(19)); |
|
|
|
|
powerEntry.unknown05 = Integer.parseInt(powerHeader.get(20)); |
|
|
|
|
powerEntry.targetRequirement = powerHeader.get(21); |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
String[] powerEntries = powerData.trim().split("\n"); |
|
|
|
|
ArrayList<String> powerHeader = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
// Parse header
|
|
|
|
|
|
|
|
|
|
String headerString = powerEntries[0]; |
|
|
|
|
headerString = headerString.replace("\n", " "); |
|
|
|
|
|
|
|
|
|
Matcher matcher = STRSPLIT_REGEX.matcher(headerString); |
|
|
|
|
|
|
|
|
|
while (matcher.find()) |
|
|
|
|
powerHeader.add(matcher.group().trim()); |
|
|
|
|
|
|
|
|
|
powerEntry.power_id = powerHeader.get(0); |
|
|
|
|
powerEntry.power_name = powerHeader.get(1).replaceAll("\"", ""); |
|
|
|
|
powerEntry.power_type = powerHeader.get(2); |
|
|
|
|
powerEntry.skill_id = Integer.parseInt(powerHeader.get(3)); |
|
|
|
|
powerEntry.skill_name = powerHeader.get(4).replaceAll("\"", ""); |
|
|
|
|
powerEntry.target_type = powerHeader.get(5); |
|
|
|
|
powerEntry.range = Integer.parseInt(powerHeader.get(6)); |
|
|
|
|
powerEntry.radiusType = powerHeader.get(7); |
|
|
|
|
powerEntry.radius = Integer.parseInt(powerHeader.get(8)); |
|
|
|
|
powerEntry.groupReq = powerHeader.get(9); |
|
|
|
|
powerEntry.costType = powerHeader.get(10); |
|
|
|
|
powerEntry.cost = Float.parseFloat(powerHeader.get(11)); |
|
|
|
|
powerEntry.unknown01 = Integer.parseInt(powerHeader.get(12)); |
|
|
|
|
powerEntry.unknown02 = Integer.parseInt(powerHeader.get(13)); |
|
|
|
|
powerEntry.cast_time = Float.parseFloat(powerHeader.get(14)); |
|
|
|
|
powerEntry.cool_down = Float.parseFloat(powerHeader.get(15)); |
|
|
|
|
powerEntry.recycle_time = Float.parseFloat(powerHeader.get(16)); |
|
|
|
|
powerEntry.unknown03 = Integer.parseInt(powerHeader.get(17)); |
|
|
|
|
powerEntry.combatRequirement = powerHeader.get(18); |
|
|
|
|
powerEntry.unknown04 = Integer.parseInt(powerHeader.get(19)); |
|
|
|
|
powerEntry.unknown05 = Integer.parseInt(powerHeader.get(20)); |
|
|
|
|
powerEntry.targetRequirement = powerHeader.get(21); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int x = 2; x < powerEntries.length; x++) { |
|
|
|
|
// Parse key/pair values
|
|
|
|
|
// via switch
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
Logger.error(powerEntry.power_id); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return powerEntry; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|