<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Mod%3ANebula%27s_Mission_Board%2F_Reward_cutscenes</id>
	<title>Mod:Nebula&#039;s Mission Board/ Reward cutscenes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Mod%3ANebula%27s_Mission_Board%2F_Reward_cutscenes"/>
	<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&amp;action=history"/>
	<updated>2026-07-31T12:20:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&amp;diff=2816&amp;oldid=prev</id>
		<title>MistressNebula: Redirect</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&amp;diff=2816&amp;oldid=prev"/>
		<updated>2025-07-29T18:03:12Z</updated>

		<summary type="html">&lt;p&gt;Redirect&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 18:03, 29 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&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;&amp;lt;/pre&amp;gt;&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;&amp;lt;/pre&amp;gt;&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;div&gt;where:&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;where:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&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;* &amp;lt;code&amp;gt;job&amp;lt;/code&amp;gt; is the Job Table. See the [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;User&lt;/del&gt;:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MistressNebula&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MissionGen: &lt;/del&gt;Job Table|Job Table Documentation]] page for more details&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&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;* &amp;lt;code&amp;gt;job&amp;lt;/code&amp;gt; is the Job Table. See the [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Mod&lt;/ins&gt;:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nebula&#039;s Mission Board&lt;/ins&gt;/ Job Table|Job Table Documentation]] page for more details&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;div&gt;* &amp;lt;code&amp;gt;npcs&amp;lt;/code&amp;gt; is the list of GroundChars, already added to the map at the coordinates 0, 0. It contains 4 characters for law enforcement jobs, 2 for jobs with a friendly target, and 1 for jobs with no targets&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;* &amp;lt;code&amp;gt;npcs&amp;lt;/code&amp;gt; is the list of GroundChars, already added to the map at the coordinates 0, 0. It contains 4 characters for law enforcement jobs, 2 for jobs with a friendly target, and 1 for jobs with no targets&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;/table&gt;</summary>
		<author><name>MistressNebula</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&amp;diff=2805&amp;oldid=prev</id>
		<title>MistressNebula: Redirect</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&amp;diff=2805&amp;oldid=prev"/>
		<updated>2025-07-29T17:44:07Z</updated>

		<summary type="html">&lt;p&gt;Redirect&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 17:44, 29 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&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; data-marker=&quot;−&quot;&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;When players leave a dungeon successfully after completing at least one job, they will be brought to the map defined inside the &amp;lt;code&amp;gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;User&lt;/del&gt;:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MistressNebula&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MissionGen: &lt;/del&gt;Editing settings#end_dungeon_day_destination|end_dungeon_day_destination]]&amp;lt;/code&amp;gt; setting. The library will then expect your code to use the reward handler here.&amp;lt;/br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&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;When players leave a dungeon successfully after completing at least one job, they will be brought to the map defined inside the &amp;lt;code&amp;gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Mod&lt;/ins&gt;:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nebula&#039;s Mission Board&lt;/ins&gt;/ Editing settings#end_dungeon_day_destination|end_dungeon_day_destination]]&amp;lt;/code&amp;gt; setting. The library will then expect your code to use the reward handler here.&amp;lt;/br&amp;gt;&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;div&gt;Do note that the end_dungeon_day_destination can also be a place where you assigned one or more job boards. It doesn&amp;#039;t need to be a completely separate place.&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;Do note that the end_dungeon_day_destination can also be a place where you assigned one or more job boards. It doesn&amp;#039;t need to be a completely separate place.&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;/table&gt;</summary>
		<author><name>MistressNebula</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&amp;diff=2803&amp;oldid=prev</id>
		<title>MistressNebula: MistressNebula moved page User:MistressNebula/MissionGen: Reward cutscenes to Mod:Nebula&#039;s Mission Board/ Reward cutscenes: Move to Mod namespace</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&amp;diff=2803&amp;oldid=prev"/>
		<updated>2025-07-29T17:43:26Z</updated>

		<summary type="html">&lt;p&gt;MistressNebula moved page &lt;a href=&quot;/User:MistressNebula/MissionGen:_Reward_cutscenes&quot; class=&quot;mw-redirect&quot; title=&quot;User:MistressNebula/MissionGen: Reward cutscenes&quot;&gt;User:MistressNebula/MissionGen: Reward cutscenes&lt;/a&gt; to &lt;a href=&quot;/Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&quot; title=&quot;Mod:Nebula&amp;#039;s Mission Board/ Reward cutscenes&quot;&gt;Mod:Nebula&amp;#039;s Mission Board/ Reward cutscenes&lt;/a&gt;: Move to Mod namespace&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 17:43, 29 July 2025&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>MistressNebula</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&amp;diff=2779&amp;oldid=prev</id>
		<title>MistressNebula: Make page</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Mod:Nebula%27s_Mission_Board/_Reward_cutscenes&amp;diff=2779&amp;oldid=prev"/>
		<updated>2025-07-28T16:48:43Z</updated>

		<summary type="html">&lt;p&gt;Make page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;When players leave a dungeon successfully after completing at least one job, they will be brought to the map defined inside the &amp;lt;code&amp;gt;[[User:MistressNebula/MissionGen: Editing settings#end_dungeon_day_destination|end_dungeon_day_destination]]&amp;lt;/code&amp;gt; setting. The library will then expect your code to use the reward handler here.&amp;lt;/br&amp;gt;&lt;br /&gt;
Do note that the end_dungeon_day_destination can also be a place where you assigned one or more job boards. It doesn&amp;#039;t need to be a completely separate place.&lt;br /&gt;
&lt;br /&gt;
Go to your &amp;lt;code&amp;gt;end_dungeon_day_destination&amp;lt;/code&amp;gt;&amp;#039;s &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; function and paste this code in it, before any kind of fade-in occurs:&lt;br /&gt;
&amp;lt;pre&amp;gt;if MissionGen:HasCompletedMissions() then&lt;br /&gt;
  MissionGen:PlayJobsCompletedCutscene()&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the map has no job board assigned to it, this is already everything you need to do. &amp;lt;code&amp;gt;PlayJobsCompletedCutscene&amp;lt;/code&amp;gt; will move the flow of execution to the maps where the completed jobs&amp;#039; board is set and then simply return, letting those maps handle the rest.&lt;br /&gt;
If that is not the case, however, you will also need to write the reward cutscene, and then pass it to the function like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MissionGen:PlayJobsCompletedCutscene(&amp;lt;callback&amp;gt;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This should be done in any map where there&amp;#039;s a job board.&lt;br /&gt;
&lt;br /&gt;
=== Writing a Reward Cutscene ===&lt;br /&gt;
When &amp;lt;code&amp;gt;PlayJobsCompletedCutscene&amp;lt;/code&amp;gt; is called, it looks for the first completed job in the taken list. If the board that job has been taken from is not assigned to the current map, the player is transported to the correct map, where another instance of the function is then expected to run. If the map is correct, however, a list of [https://github.com/RogueCollab/RogueEssence/blob/master/RogueEssence/Ground/GroundChar.cs GroundChars] is created and then passed to the callback you provided the function with, alongside the job table itself. In other words, the callback needs to be a function with the following signature:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function(job, npcs)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where:&lt;br /&gt;
* &amp;lt;code&amp;gt;job&amp;lt;/code&amp;gt; is the Job Table. See the [[User:MistressNebula/MissionGen: Job Table|Job Table Documentation]] page for more details&lt;br /&gt;
* &amp;lt;code&amp;gt;npcs&amp;lt;/code&amp;gt; is the list of GroundChars, already added to the map at the coordinates 0, 0. It contains 4 characters for law enforcement jobs, 2 for jobs with a friendly target, and 1 for jobs with no targets&lt;br /&gt;
&lt;br /&gt;
This function is what needs to implement the reward cutscene. You can use the job data and the number of npcs created to move the characters to the correct positions, differentiate between multiple boardss in the same map, if you have to, and then display a different introductory dialogue depending on the job type. Then, whenever you need to actually give the rewards to your players, call the following function&lt;br /&gt;
&amp;lt;pre&amp;gt;MissionGen:RewardPlayer(job, speaker, line1, line2)&amp;lt;/pre&amp;gt;&lt;br /&gt;
where:&lt;br /&gt;
* &amp;lt;code&amp;gt;job&amp;lt;/code&amp;gt; is the Job Table, needed to read what the rewards are&lt;br /&gt;
* &amp;lt;code&amp;gt;speaker&amp;lt;/code&amp;gt; is the character that will say the lines given in the next parameters. If omitted, the lines will be displayed with no speaker.&lt;br /&gt;
* &amp;lt;code&amp;gt;line1&amp;lt;/code&amp;gt; is the line that &amp;lt;code&amp;gt;speaker&amp;lt;/code&amp;gt; will say before giving the first reward to the player, unless the client itself is the reward&lt;br /&gt;
* &amp;lt;code&amp;gt;line2&amp;lt;/code&amp;gt; is the line that &amp;lt;code&amp;gt;speaker&amp;lt;/code&amp;gt; will say before giving the second reward to the player, if it exists&lt;br /&gt;
&lt;br /&gt;
This function will handle everything in regards to rewards, without moving the characters around. You will then be able to add more actions after it returns.&lt;br /&gt;
&lt;br /&gt;
When the cutscene is done, simply add a fade-out, and you&amp;#039;ll be good to go. &amp;lt;code&amp;gt;PlayJobsCompletedCutscene&amp;lt;/code&amp;gt; will dispose of the characters and move to the next completed job, or return control to the player if there are no more completed jobs.&lt;/div&gt;</summary>
		<author><name>MistressNebula</name></author>
	</entry>
</feed>