| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -14,6 +14,7 @@ import org.json.simple.JSONArray; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.json.simple.JSONObject; | 
					 | 
					 | 
					 | 
					import org.json.simple.JSONObject; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.pmw.tinylog.Logger; | 
					 | 
					 | 
					 | 
					import org.pmw.tinylog.Logger; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import java.util.ArrayList; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.EnumSet; | 
					 | 
					 | 
					 | 
					import java.util.EnumSet; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.HashMap; | 
					 | 
					 | 
					 | 
					import java.util.HashMap; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -58,6 +59,8 @@ public class ItemTemplate { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public float item_weapon_projectile_speed; | 
					 | 
					 | 
					 | 
					    public float item_weapon_projectile_speed; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public int item_weapon_combat_idle_anim; | 
					 | 
					 | 
					 | 
					    public int item_weapon_combat_idle_anim; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public HashMap<Enum.SourceType, int[]> item_weapon_damage = new HashMap<>(); | 
					 | 
					 | 
					 | 
					    public HashMap<Enum.SourceType, int[]> item_weapon_damage = new HashMap<>(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    public ArrayList<int[]> weapon_attack_anim_right = new ArrayList(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    public ArrayList<int[]> weapon_attack_anim_left = new ArrayList(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public Enum.AttributeType item_primary_attr = Enum.AttributeType.None; | 
					 | 
					 | 
					 | 
					    public Enum.AttributeType item_primary_attr = Enum.AttributeType.None; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public Enum.AttributeType item_secondary_attr = Enum.AttributeType.None; | 
					 | 
					 | 
					 | 
					    public Enum.AttributeType item_secondary_attr = Enum.AttributeType.None; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public EnumSet<Enum.ItemFlags> item_flags = EnumSet.noneOf(Enum.ItemFlags.class); | 
					 | 
					 | 
					 | 
					    public EnumSet<Enum.ItemFlags> item_flags = EnumSet.noneOf(Enum.ItemFlags.class); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -206,6 +209,26 @@ public class ItemTemplate { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        item_weapon_damage.put(sourceType, minMax); | 
					 | 
					 | 
					 | 
					                        item_weapon_damage.put(sourceType, minMax); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    } | 
					 | 
					 | 
					 | 
					                    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                JSONArray attack_anim_right = (JSONArray) jsonObject.get("weapon_attack_anim_right"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                if (attack_anim_right.isEmpty() == false) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    for (Object o : weapon_damage) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        JSONArray animationEntry = (JSONArray) o; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        int animation = (int) animationEntry.get(0); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        int duration = (int) animationEntry.get(1); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        weapon_attack_anim_right.add(new int[]{animation, duration}); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                JSONArray attack_anim_left = (JSONArray) jsonObject.get("attack_anim_left"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                if (attack_anim_left.isEmpty() == false) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    for (Object o : weapon_damage) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        JSONArray animationEntry = (JSONArray) o; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        int animation = (int) animationEntry.get(0); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        int duration = (int) animationEntry.get(1); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        weapon_attack_anim_left.add(new int[]{animation, duration}); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                item_primary_attr = Enum.AttributeType.valueOf((String) jsonObject.get("item_primary_attr")); | 
					 | 
					 | 
					 | 
					                item_primary_attr = Enum.AttributeType.valueOf((String) jsonObject.get("item_primary_attr")); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                item_secondary_attr = Enum.AttributeType.valueOf((String) jsonObject.get("item_secondary_attr")); | 
					 | 
					 | 
					 | 
					                item_secondary_attr = Enum.AttributeType.valueOf((String) jsonObject.get("item_secondary_attr")); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |