@Override
	public Object getDesignatedObject(String named)
	{
		int code=-1;
		for(int i=0;i<QCODES.length;i++)
		{
			if(named.equalsIgnoreCase(QCODES[i]))
			{
				code = i;
				break;
			}
		}
		switch(code)
		{
		case 0:
			return ID();
		case 1:
			return name();
		case 2:
			return "" + duration();
		case 3:
			return "" + minWait();
		case 4:
			return "" + minPlayers();
		case 5:
			return "" + playerMask();
		case 6:
			return "" + runLevel();
		case 7:
			return "" + startDate();
		case 8:
			return "" + startDate();
		case 9:
			return "" + waitInterval();
		case 10:
			return SPAWN_DESCS[getSpawn()];
		case 11:
			return displayName();
		case 12:
			break; // instructions should fall through
		case 13:
			return Boolean.toString(durable);
		case 14:
			return "" + author();
		}
		return questState.getStat(named);
	}