/
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/Languages/
com/planet_ink/coffee_mud/Abilities/Misc/
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/Specializations/
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/Behaviors/
com/planet_ink/coffee_mud/CharClasses/
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/Common/
com/planet_ink/coffee_mud/Common/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/BasicTech/
com/planet_ink/coffee_mud/Items/CompTech/
com/planet_ink/coffee_mud/Items/MiscMagic/
com/planet_ink/coffee_mud/Items/Weapons/
com/planet_ink/coffee_mud/Items/interfaces/
com/planet_ink/coffee_mud/Libraries/
com/planet_ink/coffee_mud/Libraries/interfaces/
com/planet_ink/coffee_mud/Locales/
com/planet_ink/coffee_mud/MOBS/
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/core/
com/planet_ink/coffee_mud/core/collections/
com/planet_ink/coffee_mud/core/interfaces/
com/planet_ink/coffee_mud/core/intermud/
com/planet_ink/coffee_mud/core/intermud/i3/
com/planet_ink/coffee_web/server/
com/planet_ink/siplet/applet/
lib/
resources/factions/
resources/fakedb/
resources/progs/autoplayer/
resources/quests/holidays/
web/
web/admin.templates/
web/admin/grinder/
web/admin/images/
web/clan.templates/
web/pub.templates/
web/pub/images/mxp/
web/pub/sounds/
web/pub/textedit/
<?xml version="1.0"?>
<!-- ----------------------------------------------------------------------------
Copyright 2019-2019 Bo Zimmerman

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--------------------------------------------------------------------------------

See guides/RandomAreas.html for information about documents of this type.

template: normal_travel2
settable vars: 
    template(normal_travel2)
    area_name(area name)
    source_name(mob name)
    targetarea_name(area name)
    targetname(mobs name)
    itemname(name of an item)
    multiarea(yes or NO)
	xp_amount_awarded
	gold_amount_awarded
	quest_point_awarded(YES,NO)
	reward_items()
	quest_multiple(YES, NO, or PREV)
-->

<QUEST ID="normal_travel2" QUEST_TEMPLATE_ID="normal_travel2">
	<QUEST_ID DEFINE="quest_id">${_:source_area_name}_${_:source_name}_${h:quest_template}_R$[100000000?999999999]</QUEST_ID>
	<QUEST_CRITERIA>+SYSOP +LEVELS -&lt;$[$target_level - $level_span] -&gt;$[$target_level + $level_span]</QUEST_CRITERIA>
	<ANNOUNCER_AREA>"$source_area_name"</ANNOUNCER_AREA>
	<ANNOUNCER_ROOM>"$source_room_id"</ANNOUNCER_ROOM>
	<ANNOUNCER_NAME>"$source_name"</ANNOUNCER_NAME>
	<DESTINATION_AREA>"$target_area_name"</DESTINATION_AREA>
	<DESTINATION_ROOM>"$target_room_id"</DESTINATION_ROOM>
	<DESTINATION_NAME>"$target_name"</DESTINATION_NAME>
	<QUEST_POINT>$quest_point_awarded</QUEST_POINT>
	<GOLD>$gold_amount_awarded</GOLD>
	<EXP>$xp_amount_awarded</EXP>
	<MULTIPLE>$quest_multiple</MULTIPLE>
	<NEXT_QUEST>$next_quest_id</NEXT_QUEST>
	<FACTION>$source_faction</FACTION>
	<NUMFACTION>$[$source_faction_amt / 500]</NUMFACTION>
	<QUEST_NAME SELECT="Any-1">
		<QUEST_NAME>${C:source_name} needs you to $reason_verb $target_name in ${C:target_area_name}</QUEST_NAME>
		<QUEST_NAME>${C:source_name} wants you to $reason_verb $target_name in ${C:target_area_name}</QUEST_NAME>
		<QUEST_NAME>${C:source_name} asks for you to $reason_verb $target_name in ${C:target_area_name}</QUEST_NAME>
		<QUEST_NAME>${C:reason_verb} $target_name in ${C:target_area_name} for ${C:source_name}</QUEST_NAME>
	</QUEST_NAME>
	<QUEST_NOTIFYSTRING>${j:1:quest_notifystring}</QUEST_NOTIFYSTRING>
	<QUEST_INSTRUCTIONSSTRING>${j:1:quest_instructionstring}</QUEST_INSTRUCTIONSSTRING>
	<DESTINATION_RESPONSE>${j:1:quest_traveled}</DESTINATION_RESPONSE>
	<REWARD_ITEMS>${SELECT: ANY\. FROM $dungeon_treasure_items}</REWARD_ITEMS>

	<STRING load="/resources/quests/random/inc_questcommon.xml" />

	<STRING ID="quest_notifystring" define="quest_notifystring" SELECT="ALL">
		<STRING ACTION="PREPEND">$reason_short  $quest_notifyaddendum</STRING>
	</STRING>

	<STRING ID="quest_notifyaddendum" SELECT="Pick-1">
		<STRING PICKWEIGHT=1>Are you game?</STRING>
		<STRING PICKWEIGHT=1>Are you ready?</STRING>
		<STRING PICKWEIGHT=1>Are you up to it?</STRING>
		<STRING PICKWEIGHT=1>Can you handle it?</STRING>
		<STRING PICKWEIGHT=1>Who's ready?</STRING>
		<STRING PICKWEIGHT=12></STRING>
	</STRING>
	
	<STRING ID="reason_short" define="reason_short" SELECT="Any-1">
		<STRING>I need ${target_name} $reason_verbed!</STRING>
		<STRING>Help me $reason_verb ${target_name}!</STRING>
		<STRING>Assistance required traveling ${target_name}!</STRING>
		<STRING>${c:reason_verb} ${target_name} for me!</STRING>
		<STRING>${c:reason_verb} ${target_name}, quickly!</STRING>
		<STRING>I want ${target_name} $reason_verbed!</STRING>
	</STRING>

	<STRING ID="quest_instructionstring" SELECT="ALL">
		<STRING ACTION="PREPEND">$reason_desc</STRING>
		<STRING ACTION="APPEND">$reason_short</STRING>
		<STRING SELECT="Any-1" CONDITION="'YES' in $target_is_aggressive">
			<STRING>You might have to $hurt_them_phrase, so be ready.</STRING>
			<STRING>If you $hurt_them_phrase, it'll be no problem.</STRING>
			<STRING>Be ready to $hurt_them_phrase.</STRING>
			<STRING>If they seem reluctant, $hurt_them_phrase.</STRING>
			<STRING>Only $hurt_them_phrase if they resist.</STRING>
			<STRING>${C:hurt_them_phrase}, before they do you.</STRING>
		</STRING>
	</STRING>

	<STRING ID="quest_traveled" PREDEFINE="reason=$reason">$quest_traveled</STRING>
	<STRING ID="quest_hellospeech" PREDEFINE="reason=$reason">$quest_hellospeech</STRING>
	<STRING ID="reason_verbed" PREDEFINE="reason=$reason">$verb_visited</STRING>
	<STRING ID="reason_verb" PREDEFINE="reason=$reason">$verb_visit</STRING>
	<STRING ID="reason_desc" PREDEFINE="reason=$reason">$reason_desc</STRING>
	<STRING ID="reason" DEFINE="reason" SELECT="Any-1">
		<STRING CONDITION="$target_int &gt; 5">$reason_theyoweme</STRING>
		<STRING>$reason_partytime</STRING>
		<STRING CONDITION="$target_int &gt; 5">$reason_iowethem</STRING>
		<STRING CONDITION="$source_align &gt; 0">$reason_ilostthem</STRING>
		<STRING>$reason_gentravel</STRING>
	</STRING>

	<STRING id="quest_generic_hello_speeches" SELECT="Any-1">
		<STRING>$$n, are you looking for me?</STRING>
		<STRING>Hello $$n?</STRING>
	</STRING>

	<STRING id="quest_generic_traveled_speeches" SELECT="Any-1">
		<STRING>How wonderful! Thank you $$n!!</STRING>
		<STRING>${c:reason_verbed} at last! Thank you $$n!</STRING>
		<STRING>Thanks $$n, I'll take it from here.</STRING>
		<STRING>Thank you $$n, that will be all.</STRING>
	</STRING>

	<STRING ID="reason_theyoweme" SELECT="All">
		<STRING define="quest_traveled">$quest_generic_traveled_speeches</STRING>
		<STRING define="quest_hellospeech">$quest_generic_hello_speeches</STRING>
		<STRING define="reason_desc" SELECT="Any-1">
			<STRING>${C:target_name} promised to meet you.</STRING>
			<STRING>${C:target_name} promised to receive visitors for me.</STRING>
		</STRING>
	</STRING>
	
	<STRING ID="reason_partytime" SELECT="All">
		<STRING define="quest_traveled" SELECT="Any-1" >
			<STRING>Yay! I'm on the way!!</STRING>"
			<STRING>I'll be right there!!</STRING>"
			<STRING>I've been needing a good party, thanks!</STRING>"
		</STRING>
		<STRING define="quest_hellospeech">$quest_generic_hello_speeches</STRING>
		<STRING define="reason_desc" SELECT="Any-1">
			<STRING>${c:target_name} is invited to my party.</STRING>
			<STRING>It's my birthday today and ${target_name}s invited.</STRING>
			<STRING>It is officially ${C:source_area_name} Day, and I'm inviting $target_name.</STRING>
			<STRING>It was ${target_name}s birthday last week, and I'm throwing a party.</STRING>
		</STRING>
	</STRING>

	<STRING ID="reason_iowethem" SELECT="All">
		<STRING define="quest_traveled">$quest_generic_traveled_speeches</STRING>
		<STRING define="quest_hellospeech">$quest_generic_hello_speeches</STRING>
		<STRING define="reason_desc" SELECT="Any-1">
			<STRING>I promised $target_name I'd send you as soon as possible.</STRING>
			<STRING>I owe ${target_name} for their assistance to me.</STRING>
			<STRING>I owe ${target_name} for saving my life.</STRING>
			<STRING>I swore to protect ${target_name}!</STRING>
		</STRING>
	</STRING>

	<STRING ID="reason_ilostthem" SELECT="All">
		<STRING define="quest_traveled">$quest_generic_traveled_speeches</STRING>
		<STRING define="quest_hellospeech">$quest_generic_hello_speeches</STRING>
		<STRING define="reason_desc" SELECT="Any-1">
			<STRING>${c:target_name} is lost, so I need your help.</STRING>
			<STRING>${c:target_name} left here for somewhere else.</STRING>
			<STRING>${c:target_name} can't find me.</STRING>
		</STRING>
	</STRING>

	<STRING ID="reason_gentravel" SELECT="All">
		<STRING define="quest_traveled">$quest_generic_traveled_speeches</STRING>
		<STRING define="quest_hellospeech">$quest_generic_hello_speeches</STRING>
		<STRING define="reason_desc" SELECT="Any-1">
			<STRING>I need you to travel to $target_name.</STRING>
			<STRING>You need to meet with ${target_name}.</STRING>
			<STRING>${c:target_name} requires a visiti from you.</STRING>
		</STRING>
	</STRING>

	<STRING ID="aggression" DEFINE="aggression" SELECT="Pick-1">
		<STRING PICKWEIGHT=50>NO</STRING>
		<STRING PICKWEIGHT="$target_level">YES</STRING>
	</STRING>
	
	<STRING ID="quest_point_awarded" DEFINE="quest_point_awarded" SELECT="Pick-1">
		<STRING PICKWEIGHT=2>NO</STRING>
		<STRING PICKWEIGHT=1>YES</STRING>
	</STRING>

	<STRING ID="gold_amount_awarded" DEFINE="gold_amount_awarded" SELECT="any-1">
		<STRING>$[$target_level*2]</STRING>
	</STRING>

	<STRING ID="xp_amount_awarded" DEFINE="xp_amount_awarded" SELECT="any-1">
		<STRING>$[100 + $target_level*3]</STRING>
	</STRING>

	<OBJECT ID="source_area" SELECT="Pick-1" DEFINE="source_area">
		<OBJECT pickweight=99999 condition="'${SELECT: name FROM area}' != ''">SELECT: . FROM area</OBJECT>
		<OBJECT pickweight=55555 condition="$area_name != ''" and '${SELECT: name FROM area}' = ''>SELECT: ANY\. FROM areas where NAME=$area_name</OBJECT> 
		<OBJECT pickweight=1 condition="$area_name = '' and '${SELECT: name FROM area}' = '' and $multiarea = 'YES'">
			SELECT: ANY\. FROM areas WHERE (SELECT: count\. from $mql_viable_questgivers) &gt; 0
		</OBJECT>
		<OBJECT pickweight=1 condition="$area_name = '' and '${SELECT: name FROM area}' = '' and $multiarea != 'YES'">
			SELECT: ANY\. FROM areas WHERE (SELECT: count\. from $mql_viable_questgivers) &gt; 1
		</OBJECT>
	</OBJECT>

	<OBJECT ID="source_room" DEFINE="source_room">SELECT: . FROM $source\room</OBJECT>

	<OBJECT ID="source" SELECT="Pick-1" DEFINE="source">
		<OBJECT PICKWEIGHT=99999 CONDITION="'${SELECT: name FROM mob}' != ''">SELECT: . FROM mob</OBJECT>
		<OBJECT pickweight=55555 condition="$sourcename != ''" and '${SELECT: name FROM mob}' = ''>SELECT: . FROM $source_area\npcs WHERE name = $sourcename</OBJECT> 
		<OBJECT PICKWEIGHT=1 CONDITION="$sourcename = '' and '${SELECT: name FROM mob}' = ''" insert="$mql_viable_questgiver" />
	</OBJECT>

	<STRING ID="source_area_name" SELECT="any-1" DEFINE="source_area_name">
		<STRING>${SELECT:name FROM $source_area}</STRING>
	</STRING>

	<STRING ID="target_level" DEFINE="target_level" SELECT="any-1">
		<STRING>${SELECT:MED_LEVEL from $target_area}</STRING>
	</STRING>
	
	<STRING ID="level_range" SELECT="any-1" DEFINE="level_range" MERGE=true>
		<STRING>$target_level</STRING>
	</STRING>
	
	<STRING ID="source_room_id" SELECT="any-1" DEFINE="source_room_id">
		<STRING>${SELECT:roomid from $source_room}</STRING>
	</STRING>

	<STRING ID="source_name" SELECT="any-1" DEFINE="source_name">
		<STRING>${SELECT:name from $source}</STRING>
	</STRING>

	<STRING ID="source_class" SELECT="any-1" DEFINE="source_class">
		<STRING>${SELECT:class from $source}</STRING>
	</STRING>

	<STRING ID="source_faction" SELECT="any-1" DEFINE="source_faction">
		<STRING>${SELECT:factionid from $source}</STRING>
	</STRING>

	<STRING ID="source_faction_amt" SELECT="first" DEFINE="source_faction_amt">
		<STRING CONDITION="$source_faction!=''">${SELECT:factionamt from $source}</STRING>
		<STRING>0</STRING>
	</STRING>

	<STRING ID="source_align" SELECT="any-1" DEFINE="source_align">
		<STRING>${SELECT:alignment from $source}</STRING>
	</STRING>

	<STRING ID="target_is_aggressive" SELECT="first" DEFINE="target_is_aggressive">
		<STRING CONDITION="$aggression = 'YES'">YES</STRING>
		<STRING>${SELECT: 'YES' from $target where 'Aggressive' in objattrib}</STRING>
	</STRING>

	<OBJECT ID="target" DEFINE="target" SELECT="any-1">
		<OBJECT CONDITION="$targetname!=''"">SELECT: ANY\. FROM $target_area\mobs WHERE name=$targetname</OBJECT>
		<OBJECT CONDITION="$targetname=''">
			SELECT: ANY\. FROM $target_area\npcs 
				WHERE name\count=1 
				and current_intelligence>5 
				and "QuestBound" notin affbehav 
				and name != $source_name
				and (SELECT: count\. FROM mob\room\exits) > 0 
				and 'ROOMUNEXPLORABLE' notin (SELECT: current_sensesstr FROM mob\room)
		</OBJECT>
	</OBJECT>

	<STRING ID="target_name" SELECT="any-1" DEFINE="target_name">
		<STRING>${SELECT:name from $target}</STRING>
	</STRING>

	<STRING ID="target_int" SELECT="any-1" DEFINE="target_int">
		<STRING>${SELECT:current_intelligence from $target}</STRING>
	</STRING>
	
	<STRING ID="multiarea" define="multiarea">NO</STRING>
	
	<OBJECT ID="target_area" SELECT="Pick-1" DEFINE="target_area">
		<OBJECT pickweight=55555 condition="$targetarea_name != ''">SELECT: ANY\. FROM areas where NAME=$targetarea_name</OBJECT> 
		<OBJECT pickweight=100 condition="$targetarea_name = '' and $multiarea != 'YES'">SELECT: any\. from $source_area</OBJECT>
		<OBJECT pickweight=1 condition="$targetarea_name = '' and $multiarea = 'YES'">
			SELECT: ANY\. FROM areas WHERE (SELECT: count\. from $mql_viable_questgivers) &gt; 1
		</OBJECT>
	</OBJECT>

	<STRING ID="target_room_id" DEFINE="target_room_id">${SELECT: roomid from $target\room}</STRING>
	
	<STRING ID="target_area_name" SELECT="any-1" DEFINE="target_area_name">
		<STRING>${SELECT:name from $target_area}</STRING>
	</STRING>	
	
</QUEST>