@Override
	public boolean tick(Tickable ticking, int tickID)
	{
		if(!super.tick(ticking,tickID))
			return false;
		repairDown-=adjustedLevel;
		if((repairDown<=0)&&(affected instanceof Item))
		{
			repairDown=REPAIR_MAX;
			final Item I=(Item)affected;
			if((I.subjectToWearAndTear())&&(I.usesRemaining()<100))
			{
				if(I.owner() instanceof Room)
					((Room)I.owner()).showHappens(CMMsg.MSG_OK_VISUAL,I,L("<S-NAME> is magically repairing itself."));
				else
				if(I.owner() instanceof MOB)
					((MOB)I.owner()).tell(L("@x1 is magically repairing itself.",I.name()));
				I.setUsesRemaining(I.usesRemaining()+1+(super.getXLEVELLevel(invoker())/3));
			}
		}
		return true;
	}