Creating and testing macro
This commit is contained in:
@ -100,7 +100,7 @@ var saveAs=saveAs||navigator.msSaveBlob&&navigator.msSaveBlob.bind(navigator)||f
|
||||
<div id="init-lacking">Your browser lacks required capabilities. Please upgrade it or switch to another to continue.</div>
|
||||
<div id="init-loading"><div>Loading…</div></div>
|
||||
</div>
|
||||
<!-- UUID://BE18C022-A213-466C-8DD1-DCCD5CB1DF48// --><tw-storydata name="At the Duchess's Party" startnode="2" creator="Tweego" creator-version="2.1.0+9ea2fab" ifid="BE18C022-A213-466C-8DD1-DCCD5CB1DF48" zoom="1" format="SugarCube" format-version="2.30.0" options="" hidden><style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css"></style><script role="script" id="twine-user-script" type="text/twine-javascript">/* twine-user-script #1: "storymanager.js" */
|
||||
<!-- UUID://BE18C022-A213-466C-8DD1-DCCD5CB1DF48// --><tw-storydata name="At the Duchess's Party" startnode="1" creator="Tweego" creator-version="2.1.0+9ea2fab" ifid="BE18C022-A213-466C-8DD1-DCCD5CB1DF48" zoom="1" format="SugarCube" format-version="2.30.0" options="" hidden><style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css"></style><script role="script" id="twine-user-script" type="text/twine-javascript">/* twine-user-script #1: "storymanager.js" */
|
||||
|
||||
// Set up the general narrative manager
|
||||
// -----------------------------------------------------------------------
|
||||
@ -166,6 +166,24 @@ StoryManager.getStorylets = function(n=null, tag=null, respect_interrupt=true) {
|
||||
return selectedStorylets;
|
||||
}
|
||||
|
||||
// Set up macros
|
||||
|
||||
Macro.add("getStoryletLinks", {
|
||||
handler: function() {
|
||||
let n, tag;
|
||||
[n=null, tag=null] = this.args;
|
||||
State.temporary.nextStorylets = StoryManager.getStorylets(n, tag);
|
||||
$(this.output).wiki(`
|
||||
<<for _storylet range _nextStorylets>> \
|
||||
<<capture _storylet>> \
|
||||
[[_storylet.description|_storylet.passage][$currentStorylet=_storylet]]<br>
|
||||
<</capture>> \
|
||||
<</for>> \
|
||||
`);
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
window.SM = StoryManager;
|
||||
/* twine-user-script #2: "duchess_party.js" */
|
||||
|
||||
@ -298,22 +316,14 @@ StoryManager.storylets["Seeing the duchess"] = {
|
||||
}
|
||||
};
|
||||
/* twine-user-script #3: "Story JavaScript" */
|
||||
Config.passages.nobr = true; // Deal with linebreaks.</script><tw-passagedata pid="1" name="StoryManager Widgets" tags="widget" position="100,100" size="100,100"><<widget ShowStoryletLinks>>
|
||||
<<for _storylet range $args[0]>>
|
||||
<<capture _storylet>>
|
||||
[[_storylet.description|_storylet.passage][$currentStorylet=_storylet]]<br>
|
||||
<</capture>>
|
||||
<</for>>
|
||||
<</widget>></tw-passagedata><tw-passagedata pid="2" name="Start" tags="" position="225,100" size="100,100">The footmen at the door to the duchess's city residence bows over your forged invitation, seemingly not examining at all. The uniform you wear is authentic, at least, though Frin had found a tailor who would accept some extra florins to not demand to see a letter of appointment before sewing on captain's bars. And just like that, you're in. Could it be that easy, you wonder? <br> <br>
|
||||
Config.passages.nobr = true; // Deal with linebreaks.</script><tw-passagedata pid="1" name="Start" tags="" position="100,100" size="100,100">The footmen at the door to the duchess's city residence bows over your forged invitation, seemingly not examining at all. The uniform you wear is authentic, at least, though Frin had found a tailor who would accept some extra florins to not demand to see a letter of appointment before sewing on captain's bars. And just like that, you're in. Could it be that easy, you wonder? <br> <br>
|
||||
|
||||
Of course it isn't. The hall is filled with aristocrats in evening-wear, making small talk in an ever-shifting constellation. Across the room, the doors to the duchess's private rooms are firmly closed. No way to sneak in without being seen. You're going to have to find a way to [[talk your way in | Circulating]].</tw-passagedata><tw-passagedata pid="3" name="Circulating" tags="" position="350,100" size="100,100">You mingle through the crowd, keeping a wary eye around you.<br>
|
||||
<<set _possibleStories = window.SM.getStorylets(3, "circulating")>>
|
||||
<<ShowStoryletLinks _possibleStories>></tw-passagedata><tw-passagedata pid="4" name="Conversation" tags="" position="475,100" size="100,100"><<set $talkingTo = $currentStorylet.character>>
|
||||
Of course it isn't. The hall is filled with aristocrats in evening-wear, making small talk in an ever-shifting constellation. Across the room, the doors to the duchess's private rooms are firmly closed. No way to sneak in without being seen. You're going to have to find a way to [[talk your way in | Circulating]].</tw-passagedata><tw-passagedata pid="2" name="Circulating" tags="" position="225,100" size="100,100">You mingle through the crowd, keeping a wary eye around you.<br>
|
||||
<<getStoryletLinks 3 "circulating">></tw-passagedata><tw-passagedata pid="3" name="Conversation" tags="" position="350,100" size="100,100"><<set $talkingTo = $currentStorylet.character>>
|
||||
You talk with $talkingTo.name. <br>
|
||||
<<set _possibleStories = window.SM.getStorylets(3, "during conversation")>>
|
||||
<<ShowStoryletLinks _possibleStories>>
|
||||
[[Keep circulating | Circulating]]</tw-passagedata><tw-passagedata pid="5" name="Being approached" tags="" position="600,100" size="100,100">$currentStorylet.character.name is coming toward you to talk. <br>
|
||||
You can [[talk to them | Conversation]], or risk snubbing them by [[trying to get away | Circulating][$reputation = $reputation - 1]].</tw-passagedata><tw-passagedata pid="6" name="Conversation topic" tags="" position="725,100" size="100,100"><<set $topic = $currentStorylet.topic>>
|
||||
<<getStoryletLinks 3 "during conversation">>
|
||||
[[Keep circulating | Circulating]]</tw-passagedata><tw-passagedata pid="4" name="Being approached" tags="" position="475,100" size="100,100">$currentStorylet.character.name is coming toward you to talk. <br>
|
||||
You can [[talk to them | Conversation]], or risk snubbing them by [[trying to get away | Circulating][$reputation = $reputation - 1]].</tw-passagedata><tw-passagedata pid="5" name="Conversation topic" tags="" position="600,100" size="100,100"><<set $topic = $currentStorylet.topic>>
|
||||
<<if $playerKnowledge[$topic] < $talkingTo[$topic] >>
|
||||
$talkingTo.name tells you about <<print $conversationTopics[$topic][$playerKnowledge[$topic]]>>.
|
||||
<<set $playerKnowledge[$topic] = $playerKnowledge[$topic] + 1>>
|
||||
@ -328,12 +338,12 @@ They listen intently, and seem impressed.
|
||||
<<set $reputation = $reputation + 2>>
|
||||
<</if>><br><br>
|
||||
|
||||
[[Keep circulating | Circulating]]</tw-passagedata><tw-passagedata pid="7" name="Asked to leave" tags="" position="850,100" size="100,100">The footman demands to see your invitation.
|
||||
[[Keep circulating | Circulating]]</tw-passagedata><tw-passagedata pid="6" name="Asked to leave" tags="" position="725,100" size="100,100">The footman demands to see your invitation.
|
||||
Before you know it, you are firmly escorted through a back hallway, past the kitchens, and finally
|
||||
out through the servant's entrance. A single guard glares at you, as of committing your face
|
||||
to memory to make sure you'll never be able to come back.<br><br>
|
||||
|
||||
FAILURE</tw-passagedata><tw-passagedata pid="8" name="Invited to see the Duchess" tags="" position="975,100" size="100,100">The footman discreetly bows his head under his high cap. "Her grace wishes to speak with you," he says. <br>
|
||||
FAILURE</tw-passagedata><tw-passagedata pid="7" name="Invited to see the Duchess" tags="" position="850,100" size="100,100">The footman discreetly bows his head under his high cap. "Her grace wishes to speak with you," he says. <br>
|
||||
You follow him as he leads you away from the main hall, and toward the Duchess's private rooms. <br><br>
|
||||
|
||||
VICTORY</tw-passagedata></tw-storydata>
|
||||
|
Reference in New Issue
Block a user