<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://meet.konsthol.eu/w/index.php?action=history&amp;feed=atom&amp;title=Quest_Builder</id>
	<title>Quest Builder - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://meet.konsthol.eu/w/index.php?action=history&amp;feed=atom&amp;title=Quest_Builder"/>
	<link rel="alternate" type="text/html" href="https://meet.konsthol.eu/w/index.php?title=Quest_Builder&amp;action=history"/>
	<updated>2026-05-17T12:54:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://meet.konsthol.eu/w/index.php?title=Quest_Builder&amp;diff=140859&amp;oldid=prev</id>
		<title>imported&gt;Hendrik Brummermann at 20:56, 28 April 2022</title>
		<link rel="alternate" type="text/html" href="https://meet.konsthol.eu/w/index.php?title=Quest_Builder&amp;diff=140859&amp;oldid=prev"/>
		<updated>2022-04-28T20:56:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:56, 28 April 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>imported&gt;Hendrik Brummermann</name></author>
	</entry>
	<entry>
		<id>https://meet.konsthol.eu/w/index.php?title=Quest_Builder&amp;diff=117042&amp;oldid=prev</id>
		<title>imported&gt;Hendrik Brummermann at 20:56, 28 April 2022</title>
		<link rel="alternate" type="text/html" href="https://meet.konsthol.eu/w/index.php?title=Quest_Builder&amp;diff=117042&amp;oldid=prev"/>
		<updated>2022-04-28T20:56:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:56, 28 April 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;a class=&quot;mw-diff-movedpara-left&quot; title=&quot;Paragraph was moved. Click to jump to new location.&quot; href=&quot;#movedpara_2_0_rhs&quot;&gt;&amp;#x26AB;&lt;/a&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;a name=&quot;movedpara_0_0_lhs&quot;&gt;&lt;/a&gt;This is a draft of a new quest builder system. At this point it is only a first idea that needs further refinement.&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;a class=&quot;mw-diff-movedpara-right&quot; title=&quot;Paragraph was moved. Click to jump to old location.&quot; href=&quot;#movedpara_0_0_lhs&quot;&gt;&amp;#x26AB;&lt;/a&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;a name=&quot;movedpara_2_0_rhs&quot;&gt;&lt;/a&gt;This is a draft of a new quest builder system. At this point it is only a first idea that needs further refinement.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example for Kill Creatures Quest ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example for Kill Creatures Quest ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Hendrik Brummermann</name></author>
	</entry>
	<entry>
		<id>https://meet.konsthol.eu/w/index.php?title=Quest_Builder&amp;diff=140858&amp;oldid=prev</id>
		<title>imported&gt;Hendrik Brummermann: Created page with &quot;This is a draft of a new quest builder system. At this point it is only a first idea that needs further refinement.   == Example for Kill Creatures Quest ==  &lt;source lang=&quot;jav...&quot;</title>
		<link rel="alternate" type="text/html" href="https://meet.konsthol.eu/w/index.php?title=Quest_Builder&amp;diff=140858&amp;oldid=prev"/>
		<updated>2022-04-28T20:45:33Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;This is a draft of a new quest builder system. At this point it is only a first idea that needs further refinement.   == Example for Kill Creatures Quest ==  &amp;lt;source lang=&amp;quot;jav...&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:45, 28 April 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>imported&gt;Hendrik Brummermann</name></author>
	</entry>
	<entry>
		<id>https://meet.konsthol.eu/w/index.php?title=Quest_Builder&amp;diff=117041&amp;oldid=prev</id>
		<title>imported&gt;Hendrik Brummermann: Created page with &quot;This is a draft of a new quest builder system. At this point it is only a first idea that needs further refinement.   == Example for Kill Creatures Quest ==  &lt;source lang=&quot;jav...&quot;</title>
		<link rel="alternate" type="text/html" href="https://meet.konsthol.eu/w/index.php?title=Quest_Builder&amp;diff=117041&amp;oldid=prev"/>
		<updated>2022-04-28T20:45:33Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;This is a draft of a new quest builder system. At this point it is only a first idea that needs further refinement.   == Example for Kill Creatures Quest ==  &amp;lt;source lang=&amp;quot;jav...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is a draft of a new quest builder system. At this point it is only a first idea that needs further refinement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example for Kill Creatures Quest ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * QUEST: CleanStorageSpace&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * PARTICIPANTS:&lt;br /&gt;
 * &amp;lt;li&amp;gt; Eonna&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * STEPS:&lt;br /&gt;
 * &amp;lt;li&amp;gt; Eonna asks you to clean her storage space.&lt;br /&gt;
 * &amp;lt;li&amp;gt; You go kill at least a rat, a cave rat and a cobra.&lt;br /&gt;
 * &amp;lt;li&amp;gt; Eonna checks your kills and then thanks you.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * REWARD:&lt;br /&gt;
 * &amp;lt;li&amp;gt; 100 XP, karma&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * REPETITIONS:&lt;br /&gt;
 * &amp;lt;li&amp;gt; None.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
KillCreaturesQuestBuilder quest = new KillCreatureQuestBuilder();&lt;br /&gt;
&lt;br /&gt;
quest.info()&lt;br /&gt;
    .name(&amp;quot;Clean the Storage Space&amp;quot;)&lt;br /&gt;
    .description(&amp;quot;Eonna is too scared to go into her underground storage space, as it is filled with rats and snakes.&amp;quot;)&lt;br /&gt;
    .internalName(&amp;quot;CleanStorageSpace&amp;quot;)&lt;br /&gt;
    .repeatable(false);&lt;br /&gt;
    .minLevel(0)&lt;br /&gt;
    .region(Region.SEMOS_CITY)&lt;br /&gt;
    .questGiverNpc(&amp;quot;Eonna&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
quest.history()&lt;br /&gt;
    .whenNpcWasMet(&amp;quot;I have met Eonna at her house in Semos next to the bakery.&amp;quot;)&lt;br /&gt;
    .whenQuestWasRejected(&amp;quot;I do not want to clear her storage space of creatures.&amp;quot;);&lt;br /&gt;
    .whenQuestWasAccepted(&amp;quot;I promised Eonna to kill the rats and snakes in her basement.&amp;quot;);&lt;br /&gt;
    .whenTaskWasCompleted(&amp;quot;I have cleaned out Eonna&amp;#039;s storage space.&amp;quot;)&lt;br /&gt;
    .whenQuestWasCompleted(&amp;quot;Wow, Eonna thinks I am her hero. *blush*&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
quest.offer()&lt;br /&gt;
    //.when(new SomeCondition())&lt;br /&gt;
    .respondToRequest(&amp;quot;My #basement is absolutely crawling with rats. Will you help me?&amp;quot;)&lt;br /&gt;
    .respondToRepeatedRequest(&amp;quot;Thanks again! I think it&amp;#039;s still clear down there.&amp;quot;)&lt;br /&gt;
    .respondToAccept(&amp;quot;Oh, thank you! I&amp;#039;ll wait up here, and if any try to escape I&amp;#039;ll hit them with the broom!&amp;quot;)&lt;br /&gt;
    .respondToReject(&amp;quot;*sigh* Oh well, maybe someone else will be my hero...&amp;quot;)&lt;br /&gt;
    .respondTo(&amp;quot;basement&amp;quot;, &amp;quot;storage space&amp;quot;).saying(&amp;quot;Yes, it&amp;#039;s just down the stairs, over there. A whole bunch of nasty-looking rats; I think I saw a snake as well! You should be careful... still want to help me?&amp;quot;)&lt;br /&gt;
    .remind(&amp;quot;Don&amp;#039;t you remember promising to clean out the rats from my #basement?&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
quest.task()&lt;br /&gt;
    .requestKill(1, &amp;quot;rat&amp;quot;)&lt;br /&gt;
    .requestKill(1, &amp;quot;caverat&amp;quot;);&lt;br /&gt;
    .requestKill(1, &amp;quot;snake&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
quest.complete()&lt;br /&gt;
    .greet(&amp;quot;A hero at last! Thank you!&amp;quot;)&lt;br /&gt;
    .rewardWith(new IncreaseKarmaAction(5.0)&lt;br /&gt;
    .rewardWith(new IncreaseXPAction(100));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example for Request Item Quest ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * QUEST: Armor for Dagobert&lt;br /&gt;
 *&lt;br /&gt;
 * PARTICIPANTS:&lt;br /&gt;
 * &amp;lt;ul&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt;Dagobert, the consultant at the bank of Semos&amp;lt;/li&amp;gt;&lt;br /&gt;
 * &amp;lt;/ul&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * STEPS:&lt;br /&gt;
 * &amp;lt;ul&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt;Dagobert asks you to find a leather cuirass.&amp;lt;/li&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt;You get a leather cuirass, e.g. by killing a cyclops.&amp;lt;/li&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt;Dagobert sees your leather cuirass and asks for it and then thanks you.&amp;lt;/li&amp;gt;&lt;br /&gt;
 * &amp;lt;/ul&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * REWARD:&lt;br /&gt;
 * &amp;lt;ul&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt;50 XP&amp;lt;/li&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt;80 gold&amp;lt;/li&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt;Karma: 10&amp;lt;/li&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt;Access to vault&amp;lt;/li&amp;gt;&lt;br /&gt;
 * &amp;lt;/ul&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * REPETITIONS:&lt;br /&gt;
 * &amp;lt;ul&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt;None&amp;lt;/li&amp;gt;&lt;br /&gt;
 * &amp;lt;/ul&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ProvideItemQuestBuilder quest = new ProvideItemQuestBuilder();&lt;br /&gt;
&lt;br /&gt;
quest.info()&lt;br /&gt;
    .name(&amp;quot;Armor for Dagobert&amp;quot;)&lt;br /&gt;
    .description(&amp;quot;Dagobert, the consultant at the bank of Semos, needs protection.&amp;quot;)&lt;br /&gt;
    .internalName(&amp;quot;ArmorForDagobert&amp;quot;)&lt;br /&gt;
    .repeatable(false);&lt;br /&gt;
    .minLevel(0)&lt;br /&gt;
    .region(Region.SEMOS_CITY)&lt;br /&gt;
    .questGiverNpc(&amp;quot;Dagobert&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
quest.history()&lt;br /&gt;
    .whenNpcWasMet(&amp;quot;I have met Dagobert. He is the consultant at the bank in Semos.&amp;quot;)&lt;br /&gt;
    .whenQuestWasRejected(&amp;quot;He asked me to find a leather cuirass but I rejected his request.&amp;quot;)&lt;br /&gt;
    .whenQuestWasAccepted(&amp;quot;I promised to find a leather cuirass for him because he has been robbed.&amp;quot;)&lt;br /&gt;
    .whenTaskWasDone(&amp;quot;I found a leather cuirass and will take it to Dagobert.&amp;quot;)&lt;br /&gt;
    .whenQuestWasCompleted(&amp;quot;I took the leather cuirass to Dagobert. As a little thank you, he will allow me to use a private vault.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
quest.offer()&lt;br /&gt;
    .respondToRequest(&amp;quot;I&amp;#039;m so afraid of being robbed. I don&amp;#039;t have any protection. Do you think you can help me?&amp;quot;)&lt;br /&gt;
    .respondToRepeatedRequest(&amp;quot;Thank you very much for the armor, but I don&amp;#039;t have any other task for you.&amp;quot;)&lt;br /&gt;
    .respondToAccept(&amp;quot;Once I had a nice #&amp;#039;leather cuirass&amp;#039;, but it was destroyed during the last robbery. If you find a new one, I&amp;#039;ll give you a reward.&amp;quot;)&lt;br /&gt;
    .respondToReject(&amp;quot;Well, then I guess I&amp;#039;ll just duck and cover.&amp;quot;)&lt;br /&gt;
    .remind(&amp;quot;Luckily I haven&amp;#039;t been robbed while you were away. I would be glad to receive a leather cuirass. Anyway, how can I #help you?&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
npc.addReply(Arrays.toList(&amp;quot;leather cuirass&amp;quot;, &amp;quot;leather&amp;quot;, &amp;quot;cuirass&amp;quot;), &amp;quot;A leather cuirass is the traditional cyclops armor. Some cyclopes are living in the dungeon deep under the city.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
quest.task()&lt;br /&gt;
    .requestItem(1, &amp;quot;leather cuirass&amp;quot;)&lt;br /&gt;
    .alternativeItem(1, &amp;quot;pauldroned leather cuirass&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
quest.complete()&lt;br /&gt;
    .greet(&amp;quot;Excuse me, please! I have noticed the leather cuirass you&amp;#039;re carrying. Is it for me?&amp;quot;)&lt;br /&gt;
    .respondToReject(&amp;quot;Well then, I hope you find another one which you can give to me before I get robbed again.&amp;quot;)&lt;br /&gt;
    .respondToAccept(&amp;quot;Oh, I am so thankful! Here is some gold I found ... ehm ... somewhere. Now that you have proven yourself a trusted customer, you may have access to your own private banking #vault any time you like.&amp;quot;)&lt;br /&gt;
    .rewardWith(new EquipItemAction(&amp;quot;money&amp;quot;, 80));&lt;br /&gt;
    .rewardWith(new IncreaseXPAction(50));&lt;br /&gt;
    .rewardWith(new IncreaseKarmaAction(10));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;Hendrik Brummermann</name></author>
	</entry>
</feed>