private void attack(){
		if (attackTime >= attackSpeed && isHooked){
			attackTime = 0;
			int k = ms.getDmg();
			int levelP = hookedPlayer.getInfo().getLevel();
			int levelM = ms.getLevel();
			float pierce = (levelM - levelP) * Balance.PIERCE_REDUCT;
			if (pierce < 0){
				pierce = 0;
			}
			float reduct = hookedPlayer.getInfo().getDmgReduct() - pierce;
			float dmg = k - (k * reduct);
			String s = df.format(dmg);
			dmg = Float.parseFloat(s);
			if (!hookedPlayer.isDead()){
				log.writeToLog(ms.getName() + " hit " + hookedPlayer.getInfo().getName() + " for " + dmg, new Color(100,0,0));
				hookedPlayer.takeDamage(dmg);
			}
			if (hookedPlayer.isDead()){
				isHooked = false;
				isDespawned = true;
			}
		}
	}