#!QUESTMAKER_START_SCRIPT Competitive Mystery #2 #A 2-Level mystery where players must question existing mobs from your world to #discover WHO did something and what their MOTIVE was. #The victim and quest-announcer/manager are also existing mobs, and the victim #may optionally start off dead. The suspects are CREATED by you. # #!QUESTMAKER_PAGE Quest Name/Duration #Enter the unique name and starting time/duration for your new quest. #Times are entered as a simple number or math expression to denote a #time in default ticks (4 second period), or you may follow the expression #with the word seconds, minutes, hours, days, mudhours, muddays, mudweeks, #mudmonths, or mudyears. Time expressions may include numbers, math #symbols, or the ? operator to generate random numbers. Example: #"5 + 3?10 minutes" would generate a frequency of 8-15 minutes.# # #Quest ID: #Enter a unique name/id for your quest: #$QUEST_ID=$UNIQUE_QUEST_NAME=competitive_mystery_2 # #Quest Name: #Enter a friendly displayable name for your quest: #$QUEST_NAME=$STRING=Competitive Mystery #2 # #Quest Frequency: #This is the time between quest starts. #$FREQUENCY=$TIMEEXPRESSION=90 minutes # #Quest Duration: #This is how long your quest remains running, and how long a player #accepting the quest has to complete the quest and report back in. #$DURATION=$TIMEEXPRESSION=90 minutes # #Quest-Player Criterium: #You may leave this entry blank, or enter a Zapper Mask to describe what #kinds of players may participate in this quest. You can use this to set #race, level, or other requirements. #$QUEST_CRITERIA=$ZAPPERMASK # #!QUESTMAKER_PAGE Specify the Announcer #The Announcer is the mob who will be announcing the quest initially. This must #be an existing mob in your world. They will announce the quest to players #once, and then mark whether the player says they accept the quest. The player #will then return to the announcer to make their guesses on WHO did the thing, #and what their MOTIVE was. If the guesses are correct, #the announcer will optionally reward the player. # #Announcer Area/Room: #Specify below the name of the area that your Announcer mob will be located #in and/or the room in which the mob can be found. You may leave both blank #to force the quest manager to find the mob somewhere in the world, but this #will hurt the performance of your mud, so use with care. #Use double-quotes around multi-word areas and room ids/names. # #Announcer Area: #$ANNOUNCER_AREA=($AREA) #Announcer Room ID: #$ANNOUNCER_ROOM=($ROOMID) # #Announcer mob name: #Specify the name of the mob who will act as the Announcer mob. #Use double-quotes around multi-word names. #If you specified an area or room above, then the mob must be located there. #You may optionally have the quest manager select a 'random' mob by entering #a mob name of ANY, or ANY MASK= followed by a Zapper Mask (see help on #ZAPPERMASKS for information on zapper mask syntax). #Remember, if the quest manager can not find your mob, the quest will not #be started. #$ANNOUNCER_NAME=$NAME # #!QUESTMAKER_PAGE Specify the Victim #The Victim is the mob that the thing (whatever it was) was done to, whether #it be good, bad, or very very bad. This must be a mob on your map, and you #may optionally kill him off as the quest starts. The victim and announcer #must be different. If your mystery really doesn't need a victim, you can #always make the victim a neutral party somewhere. Be creative! # #Victim Area/Room: #Specify below the name of the area that your Victim mob will be located #in and/or the room in which the mob can be found. You may leave both blank #to force the quest manager to find the mob somewhere in the world, but this #will hurt the performance of your mud, so use with care. #Use double-quotes around multi-word areas and room ids/names. # #Victim Area: #$VICTIM_AREA=($AREA) #Victim Room ID: #$VICTIM_ROOM=($ROOMID) # #Victim mob name: #Specify the name of the mob who will act as the Victim mob. #Use double-quotes around multi-word names. #If you specified an area or room above, then the mob must be located there. #You may optionally have the quest manager select a 'random' mob by entering #a mob name of ANY, or ANY MASK= followed by a Zapper Mask (see help on #ZAPPERMASKS for information on zapper mask syntax). #Remember, if the quest manager can not find your mob, the quest will not #be started. #$VICTIM_NAME=$NAME # #Victim Dies: Specify whether the victim is killed when the quest is started. #$VICTIM_DIES=$CHOOSE=TRUE,FALSE # #Victim greeting: #Specify what the victim says to people when they enter the room about their #quest, assuming the above is FALSE. Notice the use of special #Code Strings to insert details about #the quest into the string. $TARGET is the victim, $WHEREHAPPENED is where the #victim (alive or dead) is, $WHENHAPPENED is a random time. You can also include #things like $WHEREAT to say where the suspects started off at, or even give #away some answers by mentioning the $AGENT, or $MOTIVE. #$VICTIM_GREETING=$LONG_STRING=Something was done to or for me at $WHEREHAPPENED on $WHENHAPPENED. Go see the announcer about it. # #!QUESTMAKER_PAGE Announcer greetings/instructions #Here's where you specify any special text said by the announcer regarding #your quest # #Announcer greeting: #Specify what the announcer says to people when they enter the room about their #quest. Notice the use of special Code Strings to insert details about #the quest into the string. $TARGET is the victim, $WHEREHAPPENED is where the #victim (alive or dead) is, $WHENHAPPENED is a random time. You can also include #things like $WHEREAT to say where the suspects started off at, or even give #away some answers by mentioning the $AGENT, or $MOTIVE. #$QUEST_NOTIFYSTRING=$LONG_STRING=We have a mystery that needs solving! Something was done to or for $TARGET at $WHEREHAPPENED on $WHENHAPPENED. # #Announcer instructions: #Specify what the announcer says to people who have accepted the quest. This #should give some details about what is to be done. You can leave this blank #if you like. You may use the same sort of variables as were used in the greeting. #$QUEST_INSTRUCTIONSSTRING=($LONG_STRING)=What's the world coming to? Something was done to or for $TARGET at $WHEREHAPPENED on $WHENHAPPENED. You should go there and starting asking the folks in nearby rooms about the suspects, and any other clues you gather. Then come back here and announce, one at a time, WHO you think did it, and what their MOTIVE was. No wrong guesses are allowed. Questioning the people around that room will reveal all the clues you need. # #Announcer announcement: #Select what type of annoucement the Announcer will make when the quest starts. #$QUEST_ANNOUNCEMENT_TYPE=$CHOOSE=YELL,QUESTCHAT,MPECHO,SAY #This is what the announcement says. Leave it blank if you only want him to talk to people who enter the room with him. #$QUEST_ANNOUNCEMENT=($LONG_STRING)=We have a mystery that needs solving! Something was done to or for $TARGET at $WHEREHAPPENED on $WHENHAPPENED. Come see me about it IMMEDIATELY!! # #Announcer solve instructions: #Specify what the announcer says to people who have accepted the quest and are #trying to solve it. This can be some more details about what is to be done. You can leave this blank #if you like. You may use the same sort of variables as were used in the greeting. #$QUEST_SOLVESTRING=($LONG_STRING)=So you think you have solved it, huh? OK, now give it to me slowly, one at a time, WHO did it, and what was their MOTIVE. # #!QUESTMAKER_PAGE Announcer completion announcements #Here's where you specify any special text said by the announcer regarding the end of your quest. # #Announcer congratulations: #Select what type of speech the Announcer will make when the answers to the mystery are successfully given to the announcer. #$SOLVED_RESPONSE_TYPE=$CHOOSE=QUESTCHAT,MPECHO,SAY,YELL #This is what the congratulations says. #$SOLVED_RESPONSE_TEXT=($LONG_STRING)=$n has solved the mystery! $AGENT did it for $MOTIVE! # #Announcer warning message: #Select what type of speech the Announcer will make when 5 minutes remain in the quest, and there still isn't a winner #$WARNING_RESPONSE_TYPE=$CHOOSE=QUESTCHAT,MPECHO,SAY,YELL #This is what the warning message says. #$WARNING_RESPONSE_TEXT=($LONG_STRING)=I'm 5 minutes away from solving this one myself. Better figure out those clues and bring me your guesses! # #Announcer failure message: #Select what type of speech the Announcer will make when the answers to the mystery are never guessed by a player. #$UNSOLVED_RESPONSE_TYPE=$CHOOSE=QUESTCHAT,MPECHO,SAY,YELL #This is what the failure message says. #$UNSOLVED_RESPONSE_TEXT=($LONG_STRING)=I had to solve the mystery myself. It appears $AGENT did it for $MOTIVE! # #!QUESTMAKER_PAGE Specify the Suspects #The Suspects are the mobs that comprise the list of possible mobs who did the action. #One of the suspects will be chosen as the WHO did it mob. # #The Suspects: List here all possible suspects for your mystery. You may create more #than are actually used in the mystery to mix things up. #$SUSPECTS_MOBS=$MOBXML_ONEORMORE # #Number of Suspects: Specify how many of the above suspects will be chosen for use in the mystery. #The higher this number, the more complex the mystery will be and more difficult to solve. #You should never enter a number that might be larger than the number of total mobs above. #You may, however, use math expressions: For instance, 1 + 1?3 would generate a number of 2-4 mobs. #$NUM_SUSPECTS=$EXPRESSION=3 # #Suspects Area/Room: #Specify below the name of the place that your Suspects will be created in. #Use double-quotes around multi-word areas and room ids/names. #If you want the suspects to be created where the victim is, leave the AREA #blank and use WHEREHAPPENED as the room. #You may also create them in a jail, or in a hidden room, since they dont #actually DO anything during the quest except roam around (if they can). # #Suspects Area: #$SUSPECTS_AREA=($AREA) #Suspects Room ID: #$SUSPECTS_ROOM=($ROOMID) # #!QUESTMAKER_PAGE The Witnesses #The Witnesses are the mobs that will hold one or more clues to solving the mystery. They #are always chosen in proximity to the victim, so make sure your area is well populated with #intelligent mobs who can speak and respond to chatting players. # #Witness Radius: Enter the maximum number of rooms away from the location of the victim to #select existing witness mobs. This number or expression should be large enough to capture #enough mobs to act as useful witnesses, and also be small enough that your players wont have #to wander too far to find the witnesses. During the quest, the witnesses will not be able #to walk around. #$WITNESS_RADIUS=$EXPRESSION=5 # #Witness Names: You may enter here the names of one or more mobs around the victim, putting double #quotes around multi-word names, and separating multiple names with spaces. You may also use ANY, or #the ANY MASK= syntax and include a Zapper Mask that described what sort of mobs can be used as witnesses. #A witness may be chosen multiple times to hold many different clues. If you like, you may even set #it up so that only ONE mob knows all of the clues, but that's not recommended. #$WITNESS_NAMES=$NAME=ANY MASK=+INT 6 # #!QUESTMAKER_PAGE The Motives #The motives are a simple list of space-delimited phrases that describe the possible motives for #the action done by the suspect against the victim. # #The Motive List: List here the possible motives for the action taken. Each motive should be #separated by spaces. If a motive includes more than one word, put the motive in "double quotes". #A valid motive should answer the question: The act was done because of X. #$MOTIVE_LIST=$LONG_STRING="insurance money" "jealousy" "hatred" # #Number of Motives: Specify how many of the above motives will be chosen for use in the mystery. #The higher this number, the more complex the mystery will be and more difficult to solve. #You should never enter a number that might be larger than the number of total motives listed above. #You may, however, use math expressions: For instance, 1 + 1?3 would generate a number of 2-4 motives. #$NUM_MOTIVES=$EXPRESSION=3 # #!QUESTMAKER_PAGE Quest Completion #Select some rewards for completing the quest by giving the announcer mob the three correct answers: # #Reward items: #Specify zero or more items to choose from as a reward #$REWARD_ITEMS=$ITEMXML_ZEROORMORE # #Quest Point? #$QUEST_POINT=$CHOOSE=YES,NO #Amount of money (an amount, or leave blank): #$GOLD=($EXPRESSION) #Amount of experience points, blank for none, or a number% for percent of exp to next level: #$EXP=($STRING)=10% # #Player Faction to give to or take from: #$FACTION=($FACTION) #If you selected a faction above, enter a new numeric amount, #or enter +value to add, or --value to subtract: #$NUMFACTION=($STRING) # #Select whether a player may complete this quest multiple times, #or 'prev' to require a previous quest, if multiple found. #$MULTIPLE=$CHOOSE=YES,NO,PREV # #If you choose, you may have completion of this quest automatically start another. #If this is what you want, enter the next quests name here: #$NEXT_QUEST=($EXISTING_QUEST_NAME) # #$WHEREHAPPENED=$HIDDEN=$%QVAR(* WHEREHAPPENED)% #$WHEREAT=$HIDDEN=$%QVAR(* WHEREAT)% #$WHENHAPPENED=$HIDDEN=$%QVAR(* WHENHAPPENED)% #$TARGET=$HIDDEN=$%QVAR(* TARGET)% #$AGENT=$HIDDEN=$%QVAR(* AGENT)% #$MOTIVE=$HIDDEN=$%QVAR(* MOTIVE)% #!QUESTMAKER_END_SCRIPT Competitive Mystery #2 set name $QUEST_ID set display $QUEST_NAME set author $#AUTHOR set wait $FREQUENCY set interval 1 #quiet set minplayers 1 set playermask $QUEST_CRITERIA # Set up the announcer set area $ANNOUNCER_AREA set roomgroup set room $ANNOUNCER_ROOM set mobgroup set mob $ANNOUNCER_NAME give stat keyplayer true take behavior MudChat give script LOAD=$QUEST_ID_announcer.script~ # Set up the victim set area $VICTIM_AREA set room $VICTIM_ROOM set roomgroup set mobgroup set mob $VICTIM_NAME set target mob give stat rejuv 999999 give script ONCE_PROG\;IF EVAL('$VICTIM_DIES' == 'TRUE')\;MPDAMAGE $i 99999999 99999999 kill\;ENDIF\;~\;GREET_PROG 100\;if ISLIKE($n '$QUEST_CRITERIA') and ISPC($n) and ( EVAL('$MULTIPLE' != 'PREV') or QUESTWINNER($n previous) )\;if EVAL('$MULTIPLE' == 'YES') OR !QUESTWINNER($n *)\;sayto "$n" $VICTIM_GREETING\;ENDIF\;ENDIF\;~\; set wherehappened room set whenhappened -1?-10 # Set up suspects set mob set mobgroup set roomgroup set area $SUSPECTS_AREA set room $SUSPECTS_ROOM set whereat room import mobs $QUEST_ID_suspects.cmare load mobgroup $NUM_SUSPECTS any set agentgroup $NUM_SUSPECTS set mobgroup agentgroup-agent give behavior Mobile give affect Prop_SafePet give script LOAD=$QUEST_ID_suspect.script~ set mob agent give behavior Mobile give affect Prop_SafePet give script LOAD=$QUEST_ID_suspect.script~ # Set a motives, will automatically set a motive set motivegroup $NUM_MOTIVES $MOTIVE_LIST set area set roomgroup set mobgroup set mob # Now set up all the evidence LOAD=$QUEST_ID_agentmotivemap.quest wherehappened agentgroup-agent motivegroup-motive LOAD=$QUEST_ID_agentmotivemap.quest wherehappened agent motivegroup-motive LOAD=$QUEST_ID_agentmotivemap.quest wherehappened agentgroup-agent motive # Now install a second set to make things easier. LOAD=$QUEST_ID_agentmotivemap.quest wherehappened agentgroup-agent motivegroup-motive LOAD=$QUEST_ID_agentmotivemap.quest wherehappened agent motivegroup-motive LOAD=$QUEST_ID_agentmotivemap.quest wherehappened agentgroup-agent motive set duration $DURATION <?xml version="1.0"?> <FILE><NAME>$QUEST_ID_rewarditems.xml</NAME><DATA><ITEMS>$REWARD_ITEMS</ITEMS></DATA></FILE> <FILE><NAME>$QUEST_ID_announcer.script</NAME> <DATA> GREET_PROG 100 if ISLIKE($n '$QUEST_CRITERIA') and ISPC($n) and ( EVAL('$MULTIPLE' != 'PREV') or QUESTWINNER($n previous) ) if EVAL('$MULTIPLE' == 'YES') OR !QUESTWINNER($n *) if !STRIN('$<$i $QUEST_ID_ALREADY_TOLD>' '$n') sayto "$n" $QUEST_NOTIFYSTRING -- just say 'i accept' and I'll give you the details. MPSETVAR $i $QUEST_ID_ALREADY_TOLD '$<$i $QUEST_ID_ALREADY_TOLD> "$n"' endif endif endif ~ ONCE_PROG $QUEST_ANNOUNCEMENT_TYPE $QUEST_ANNOUNCEMENT mpsetvar * $QUEST_ID_REWARDED '' mpsetvar * $QUEST_ID_LOST '' mpsetvar * $QUEST_ID_AGENT '' mpsetvar * $QUEST_ID_MOTIVE '' MPSETVAR * $QUEST_ID_ACCEPTED '' mpsetvar * $QUEST_ID_ALREADY_TOLD '' ~ SPEECH_PROG p i accept if ISLIKE($n '$QUEST_CRITERIA') and ISPC($n) and ( EVAL('$MULTIPLE' != 'PREV') or QUESTWINNER($n previous) ) if EVAL('$MULTIPLE' == 'YES') OR !QUESTWINNER($n *) if VAR($n $QUEST_ID_ACCEPTED == '') MPSETVAR $n $QUEST_ID_ACCEPTED 'TRUE' mpqset * REMAINING $DURATION MPSETVAR $n $QUEST_ID_CORRECT 0 sayto "$n" $QUEST_INSTRUCTIONSSTRING mpqset * STATISTICS ACCEPTED mpscript $n INDIVIDUAL LOAD=$QUEST_ID_playertrack.script else sayto "$n" Yes, that's great .. now off with you. endif endif endif ~ SPEECH_PROG solve if ISLIKE($n '$QUEST_CRITERIA') and ISPC($n) and ( EVAL('$MULTIPLE' != 'PREV') or QUESTWINNER($n previous) ) and VAR($n $QUEST_ID_ACCEPTED != '') sayto "$n" $QUEST_SOLVESTRING endif ~ SPEECH_PROG all if STRCONTAINS($g "i accept") OR STRCONTAINS($g "solve") OR EVAL($g == '') RETURN endif if ISLIKE($n '$QUEST_CRITERIA') and ISPC($n) and ( EVAL('$MULTIPLE' != 'PREV') or QUESTWINNER($n previous) ) and VAR($n $QUEST_ID_ACCEPTED != '') if EVAL('$MULTIPLE' == 'YES') OR !QUESTWINNER($n *) MPARGSET $9 '' IF EVAL($9 == '') MPARGSET $3 '$%QVAR(* AGENT)%' IF STRCONTAINS($g "$3") MPARGSET $9 $g if VAR($n $QUEST_ID_AGENT != '') sayto $n You've already made a guess on the who question. else MPSETVAR $n $QUEST_ID_AGENT '$%QVAR(* AGENT)%' sayto $n Ok, so you think $%QVAR(* AGENT)% did it. MPSETVAR $n $QUEST_ID_CORRECT ++ MPCALLFUNC winner endif ELSE mpargset $0 '$%QVAR(* AGENTGROUP)%' for $1 = 1 to $0 mpargset $2 'AGENTGROUP#$1' mpargset $3 '$%QVAR(* $2)%' IF STRCONTAINS($g "$3") AND EVAL($9 == '') MPARGSET $9 $g if VAR($n $QUEST_ID_AGENT != '') sayto $n You've already made a guess on the who question. else MPSETVAR $n $QUEST_ID_AGENT '$3' sayto $n Ok, so you think $3 did it. MPCALLFUNC winner BREAK endif endif next ENDIF ENDIF IF EVAL($9 == '') MPARGSET $3 '$%QVAR(* MOTIVE)%' IF STRCONTAINS($g "$3") MPARGSET $9 $g if VAR($n $QUEST_ID_MOTIVE != '') sayto $n You've already made a guess on the motive question. else MPSETVAR $n $QUEST_ID_MOTIVE '$%QVAR(* MOTIVE)%' sayto $n Ok, so you think the motive was $%QVAR(* MOTIVE)%. MPSETVAR $n $QUEST_ID_CORRECT ++ MPCALLFUNC winner endif ELSE mpargset $0 '$%QVAR(* MOTIVEGROUP)%' for $1 = 1 to $0 mpargset $2 'MOTIVEGROUP#$1' mpargset $3 '$%QVAR(* $2)%' IF STRCONTAINS($g "$3") AND EVAL($9 == '') MPARGSET $9 $g if VAR($n $QUEST_ID_MOTIVE != '') sayto $n You've already made a guess on the motive question. else MPSETVAR $n $QUEST_ID_MOTIVE '$3' sayto $n Ok, so you think the motive was $3. MPCALLFUNC winner BREAK endif endif next ENDIF ENDIF endif endif ~ FUNCTION_PROG winner if ISLIKE($n '$QUEST_CRITERIA') and ISPC($n) and ( EVAL('$MULTIPLE' != 'PREV') or QUESTWINNER($n previous) ) if EVAL('$MULTIPLE' == 'YES') OR !QUESTWINNER($n *) if VAR($n $QUEST_ID_CORRECT >= 2) if EVAL('$EXP' != '') mpexp $n $EXP endif if EVAL('$FACTION' != '') mpfaction $n $FACTION +$NUMFACTION endif if EVAL('$QUEST_POINT' == 'YES') AND !QUESTWINNER($n *) mpoload QuestPoint give "a quest point" "$n" endif if EVAL('$GOLD' != '') AND EVAL('$GOLD' > 0) mpoload $GOLD give $GOLD "$n" endif mpoload fromfile $QUEST_ID_rewarditems.xml any if EVAL('$b' != '') give "$b" "$n" endif mpsetvar $i $QUEST_ID_REWARDED $n mpquestwin $n * $SOLVED_RESPONSE_TYPE $SOLVED_RESPONSE_TEXT mpendquest * mpqset * STATISTICS SUCCESS IF EVAL('$NEXT_QUEST' != '') mpstartquest $NEXT_QUEST ELSE IF EVAL('$MULTIPLE' == 'PREV') mptransfer $n $n ENDIF ENDIF else if VAR($n $QUEST_ID_AGENT != '') AND VAR($n $QUEST_ID_MOTIVE != '') if VAR($n $QUEST_ID_LOST == '') sayto $n I'm sorry $n, your guesses were incorrect. Thanks for trying. MPSETVAR $n $QUEST_ID_LOST 'YEP' else sayto $n Listen buddy, you lost. Get over it. endif endif endif endif endif ~ QUEST_TIME_PROG * 5 if VAR($i $QUEST_ID_REWARDED == '') $WARNING_RESPONSE_TYPE $WARNING_RESPONSE_TEXT endif ~ QUEST_TIME_PROG * -1 if VAR($i $QUEST_ID_REWARDED == '') $UNSOLVED_RESPONSE_TYPE $UNSOLVED_RESPONSE_TEXT endif mpsetvar * $QUEST_ID_REWARDED '' MPSETVAR * $QUEST_ID_ACCEPTED '' mpsetvar * $QUEST_ID_LOST '' mpsetvar * $QUEST_ID_AGENT '' mpsetvar * $QUEST_ID_MOTIVE '' mpsetvar * $QUEST_ID_ALREADY_TOLD '' ~ </DATA></FILE> <FILE><NAME>$QUEST_ID_agentmotivemap.quest</NAME><DATA> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9I heard about that. Isn't it terrible? give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$_ARG2 is a dork, but $ARG2 would not do anything for $ARG3. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9Yea, crying shame. give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$_ARG2 was not one to be into $ARG3. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9It was such a waste. give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9I know $ARG2 well enough to know $ARG3 is not a motive. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9I heard all about it. give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$_ARG2 thinks $ARG3 is immoral, he wouldn't do anything for that reason. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9Heard about that. What can you do? give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$_ARG2 never gets involved with $ARG3. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9What`s the world coming to, right? give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$_ARG2 isn't ever into $ARG3. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9Damn shame. give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$_ARG2 hates $ARG3, and never gets involved in it. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9Big news, right? give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$_ARG2 would never do anything for $ARG3. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9OMG!!! I KNOW!!! give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$ARG2 is too proud to do anything for $ARG3. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9Yea, who hasn`t heard about THAT already? give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$ARG2 doesn't know $ARG3. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9Yea, never liked 'em anyway. give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$ARG2 is too dumb to understand $ARG3. give affect Spell_LedFoot </OPTION> <OPTION> set room ARG1 set roomgrouparound $WITNESS_RADIUS ANY set room set mob reselect $WITNESS_NAMES take behavior MudChat give behavior QuestChat +( victim | murder)\;9Yea, I hope they catch the killer. give behavior QuestChat +( $|ARG2 | $|ARG3 ::$ARG2_$ARG3)\;9$ARG3 is far too silly a motive for $ARG2. give affect Spell_LedFoot </OPTION> </DATA></FILE> <FILE><NAME>$QUEST_ID_suspects.cmare</NAME><DATA><MOBS>$SUSPECTS_MOBS</MOBS></DATA></FILE> <FILE><NAME>$QUEST_ID_playertrack.script</NAME> <DATA> ONCE_PROG 100 mpsetvar $i INSTRUCTIONS $QUEST_INSTRUCTIONSSTRING ~ QUEST_TIME_PROG * -1 if !QUESTWINNER($i *) mpechoat $i The quest '$QUEST_NAME' has ended endif mpqset * STATISTICS FAILED ~ RAND_PROG 99 if QVAR(* REMAINING == '') MPENDQUEST $i else mpsetvar $i TIME_REMAINING $%QVAR(* REMAINING)% endif ~ </DATA></FILE> <FILE><NAME>$QUEST_ID_suspect.script</NAME> <DATA> SPEECH_PROG ALL if eval($t == $i) sayto $n As I'm a suspect, I refuse to say anything. endif ~ </DATA></FILE>