/
com/planet_ink/coffee_mud/Abilities/
com/planet_ink/coffee_mud/Abilities/Common/
com/planet_ink/coffee_mud/Abilities/Diseases/
com/planet_ink/coffee_mud/Abilities/Druid/
com/planet_ink/coffee_mud/Abilities/Fighter/
com/planet_ink/coffee_mud/Abilities/Prayers/
com/planet_ink/coffee_mud/Abilities/Properties/
com/planet_ink/coffee_mud/Abilities/Skills/
com/planet_ink/coffee_mud/Abilities/Songs/
com/planet_ink/coffee_mud/Abilities/Spells/
com/planet_ink/coffee_mud/Abilities/Thief/
com/planet_ink/coffee_mud/Abilities/Traps/
com/planet_ink/coffee_mud/Areas/interfaces/
com/planet_ink/coffee_mud/Behaviors/
com/planet_ink/coffee_mud/CharClasses/interfaces/
com/planet_ink/coffee_mud/Commands/
com/planet_ink/coffee_mud/Commands/interfaces/
com/planet_ink/coffee_mud/Exits/interfaces/
com/planet_ink/coffee_mud/Items/Armor/
com/planet_ink/coffee_mud/Items/Basic/
com/planet_ink/coffee_mud/Items/MiscMagic/
com/planet_ink/coffee_mud/Items/Software/
com/planet_ink/coffee_mud/Items/Weapons/
com/planet_ink/coffee_mud/Libraries/interfaces/
com/planet_ink/coffee_mud/Locales/
com/planet_ink/coffee_mud/Locales/interfaces/
com/planet_ink/coffee_mud/MOBS/
com/planet_ink/coffee_mud/MOBS/interfaces/
com/planet_ink/coffee_mud/Races/
com/planet_ink/coffee_mud/Races/interfaces/
com/planet_ink/coffee_mud/WebMacros/
com/planet_ink/coffee_mud/WebMacros/interfaces/
com/planet_ink/coffee_mud/application/
com/planet_ink/coffee_mud/core/smtp/
com/planet_ink/siplet/applet/
lib/
resources/examples/
resources/fakedb/
resources/quests/delivery/
resources/quests/diseased/
resources/quests/drowning/
resources/quests/gobwar/
resources/quests/holidays/
resources/quests/robbed/
resources/quests/smurfocide/
resources/quests/stolen/
resources/quests/templates/
resources/quests/treasurehunt/
resources/quests/vengeance/
web/
web/admin.templates/
web/admin/images/
web/pub.templates/
web/pub/images/mxp/
web/pub/sounds/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
@if?!Authenticate@ @AddFile?/grinder/failedlogin.cmvp@ @else@
@if?!CheckAuthCode?AUTH_CMDQUESTS=true@ @AddFile?/grinder/nopriv.cmvp@ @else@
<html>
<head>
 	<link rel="grinder icon" href="/images/grinder.ico" >
	<title>Questmaker</title>
	<SCRIPT LANGUAGE=JavaScript>
	<!--
		function ClickedBack()
		{
			document.QUESTS.FUNCTION.value='BACK';
			document.QUESTS.submit();
		}
		function ClickedNext()
		{
			if(document.QUESTS.QMEVAL.value!='')
			{
				var confirmed=true;
				eval('confirmed='+document.QUESTS.QMEVAL.value);
				if(!confirmed) return;
			}
			document.QUESTS.FUNCTION.value='NEXT';
			document.QUESTS.submit();
		}
		function Close(val)
		{
			if(window.confirm('Cancelling will lose all your hard work.  Are you SURE?!'))
				window.close();
		}
	//-->
	</SCRIPT>
</head>
<body BGCOLOR=BLACK>
	<TABLE WIDTH=100% BORDER=0>
	<TR>
	<TD WIDTH=33% ALIGN=LEFT VALIGN=TOP><FONT COLOR=WHITE><B>QuestMaker!</B></FONT></TD>
	<TD WIDTH=33% ALIGN=CENTER VALIGN=TOP><IMG SRC="/grinder/images/grinder.gif" WIDTH=78 HEIGHT=122 ALT="" BORDER="0"></TD>
	<TD WIDTH=33% ALIGN=RIGHT VALIGN=TOP><INPUT TYPE=BUTTON NAME=BACK VALUE="Cancel" ONCLICK="Close('');"></TD>
	</TR>
	</TABLE>
<FORM NAME=QUESTS TARGET=_top METHOD=POST ACTION="questmaker.cmvp">
@QuestMaker?@@RequestParameter?FUNCTION@@ @ <!-- this will update qmstate and qmdisplay! -->
<INPUT TYPE=HIDDEN NAME=AUTH VALUE="@Authenticate?AUTH@">
<INPUT TYPE=HIDDEN NAME=FUNCTION VALUE="@RequestParameter?FUNCTION@">
<INPUT TYPE=HIDDEN NAME=QMSTATE VALUE="@QuestMaker?QMSTATE@">
<INPUT TYPE=HIDDEN NAME=QMDISPLAY VALUE="@RequestParameter?QMDISPLAY@">
<INPUT TYPE=HIDDEN NAME=QMNEXT VALUE="@RequestParameter?QMDISPLAY@">
<INPUT TYPE=HIDDEN NAME=QMPROCESS VALUE="">
<INPUT TYPE=HIDDEN NAME=QMEVAL VALUE="">
<FONT COLOR=WHITE>
	<!-- qmdisplay state = '' means welcome! -->
	@if?CheckReqParm?QMDISPLAY=@
		Welcome to the QuestMaker.  Our first step will be to choose a name for your quest.  
		This name must be unique among all the quests, so if you have a lot of them, you might
		want to look over the list.  This name will never be displayed, so its not important that
		it look right.  In fact, using short names with no spaces is the best idea; something like:
		myfirstquest would do nicely.<P>
		<CENTER>
		Quest name:	<INPUT TYPE=TEXT NAME=QMNAME SIZE=20 VALUE="@RequestParameter?QMNAME@">
		<P>
		Just hit next to proceed.
		</CENTER>
		<SCRIPT LANGUAGE=JavaScript>
		<!--
			document.QUESTS.QMEVAL.value='next()';
			function next()
			{
				if(document.QUESTS.QMNAME.value=='')
				{
					window.alert('Please enter some sort of name.  That would be really good.');
					return false;
				}
				document.QUESTS.QMNEXT.value='QUESTTIME';
				return true;
			}
		//-->
		</SCRIPT>
	@endif@
	
	<!-- qmdisplay state = '' means welcome! -->
	@if?CheckReqParm?QMDISPLAY=QUESTTIME@
		OK! Now we're going to decide how often our quest runs by select quest start conditions.
		<P>
		<TABLE WIDTH=100%><TR><TD WIDTH=10%><BR></TD><TD VALIGN=TOP ALIGN=LEFT>
		<FONT COLOR=WHITE>
		<P>
		<INPUT TYPE=RADIO NAME=QMSTARTTYPE VALUE="DATE" @if?CheckReqParm?QMSTARTTYPE=DATE@CHECKED@endif@>
		The quest starts automatically, once a year, on a real-life date in format DAYNUMBER-MONTHNUMBER
		<INPUT TYPE=TEXT NAME=RLDATE SIZE=5 VALUE="@if?CheckReqParm?QMSTARTTYPE=DATE@ @RequestParameter?QMSTARTVAL@ @endif@">
		<P>
		<INPUT TYPE=RADIO NAME=QMSTARTTYPE VALUE="MUDDAY" @if?CheckReqParm?QMSTARTTYPE=MUDDAY@CHECKED@endif@>
		The quest starts automatically, once per standard mud-year, on a mud date in format DAYNUMBER-MONTHNUMBER
		<INPUT TYPE=TEXT NAME=MUDDATE SIZE=5 VALUE="@if?CheckReqParm?QMSTARTTYPE=MUDDAY@ @RequestParameter?QMSTARTVAL@ @endif@">
		<P>
		<INPUT TYPE=RADIO NAME=QMSTARTTYPE VALUE="INTERVAL" @if?CheckReqParm?QMSTARTTYPE=INTERVAL@CHECKED@endif@  @if?CheckReqParm?QMSTARTTYPE=@CHECKED@endif@>
		The quest starts automatically, on an interval equal to  
		<INPUT TYPE=TEXT NAME=TICK1 SIZE=5 VALUE="@if?CheckReqParm?QMSTARTTYPE=INTERVAL@ @RequestParameter?QMSTARTVAL@ @endif@">
		ticks, plus a random number of ticks from 1 to 
		<INPUT TYPE=TEXT NAME=TICK2 SIZE=5 VALUE="@if?CheckReqParm?QMSTARTTYPE=INTERVAL@ @RequestParameter?QMSTARTVAL2@ @endif@">
		ticks (4 second periods)
		<P>
		<INPUT TYPE=RADIO NAME=QMSTARTTYPE VALUE="TRIGGER" @if?CheckReqParm?QMSTARTTYPE=TRIGGER@CHECKED@endif@>
		The quest starts from a custom trigger (select and click next to define this trigger)
		<P>
		<INPUT TYPE=RADIO NAME=QMSTARTTYPE VALUE="ALWAYS" @if?CheckReqParm?QMSTARTTYPE=ALWAYS@CHECKED@endif@>
		The quest starts immediately as soon as the mud boots.
		<P>
		<INPUT TYPE=HIDDEN NAME=QMSTARTVAL VALUE="@RequestParameter?QMSTARTVAL@">
		<INPUT TYPE=HIDDEN NAME=QMSTARTVAL2 VALUE="@RequestParameter?QMSTARTVAL2@">
		</FONT>
		</TD></TR></TABLE>
		<SCRIPT LANGUAGE=JavaScript>
		<!--
			document.QUESTS.QMEVAL.value='next()';
			function next()
			{
				var value='';
				for(var i=0;i<document.QUESTS.QMSTARTTYPE.length;i++)
					if(document.QUESTS.QMSTARTTYPE[i].checked)
						value=document.QUESTS.QMSTARTTYPE[i].value;
				document.QUESTS.QMNEXT.value='QUESTTYPE';
				if(value=='DATE')
				{
					if(document.QUESTS.RLDATE.value=='')
					{
						window.alert('Please enter a date.');
						return false;
					}
					document.QUESTS.QMSTARTVAL.value=document.QUESTS.RLDATE.value;
					document.QUESTS.QMSTARTVAL2.value='';
				}
				if(value=='MUDDAY')
				{
					if(document.QUESTS.MUDDATE.value=='')
					{
						window.alert('Please enter a date.');
						return false;
					}
					document.QUESTS.QMSTARTVAL.value=document.QUESTS.MUDDATE.value;
					document.QUESTS.QMSTARTVAL2.value='';
				}
				if(value=='INTERVAL')
				{
					if((document.QUESTS.TICK1.value=='')||(document.QUESTS.TICK2.value==''))
					{
						window.alert('Please fill in the interval values.');
						return false;
					}
					document.QUESTS.QMSTARTVAL.value=document.QUESTS.TICK1.value;
					document.QUESTS.QMSTARTVAL2.value=document.QUESTS.TICK2.value;
				}
				if(value=='TRIGGER')
				{
					document.QUESTS.QMNEXT.value='QUESTTRIGGER1';
					document.QUESTS.QMSTARTVAL.value='';
					document.QUESTS.QMSTARTVAL2.value='';
				}
				if(value=='ALWAYS')
				{
					document.QUESTS.QMSTARTVAL.value='';
					document.QUESTS.QMSTARTVAL2.value='';
				}
				return true;
			}
		//-->
		</SCRIPT>
	@endif@
	
	@if?CheckReqParm?QMDISPLAY=QUESTTYPE@
		<P>
		<CENTER>
		Just hit next to proceed.
		</CENTER>
		<SCRIPT LANGUAGE=JavaScript>
		<!--
			document.QUESTS.QMEVAL.value='next()';
			function next()
			{
				document.QUESTS.QMNEXT.value='QUESTTIME';
				return true;
			}
		//-->
		</SCRIPT>
	@endif@
	
	<TABLE WIDTH=100% BORDER=0><TR>
	@if?CheckReqParm?!QMDISPLAY=@
		<TD WIDTH=33% ALIGN=CENTER VALIGN=TOP><INPUT TYPE=BUTTON NAME=BACK VALUE="Back" ONCLICK="ClickedBack();"></TD>
	@endif@
	<TD WIDTH=33% ALIGN=CENTER VALIGN=TOP>
	</TD>
	<TD WIDTH=33% ALIGN=CENTER VALIGN=TOP><INPUT TYPE=BUTTON NAME=NEXT VALUE="Next" ONCLICK="ClickedNext();"></TD>
	</TR>
	</TABLE>
</FONT>
</FORM>
</CENTER>
</BODY>
</HTML>
@endif@
@endif@