|  |  |  | @ -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; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |