@ -265,6 +265,9 @@ public class CharacterSkill extends AbstractGameObject {
				@@ -265,6 +265,9 @@ public class CharacterSkill extends AbstractGameObject {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        this . ownerUID  =  mob . getObjectUUID ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        this . isMobOwner  =  true ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        boolean  isGuard  =  mob . agentType . equals ( Enum . AIAgentType . GUARDCAPTAIN )  | |  mob . agentType . equals ( Enum . AIAgentType . GUARDMINION ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ( isGuard )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            boolean  poop  =  true ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        calculateMobBaseAmount ( isGuard ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        calculateModifiedAmount ( isGuard ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        this . skillType  =  CharacterSkills . GetCharacterSkillByToken ( this . skillsBase . getToken ( ) ) ;   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1036,15 +1039,15 @@ public class CharacterSkill extends AbstractGameObject {
				@@ -1036,15 +1039,15 @@ public class CharacterSkill extends AbstractGameObject {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        //Get any rune bonus
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  bonus  =  0f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        //TODO SKILLS RUNES
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  base  =  7f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  statMod  =  0 . 5f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( CharacterSkill . GetOwner ( this )  ! =  null  & &  CharacterSkill . GetOwner ( this ) . getBonuses ( )  ! =  null )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            //Get bonuses from runes
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            bonus  =  CharacterSkill . GetOwner ( this ) . getBonuses ( ) . getSkillBonus ( this . skillsBase . sourceType ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        //Get Base skill for unmodified stats
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  base  =  7f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  statMod  =  0 . 5f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( this . skillsBase . getStrMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  + =  ( float )  this . skillsBase . getStrMod ( )  *  ( float )  ( ( Mob )  CharacterSkill . GetOwner ( this ) ) . getMobBase ( ) . getMobBaseStats ( ) . getBaseStr ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( this . skillsBase . getDexMod ( )  >  0 )   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1059,6 +1062,7 @@ public class CharacterSkill extends AbstractGameObject {
				@@ -1059,6 +1062,7 @@ public class CharacterSkill extends AbstractGameObject {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  =  1f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        else  if  ( statMod  >  600 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  =  600f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        base  + =  CharacterSkill . baseSkillValues [ ( int )  statMod ] ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( base  +  bonus  <  1f )   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1079,35 +1083,37 @@ public class CharacterSkill extends AbstractGameObject {
				@@ -1079,35 +1083,37 @@ public class CharacterSkill extends AbstractGameObject {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        //Get any rune bonus
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  bonus  =  0f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  base  =  7f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  statMod  =  0 . 5f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( CharacterSkill . GetOwner ( this )  ! =  null  & &  CharacterSkill . GetOwner ( this ) . getBonuses ( )  ! =  null )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            //Get bonuses from runes
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            bonus  =  CharacterSkill . GetOwner ( this ) . getBonuses ( ) . getSkillBonus ( this . skillsBase . sourceType ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        //Get Base skill for modified stats
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        //TODO this fomula needs verified
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  base  =  7f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  statMod  =  0 . 5f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( this . skillsBase . getStrMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  + =  ( float )  this . skillsBase . getStrMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatStrCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( this . skillsBase . getDexMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  + =  ( float )  this . skillsBase . getDexMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatDexCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( this . skillsBase . getConMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  + =  ( float )  this . skillsBase . getConMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatConCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( this . skillsBase . getIntMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  + =  ( float )  this . skillsBase . getIntMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatIntCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( this . skillsBase . getSpiMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  + =  ( float )  this . skillsBase . getSpiMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatSpiCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( statMod  <  1 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  =  1f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        else  if  ( statMod  >  600 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            statMod  =  600f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            //Get Base skill for modified stats
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            //TODO this fomula needs verified
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( this . skillsBase . getStrMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                statMod  + =  ( float )  this . skillsBase . getStrMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatStrCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( this . skillsBase . getDexMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                statMod  + =  ( float )  this . skillsBase . getDexMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatDexCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( this . skillsBase . getConMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                statMod  + =  ( float )  this . skillsBase . getConMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatConCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( this . skillsBase . getIntMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                statMod  + =  ( float )  this . skillsBase . getIntMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatIntCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( this . skillsBase . getSpiMod ( )  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                statMod  + =  ( float )  this . skillsBase . getSpiMod ( )  *  ( float )  CharacterSkill . GetOwner ( this ) . getStatSpiCurrent ( )  /  100f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( statMod  <  1 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                statMod  =  1f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            else  if  ( statMod  >  600 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                statMod  =  600f ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        base  + =  CharacterSkill . baseSkillValues [ ( int )  statMod ] ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        SourceType  sourceType  =  SourceType . GetSourceType ( this . skillsBase . getNameNoSpace ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        //Get any rune, effect and item bonus
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( CharacterSkill . GetOwner ( this ) . getBonuses ( )  ! =  null )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( CharacterSkill . GetOwner ( this )  ! =  null  & &  CharacterSkill . GetOwner ( this )  . getBonuses ( )  ! =  null )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            //add bonuses from effects/items and runes
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            base  + =  bonus  +  CharacterSkill . GetOwner ( this ) . getBonuses ( ) . getFloat ( ModType . Skill ,  sourceType ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1119,7 +1125,7 @@ public class CharacterSkill extends AbstractGameObject {
				@@ -1119,7 +1125,7 @@ public class CharacterSkill extends AbstractGameObject {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        float  modAmount  =  this . baseAmount  +  calculateAmountAfterTrains ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( CharacterSkill . GetOwner ( this ) . getBonuses ( )  ! =  null )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( CharacterSkill . GetOwner ( this )  ! =  null  & &  CharacterSkill . GetOwner ( this )  . getBonuses ( )  ! =  null )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            //Multiply any percent bonuses
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            modAmount  * =  ( 1  +  CharacterSkill . GetOwner ( this ) . getBonuses ( ) . getFloatPercentAll ( ModType . Skill ,  sourceType ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }