public void addXp(int skill, double exp) {
		if (player.xpLock == true) {
			return;
		}
		
		exp *= 90;
		player.getControlerManager().trackXP(skill, (int) exp);
		int oldLevel = getLevelForXp(skill);
		xp[skill] += exp;
		xpCounter += exp;
		refreshXpCounter();
		if (xp[skill] > MAXIMUM_EXP) {
			xp[skill] = MAXIMUM_EXP;
		}
		int newLevel = getLevelForXp(skill);
		int levelDiff = newLevel - oldLevel;
		if (newLevel > oldLevel) {
			level[skill] += levelDiff;
			player.getDialogueManager().startDialogue("LevelUp", skill);
			if (skill == HITPOINTS)
				player.heal(levelDiff * 10);
			  if (skill == THIEVING)
				  exp *= 70;
			if (skill == PRAYER)
				player.getPrayer().restorePrayer(levelDiff * 10);
			if (skill == SUMMONING || (skill >= ATTACK && skill <= MAGIC))
				player.getAppearence().generateAppearenceData();
		}
		refresh(skill);
	}