|  |  | @ -121,9 +121,13 @@ public class PlayerCombatStats { | 
			
		
	
		
		
			
				
					
					|  |  |  |         float skillLevel = 0; |  |  |  |         float skillLevel = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |         float masteryLevel = 0; |  |  |  |         float masteryLevel = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         if(this.owner.skills.containsKey(skill)) |  |  |  |         if(this.owner.skills.containsKey(skill)) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             skillLevel = this.owner.skills.get(skill).getModifiedAmount(); |  |  |  |             skillLevel = this.owner.skills.get(skill).getModifiedAmount(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |             float newCalc = calculateModifiedSkill(skill, this.owner); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if(newCalc != skillLevel){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 int i = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         if(this.owner.skills.containsKey(mastery)) |  |  |  |         if(this.owner.skills.containsKey(mastery)) | 
			
		
	
		
		
			
				
					
					|  |  |  |             masteryLevel = this.owner.skills.get(mastery).getModifiedAmount(); |  |  |  |             masteryLevel = this.owner.skills.get(mastery).getModifiedAmount(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -595,13 +599,30 @@ public class PlayerCombatStats { | 
			
		
	
		
		
			
				
					
					|  |  |  |         float spiModPercentage = (spiMod / totalMod); |  |  |  |         float spiModPercentage = (spiMod / totalMod); | 
			
		
	
		
		
			
				
					
					|  |  |  |         //calculate stat weight
 |  |  |  |         //calculate stat weight
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         float weight = 0; |  |  |  |         float weight = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |         weight += pc.statStrCurrent * strModPercentage; |  |  |  |         weight += pc.statStrBase * strModPercentage; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         weight += pc.statDexCurrent * dexModPercentage; |  |  |  |         weight += pc.statDexBase * dexModPercentage; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         weight += pc.statConCurrent * conModPercentage; |  |  |  |         weight += pc.statConBase * conModPercentage; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         weight += pc.statIntCurrent * intModPercentage; |  |  |  |         weight += pc.statIntBase * intModPercentage; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         weight += pc.statSpiCurrent * spiModPercentage; |  |  |  |         weight += pc.statSpiBase * spiModPercentage; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         float modifiedSkill = (75 + 3*pc.statIntCurrent + 2 * weight) / 20; |  |  |  |         Enum.SourceType sourceType = Enum.SourceType.GetSourceType(skillBase.getNameNoSpace()); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         float base = 7f; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         base += CharacterSkill.baseSkillValues[(int) weight]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         float bonus = 0f; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CharacterSkill.GetOwner(skill).getBonuses() != null) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //Get bonuses from runes
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             bonus = CharacterSkill.GetOwner(skill).getBonuses().getSkillBonus(skillBase.sourceType); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CharacterSkill.GetOwner(skill).getBonuses() != null) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //add bonuses from effects/items and runes
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             base += bonus + CharacterSkill.GetOwner(skill).getBonuses().getFloat(Enum.ModType.Skill, sourceType); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         float modAmount = skill.getBaseAmount(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CharacterSkill.GetOwner(skill).getBonuses() != null) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //Multiply any percent bonuses
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             modAmount *= (1 + CharacterSkill.GetOwner(skill).getBonuses().getFloatPercentAll(Enum.ModType.Skill, sourceType)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         float modifiedSkill = modAmount; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         return modifiedSkill; |  |  |  |         return modifiedSkill; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |