Whodunit: Difference between revisions
Jump to navigation
Jump to search
(Created page) |
(Updated script for current mapper issues, cleaned up script.) |
||
Line 31: | Line 31: | ||
send ask coor about access |
send ask coor about access |
||
matchwait 5 |
matchwait 5 |
||
##goto ERROR |
|||
BEGIN: |
BEGIN: |
||
pause |
pause 0.5 |
||
##if ("$roomid" = "1") then goto begin1 |
|||
##matchwait 5 |
|||
##goto ERROR |
|||
BEGIN1: |
BEGIN1: |
||
send study corpse |
send study corpse |
||
delay |
delay 0.5 |
||
#put #goto 462 |
|||
put #ECHO ACCUSING %who, %with, in %where. |
put #ECHO ACCUSING %who, %with, in %where. |
||
put up |
put up |
||
FOREDECK: |
FOREDECK: |
||
pause |
pause 0.5 |
||
##if def("%who") then |
|||
send ask %ask about alibi |
send ask %ask about alibi |
||
delay |
delay 0.5 |
||
gosub SEARCH |
gosub SEARCH |
||
pause |
pause 0.5 |
||
if !matchre("%who|%where|%with", "NULL") then goto accuse |
if !matchre("%who|%where|%with", "NULL") then goto accuse |
||
put #ECHO ACCUSING %who, %with, in %where. |
put #ECHO ACCUSING %who, %with, in %where. |
||
#put #goto 463 |
|||
put aft |
put aft |
||
#delay 2 |
|||
#put #goto 463 |
|||
PROMENADE: |
PROMENADE: |
||
pause |
pause 0.5 |
||
send ask %ask about alibi |
send ask %ask about alibi |
||
delay |
delay 0.5 |
||
gosub SEARCH |
gosub SEARCH |
||
pause |
pause 0.5 |
||
put #ECHO ACCUSING %who, %with, in %where. |
put #ECHO ACCUSING %who, %with, in %where. |
||
if !matchre("%who|%where|%with", "NULL") then goto accuse |
if !matchre("%who|%where|%with", "NULL") then goto accuse |
||
#put #goto 465 |
|||
#delay 2 |
|||
put port |
put port |
||
BUFFET: |
BUFFET: |
||
pause |
pause 0.5 |
||
send ask %ask about alibi |
send ask %ask about alibi |
||
delay |
delay 0.5 |
||
gosub SEARCH |
gosub SEARCH |
||
pause |
pause 0.5 |
||
put #ECHO ACCUSING %who, %with, in %where. |
put #ECHO ACCUSING %who, %with, in %where. |
||
if !matchre("%who|%where|%with", "NULL") then goto accuse |
if !matchre("%who|%where|%with", "NULL") then goto accuse |
||
delay |
delay 0.5 |
||
#put #goto 464 |
|||
#delay 2 |
|||
##put #goto 7 |
|||
#delay 2 |
|||
put starboard |
put starboard |
||
pause |
pause |
||
put up |
put up |
||
QUARTERDECK: |
QUARTERDECK: |
||
pause |
pause 0.5 |
||
send ask %ask about alibi |
send ask %ask about alibi |
||
pause |
pause 0.5 |
||
gosub SEARCH |
gosub SEARCH |
||
pause |
pause 0.5 |
||
put #ECHO ACCUSING %who, %with, in %where. |
put #ECHO ACCUSING %who, %with, in %where. |
||
if !matchre("%who|%where|%with", "NULL") then goto accuse |
if !matchre("%who|%where|%with", "NULL") then goto accuse |
||
delay |
delay 0.5 |
||
#put #goto 466 |
|||
#delay 2 |
|||
#put #goto 4 |
|||
#delay 2 |
|||
put down |
put down |
||
delay 1 |
delay 1 |
||
Line 106: | Line 89: | ||
LOUNGE: |
LOUNGE: |
||
pause |
pause 0.5 |
||
send ask %ask about alibi |
send ask %ask about alibi |
||
delay |
delay 0.5 |
||
gosub SEARCH |
gosub SEARCH |
||
pause |
pause 0.5 |
||
put #ECHO ACCUSING %who, %with, in %where. |
put #ECHO ACCUSING %who, %with, in %where. |
||
if !matchre("%who|%where|%with", "NULL") then goto accuse |
if !matchre("%who|%where|%with", "NULL") then goto accuse |
||
delay 0.5 |
|||
#put #goto 467 |
|||
delay 2 |
|||
put aft |
put aft |
||
BAR: |
BAR: |
||
pause |
pause 0.5 |
||
send ask %ask about alibi |
send ask %ask about alibi |
||
delay |
delay 0.5 |
||
gosub SEARCH |
gosub SEARCH |
||
pause |
pause 0.5 |
||
put #ECHO ACCUSING %who, %with, in %where. |
put #ECHO ACCUSING %who, %with, in %where. |
||
if !matchre("%who|%where|%with", "NULL") then goto accuse |
if !matchre("%who|%where|%with", "NULL") then goto accuse |
||
Line 138: | Line 119: | ||
FOUND: |
FOUND: |
||
delay 0.5 |
delay 0.5 |
||
if ("$roomid" = "462") then var where foredeck |
if ("$roomid" = "462|0") then var where foredeck |
||
if ("$roomid" = "463") then var where promenade |
if ("$roomid" = "463") then var where promenade |
||
if ("$roomid" = "466") then var where lounge |
if ("$roomid" = "466") then var where lounge |
Revision as of 13:25, 22 September 2024
This is a script for the Taisidon Morada mystery game as of 2024. Front ends are Genie 3-4.
You must start this script at the morgue in the morada or at the coordinator. It will cycle through as many passes that you have redeemed. It will not redeem passes.
#debug 10
put #ECHO cyan ================== Will cycle through as many tickets as you have redeemed. Needs to start at the Morada morgue, or at the coordinator.
action var with cleaver when chop marks that reveal flesh and bone\.$
action var with knife when ragged edges\.$
action var with baton when soft tissue damage and internal bleeding\.$
action var with bottle when severe lacerations\.$
action var with zills when displaying clean edges\.$
action var with corkscrew when oddly curved puncture wounds\.$
action var with paintbrush when deep and lethal puncture wounds\.$
action var with logbook when displaying a large amount of damage\.$
action var with comb when criss-crossed with slashes marked by odd perforations of the skin\.$
action var who $1 when (bartender|deckhand|entertainer|boatswain|chef|director|artist|steward|beautician) says.* (?:with|while|coughing awkwardly|fingers tapping).*\.
action var ask $1 when ^You also see(?:.*)*\b(bartender|deckhand|entertainer|boatswain|chef|director|artist|steward|beautician)\b\.
start:
pause 1
var with NULL
var where NULL
var who NULL
Entrance:
if ("$roomid" = "1|0") then goto BEGIN
MATCHRE BEGIN ^A Taisidon cruise coordinator steps aside
MATCHRE NOTICK ^A Taisidon cruise coordinator checks some paperwork and frowns
send ask coor about access
matchwait 5
BEGIN:
pause 0.5
BEGIN1:
send study corpse
delay 0.5
put #ECHO ACCUSING %who, %with, in %where.
put up
FOREDECK:
pause 0.5
send ask %ask about alibi
delay 0.5
gosub SEARCH
pause 0.5
if !matchre("%who|%where|%with", "NULL") then goto accuse
put #ECHO ACCUSING %who, %with, in %where.
put aft
PROMENADE:
pause 0.5
send ask %ask about alibi
delay 0.5
gosub SEARCH
pause 0.5
put #ECHO ACCUSING %who, %with, in %where.
if !matchre("%who|%where|%with", "NULL") then goto accuse
put port
BUFFET:
pause 0.5
send ask %ask about alibi
delay 0.5
gosub SEARCH
pause 0.5
put #ECHO ACCUSING %who, %with, in %where.
if !matchre("%who|%where|%with", "NULL") then goto accuse
delay 0.5
put starboard
pause
put up
QUARTERDECK:
pause 0.5
send ask %ask about alibi
pause 0.5
gosub SEARCH
pause 0.5
put #ECHO ACCUSING %who, %with, in %where.
if !matchre("%who|%where|%with", "NULL") then goto accuse
delay 0.5
put down
delay 1
put starboard
LOUNGE:
pause 0.5
send ask %ask about alibi
delay 0.5
gosub SEARCH
pause 0.5
put #ECHO ACCUSING %who, %with, in %where.
if !matchre("%who|%where|%with", "NULL") then goto accuse
delay 0.5
put aft
BAR:
pause 0.5
send ask %ask about alibi
delay 0.5
gosub SEARCH
pause 0.5
put #ECHO ACCUSING %who, %with, in %where.
if !matchre("%who|%where|%with", "NULL") then goto accuse
matchwait 5
goto error
SEARCH:
pause
MATCHRE NOTF fails to turn up any clues\.$
MATCHRE FOUND blood has partially dried\.$
Send search
matchwait
FOUND:
delay 0.5
if ("$roomid" = "462|0") then var where foredeck
if ("$roomid" = "463") then var where promenade
if ("$roomid" = "466") then var where lounge
if ("$roomid" = "467") then var where bar
if ("$roomid" = "465") then var where buffet
if ("$roomid" = "464") then var where quarterdeck
delay 0.5
return
NOTF:
return
ACCUSE:
put #ECHO ACCUSING %who, %with, in %where.
matchwait 2
ACCUSE1:
send accuse %who with %with in %where
delay 0.5
send stow right
delay 0.5
send stow left
goto start
ERROR:
put #ECHO FOUND %who, %with, in %where.
exit
ABORT:
exit
NOTICK:
put #ECHO red GET SOME PASSES
exit