@Override
	public void affectCharStats(MOB affectedMOB, CharStats affectableStats)
	{
		for(final int i: CharStats.CODES.BASECODES())
		{
			if(stats[i]!=0)
			{
				int newStat=affectableStats.getStat(i)+stats[i];
				if(newStat<1)
					newStat=1;
				if(adjustMax)
					affectableStats.setStat(CharStats.STAT_MAX_STRENGTH_ADJ+i, stats[i]);
				else
				{
					final int maxStat=affectableStats.getMaxStat(i);
					if(newStat>maxStat)
						newStat=maxStat;
				}
				affectableStats.setStat(i,newStat);
			}
		}
		if(doAllCodes)
		{
			for(final int i: CharStats.CODES.ALLCODES())
			{
				if((stats[i]!=0)&&(!CharStats.CODES.isBASE(i)))
				{
					affectableStats.setStat(i,affectableStats.getStat(i)+stats[i]);
				}
			}
		}
	}