@Override
	public boolean tick(Tickable ticking, int tickID)
	{
		if((tickID==Tickable.TICKID_TRAP_RESET)&&(getReset()>0))
		{
			if((sprung)
			&&(affected!=null)
			&&(affected instanceof Room)
			&&(!disabled())
			&&(tickDown>=0))
			{
				final Room R=(Room)affected;
				if(tickDown>13)
				{
					R.showHappens(CMMsg.MSG_OK_VISUAL,L("Water is filling up the room!"));
					CMLib.utensils().extinguish(invoker(),R,true);
					R.recoverPhyStats();
					R.recoverRoomStats();
				}
				else
				if(tickDown>2)
				{
					CMLib.utensils().extinguish(invoker(),R,true);
					R.recoverPhyStats();
					R.recoverRoomStats();
				}
				else
				{
					R.recoverPhyStats();
					R.recoverRoomStats();
					R.showHappens(CMMsg.MSG_OK_VISUAL,L("The water is draining away..."));
				}
			}
		}
		return super.tick(ticking,tickID);
	}