protected int promptDuration(MOB mob, TriadList<String,String,Integer> settings, int showNumber,int showFlag)
		throws IOException
	{
		int mudDayIndex=settings.indexOfFirst("MUDDAY");
		int dateIndex=settings.indexOfFirst("DATE");
		int waitIndex=settings.indexOfFirst("WAIT");
		int durationIndex=settings.indexOfFirst("DURATION");
		if(durationIndex<0)
		{
			settings.add("DURATION","900",Integer.valueOf(-1));
			durationIndex=settings.indexOfFirst("DURATION");
		}
		++showNumber;
		if((showFlag<0)||(showFlag==showNumber))
		{
			final String[] TYPES={"RANDOM INTERVAL","MUD-DAY","RL-DAY"};
			int typeIndex=0;
			if(mudDayIndex>=0)
				typeIndex=1;
			else
			if(dateIndex>=0)
				typeIndex=2;

			if((showFlag<=-999)||(showFlag==showNumber))
			{
				String newVal="?";
				while(newVal.equals("?")&&((mob.session()!=null)&&(!mob.session().isStopped())))
				{
					newVal=CMLib.genEd().prompt(mob,TYPES[typeIndex],showNumber,showFlag,L("Schedule type"),CMParms.toListString(TYPES));
					if(CMParms.indexOf(TYPES,newVal.toUpperCase().trim())<0)
					{
						newVal="?";
						mob.tell(L("Not a valid entry.  Try ?"));
						continue;
					}
					typeIndex=CMParms.indexOf(TYPES,newVal.toUpperCase().trim());
					if((typeIndex!=0)&&(waitIndex>=0))
						settings.removeFirst("WAIT");
					if((typeIndex!=1)&&(mudDayIndex>=0))
						settings.removeFirst("MUDDAY");
					if((typeIndex!=2)&&(dateIndex>=0))
						settings.removeFirst("DATE");
					if((typeIndex==0)&&(waitIndex<0))
						settings.add("WAIT","100",Integer.valueOf(-1));
					if((typeIndex==1)&&(mudDayIndex<0))
						settings.add("MUDDAY","1-1",Integer.valueOf(-1));
					if((typeIndex==2)&&(dateIndex<0))
						settings.add("DATE","1-1",Integer.valueOf(-1));
					if(showFlag==showNumber)
						return showNumber;
					break;
				}
				mudDayIndex=settings.indexOfFirst("MUDDAY");
				dateIndex=settings.indexOfFirst("DATE");
				waitIndex=settings.indexOfFirst("WAIT");
				durationIndex=settings.indexOfFirst("DURATION");
			}
			else
				mob.tell(L("@x1. Schedule type: @x2",""+showNumber,TYPES[typeIndex]));
		}

		if(mudDayIndex>=0)
			promptText(mob,settings,"MUDDAY",++showNumber,showFlag,"Mud-Day (MONTH-DAY)","It's, well, a date in form month-day.",false);
		else
		if(dateIndex>=0)
			promptText(mob,settings,"DATE",++showNumber,showFlag,"Real Life Date (MONTH-DAY)","It's, well, a date in form month-day.",false);
		else
			promptText(mob,settings,"WAIT",++showNumber,showFlag,"Interval Ticks (?): ","It's in ticks; where 150 ticks=1 mud hour.  You can also make random interval by using ? operator where 1?5 means random number from 1-5.  Make expressions like 100+((1?5)*10)",false);
		promptText(mob,settings,"DURATION",++showNumber,showFlag,"Duration Ticks (?): ","It's in ticks; where 150 ticks=1 mud hour.  You can also make random durations by using ? operator where 1?5 means random number from 1-5.  Make expressions like 100+((1?5)*10)",false);
		return showNumber;
	}