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