3248 lines
101 KiB
Plaintext
3248 lines
101 KiB
Plaintext
"ATTACK for
|
||
SHOGUN
|
||
(c) Copyright 1988 Infocom, Inc. All Rights Reserved."
|
||
|
||
<FILE-FLAGS SENTENCE-ENDS?>
|
||
|
||
<BEGIN-SEGMENT NINJA>
|
||
<BEGIN-SEGMENT YOKOHAMA>
|
||
|
||
<OBJECT PISTOL
|
||
(OWNER BLACKTHORNE)
|
||
(DESC "pistol")
|
||
(SYNONYM PISTOL GUN)
|
||
(FLAGS TAKEBIT WEAPONBIT)
|
||
(ACTION PISTOL-F)>
|
||
|
||
<ROUTINE PISTOL-F ()
|
||
<COND (<FSET? ,PISTOL ,NDESCBIT>
|
||
<TELL
|
||
"You can't find your pistol anywhere! It must have been blown out of
|
||
your grasp by the force of the explosion!" CR>)
|
||
(<VERB? EXAMINE>
|
||
<TELL
|
||
"This is a">
|
||
<COND (<FSET? ,PISTOL ,RMUNGBIT> <TELL "n unloaded">)
|
||
(ELSE <TELL " loaded">)>
|
||
<TELL " pistol." CR>)
|
||
(<P? LOAD PISTOL (<> POWDER-HORN)>
|
||
<COND (<NOT <HELD? ,POWDER-HORN>>
|
||
<TELL
|
||
"You don't have any powder!" CR>)
|
||
(<FSET? ,PISTOL ,RMUNGBIT>
|
||
<COND (<QUEUED? I-LOAD-PISTOL>
|
||
<TELL
|
||
"With all the speed you can, you work on loading the pistol." CR>)
|
||
(ELSE
|
||
<QUEUE I-LOAD-PISTOL -1>
|
||
<TELL
|
||
"You begin the laborious task of loading the pistol." CR>)>)
|
||
(ELSE
|
||
<TELL "It's already loaded." CR>)>)>>
|
||
|
||
<END-SEGMENT ;"NINJA+YOKOHAMA">
|
||
<BEGIN-SEGMENT NINJA>
|
||
|
||
<OBJECT POWDER-HORN
|
||
(LOC BLACKTHORNE-QUARTERS)
|
||
(DESC "powder horn")
|
||
(SYNONYM HORN POWDER)
|
||
(ADJECTIVE POWDER)
|
||
(FLAGS TAKEBIT)
|
||
(ACTION POWDER-HORN-F)>
|
||
|
||
<ROUTINE POWDER-HORN-F ()
|
||
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
||
<TELL
|
||
"There is plenty of powder in the horn." CR>)
|
||
(<P? PUT POWDER-HORN (TOP-CATCH BOTTOM-CATCH)>
|
||
<TELL
|
||
"The powder won't stay on the catch." CR>)
|
||
(<P? PUT POWDER-HORN PISTOL>
|
||
<PERFORM ,V?LOAD ,PISTOL>
|
||
<RTRUE>)
|
||
(<OR <P? SHOOT PISTOL>
|
||
<P? EXPLODE * POWDER-HORN>>
|
||
<TELL
|
||
"You would blow yourself up too!" CR>)>>
|
||
|
||
;<GLOBAL LOAD-PISTOL-CNT 0>
|
||
|
||
<ROUTINE I-LOAD-PISTOL ()
|
||
<ZLINES ,LOAD-PISTOL-CNT
|
||
(<TELL CR
|
||
"First the powder, tamping it carefully." CR>)
|
||
(<TELL CR
|
||
G"You continue loading the pistol. Next"" the paper plug to hold the charge
|
||
tight." CR>)
|
||
(<TELL CR
|
||
G"You continue loading the pistol. Next"" the lead ball and another
|
||
plug." CR>)
|
||
(<SETG LOAD-PISTOL-CNT 0>
|
||
<FCLEAR ,PISTOL ,RMUNGBIT>
|
||
<DEQUEUE I-LOAD-PISTOL>
|
||
<TELL CR
|
||
G"You continue loading the pistol. Next"", blow the dust carefully away from
|
||
the flint. Finished!" CR>)>>
|
||
|
||
<ROUTINE MARIKO-FOLLOW-ME ()
|
||
<COND (<NOT <IN? ,MARIKO ,HERE>>
|
||
<COND (<NEXT-ROOM? <LOC ,MARIKO>>
|
||
<COND (<QUEUED? I-NINJA-TAKE-MARIKO>
|
||
<TELL
|
||
"Mariko is struggling with the ninja in the next room. They are trying to
|
||
abduct her!" CR>)
|
||
(ELSE
|
||
<TELL
|
||
"Mariko is in the next room." CR>)>)
|
||
(ELSE
|
||
<TELL
|
||
"You no longer know where Mariko is." CR>)>)
|
||
(<HERE? ,SECRET-REDOUBT ,BALCONY>
|
||
<TELL
|
||
"\"No, Anjin-san, I can no longer follow.\"" CR>)
|
||
(<QUEUED? I-NINJA-TAKE-MARIKO>
|
||
<TELL
|
||
"She struggles to free herself from the ninja, but she
|
||
can't. \"Help me, Anjin-san!\" she yells." CR>)
|
||
(ELSE
|
||
<QUEUE I-MARIKO-FOLLOW -1>
|
||
<COND (<QUEUED? I-NINJA>
|
||
<COND (,CAPTURE-CNT
|
||
<TELL
|
||
"\"You can't let them take me">)
|
||
(ELSE
|
||
<TELL
|
||
"\"I'll stay close by">)>
|
||
<TELL
|
||
", Anjin-san.\" she replies." CR>)
|
||
(<QUEUED? I-NINJA-COWED>
|
||
<TELL
|
||
"\"I'm coming!\" she says, rushing to your side." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"\"I will follow you,\" she replies." CR>)>
|
||
<SCORE-OBJECT ,MARIKO>)>>
|
||
|
||
<ROUTINE NINJA-TALK-TO-YABU ()
|
||
<COND (<VERB? TELL-ME-ABOUT WHAT>
|
||
<COND (<PRSO? ,PLAN>
|
||
<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||
<TELL
|
||
"Yabu is very nervous. \"I know nothing of any plan!\" he blusters." CR>)
|
||
(ELSE
|
||
<COND (<ADJ-USED? ,PLAN ,W?SECRET>
|
||
<TELL "\"No secret">)
|
||
(ELSE
|
||
<TELL "\"So sorry">)>
|
||
<TELL
|
||
", Anjin-san. You misunderstood. Say only must have plan. Very
|
||
difficult escape Osaka, neh? Understand?\" Yabu appears somewhat
|
||
nervous." CR>
|
||
<SCORE-OBJECT ,PLAN>)>)
|
||
(<PRSO? ,NINJA ,LG-NINJA>
|
||
<TELL
|
||
"\"Ninja! Filthy assassins! Who would use ninja! Filth!\" He seems very
|
||
agitated and nervous." CR>)
|
||
(<PRSO? ,MARIKO>
|
||
<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||
<TELL
|
||
"\"Mariko is dead, Anjin-san.\"" CR>)
|
||
(ELSE
|
||
<TELL
|
||
"\"She has done a very foolish thing, Anjin-san,\" he says
|
||
vehemently. He seems to be suppressing an even stronger response. He is very
|
||
nervous." CR>)>)>)
|
||
(<AND <VERB? YES HAI>
|
||
<HERE? ,OUTER-ROOM>>
|
||
<COND (<NOT <FSET? ,PLAN ,SCOREBIT>>
|
||
<TELL
|
||
"\"Very good, Anjin-san,\" Yabu replies, looking much relieved." CR>)
|
||
(<EQUAL? ,YABU-CNT 1 2>
|
||
<TELL
|
||
"\"Good, good!\" Yabu nods. \"Very worried about Lady Toda.\" He
|
||
smiles." CR>)>)
|
||
(<AND <VERB? NO IYE>
|
||
<HERE? ,OUTER-ROOM>>
|
||
<COND (<NOT <FSET? ,PLAN ,SCOREBIT>>
|
||
<TELL
|
||
"\"Don't worry, Anjin-san,\" Yabu replies, trying to look
|
||
unworried." CR>)
|
||
(<EQUAL? ,YABU-CNT 1 2>
|
||
<TELL
|
||
"\"There is no plan, Anjin-san!\" Yabu says. \"I'm only worried about
|
||
Lady Toda.\"" CR>)>)
|
||
(ELSE
|
||
<YABU-WAKARIMASEN>)>>
|
||
|
||
<ROUTINE NINJA-INTERRUPT-YABU ()
|
||
<COND (<JIGS-UP? ,J-CALL-YABU
|
||
"You're supposed to be following him, not talking to him!">
|
||
<TELL
|
||
"Yabu seems surprised to hear you call to him. He turns and says something
|
||
to you in an angry tone of voice. You hear the word \""I"kinjiru""\", which
|
||
means 'forbidden.' Then Yabu draws his killing sword, advances on you, and
|
||
removes your head.">
|
||
<JIGS-UP>
|
||
<RFATAL>)
|
||
(ELSE
|
||
<COND (<VERB? TELL>
|
||
<END-QUOTE>
|
||
<RFATAL>)
|
||
(ELSE <RTRUE>)>)>>
|
||
|
||
<ROUTINE NINJA-FOLLOW-YABU ("AUX" RM)
|
||
<SET RM <LOC ,YABU>>
|
||
<COND (<HERE? .RM>
|
||
<COND (<HERE? ,CELLARS>
|
||
<TELL
|
||
"He doesn't appear to be going anywhere." CR>)
|
||
(,FOLLOW-FLAG
|
||
<TELL
|
||
"You continue following him, keeping well behind and being as quiet
|
||
as possible." CR>)
|
||
(ELSE
|
||
<SETUP-FOLLOW-YABU>
|
||
<TELL
|
||
"You follow Yabu, doing your best to avoid being noticed." CR>)>)
|
||
(<NEXT-ROOM? .RM>
|
||
<COND (,FOLLOW-FLAG
|
||
<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL
|
||
"You follow warily behind him, keeping out of sight." CR>)
|
||
(<HERE? ,AUDIENCE-CHAMBER>
|
||
<TELL
|
||
"You follow behind him, bowing to the guards but keeping far enough
|
||
behind Yabu that he doesn't know he's being followed." CR>)
|
||
(<HERE? ,OUTER-CORRIDOR>
|
||
<TELL
|
||
"You follow him, letting him get one turn ahead of you on the stairs." CR>)
|
||
(<HERE? ,STAIRS>
|
||
<TELL
|
||
"You slip silently into the servants' quarters, and they stare at you
|
||
but don't move. Yabu is heading towards a stairway leading down." CR>)
|
||
(<HERE? ,SERVANTS-QUARTERS>
|
||
<TELL
|
||
"You follow Yabu at a safe distance, sometimes almost losing him in
|
||
the labyrinthine cellars. He reaches a large, dimly-lit room full of
|
||
boxes and barrels." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"You follow behind as silently and stealthily as you can." CR>)>)
|
||
(ELSE
|
||
<SETUP-FOLLOW-YABU>
|
||
<TELL "You begin following Yabu, ">
|
||
<COND (<HERE? ,OUTER-ROOM>
|
||
<TELL
|
||
"hoping he won't lose you." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"keeping far enough behind that he doesn't realize
|
||
he's being followed." CR>)>)>
|
||
<CRLF>
|
||
<GOTO .RM>
|
||
<RTRUE>)
|
||
(ELSE
|
||
<SETG FOLLOW-FLAG <>>
|
||
<TELL "You've lost him!" CR>)>>
|
||
|
||
<ROUTINE EXAMINE-MARIKO ()
|
||
<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||
<COND (<FSET? ,MARIKO ,DEAD>
|
||
<TELL
|
||
"She seems at peace, sleeping. You move the kimono aside, then
|
||
put it back again. Her pulse is almost imperceptible. Then it
|
||
ceases.">)
|
||
(ELSE
|
||
<TELL
|
||
"Lady Mariko is broken and dying. She is still alive, but fading
|
||
rapidly.">)>
|
||
<TELL
|
||
"Her face is hardly touched but her body is terribly
|
||
mutilated. Around her neck is her rosary, the tiny golden cross
|
||
lying on her throat." CR>)
|
||
(<QUEUED? I-NINJA-TAKE-MARIKO>
|
||
<TELL
|
||
"Lady Mariko is struggling to free herself." CR>)
|
||
(<QUEUED? I-NINJA>
|
||
<TELL
|
||
"Lady Mariko looks like the samurai she is, brave and fearless, intent upon
|
||
her purpose." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"Lady Mariko looks tired, but delicate and beautiful. The effects of the
|
||
afternoon are still with her, but she is content to be here with you." CR>)>>
|
||
|
||
<ROUTINE NINJA-TAKE-MARIKO ()
|
||
<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||
<COND (<FSET? ,BLACKTHORNE ,RMUNGBIT>
|
||
<TELL
|
||
"You're too far away. You'll have to get closer somehow." CR>)
|
||
(ELSE
|
||
<MOVE ,MARIKO ,WINNER>
|
||
<TELL
|
||
"You take her in your arms, her broken body so small it feels like
|
||
she can hardly be real." CR>)>)
|
||
(<IN? ,MARIKO ,SECRET-REDOUBT>
|
||
<MOVE ,MARIKO ,WINNER>
|
||
<QUEUE I-MARIKO-STRUGGLES -1>
|
||
<TELL
|
||
"You grab her, dragging her toward the balcony, but she tries to get
|
||
away. \"No, Anjin-san! I must stay here!\"" CR>)
|
||
(ELSE
|
||
<SETG WINNER ,MARIKO>
|
||
<PERFORM ,V?FOLLOW>
|
||
<SETG WINNER ,PLAYER>
|
||
<RTRUE>)>>
|
||
|
||
<ROOM PRIVATE-QUARTERS
|
||
(LOC ROOMS)
|
||
(SCENE S-NINJA)
|
||
(DESC "Mariko's Quarters")
|
||
(OWNER MARIKO)
|
||
(SYNONYM QUARTERS)
|
||
(SCORE 6)
|
||
(FDESC
|
||
"It is early in the morning of the day after Mariko's confrontation, two
|
||
or three hours before dawn. After she woke, you and Mariko had an hour
|
||
alone together. \"I still cannot believe that Ishido gave in,\" she
|
||
said. \"I knew it was my karma to bring the hostages out of Osaka. Only I could
|
||
do that for Lord Toranaga. And now it's done. But at what a cost,
|
||
neh? Madonna forgive me.\"|
|
||
|
|
||
Now you, Mariko, Kiri, Lady Etsu, and Achiko, the granddaughter of Kiyama, are
|
||
together in Mariko's quarters. You are still suspicious enough of Ishido's
|
||
intentions to be carrying your pistol.")
|
||
(AFTER ETSU-AFTER-F)
|
||
(NORTH TO SECRET-REDOUBT IF SECRET-REDOUBT-DOOR IS OPEN)
|
||
(IN TO SECRET-REDOUBT IF SECRET-REDOUBT-DOOR IS OPEN)
|
||
(SOUTH TO OUTER-ROOM IF NORTH-SHOJI IS OPEN)
|
||
(OUT TO OUTER-ROOM IF NORTH-SHOJI IS OPEN)
|
||
(WEST TO PRIVATE-QUARTERS-2)
|
||
(EAST TO BLACKTHORNE-QUARTERS)
|
||
(GLOBAL NORTH-SHOJI SECRET-REDOUBT-DOOR LG-NINJA LG-WOMEN)
|
||
(FLAGS ONBIT NOTHEBIT NOABIT)
|
||
(ACTION PRIVATE-QUARTERS-F)>
|
||
|
||
<ROUTINE PRIVATE-QUARTERS-F (RARG)
|
||
<COND (<RARG? SCENE-SETUP>
|
||
<DRESS-BLACKTHORNE>
|
||
<PUTP ,OUTER-CORRIDOR ,P?FDESC <>>
|
||
<FCLEAR ,OUTER-CORRIDOR ,TOUCHBIT>
|
||
<FCLEAR ,AUDIENCE-CHAMBER ,TOUCHBIT>
|
||
<MOVE ,SWORDS ,BLACKTHORNE-QUARTERS>
|
||
<MOVE ,PISTOL ,BLACKTHORNE>
|
||
<MOVE ,MARIKO ,HERE>
|
||
<FSET ,MARIKO ,SCOREBIT>
|
||
<MOVE ,KIRITSUBO ,HERE>
|
||
<MOVE ,GUARDS ,AUDIENCE-CHAMBER>
|
||
<MOVE ,GRAY-CAPTAIN ,AUDIENCE-CHAMBER>
|
||
<MOVE ,YABU ,OUTER-ROOM>
|
||
<QUEUE I-CHIMMOKO 1>)
|
||
(<RARG? LOOK>
|
||
<TELL
|
||
"These are Lady Mariko's private quarters. Shojis screen a private room to
|
||
the west, your room to the east, and an outer room which leads to a
|
||
corridor on the south.">
|
||
<COND (<NOT <FSET? ,SECRET-REDOUBT-DOOR ,INVISIBLE>>
|
||
<TELL
|
||
"On the north wall is the iron-bound door to Lord Toranaga's secret
|
||
room.">)>
|
||
<CRLF>)
|
||
(<RARG? BEG>
|
||
<COND (<AND <VERB? WALK>
|
||
<IN? ,NINJA ,HERE>
|
||
,KNOCKOUT-CNT>
|
||
<TELL
|
||
G"You can't break through the encircling ninja!" CR>)
|
||
(<AND <P? WALK (P?SOUTH P?OUT)>
|
||
<IN? ,NINJA ,HERE>>
|
||
<TELL
|
||
G"You would have to walk right through the ninja!" CR>)
|
||
(<VERB? LEAVE>
|
||
<DO-WALK <COND (<FSET? ,SECRET-REDOUBT-DOOR ,OPENBIT>
|
||
,P?NORTH)
|
||
(ELSE ,P?WEST)>>)>)
|
||
(<RARG? END>
|
||
<COND (<AND <NOT ,MARIKO-PLAN?>
|
||
<FSET? ,OUTER-ROOM ,TOUCHBIT>
|
||
<FSET? ,YABU ,TOUCHBIT>
|
||
<IN? ,MARIKO ,HERE>
|
||
<IN? ,KIRITSUBO ,HERE>
|
||
<FSET? ,LG-NINJA ,INVISIBLE>>
|
||
<THIS-IS-IT ,YABU>
|
||
<SETG QCONTEXT ,MARIKO>
|
||
<SETG MARIKO-PLAN? T>
|
||
<TELL CR
|
||
"Kiri asks you a question which you don't understand. Mariko translates for
|
||
her. \"Did you ask Yabu about the 'plan'?\"" CR>)
|
||
(<AND ,NINJA-ATTACKING-CUL-DE-SAC?
|
||
<FSET? ,SECRET-REDOUBT-DOOR ,INVISIBLE>
|
||
<IN? ,BLACKTHORNE ,PRIVATE-QUARTERS>
|
||
<IN? ,KIRITSUBO ,PRIVATE-QUARTERS>>
|
||
<FCLEAR ,SECRET-REDOUBT-DOOR ,INVISIBLE>
|
||
<TELL CR
|
||
"Kiri pulls a section of shoji on the north wall aside, revealing a hidden
|
||
iron-fortified door set into the stone wall beyond. The hinges are
|
||
well oiled. \"This is my Master's secret haven,\" she pants." CR>)>)>>
|
||
|
||
<GLOBAL MARIKO-PLAN? <>>
|
||
|
||
<OBJECT PLAN
|
||
(LOC GENERIC-OBJECTS)
|
||
(DESC "plan")
|
||
(SYNONYM PLAN)
|
||
(ADJECTIVE SECRET)
|
||
(FLAGS SCOREBIT)>
|
||
|
||
<OBJECT CHIMMOKO
|
||
(LOC OUTER-ROOM)
|
||
(OWNER MARIKO)
|
||
(DESC "Chimmoko")
|
||
(SYNONYM CHIMMOKO MAID)
|
||
(FLAGS PERSON JAPANESEBIT FEMALE NOABIT NOTHEBIT)
|
||
(ACTION CHIMMOKO-F)>
|
||
|
||
<ROUTINE CHIMMOKO-F ("OPT" (RARG <>))
|
||
<COND (<RARG? WINNER>
|
||
<COND (<P? FIND ;WHERE (YABU LG-YABU)>
|
||
<COND (<IN? ,YABU ,OUTER-ROOM>
|
||
<TELL
|
||
"\"He is in the outer chamber, Anjin-san.\"" CR>)
|
||
(ELSE
|
||
<TELL
|
||
"\"I don't know, Anjin-san. He was very angry.\"" CR>)>)
|
||
(ELSE
|
||
<WAKARIMASEN>)>)
|
||
(<P? ASK-ABOUT CHIMMOKO>
|
||
<COND (<SCENE? ,S-SEPPUKU>
|
||
<TELL
|
||
"\"Please go to my mistress, Anjin-san. This is no time for questions.\"" CR>)
|
||
(ELSE
|
||
<TELL
|
||
"She has nothing to say about " THE ,PRSI "." CR>)>)
|
||
(<VERB? WHO>
|
||
<TELL "Chimmoko is one of Mariko's maids." CR>)>>
|
||
|
||
<ROUTINE I-CHIMMOKO ()
|
||
<COND (<IN? ,YABU ,OUTER-ROOM>
|
||
<COND (<HERE? ,PRIVATE-QUARTERS ,PRIVATE-QUARTERS-2
|
||
,BLACKTHORNE-QUARTERS>
|
||
<SETG YABU-CNT 0>
|
||
<QUEUE I-YABU -1>
|
||
<QUEUE I-YABU-LEAVES 4>
|
||
<MOVE ,CHIMMOKO ,HERE>
|
||
<TELL CR
|
||
"Chimmoko, Mariko's servant, enters and bows. \"Lord Yabu wishes to
|
||
speak with the Anjin-san,\" she says.">
|
||
<COND (<NOT <HERE? <LOC ,YABU>>>
|
||
<TELL "\"He is waiting in the outer room.\"">)>
|
||
<CRLF>)
|
||
(ELSE
|
||
<QUEUE I-CHIMMOKO 1>)>)>>
|
||
|
||
<OBJECT ETSU
|
||
(LOC PRIVATE-QUARTERS-2)
|
||
(DESC "Lady Etsu")
|
||
(SYNONYM LADY ETSU)
|
||
(ADJECTIVE LADY OLD)
|
||
(FLAGS PERSON JAPANESEBIT FEMALE NOABIT NOTHEBIT)
|
||
(ACTION ETSU-F)>
|
||
|
||
<ROUTINE ETSU-F ("OPT" (RARG <>))
|
||
<COND (<RARG? SUBJ>
|
||
<RFALSE>)
|
||
(<RARG? WINNER>
|
||
<COND (<VERB? STOP>
|
||
<SETG WINNER ,PLAYER>
|
||
<PERFORM ,V?HELP ,ETSU>
|
||
<RTRUE>)
|
||
(ELSE
|
||
<WAKARIMASEN>)>)
|
||
(<VERB? WHO>
|
||
<TELL "Lady Maeda Etsu is Lord Maeda's mother, an elderly
|
||
samurai of very high lineage." CR>)
|
||
(<VERB? EXAMINE>
|
||
<TELL
|
||
"She is an elderly samurai and customarily leans painfully on her cane;
|
||
\"It's my joints, they get worse every day.\" Her hair is white but her
|
||
back is straight." CR>)>>
|
||
|
||
<OBJECT ACHIKO
|
||
(LOC PRIVATE-QUARTERS)
|
||
(DESC "Achiko")
|
||
(SYNONYM ACHIKO GIRL)
|
||
(ADJECTIVE LADY YOUNG KIYAMA)
|
||
(FLAGS PERSON JAPANESEBIT FEMALE NOABIT NOTHEBIT)
|
||
(ACTION ACHIKO-F)>
|
||
|
||
<ROUTINE ACHIKO-F ("OPT" (RARG <>))
|
||
<COND (<RARG? WINNER>
|
||
<WAKARIMASEN>)
|
||
(<RARG? SUBJ>
|
||
<RFALSE>)
|
||
(<VERB? WHO>
|
||
<TELL
|
||
"Kiyama Achiko is the granddaughter-in-law of Lord Kiyama." CR>)
|
||
(<VERB? EXAMINE>
|
||
<COND (<FSET? ,PRSO ,DEAD>
|
||
<TELL
|
||
"Achiko's lifeless body is spawled on the floor." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"She appears to be holding up well." CR>)>)>>
|
||
|
||
<ROUTINE I-WOMEN ("AUX" (NINJA? <NOT <IN? ,NINJA ,SECRET-ROOM>>))
|
||
<COND (<IN? ,ETSU ,BLACKTHORNE-QUARTERS>
|
||
<CHOREOGRAPH ,PRIVATE-QUARTERS T>)
|
||
(<IN? ,ETSU ,PRIVATE-QUARTERS-2>
|
||
<CHOREOGRAPH ,PRIVATE-QUARTERS T>)
|
||
(<IN? ,ETSU ,SECRET-REDOUBT>
|
||
<COND (<AND .NINJA? <FSET? ,BALCONY-DOOR ,OPENBIT>>
|
||
<CHOREOGRAPH ,BALCONY>)>)
|
||
(<IN? ,ETSU ,PRIVATE-QUARTERS>
|
||
<COND (.NINJA?
|
||
<COND (<FSET? ,SECRET-REDOUBT-DOOR ,OPENBIT>
|
||
<CHOREOGRAPH ,SECRET-REDOUBT>)
|
||
(ELSE <RFALSE>)>)
|
||
(ELSE
|
||
<FSET ,NORTH-SHOJI ,OPENBIT>
|
||
<CHOREOGRAPH ,OUTER-ROOM T>)>)
|
||
(<IN? ,ETSU ,OUTER-ROOM>
|
||
<COND (.NINJA?
|
||
<FSET ,NORTH-SHOJI ,OPENBIT>
|
||
<CHOREOGRAPH ,PRIVATE-QUARTERS>)
|
||
(ELSE
|
||
<FSET ,SOUTH-SHOJI ,OPENBIT>
|
||
<CHOREOGRAPH ,INNER-CORRIDOR T>)>)
|
||
(<IN? ,ETSU ,INNER-CORRIDOR>
|
||
<COND (.NINJA?
|
||
<FSET ,SOUTH-SHOJI ,OPENBIT>
|
||
<CHOREOGRAPH ,OUTER-ROOM>)
|
||
(<FSET? ,INNER-DOOR ,OPENBIT>
|
||
<CHOREOGRAPH ,AUDIENCE-CHAMBER T>)
|
||
(<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The women stop inside the door, listening intently." CR>)>)
|
||
(<IN? ,ETSU ,AUDIENCE-CHAMBER>
|
||
<COND (.NINJA?
|
||
<COND (<FSET? ,INNER-DOOR ,OPENBIT>
|
||
<COND (<QUEUED? I-NINJA-COWED>
|
||
<CHOREOGRAPH ,INNER-CORRIDOR>)>)
|
||
(<QUEUED? I-NINJA-TAKE-MARIKO>
|
||
<TELL CR
|
||
"The women huddle in fear against the closed door." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"Mariko pounds on the closed door as the rest of the women huddle
|
||
around her in fear. \"Anjin-san! Open the door!\"" CR>)>)>)>>
|
||
|
||
<ROUTINE CHOREOGRAPH (RM "OPT" (MARIKO? <>)
|
||
"AUX" (NINJA? <>) (ORM <LOC ,ETSU>))
|
||
<COND (<NOT <IN? ,NINJA ,SECRET-ROOM>>
|
||
<SET NINJA? T>)>
|
||
<COND (<OR <QUEUED? I-NINJA-TAKE-MARIKO>
|
||
<QUEUED? I-MARIKO-FOLLOW>>
|
||
<SET MARIKO? <>>)>
|
||
<MOVE ,CHIMMOKO .RM>
|
||
<MOVE ,ACHIKO .RM>
|
||
<MOVE ,ETSU .RM>
|
||
<MOVE ,KIRITSUBO .RM>
|
||
<COND (.MARIKO? <MOVE ,MARIKO .RM>)>
|
||
<COND (<EQUAL? .ORM ,HERE>
|
||
<CRLF>
|
||
<COND (.MARIKO? <TELL
|
||
"Mariko and the other">)
|
||
(ELSE <TELL
|
||
"The">)>
|
||
<TELL " women">
|
||
<COND (.NINJA?
|
||
<COND (<IN? ,MARIKO ,HERE>
|
||
<TELL ", save Mariko,">)>
|
||
<TELL " flee">)
|
||
(ELSE
|
||
<TELL
|
||
", treading a narrow path between fear and curiosity, leave">)>
|
||
<TELL " the room and crowd into " THE .RM "." CR>)
|
||
(<EQUAL? .RM ,HERE>
|
||
<CRLF>
|
||
<COND (.NINJA?
|
||
<COND (.MARIKO?
|
||
<TELL
|
||
"Mariko and the rest of the">)
|
||
(ELSE
|
||
<TELL
|
||
"The">)>
|
||
<TELL
|
||
" women pour out of " THE .ORM ", fleeing the ninja." CR>)
|
||
(ELSE
|
||
<COND (.MARIKO?
|
||
<TELL "Mariko ">
|
||
<COND (,STATIONARY? <TELL "comes from ">)
|
||
(ELSE <TELL "follows you into ">)>
|
||
<TELL
|
||
THE .ORM " into the room. The rest of the women follow her,">)
|
||
(ELSE
|
||
<TELL "The women ">
|
||
<COND (,STATIONARY? <TELL "come">)
|
||
(ELSE <TELL "follow you">)>
|
||
<TELL " into the room,">)>
|
||
<TELL
|
||
" curious about the commotion, but huddled together in some fear." CR>)>)
|
||
(<NEXT-ROOM? .RM T>
|
||
<TELL CR
|
||
"The women">
|
||
<COND (.NINJA?
|
||
<TELL ", fleeing the ninja, pour">)
|
||
(ELSE
|
||
<TELL " come">)>
|
||
<TELL " into " THE .RM "." CR>)>>
|
||
|
||
<ROUTINE I-MARIKO-FOLLOW ()
|
||
<COND (<NOT <IN? ,MARIKO ,HERE>>
|
||
<COND (,CAPTURE-CNT
|
||
<COND (<NEXT-ROOM? <LOC ,MARIKO>>
|
||
<TELL CR
|
||
"In the next room, you can hear Mariko struggling vainly to break free
|
||
of the encircling ninja. \"Anjin-san!\" she calls." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"You can dimly hear Mariko calling for help." CR>)>)
|
||
(ELSE
|
||
<MOVE ,MARIKO ,HERE>
|
||
<COND (<HERE? ,SECRET-REDOUBT>
|
||
<DEQUEUE I-MARIKO-FOLLOW>)>
|
||
<TELL CR
|
||
"Mariko follows ">
|
||
<COND (<OR <SCENE? ,S-NINJA ,S-ESCAPE>
|
||
<PROB 50>>
|
||
<TELL
|
||
"quickly after you." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"a pace behind, as is the custom." CR>)>)>)>>
|
||
|
||
<ROOM PRIVATE-QUARTERS-2
|
||
(LOC ROOMS)
|
||
(SCENE S-NINJA)
|
||
(DESC "Private Quarters")
|
||
(ADJECTIVE PRIVATE)
|
||
(SYNONYM QUARTERS)
|
||
(LDESC
|
||
"This is a smaller room, part of Mariko's quarters. The Lady Etsu has
|
||
been staying here.")
|
||
(EAST TO PRIVATE-QUARTERS)
|
||
(FLAGS ONBIT)
|
||
(GLOBAL LG-NINJA LG-WOMEN)>
|
||
|
||
<ROOM BLACKTHORNE-QUARTERS
|
||
(LOC ROOMS)
|
||
(SCENE S-NINJA)
|
||
(DESC "Your Quarters")
|
||
(OWNER BLACKTHORNE)
|
||
(SYNONYM QUARTERS ROOM)
|
||
(ADJECTIVE SMALL)
|
||
(LDESC
|
||
"This is a small room in which you are quartered.")
|
||
(WEST TO PRIVATE-QUARTERS)
|
||
(OUT TO PRIVATE-QUARTERS)
|
||
(FLAGS ONBIT)
|
||
(GLOBAL LG-NINJA LG-WOMEN)>
|
||
|
||
<ROOM SECRET-REDOUBT
|
||
(LOC ROOMS)
|
||
(SCENE S-NINJA)
|
||
(DESC "Secret Redoubt")
|
||
(SYNONYM REDOUBT BOLTHOLE HOLE HAVEN)
|
||
(ADJECTIVE SECRET BOLT)
|
||
(SOUTH TO PRIVATE-QUARTERS IF SECRET-REDOUBT-DOOR IS OPEN)
|
||
(NORTH TO BALCONY IF BALCONY-DOOR IS OPEN)
|
||
(OUT TO BALCONY IF BALCONY-DOOR IS OPEN)
|
||
(GLOBAL SECRET-REDOUBT-DOOR BALCONY-DOOR LG-NINJA LG-WOMEN)
|
||
(FLAGS ONBIT)
|
||
(ACTION SECRET-REDOUBT-F)>
|
||
|
||
<ROUTINE SECRET-REDOUBT-F (RARG "AUX" (CNT <GETP ,BOLTS ,P?COUNT>))
|
||
<COND (<RARG? LOOK>
|
||
<TELL
|
||
"This is Lord Toranaga's secret bolt hole. ">
|
||
<COND (<IN? ,SECRET-REDOUBT-DOOR ,LOCAL-GLOBALS>
|
||
<TELL "An iron-bound
|
||
door, well-oiled and well-maintained, is on the south wall. There
|
||
are three iron bolts on the door, ">
|
||
<BOLT-STATE .CNT>
|
||
<TELL ". ">)
|
||
(ELSE
|
||
<TELL
|
||
"There is an explosion-scarred hole on the south wall. ">)>
|
||
<TELL "On the
|
||
north wall is the door to the balcony, its bolts rusty and not so
|
||
well-maintained." CR>)
|
||
(<RARG? BEG>
|
||
<COND (<AND <VERB? WALK>
|
||
<IN? ,NINJA ,HERE>
|
||
,KNOCKOUT-CNT>
|
||
<TELL
|
||
G"You can't break through the encircling ninja!" CR>)
|
||
(<AND <P? WALK P?SOUTH>
|
||
<IN? ,NINJA ,HERE>>
|
||
<TELL
|
||
G"You would have to walk right through the ninja!" CR>)>)>>
|
||
|
||
<ROUTINE BOLT-STATE (CNT)
|
||
<COND (<ZERO? .CNT>
|
||
<TELL "and they are all shut">)
|
||
(<EQUAL? .CNT 1 2 4>
|
||
<TELL "but one of them is open">)
|
||
(<EQUAL? .CNT 3 5 6>
|
||
<TELL "but two are currently open">)
|
||
(ELSE
|
||
<TELL "but none of them are latched now">)>>
|
||
|
||
<ROUTINE BOLTS-REMAINING (CNT)
|
||
<TELL "">
|
||
<COND (<EQUAL? .CNT 7>
|
||
<TELL "All the bolts are now open." CR>)
|
||
(<EQUAL? .CNT 3 5 6>
|
||
<TELL "Two bolts are open." CR>)
|
||
(<EQUAL? .CNT 1 2 4>
|
||
<TELL "One bolt is open." CR>)
|
||
(<ZERO? .CNT>
|
||
<TELL "All the bolts are now closed." CR>)>>
|
||
|
||
<OBJECT BOLTS
|
||
(LOC SECRET-REDOUBT)
|
||
(DESC "bolt")
|
||
(SYNONYM BOLT BOLTS)
|
||
(ADJECTIVE IRON FIRST SECOND THIRD)
|
||
(FLAGS NDESCBIT OPENBIT OPENABLE)
|
||
(COUNT 7) ;"bit on means bolt open"
|
||
(ACTION BOLTS-F)>
|
||
|
||
<ROUTINE BOLTS-F ("AUX" (CNT <GETP ,BOLTS ,P?COUNT>))
|
||
<COND (<VERB? EXAMINE>
|
||
<TELL
|
||
"There are three iron bolts to hold the door securely closed, ">
|
||
<BOLT-STATE .CNT>
|
||
<TELL "." CR>)
|
||
(<VERB? OPEN UNLOCK>
|
||
<COND (<ADJ-USED? ,PRSO ,W?FIRST>
|
||
<COND (<ZERO? <BAND .CNT 1>>
|
||
<SET CNT <BOR .CNT 1>>
|
||
<TELL G"You open the first bolt.">)
|
||
(ELSE
|
||
<TELL "The first bolt is already open.">)>)
|
||
(<ADJ-USED? ,PRSO ,W?SECOND>
|
||
<COND (<ZERO? <BAND .CNT 2>>
|
||
<SET CNT <BOR .CNT 2>>
|
||
<TELL G"You open the second bolt.">)
|
||
(ELSE
|
||
<TELL "The second bolt is already open.">)>)
|
||
(<ADJ-USED? ,PRSO ,W?THIRD>
|
||
<COND (<ZERO? <BAND .CNT 4>>
|
||
<SET CNT <BOR .CNT 4>>
|
||
<TELL G"You open the third bolt.">)
|
||
(ELSE
|
||
<TELL "The third bolt is already open.">)>)
|
||
(ELSE
|
||
<COND (<ZERO? <BAND .CNT 1>>
|
||
<SET CNT <BOR .CNT 1>>
|
||
<TELL G"You open the first bolt.">)
|
||
(<ZERO? <BAND .CNT 2>>
|
||
<SET CNT <BOR .CNT 2>>
|
||
<TELL G"You open the second bolt.">)
|
||
(<ZERO? <BAND .CNT 4>>
|
||
<SET CNT <BOR .CNT 4>>
|
||
<TELL G"You open the third bolt.">)
|
||
(ELSE
|
||
<TELL "All the bolts are open already." CR>
|
||
<RTRUE>)>)>
|
||
<COND (<NOT <ZERO? .CNT>>
|
||
<FCLEAR ,SECRET-REDOUBT-DOOR ,LOCKED>)>
|
||
<PUTP ,BOLTS ,P?COUNT .CNT>
|
||
<BOLTS-REMAINING .CNT>
|
||
<RTRUE>)
|
||
(<VERB? CLOSE LOCK>
|
||
<COND (<FSET? ,SECRET-REDOUBT-DOOR ,OPENBIT>
|
||
<TELL
|
||
"The door isn't closed, so there's no point in locking the bolts!" CR>)
|
||
(<ADJ-USED? ,PRSO ,W?FIRST>
|
||
<COND (<NOT <ZERO? <BAND .CNT 1>>>
|
||
<SET CNT <BAND .CNT 6>>
|
||
<TELL G"You close the first bolt.">)
|
||
(ELSE
|
||
<TELL "The first bolt is already closed.">)>)
|
||
(<ADJ-USED? ,PRSO ,W?SECOND>
|
||
<COND (<NOT <ZERO? <BAND .CNT 2>>>
|
||
<SET CNT <BAND .CNT 5>>
|
||
<TELL G"You close the second bolt.">)
|
||
(ELSE
|
||
<TELL "The second bolt is already closed.">)>)
|
||
(<ADJ-USED? ,PRSO ,W?THIRD>
|
||
<COND (<NOT <ZERO? <BAND .CNT 4>>>
|
||
<SET CNT <BAND .CNT 3>>
|
||
<TELL G"You close the third bolt.">)
|
||
(ELSE
|
||
<TELL "The third bolt is already closed.">)>)
|
||
(ELSE
|
||
<COND (<NOT <ZERO? <BAND .CNT 1>>>
|
||
<SET CNT <BAND .CNT 6>>
|
||
<TELL G"You close the first bolt.">)
|
||
(<NOT <ZERO? <BAND .CNT 2>>>
|
||
<SET CNT <BAND .CNT 5>>
|
||
<TELL G"You close the second bolt.">)
|
||
(<NOT <ZERO? <BAND .CNT 4>>>
|
||
<SET CNT <BAND .CNT 3>>
|
||
<TELL G"You close the third bolt.">)
|
||
(ELSE
|
||
<TELL "All the bolts are closed already." CR>
|
||
<RTRUE>)>)>
|
||
<COND (<ZERO? .CNT>
|
||
<FSET ,SECRET-REDOUBT-DOOR ,LOCKED>)>
|
||
<PUTP ,BOLTS ,P?COUNT .CNT>
|
||
<BOLTS-REMAINING .CNT>
|
||
<RTRUE>)>>
|
||
|
||
<OBJECT SECRET-REDOUBT-DOOR
|
||
(LOC LOCAL-GLOBALS)
|
||
(DESC "secret door")
|
||
(LDESC "The iron-bound door lies shattered in a corner.")
|
||
(SYNONYM DOOR)
|
||
(ADJECTIVE SECRET HIDDEN IRON-FORTIFIED IRON)
|
||
(FLAGS INVISIBLE DOORBIT LOCKABLE)
|
||
(ACTION SECRET-REDOUBT-DOOR-F)>
|
||
|
||
<ROUTINE SECRET-REDOUBT-DOOR-F ("AUX" (CNT <GETP ,BOLTS ,P?COUNT>))
|
||
<COND (<VERB? EXAMINE>
|
||
<TELL
|
||
"This is a heavy, iron-bound door. It looks very strong.">
|
||
<COND (<FSET? ,PRSO ,OPENBIT>
|
||
<TELL
|
||
"The door is open now.">)>
|
||
<COND (<HERE? ,SECRET-REDOUBT>
|
||
<TELL
|
||
"There are three iron bolts to secure the door, ">
|
||
<BOLT-STATE .CNT>
|
||
<TELL "." CR>)>
|
||
<CRLF>)
|
||
(<VERB? OPEN>
|
||
<COND (<EQUAL? .CNT 7> <RFALSE>)
|
||
(ELSE <TELL "The door is still bolted." CR>)>)
|
||
(<VERB? LOCK>
|
||
<COND (<HERE? PRIVATE-QUARTERS>
|
||
<TELL "The door doesn't lock from this side." CR>)
|
||
(ELSE
|
||
<PERFORM ,V?CLOSE ,BOLTS>
|
||
<RTRUE>)>)
|
||
(<VERB? UNLOCK>
|
||
<COND (<HERE? PRIVATE-QUARTERS>
|
||
<TELL "The door doesn't unlock from this side." CR>)
|
||
(ELSE
|
||
<PERFORM ,V?OPEN ,BOLTS>
|
||
<RTRUE>)>)>>
|
||
|
||
<OBJECT BALCONY-DOOR
|
||
(LOC LOCAL-GLOBALS)
|
||
(DESC "balcony door")
|
||
(SYNONYM DOOR)
|
||
(ADJECTIVE BALCONY)
|
||
(FLAGS DOORBIT LOCKABLE TRYTAKEBIT)
|
||
(ACTION BALCONY-DOOR-F)>
|
||
|
||
<ROUTINE BALCONY-DOOR-F ()
|
||
<COND (<VERB? EXAMINE>
|
||
<TELL
|
||
"This strong, iron-bound door has rarely been used. The catches
|
||
are rusty and the door itself is covered with cobwebs. Unfortunately,
|
||
it appears to be the only other exit from the room." CR>)
|
||
(<VERB? OPEN>
|
||
<COND (<OR <NOT <FSET? ,TOP-CATCH ,OPENBIT>>
|
||
<NOT <FSET? ,BOTTOM-CATCH ,OPENBIT>>>
|
||
<TELL
|
||
"The door won't open. The rusty ">
|
||
<COND (<FSET? ,TOP-CATCH ,OPENBIT>
|
||
<TELL
|
||
"bottom catch holds">)
|
||
(<FSET? ,BOTTOM-CATCH ,OPENBIT>
|
||
<TELL
|
||
"top catch holds">)
|
||
(ELSE
|
||
<TELL
|
||
"top and bottom catches hold">)>
|
||
<TELL " it securely closed." CR>)
|
||
(<AND <HERE? ,SECRET-REDOUBT>
|
||
<OR <QUEUED? I-NINJA-VS-SECRET-DOOR>
|
||
<QUEUED? I-NINJA-TAKE-MARIKO>>>
|
||
<FSET ,PRSO ,OPENBIT>
|
||
<TELL
|
||
"You throw the door open. Sweet night air rushes in">
|
||
<COND (<IN? ,ETSU ,SECRET-REDOUBT>
|
||
<MOVE ,ETSU ,BALCONY>
|
||
<MOVE ,ACHIKO ,BALCONY>
|
||
<MOVE ,CHIMMOKO ,BALCONY>
|
||
<MOVE ,KIRITSUBO ,BALCONY>
|
||
<TELL
|
||
", and the women
|
||
pour onto the veranda. Old Lady Etsu stumbles and you help her
|
||
through, then turn to help Mariko." CR>)
|
||
(ELSE <TELL "." CR>)>)>)
|
||
(<VERB? LOCK UNLOCK>
|
||
<TELL "There's no lock, only a top and bottom catch." CR>)
|
||
(<HOSTILE-VERB?>
|
||
<COND (<NOT <FSET? ,TOP-CATCH ,OPENBIT>>
|
||
<REDIRECT ,BALCONY-DOOR ,TOP-CATCH>)
|
||
(<NOT <FSET? ,TOP-CATCH ,OPENBIT>>
|
||
<REDIRECT ,BALCONY-DOOR ,BOTTOM-CATCH>)
|
||
(ELSE
|
||
<PERFORM ,V?OPEN ,BALCONY-DOOR>)>
|
||
<RTRUE>)>>
|
||
|
||
<NEW-ADD-WORD "CATCHES" NOUN <VOC "CATCH"> ,PLURAL-FLAG>
|
||
|
||
<OBJECT TOP-CATCH
|
||
(LOC SECRET-REDOUBT)
|
||
(DESC "top catch")
|
||
(SYNONYM CATCH ;CATCHES)
|
||
(ADJECTIVE UPPER TOP RUSTY IRON)
|
||
(FLAGS NDESCBIT OPENABLE LOCKED)
|
||
(ACTION CATCH-F)>
|
||
|
||
<OBJECT BOTTOM-CATCH
|
||
(LOC SECRET-REDOUBT)
|
||
(DESC "bottom catch")
|
||
(SYNONYM CATCH ;CATCHES)
|
||
(ADJECTIVE LOWER BOTTOM RUSTY IRON)
|
||
(FLAGS NDESCBIT OPENABLE LOCKED)
|
||
(ACTION CATCH-F)>
|
||
|
||
<ROUTINE CATCH-F ()
|
||
<COND (<VERB? EXAMINE>
|
||
<COND (<FSET? ,PRSO ,OPENBIT>
|
||
<TELL CTHE ,PRSO " is open." CR>)
|
||
(<NOT <FSET? ,PRSO ,LOCKED>>
|
||
<TELL CTHE ,PRSO " is closed." CR>)
|
||
(<FSET? ,PRSO ,RMUNGBIT>
|
||
<TELL "It looks a little looser than before." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"This rusty iron catch hasn't been used in years, but it still looks
|
||
strong." CR>)>)
|
||
(<VERB? OPEN>
|
||
<COND (<FSET? ,PRSO ,LOCKED>
|
||
<TELL
|
||
"The catches are very rusty and won't open." CR>)>)
|
||
(<AND <VERB? SHOOT>
|
||
<NOT <FSET? ,PISTOL ,RMUNGBIT>>>
|
||
<FSET ,PISTOL ,RMUNGBIT>
|
||
<TELL
|
||
"The pistol goes off, but it doesn't appear to have
|
||
done anything to " THE ,PRSI "." CR>)
|
||
(<AND <HOSTILE-VERB?>
|
||
<NOT <FSET? ,PRSO ,OPENBIT>>>
|
||
<COND (<NOT <FSET? ,PRSO ,RMUNGBIT>>
|
||
<FSET ,PRSO ,RMUNGBIT>
|
||
<TELL
|
||
"You pound on " THE ,PRSO " with all your might, small flakes of rust
|
||
falling like snow, but it only gives a little." CR>)
|
||
(ELSE
|
||
<FSET ,PRSO ,OPENBIT>
|
||
<FCLEAR ,PRSO ,LOCKED>
|
||
<TELL
|
||
"You smash again and again, and finally " THE ,PRSO " clatters open." CR>)>)
|
||
(<AND <VERB? CLOSE>
|
||
<FSET? ,PRSO ,OPENBIT>>
|
||
<FCLEAR ,PRSO ,OPENBIT>
|
||
<TELL
|
||
"The catch slides closed with a rusty squeal">
|
||
<COND (<FSET? ,BALCONY-DOOR ,OPENBIT>
|
||
<TELL
|
||
", but " THE ,BALCONY-DOOR " is still open">)>
|
||
<TELL "." CR>)>>
|
||
|
||
<ROOM BALCONY
|
||
(LOC ROOMS)
|
||
(DESC "Balcony")
|
||
(SYNONYM BALCONY)
|
||
(LDESC
|
||
"This is a small balcony surrounded by a low battlement. The night air
|
||
is cool and sweet here after the smoke and confusion inside. The only
|
||
exit is back into the redoubt. This is as far as you can retreat.")
|
||
(IN TO SECRET-REDOUBT IF BALCONY-DOOR IS OPEN)
|
||
(SOUTH TO SECRET-REDOUBT IF BALCONY-DOOR IS OPEN)
|
||
(FLAGS ONBIT OUTSIDE)
|
||
(GLOBAL BALCONY-DOOR LG-NINJA LG-WOMEN)
|
||
(ACTION BALCONY-F)>
|
||
|
||
<ROUTINE BALCONY-F ("OPT" (RARG <>))
|
||
<COND (<RARG? BEG>
|
||
<COND (<AND <VERB? WALK>
|
||
<IN? ,NINJA ,HERE>
|
||
,KNOCKOUT-CNT>
|
||
<TELL
|
||
G"You can't break through the encircling ninja!" CR>)
|
||
(<AND <P? WALK (P?SOUTH P?IN)>
|
||
<IN? ,NINJA ,HERE>>
|
||
<TELL
|
||
G"You would have to walk right through the ninja!" CR>)
|
||
(<P? (LEAP DIVE) (BALCONY GLOBAL-HERE)>
|
||
<COND (<JIGS-UP? ,J-PLUNGE>
|
||
<JIGS-UP "You plunge to your death.">)
|
||
(ELSE <RTRUE>)>)>)>>
|
||
|
||
<OBJECT NORTH-SHOJI
|
||
(LOC LOCAL-GLOBALS)
|
||
(DESC "inner shoji")
|
||
(SYNONYM SHOJI DOOR)
|
||
(ADJECTIVE INNER)
|
||
(FLAGS DOORBIT)>
|
||
|
||
<OBJECT SOUTH-SHOJI
|
||
(LOC LOCAL-GLOBALS)
|
||
(DESC "outer shoji")
|
||
(SYNONYM SHOJI DOOR)
|
||
(ADJECTIVE OUTER)
|
||
(FLAGS DOORBIT)>
|
||
|
||
<ROOM OUTER-ROOM
|
||
(LOC ROOMS)
|
||
(DESC "Outer Room")
|
||
(SYNONYM ROOM)
|
||
(ADJECTIVE OUTER)
|
||
(LDESC
|
||
"This is a waiting room outside Mariko's quarters. There are shoji
|
||
screens all around. One opens north to the private rooms, and one
|
||
south to the inner corridor.")
|
||
(NORTH TO PRIVATE-QUARTERS IF NORTH-SHOJI IS OPEN)
|
||
(IN TO PRIVATE-QUARTERS IF NORTH-SHOJI IS OPEN)
|
||
(OUT TO INNER-CORRIDOR IF SOUTH-SHOJI IS OPEN)
|
||
(SOUTH TO INNER-CORRIDOR IF SOUTH-SHOJI IS OPEN)
|
||
(FLAGS ONBIT)
|
||
(GLOBAL LG-NINJA NORTH-SHOJI SOUTH-SHOJI LG-WOMEN)
|
||
(ACTION OUTER-ROOM-F)>
|
||
|
||
<ROUTINE OUTER-ROOM-F (RARG)
|
||
<COND (<RARG? BEG>
|
||
<COND (<VERB? LEAVE>
|
||
<DO-WALK ,P?NORTH>)
|
||
(<VERB? WALK>
|
||
<COND (<IN? ,YABU ,HERE>
|
||
<TELL
|
||
"\"Please, Anjin-san, don't leave until I am done.\"" CR>)
|
||
(<IN? ,NINJA ,HERE>
|
||
<COND (,KNOCKOUT-CNT
|
||
<TELL
|
||
G"You can't break through the encircling ninja!" CR>)
|
||
(<PRSO? P?SOUTH P?OUT>
|
||
<TELL
|
||
G"You would have to walk right through the ninja!" CR>)>)>)>)
|
||
(<RARG? ENTER>
|
||
<COND (<IN? ,YABU ,HERE>
|
||
<FSET ,YABU ,TOUCHBIT>
|
||
<DEQUEUE I-YABU-LEAVES>
|
||
<SETG YABU-CNT 0>
|
||
<QUEUE I-YABU -1>
|
||
<TELL
|
||
"As you enter, you see Yabu waiting impatiently. Beyond him you see
|
||
a guard watching curiously." CR CR>)>
|
||
<RTRUE>)>>
|
||
|
||
<ROUTINE I-YABU-LEAVES ()
|
||
<COND (<L? ,YABU-CNT 3>
|
||
<SETG YABU-CNT 3>)>
|
||
<MOVE ,YABU ,INNER-CORRIDOR>
|
||
<MOVE ,CHIMMOKO ,HERE>
|
||
<TELL CR
|
||
"Mariko's servant Chimmoko approaches you, very agitated. \"Anjin-san,
|
||
Lord Yabu has left! He was very disturbed!\"" CR>>
|
||
|
||
<GLOBAL FOLLOW-FLAG <>>
|
||
|
||
<ROUTINE SETUP-FOLLOW-YABU ()
|
||
<COND (<AND <QUEUED? I-YABU>
|
||
<NOT <EQUAL? ,FOLLOW-FLAG ,YABU>>>
|
||
<SETG FOLLOW-FLAG ,YABU>
|
||
<DEQUEUE I-YABU>
|
||
<QUEUE I-FOLLOW-YABU -1>
|
||
<QUEUE I-YABU -1>)>>
|
||
|
||
<ROUTINE I-FOLLOW-YABU ("AUX" (L <LOC ,YABU>))
|
||
<COND (,FOLLOW-FLAG
|
||
<COND (<AND <NOT <HERE? .L>>
|
||
<NOT <NEXT-ROOM? .L>>>
|
||
<SETG FOLLOW-FLAG <>>
|
||
<DEQUEUE I-FOLLOW-YABU>
|
||
<TELL CR
|
||
"You seem to have lost Yabu! He's gotten too far ahead of you." CR>)>)
|
||
(ELSE
|
||
<DEQUEUE I-FOLLOW-YABU>
|
||
<RFALSE>)>>
|
||
|
||
<GLOBAL YABU-BETRAYED? <>>
|
||
|
||
<ROUTINE I-YABU ()
|
||
<THIS-IS-IT ,YABU>
|
||
<ZLINES ,YABU-CNT
|
||
(DELAY
|
||
<COND (<AND <IN? ,YABU ,OUTER-ROOM>
|
||
<NOT <IN? ,PLAYER ,OUTER-ROOM>>>
|
||
<RFALSE>)>)
|
||
(;1
|
||
<COND (<IN? ,YABU ,HERE>
|
||
<SETG QCONTEXT ,YABU>
|
||
<TELL CR
|
||
"\"So sorry to disturb you, Anjin-san. I just want see -- make sure
|
||
all right, understand? Lady Toda all right? Not sick?\" Yabu seems
|
||
nervous. You are reminded that this afternoon Yabu said something
|
||
about a \"plan.\"" CR>)>)
|
||
(;2
|
||
<COND (<IN? ,YABU ,HERE>
|
||
<SETG QCONTEXT ,YABU>
|
||
<TELL CR
|
||
"Yabu says, trying to keep his words simple so you will understand,
|
||
\"Just want make sure all right. Understand?\"" CR>)>)
|
||
(;3
|
||
<MOVE ,YABU ,INNER-CORRIDOR>
|
||
<SETG QCONTEXT <>>
|
||
<COND (<HERE? ,OUTER-ROOM>
|
||
<TELL CR
|
||
"Yabu bows, very friendly, and leaves. His manner seems very
|
||
suspicious. The guard closes the shoji behind him." CR>)>)
|
||
(DELAY
|
||
<COND (<HERE? ,INNER-CORRIDOR>)
|
||
(<L? ,DELAY-CNT 2>
|
||
<RFALSE>)>)
|
||
(;4
|
||
<MOVE ,YABU ,AUDIENCE-CHAMBER>
|
||
<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"Yabu walks through the audience chamber, checking that the guards are
|
||
alert." CR>)>)
|
||
(DELAY
|
||
<COND (<HERE? ,AUDIENCE-CHAMBER>)
|
||
(<AND <NOT <HERE? ,INNER-CORRIDOR ,AUDIENCE-CHAMBER>>
|
||
<L? ,DELAY-CNT 2>>
|
||
<RFALSE>)>)
|
||
(<MOVE ,YABU ,OUTER-CORRIDOR>
|
||
<COND (<HERE? ,AUDIENCE-CHAMBER>
|
||
<TELL CR
|
||
"Yabu leaves the audience chamber for the outer corridor, heading for
|
||
the main stairway." CR>)>)
|
||
(DELAY
|
||
<COND (<HERE? ,OUTER-CORRIDOR>)
|
||
(<AND <NOT <HERE? ,AUDIENCE-CHAMBER ,OUTER-CORRIDOR>>
|
||
<L? ,DELAY-CNT 2>>
|
||
<RFALSE>)>)
|
||
(<MOVE ,YABU ,STAIRS>
|
||
<COND (<HERE? ,OUTER-CORRIDOR>
|
||
<TELL CR
|
||
"Yabu goes down the stairs." CR>)>)
|
||
(DELAY
|
||
<COND (<HERE? ,STAIRS>)
|
||
(<AND <NOT <HERE? ,OUTER-CORRIDOR ,STAIRS>>
|
||
<L? ,DELAY-CNT 2>>
|
||
<RFALSE>)>)
|
||
(<MOVE ,YABU ,SERVANTS-QUARTERS>
|
||
<COND (<HERE? ,STAIRS>
|
||
<TELL CR
|
||
"Yabu goes down the steps and enters the servants' quarters. The servants
|
||
drag themselves out of sleep and put their heads to the flagstones." CR>)>)
|
||
(DELAY
|
||
<COND (<HERE? ,SERVANTS-QUARTERS>)
|
||
(<AND <NOT <HERE? ,STAIRS ,SERVANTS-QUARTERS>>
|
||
<L? ,DELAY-CNT 2>>
|
||
<RFALSE>)>)
|
||
(<MOVE ,YABU ,CELLARS>
|
||
<COND (<HERE? ,SERVANTS-QUARTERS>
|
||
<TELL CR
|
||
"Yabu leads the way deeper into the bowels of the fortress, down steps,
|
||
along little-used corridors. There are no guards here." CR>)>)
|
||
(DELAY
|
||
<COND (<HERE? ,CELLARS>)
|
||
(<AND <NOT <HERE? ,SERVANTS-QUARTERS ,CELLARS>>
|
||
<L? ,DELAY-CNT 2>>
|
||
<RFALSE>)>)
|
||
(<COND (<HERE? ,CELLARS>
|
||
<TELL CR
|
||
"Yabu stands in the middle of a large cellar room. He seems to be
|
||
composing himself, glancing nervously ahead." CR>)>)
|
||
(<MOVE ,NINJA ,CELLARS>
|
||
<FSET ,CELLAR-DOOR ,OPENBIT>
|
||
<COND (<HERE? ,CELLARS>
|
||
<TELL CR
|
||
"Yabu rushes for a hardly noticed, heavily barred, small iron door. He
|
||
fights back the rusted bolts. A draught of cool air from outside, then
|
||
a spear stabs for his throat and stops just in time. Sinister black shapes
|
||
stare in from the darkness beyond the door.|
|
||
|
|
||
\"I'm Kasigi Yabu,\" he says, and makes a sign with his hands. Instantly
|
||
twenty black-clad men pour out of the dark
|
||
and rush for a long-forgotten back way to the floors above. Yabu watches
|
||
them intently, sweat beading on his brow." CR>
|
||
<SCORE-OBJECT ,CELLARS>)
|
||
(ELSE
|
||
<FCLEAR ,CELLARS ,SCOREBIT>)>
|
||
<SETG FOLLOW-FLAG <>>
|
||
<RTRUE>)
|
||
(<COND (<AND <HERE? ,CELLARS>
|
||
<FSET? ,BARRELS ,SCOREBIT>>
|
||
<CRLF>
|
||
<JIGS-UP
|
||
"One of the ninja notices you lurking in the dark, and quickly and
|
||
quietly you are surrounded, overpowered, and killed.">
|
||
<RFATAL>)>
|
||
<MOVE ,YABU ,GENERIC-OBJECTS>
|
||
<MOVE ,NINJA ,SECRET-ROOM>
|
||
<FCLEAR ,CELLAR-DOOR ,OPENBIT>
|
||
<SETG YABU-BETRAYED? T>
|
||
<COND (<HERE? ,CELLARS>
|
||
<SETG FOLLOW-FLAG <>>
|
||
<TELL CR
|
||
"Yabu nervously watches more "I"ninja"" pour into the cellar. As soon
|
||
as they are gone, he closes the door and slips away.|
|
||
|
|
||
As quickly and quietly as possible you return to the living quarters,
|
||
fearing that anyone you encounter may be in on the plot." CR CR>
|
||
<GOTO ,OUTER-ROOM>)>
|
||
<RTRUE>)
|
||
(<DEQUEUE I-YABU>
|
||
<QUEUE I-ATTACK -1>
|
||
<RFALSE>)>>
|
||
|
||
<ROOM STAIRS
|
||
(LOC ROOMS)
|
||
(DESC "Winding Stairs")
|
||
(SYNONYM STAIRS)
|
||
(ADJECTIVE WINDING)
|
||
(LDESC
|
||
"This is the main staircase leading from the tower to the cellars of Toranaga's
|
||
keep at Osaka.")
|
||
(UP TO OUTER-CORRIDOR)
|
||
(DOWN TO SERVANTS-QUARTERS)
|
||
(FLAGS ONBIT)
|
||
(ACTION STAIRS-F)>
|
||
|
||
<ROUTINE STAIRS-F (RARG)
|
||
<COND (<RARG? BEG>
|
||
<COND (<AND <P? WALK P?DOWN>
|
||
<IN? ,YABU ,HERE>>
|
||
<YABU-LISTENS>)>)>>
|
||
|
||
<ROOM SERVANTS-QUARTERS
|
||
(LOC ROOMS)
|
||
(SCENE S-NINJA)
|
||
(DESC "Servants' Quarters")
|
||
(SYNONYM QUARTERS)
|
||
(ADJECTIVE SERVANTS)
|
||
(LDESC
|
||
"This is a crowded, narrow room full of servants. Many of them are
|
||
asleep. Others are kneeling, head to flagstones. A stairway leads
|
||
down to the cellars from here.")
|
||
(UP TO STAIRS)
|
||
(DOWN TO CELLARS)
|
||
(FLAGS ONBIT)
|
||
(ACTION SERVANTS-QUARTERS-F)>
|
||
|
||
<ROUTINE SERVANTS-QUARTERS-F (RARG)
|
||
<COND (<RARG? BEG>
|
||
<COND (<AND <P? WALK P?DOWN>
|
||
<IN? ,YABU ,HERE>>
|
||
<YABU-LISTENS>)>)>>
|
||
|
||
<OBJECT SERVANTS
|
||
(LOC SERVANTS-QUARTERS)
|
||
(DESC "servants")
|
||
(SYNONYM SERVANTS SERVANT)
|
||
(FLAGS NDESCBIT PERSON JAPANESEBIT PLURAL OPENBIT CONTBIT SEARCHBIT)
|
||
(ACTION SERVANTS-F)>
|
||
|
||
<ROUTINE SERVANTS-F ("OPT" (RARG <>))
|
||
<COND (<RARG? SUBJ>
|
||
<RFALSE>)
|
||
(<RARG? WINNER>
|
||
<TELL "They seem afraid to respond." CR>
|
||
<END-QUOTE>)
|
||
(<VERB? EXAMINE>
|
||
<TELL
|
||
"Those that are not asleep are prostrate on the stone floor,
|
||
bowing abjectly and pretending not to exist." CR>)
|
||
(<VERB? WAKE>
|
||
<TELL
|
||
"You would only call even more attention to yourself. Yabu might hear." CR>)>>
|
||
|
||
<ROOM CELLARS
|
||
(LOC ROOMS)
|
||
(DESC "Cellars")
|
||
(SYNONYM CELLAR CELLARS)
|
||
(UP TO SERVANTS-QUARTERS)
|
||
(GLOBAL CELLAR-DOOR)
|
||
(FLAGS ONBIT SCOREBIT)
|
||
(ACTION CELLARS-F)>
|
||
|
||
<ROUTINE CELLARS-F (RARG)
|
||
<COND (<RARG? LOOK>
|
||
<TELL
|
||
"These are the cellars of the fortress. The stone walls are damp and
|
||
mildewed, though well-lit. Crates, boxes and barrels are everywhere.">
|
||
<COND (,YABU-BETRAYED?
|
||
<TELL
|
||
"An ">
|
||
<COND (<FSET? ,CELLAR-DOOR ,OPENBIT>
|
||
<TELL "open ">)>
|
||
<TELL "iron-bound door is set in the east wall.">)>
|
||
<CRLF>)
|
||
(<RARG? ENTER>
|
||
<COND (,YABU-BETRAYED?
|
||
<TELL
|
||
"As you make your way down into the cellars, wondering where Yabu has gotten
|
||
to, you"G" are surprised by a force of attacking ninja! They are equally
|
||
surprised, but react more quickly." CR>
|
||
<JIGS-UP>
|
||
<RFATAL>)>)
|
||
(<RARG? BEG>
|
||
<COND (<VERB? HIDE>
|
||
<PERFORM ,V?HIDE-BEHIND ,BARRELS>
|
||
<RTRUE>)
|
||
(<AND <NOT <VERB? HIDE-BEHIND HIDE-UNDER>>
|
||
<MOTION-VERB?>>
|
||
<COND (<JIGS-UP? ,J-CELLAR
|
||
"If you were to emerge from hiding, you would be seen.">
|
||
<COND (<P? WALK P?EAST>
|
||
<TELL
|
||
"You emerge from the shadows and approach the door. ">)
|
||
(ELSE
|
||
<TELL
|
||
"You try to sneak across the cellar. ">)>
|
||
<COND (<IN? ,NINJA ,HERE>
|
||
<TELL CTHE ,NINJA " notice">)
|
||
(<IN? ,YABU ,HERE>
|
||
<TELL D ,YABU " notices">)
|
||
(ELSE
|
||
<TELL "The ninja rear guard notices">)>
|
||
<TELL
|
||
" you almost immediately. A glint of metal in the
|
||
torchlight is your last sight.">
|
||
<JIGS-UP>)
|
||
(ELSE <RTRUE>)>)
|
||
(<AND <P? SHOOT PISTOL *>
|
||
<NOT <FSET? ,PISTOL ,RMUNGBIT>>>
|
||
<COND (<JIGS-UP? ,J-SHOOT>
|
||
<TELL
|
||
"The shot rings out, but in the dim light of the cellars, you don't hit
|
||
anything. ">
|
||
<COND (<FSET? ,PRSO ,PERSON>
|
||
<TELL
|
||
CTHE ,PRSO " doesn't miss, however.">)>
|
||
<CRLF>
|
||
<JIGS-UP>)
|
||
(ELSE <RTRUE>)>)>)
|
||
(<RARG? END>
|
||
<COND (,YABU-HEARD?
|
||
<TELL CR
|
||
"Yabu stops for a moment as though he heard something, then turns and
|
||
rushes back toward you, drawing his sword as he charges. It's quite
|
||
clear he heard you following him some time ago!" CR>
|
||
<JIGS-UP>
|
||
<RFATAL>)>)>>
|
||
|
||
<OBJECT BARRELS
|
||
(LOC CELLARS)
|
||
(DESC "crates, barrels, and boxes")
|
||
(SYNONYM CRATE BARREL BOX CRATES BARRELS BOXES PILE STACK)
|
||
(FLAGS NDESCBIT FURNITURE SURFACEBIT VEHBIT SCOREBIT)
|
||
(ACTION BARRELS-F)>
|
||
|
||
<ROUTINE BARRELS-F ()
|
||
<COND (<VERB? HIDE-UNDER HIDE-BEHIND BOARD WALK-AROUND>
|
||
<COND (<NOT <FSET? ,BARRELS ,SCOREBIT>>
|
||
<TELL G"You already are." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"Quietly, you conceal yourself behind one of the piles, and watch." CR>
|
||
<SCORE-OBJECT ,BARRELS>)>)>>
|
||
|
||
<OBJECT CELLAR-DOOR
|
||
(LOC LOCAL-GLOBALS)
|
||
(DESC "iron-bound door")
|
||
(SYNONYM DOOR)
|
||
(ADJECTIVE CELLAR IRON-BOUND IRON BOUND)
|
||
(FLAGS AN DOORBIT LOCKABLE)
|
||
(ACTION CELLAR-DOOR-F)>
|
||
|
||
<ROUTINE CELLAR-DOOR-F ()
|
||
<COND (<SCENE? ,S-AFTERMATH>
|
||
<COND (<NOT <PAST-TENSE?>>
|
||
<TELL "There's no door here." CR>)>)
|
||
(<NOT <PASSIVE-VERB?>>
|
||
<DO-WALK ,P?EAST>)>>
|
||
|
||
<ROOM INNER-CORRIDOR
|
||
(LOC ROOMS)
|
||
(DESC "Inner Corridor")
|
||
(SYNONYM CORRIDOR)
|
||
(ADJECTIVE INNER)
|
||
(LDESC
|
||
"This inner corridor is between the Audience Chamber to the west, and
|
||
the inner apartments of the keep to the north. A sturdy iron-barred door
|
||
separates the Audience Chamber and the corridor.")
|
||
(NORTH TO OUTER-ROOM IF SOUTH-SHOJI IS OPEN)
|
||
(IN TO OUTER-ROOM IF SOUTH-SHOJI IS OPEN)
|
||
(WEST TO AUDIENCE-CHAMBER IF INNER-DOOR IS OPEN)
|
||
(OUT TO AUDIENCE-CHAMBER IF INNER-DOOR IS OPEN)
|
||
(GLOBAL INNER-DOOR LG-NINJA SOUTH-SHOJI GUARDS)
|
||
(FLAGS ONBIT)
|
||
(ACTION INNER-CORRIDOR-F)>
|
||
|
||
<ROUTINE INNER-CORRIDOR-F (RARG)
|
||
<COND (<RARG? BEG>
|
||
<COND (<VERB? LEAVE>
|
||
<DO-WALK ,P?NORTH>)
|
||
(<AND <VERB? WALK>
|
||
<IN? ,NINJA ,HERE>
|
||
,KNOCKOUT-CNT>
|
||
<TELL
|
||
G"You can't break through the encircling ninja!" CR>)
|
||
(<AND <P? WALK (P?WEST P?OUT)>
|
||
<IN? ,NINJA ,HERE>>
|
||
<TELL
|
||
G"You would have to walk right through the ninja!" CR>)
|
||
(<AND <P? WALK P?WEST>
|
||
<IN? ,YABU ,HERE>>
|
||
<COND (<JIGS-UP? ,J-FOLLOW-CLOSE
|
||
"You realize you're getting too close to Yabu, so you wait instead of
|
||
walking.">
|
||
<YABU-LISTENS>)
|
||
(ELSE <RTRUE>)>)>)>>
|
||
|
||
<ROUTINE YABU-LISTENS ()
|
||
<COND (<PROB 50> <SETG YABU-HEARD? T>)
|
||
(ELSE <SETG STUPID-MOVE <>>)>
|
||
<TELL
|
||
"You're getting too close to Yabu. He stops briefly: he may have heard
|
||
you!" CR>>
|
||
|
||
<GLOBAL YABU-HEARD? <>>
|
||
|
||
<ROOM SECRET-ROOM
|
||
(LOC ROOMS)
|
||
(DESC "Secret Room")
|
||
(SYNONYM ROOM)
|
||
(ADJECTIVE SECRET)
|
||
(LDESC
|
||
"This is a secret room south of the Audience Chamber. A dark and narrow
|
||
stairway leads down as well.")
|
||
(NORTH TO AUDIENCE-CHAMBER IF SECRET-ROOM-DOOR IS OPEN)
|
||
(GLOBAL SECRET-ROOM-DOOR LG-NINJA)
|
||
(FLAGS ONBIT)
|
||
(ACTION SECRET-ROOM-F)>
|
||
|
||
<ROUTINE SECRET-ROOM-F (RARG)
|
||
<COND (<RARG? BEG>
|
||
<COND (<P? WALK P?DOWN>
|
||
<COND (<JIGS-UP? ,J-REAR-GUARD
|
||
"You suddenly realize that the ninja have probably left a rear guard, and
|
||
decide not to follow.">
|
||
<JIGS-UP
|
||
"You walk right into the ninja rear guard, which is lurking in the
|
||
darkness.">)
|
||
(ELSE <RTRUE>)>)>)>>
|
||
|
||
<OBJECT SECRET-ROOM-DOOR
|
||
(LOC LOCAL-GLOBALS)
|
||
(DESC "secret door")
|
||
(SYNONYM DOOR)
|
||
(ADJECTIVE SECRET)
|
||
(FLAGS INVISIBLE DOORBIT LOCKABLE)>
|
||
|
||
<OBJECT INNER-DOOR
|
||
(LOC LOCAL-GLOBALS)
|
||
(DESC "iron-barred inner door")
|
||
(SYNONYM DOOR)
|
||
(ADJECTIVE IRON-BARRED IRON-BOUND INNER STURDY)
|
||
(FLAGS DOORBIT OPENBIT LOCKABLE)
|
||
(ACTION INNER-DOOR-F)>
|
||
|
||
<ROUTINE INNER-DOOR-F ()
|
||
<COND (<VERB? OPEN>
|
||
<COND (<FSET? ,INNER-DOOR ,LOCKED>
|
||
<TELL
|
||
"The iron bar is firmly in place. The door won't open." CR>)>)
|
||
(<VERB? CLOSE>
|
||
<COND (<AND <IN? ,MARIKO ,AUDIENCE-CHAMBER>
|
||
<HERE? ,INNER-CORRIDOR>>
|
||
<TELL
|
||
"Mariko screams through the narrowing gap, \"Anjin-san! Don't leave me
|
||
behind!\"" CR CR>
|
||
<RFALSE>)
|
||
(<AND <IN? ,GRAY-CAPTAIN ,AUDIENCE-CHAMBER>
|
||
<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>>
|
||
<TELL
|
||
CTHE ,GUARDS G" stop you from closing the door." CR>)
|
||
(<IN? ,GUARDS ,AUDIENCE-CHAMBER>
|
||
<TELL
|
||
CTHE ,GUARDS G" stop you from closing the door." CR>)>)
|
||
(<VERB? LOCK>
|
||
<PERFORM ,V?CLOSE ,IRON-BAR>
|
||
<RTRUE>)
|
||
(<VERB? UNLOCK>
|
||
<PERFORM ,V?OPEN ,IRON-BAR>
|
||
<RTRUE>)>>
|
||
|
||
<OBJECT IRON-BAR
|
||
(LOC INNER-CORRIDOR)
|
||
(DESC "iron bar")
|
||
(SYNONYM BAR)
|
||
(ADJECTIVE IRON)
|
||
(FLAGS NDESCBIT OPENBIT OPENABLE)
|
||
(ACTION IRON-BAR-F)>
|
||
|
||
<ROUTINE IRON-BAR-F ()
|
||
<COND (<VERB? EXAMINE>
|
||
<COND (<OR <HERE? ,INNER-CORRIDOR>
|
||
<FSET? ,INNER-DOOR ,OPENBIT>>
|
||
<TELL-OPEN-CLOSED>)
|
||
(ELSE
|
||
<TELL G"You can't see " THE ,PRSO " from here." CR>)>)
|
||
(<AND <VERB? OPEN>
|
||
<NOT <FSET? ,IRON-BAR ,OPENBIT>>>
|
||
<COND (<OR <HERE? ,INNER-CORRIDOR>
|
||
<FSET? ,INNER-DOOR ,OPENBIT>>
|
||
<FSET ,IRON-BAR ,OPENBIT>
|
||
<FCLEAR ,INNER-DOOR ,LOCKED>
|
||
<TELL
|
||
"You slide the bar aside." CR>)
|
||
(ELSE
|
||
<TELL G"You can't open " THE ,PRSO " from here." CR>)>)
|
||
(<AND <VERB? CLOSE>
|
||
<FSET? ,IRON-BAR ,OPENBIT>>
|
||
<COND (<AND <HERE? ,AUDIENCE-CHAMBER>
|
||
<NOT <FSET? ,INNER-DOOR ,OPENBIT>>>
|
||
<TELL G"You can't close " THE ,PRSO " from here." CR>)
|
||
(<AND <IN? ,GRAY-CAPTAIN ,AUDIENCE-CHAMBER>
|
||
<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>>
|
||
<TELL
|
||
CTHE ,GRAY-CAPTAIN " stops"G" you from barring the door." CR>)
|
||
(<IN? ,GUARDS ,AUDIENCE-CHAMBER>
|
||
<TELL
|
||
CTHE ,GUARDS " stop"G" you from barring the door." CR>)
|
||
(ELSE
|
||
<FCLEAR ,IRON-BAR ,OPENBIT>
|
||
<FSET ,INNER-DOOR ,LOCKED>
|
||
<TELL
|
||
"You slide the bar into place." CR>)>)>>
|
||
|
||
<OBJECT OUTER-DOOR
|
||
(LOC LOCAL-GLOBALS)
|
||
(DESC "outer door")
|
||
(SYNONYM DOOR)
|
||
(ADJECTIVE OUTER)
|
||
(FLAGS AN LOCKABLE DOORBIT OPENBIT)>
|
||
|
||
<ROUTINE I-ATTACK ()
|
||
<ZLINES ,ATTACK-CNT
|
||
(2
|
||
<COND (<HERE? ,STAIRS ,SERVANTS-QUARTERS>
|
||
<TELL
|
||
"You"G" are surprised by a force of attacking ninja! They are equally
|
||
surprised, but react quickly." CR>
|
||
<JIGS-UP>
|
||
<RFATAL>)>)
|
||
(DELAY
|
||
<COND (<OR <NOT ,YABU-BETRAYED?>
|
||
<L=? ,DELAY-CNT 3>>
|
||
<RFALSE>)>)
|
||
(<COND (<HERE? <LOC ,ACHIKO>>
|
||
<TELL CR
|
||
"The young girl, Achiko, mumbles in her sleep. She had asked to stay
|
||
with Mariko, as had old Lady Etsu. Kiyama had sent for Achiko, his
|
||
granddaughter-in-law, but she refused to leave Mariko. At once the
|
||
daimyo had disowned her." CR>)>)
|
||
(1)
|
||
(<QUEUE I-WOMEN -1>
|
||
<FCLEAR ,LG-NINJA ,INVISIBLE>
|
||
<TELL CR
|
||
"Suddenly, the quiet is shattered by the cry \"Ninja!\"" CR>)
|
||
(<TELL CR
|
||
"From below come the sounds of battle being joined. Furious cries,
|
||
screams, and the clash of swords fill the air." CR>)
|
||
(<MOVE ,NINJA ,SECRET-ROOM>
|
||
<MOVE ,NINJA-LEADER ,SECRET-ROOM>
|
||
<TELL CR
|
||
G"The sounds of ""battle continue, a violent shouting melee.">
|
||
<COND (<HERE? ,AUDIENCE-CHAMBER ,OUTER-CORRIDOR
|
||
,INNER-CORRIDOR>
|
||
<TELL "The frantic
|
||
guards at the fortified door to the outer corridor listen anxiously to
|
||
the mounting holocaust below.">)>
|
||
<CRLF>)
|
||
(<QUEUE I-NINJA -1>
|
||
<COND (<NOT <FSET? ,OUTER-DOOR ,OPENBIT>>
|
||
<FSET ,OUTER-DOOR ,OPENBIT>
|
||
<TELL CR
|
||
"The guards reopen the outer door, so as to better hear the melee below." CR>)>
|
||
<MOVE ,GUARDS ,OUTER-CORRIDOR>
|
||
<COND (<OR <HERE? ,AUDIENCE-CHAMBER>
|
||
<AND <HERE? ,INNER-CORRIDOR>
|
||
<FSET? ,INNER-DOOR ,OPENBIT>>>
|
||
<TELL CR
|
||
"The officers of the Browns and Grays order their men to take up defensive
|
||
positions at the far end of the corridor, no longer able to stand the
|
||
waiting. Only the captain of the Grays remains, beside the door to the
|
||
inner corridor." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"You can hear officers shouting orders." CR>)>)
|
||
(<DEQUEUE I-ATTACK>
|
||
<COND (<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>
|
||
<MOVE ,GRAY-CAPTAIN ,OUTER-CORRIDOR>
|
||
<COND (<OR <HERE? ,AUDIENCE-CHAMBER>
|
||
<AND <HERE? ,INNER-CORRIDOR>
|
||
<FSET? ,INNER-DOOR ,OPENBIT>>>
|
||
<TELL CR
|
||
"Now the captain of the Grays leaves the audience chamber." CR>)>)
|
||
(ELSE <RFALSE>)>)>>
|
||
|
||
<BEGIN-SEGMENT PRISON>
|
||
|
||
<OBJECT GRAY-CAPTAIN
|
||
(SCENE S-NINJA S-PRISON)
|
||
(OWNER <>)
|
||
(DESC "Gray Captain")
|
||
(SYNONYM CAPTAIN)
|
||
(ADJECTIVE GRAY)
|
||
(FLAGS PERSON)
|
||
(HEALTH 4)
|
||
(GENERIC GENERIC-CAPTAIN-F)
|
||
(ACTION GRAY-CAPTAIN-F)>
|
||
|
||
<ROUTINE GRAY-CAPTAIN-F ("OPT" (RARG <>))
|
||
<COND (<RARG? WINNER>
|
||
<WAKARIMASEN>)
|
||
(<RARG? SUBJ>
|
||
<RFALSE>)
|
||
(<VERB? EXAMINE>
|
||
<COND (<FSET? ,PRSO ,DEAD>
|
||
<COND (<EQUAL? <GETP ,PRSO ,P?OWNER> ,NINJA>
|
||
<TELL
|
||
"He has been hacked to death by the ninja." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"He is dead. You killed him, remember?" CR>)>)
|
||
(<AND <NOT <FSET? ,LG-NINJA ,INVISIBLE>>
|
||
<SCENE? ,S-NINJA>>
|
||
<TELL
|
||
"He is impatient to join the battle, torn between his duty to guard
|
||
the hostages and his desire to destroy the attackers." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"He is supervising the guards." CR>)>)
|
||
(<P? SHOOT * PISTOL>
|
||
<COND (<FSET? ,PISTOL ,RMUNGBIT>
|
||
<RFALSE>)
|
||
(ELSE
|
||
<COND (<OR <NOT <IN? ,GUARDS ,HERE>>
|
||
<JIGS-UP? ,J-KILL-CAPTAIN>>
|
||
<PUTP ,GRAY-CAPTAIN ,P?OWNER ,BLACKTHORNE>
|
||
<FSET ,GRAY-CAPTAIN ,DEAD>
|
||
<TELL
|
||
"You fire the pistol, killing the captain instantly.">
|
||
<COND (<IN? ,GUARDS ,HERE>
|
||
<JIGS-UP
|
||
"The other guards turn and immediately assume this is a
|
||
betrayal. They cut you down in short order.">)
|
||
(ELSE
|
||
<TELL
|
||
"As the gray guards aren't here, you may get away with it." CR>)>)
|
||
(ELSE <RTRUE>)>)>)
|
||
(<AND <HOSTILE-VERB?>
|
||
<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>>
|
||
<COND (<JIGS-UP? ,J-KILL-CAPTAIN>
|
||
<JIGS-UP
|
||
"You attack the captain. Surprised, and assuming you are part of
|
||
some scheme of betrayal, he fights back, and you are dispatched quickly.">)
|
||
(ELSE <RTRUE>)>)>>
|
||
|
||
<END-SEGMENT ;"NINJA+PRISON">
|
||
|
||
<BEGIN-SEGMENT NINJA>
|
||
|
||
<CONSTANT J-PLUNGE 170>
|
||
<CONSTANT J-CELLAR 171>
|
||
<CONSTANT J-SHOOT 172>
|
||
<CONSTANT J-FOLLOW-CLOSE 173>
|
||
<CONSTANT J-REAR-GUARD 174>
|
||
<CONSTANT J-KILL-CAPTAIN 175>
|
||
<CONSTANT J-KILL-GUARDS 176>
|
||
<CONSTANT J-CALTROPS 177>
|
||
|
||
<OBJECT GUARDS
|
||
;(LOC AUDIENCE-CHAMBER)
|
||
(DESC "guards")
|
||
(SYNONYM GUARDS GUARD)
|
||
(ADJECTIVE SAMURAI GRAY BROWN)
|
||
(FLAGS PERSON JAPANESEBIT PLURAL NOABIT)
|
||
(GENERIC GENERIC-SAMURAI-F)
|
||
(DESCFCN GUARDS-DESC)
|
||
(ACTION GUARDS-F)>
|
||
|
||
<ROUTINE GUARDS-DESC (RARG OBJ)
|
||
<COND (<RARG? OBJDESC?> <RTRUE>)
|
||
(<RARG? OBJDESC>
|
||
<COND (<SCENE? ,S-TORANAGA>
|
||
<TELL
|
||
"Guards stand at attention around the perimeter of the room.">)
|
||
(<SCENE? ,S-PRISON>
|
||
<TELL
|
||
"Samurai guards supervise the activities.">)
|
||
(ELSE
|
||
<TELL
|
||
"Guards on watch stand here and there about the room.">)>)>>
|
||
|
||
<ROUTINE GUARDS-F ("OPT" (RARG <>))
|
||
<COND (<RARG? SUBJ>
|
||
<RFALSE>)
|
||
(<VERB? EXAMINE>
|
||
<TELL
|
||
"The guards are Grays, Ishido's men." CR>)
|
||
(<VERB? TELL>
|
||
<TELL
|
||
"They don't respond, as they are on duty." CR>
|
||
<END-QUOTE>
|
||
<RFATAL>)
|
||
(<HOSTILE-VERB?>
|
||
<COND (<JIGS-UP? ,J-KILL-GUARDS>
|
||
<JIGS-UP
|
||
"The guards, assuming this is some sort of betrayal, respond to your
|
||
attack by killing you.">)
|
||
(ELSE <RTRUE>)>)>>
|
||
|
||
<OBJECT LG-NINJA
|
||
(LOC LOCAL-GLOBALS)
|
||
(DESC "ninja")
|
||
(SYNONYM NINJA FIGURE MEN)
|
||
(ADJECTIVE RED SPOT BLACK CLAD)
|
||
(FLAGS INVISIBLE PERSON)
|
||
(GENERIC GENERIC-NINJA-F)
|
||
(ACTION LG-NINJA-F)>
|
||
|
||
<ROUTINE LG-NINJA-F ("OPT" (RARG <>) "AUX" NEARBY? RM)
|
||
<SET NEARBY? <NEXT-ROOM? <LOC ,NINJA>>>
|
||
<COND (<RARG? SUBJ>
|
||
<RFALSE>)
|
||
(<RARG? WINNER>
|
||
<COND (.NEARBY?
|
||
<TELL G"There is no response." CR>)
|
||
(ELSE
|
||
<TELL "There are no ninja nearby." CR>)>)
|
||
(<AND <SCENE? S-AFTERMATH>
|
||
<OR <PASSIVE-VERB?>
|
||
,QCONTEXT>>
|
||
<RFALSE>)
|
||
(<VERB? FIND ;WHERE LISTEN>
|
||
<TELL
|
||
"You see no ninja nearby, but there is plenty of noise." CR>)
|
||
(<VERB? FOLLOW>
|
||
<COND (<QUEUED? I-NINJA-TAKE-MARIKO>
|
||
<TELL "You ">
|
||
<COND (<EQUAL? ,FOLLOW-FLAG ,NINJA>
|
||
<TELL "continue">)
|
||
(ELSE
|
||
<SETG FOLLOW-FLAG ,NINJA>
|
||
<TELL "begin">)>
|
||
<TELL
|
||
G" following the ninja, trying to keep up with
|
||
them as they take Mariko." CR>
|
||
<SET RM <LOC ,NINJA>>
|
||
<COND (<HERE? .RM>
|
||
<COND (,FOLLOW-FLAG
|
||
<TELL
|
||
"You continue following the ninja, pushing your way ahead, trying to
|
||
keep close." CR>)
|
||
(ELSE
|
||
<SETUP-FOLLOW-NINJA>
|
||
<TELL
|
||
"You begin"
|
||
G" following the ninja, trying to keep up with
|
||
them as they take Mariko." CR>)>)
|
||
(<NEXT-ROOM? <LOC ,NINJA>>
|
||
<TELL "You ">
|
||
<COND (,FOLLOW-FLAG
|
||
<TELL "continue">)
|
||
(ELSE
|
||
<SETUP-FOLLOW-NINJA>
|
||
<TELL "begin">)>
|
||
<TELL
|
||
" following the ninja, desperate to keep up as they retreat with Mariko." CR>)
|
||
(ELSE
|
||
<SETG FOLLOW-FLAG <>>
|
||
<TELL "You've lost them!" CR>)>
|
||
<RTRUE>)
|
||
(<FSET? ,NINJA ,INVISIBLE>
|
||
<TELL "They are gone." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"They don't seem to be going anywhere." CR>)>)
|
||
(<P? AIM PISTOL LG-NINJA>
|
||
<TELL
|
||
"The pistol doesn't seem to scare them unless it's fired." CR>)
|
||
(<P? SHOOT PISTOL LG-NINJA>
|
||
<COND (.NEARBY?
|
||
<PERFORM ,V?SHOOT ,PISTOL ,NINJA>
|
||
<RTRUE>)
|
||
(ELSE
|
||
<FSET ,PISTOL ,RMUNGBIT>
|
||
<TELL
|
||
"The ninja aren't close enough, so your shot is wasted." CR>)>)
|
||
(<OR <VERB? TAKE> <HOSTILE-VERB?>>
|
||
<TELL
|
||
"The ninja aren't close enough to attack." CR>)>>
|
||
|
||
<OBJECT NINJA-LEADER
|
||
(LOC SECRET-ROOM)
|
||
(DESC "ninja leader")
|
||
(SYNONYM LEADER MAN)
|
||
(ADJECTIVE RED SPOT NINJA)
|
||
(FLAGS NDESCBIT PERSON JAPANESEBIT SCOREBIT)
|
||
(ACTION NINJA-F)>
|
||
|
||
<OBJECT NINJA
|
||
(LOC SECRET-ROOM)
|
||
(DESC "ninja")
|
||
(SYNONYM NINJA FIGURE MEN)
|
||
(ADJECTIVE RED SPOT BLACK CLAD)
|
||
(FLAGS PERSON JAPANESEBIT SCOREBIT PLURAL)
|
||
(COUNT 5)
|
||
(DESCFCN NINJA-DESC)
|
||
(GENERIC GENERIC-NINJA-F)
|
||
(ACTION NINJA-F)>
|
||
|
||
<ROUTINE GENERIC-NINJA-F (R F)
|
||
,LG-NINJA>
|
||
|
||
<ROUTINE NINJA-DESC (RARG OBJ)
|
||
<COND (<RARG? OBJDESC?> <RTRUE>)
|
||
(<RARG? OBJDESC>
|
||
<TELL
|
||
"A force of black-clad, black-masked ninja is here.">)>>
|
||
|
||
<ROUTINE NINJA-F ("OPT" (RARG <>))
|
||
<COND (<RARG? SUBJ>
|
||
<RFALSE>)
|
||
(<RARG? WINNER>
|
||
<TELL
|
||
"The black-masked " D ,WINNER " doesn't answer." CR>)
|
||
(<VERB? EXAMINE>
|
||
<TELL
|
||
"The ninja are black-clad, black-masked shapes of darkness." CR>)
|
||
(<VERB? COUNT>
|
||
<TELL
|
||
"It's hard to tell, they are like black-clad ghosts in the dim, pre-dawn
|
||
light." CR>)
|
||
(<P? AIM PISTOL (NINJA NINJA-LEADER)>
|
||
<COND (<FSET? ,PISTOL ,RMUNGBIT>
|
||
<TELL
|
||
"The ninja know the pistol isn't loaded." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"The ninja don't seem too impressed." CR>)>)
|
||
(<P? SHOOT PISTOL (NINJA NINJA-LEADER)>
|
||
<COND (<HERE? ,CELLARS>
|
||
<COND (<JIGS-UP? ,J-CELLAR>
|
||
<JIGS-UP
|
||
"Your pistol shatters the quiet of the cellars. Yabu turns, shocked,
|
||
and realizes you have been following him. He charges, sword drawn,
|
||
and dispatches you before you can escape.">)>
|
||
<RFATAL>)>
|
||
<SETG KNOCKOUT-CNT 0>
|
||
<COND (<NOT <FSET? ,BALCONY ,TOUCHBIT>>
|
||
<COND (<IN? ,MARIKO ,HERE>
|
||
<SETG CAPTURE-CNT 0>)>
|
||
<QUEUE I-NINJA-COWED <GETP ,NINJA ,P?COUNT>>)>
|
||
<FSET ,PISTOL ,RMUNGBIT>
|
||
<COND (<AND <OR <HERE? ,AUDIENCE-CHAMBER>
|
||
<AND <HERE? ,INNER-CORRIDOR>
|
||
<FSET? ,INNER-DOOR ,OPENBIT>>>
|
||
<FSET? ,NINJA ,SCOREBIT>>
|
||
<QUEUE I-CAPTAIN-RETURNS 1>
|
||
<MARGINAL-PIC ,P-NINJA <>>
|
||
<REMOVE ,NINJA-LEADER>
|
||
<TELL
|
||
"The pistol goes off, and the back of the ninja leader's head disappears,
|
||
momentarily stopping the charge.">
|
||
<COND (<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>
|
||
<TELL
|
||
"The shot alerts the Captain of the Grays.">)>
|
||
<CRLF>
|
||
<SCORE-OBJECT ,NINJA>)
|
||
(ELSE
|
||
<TELL
|
||
"Your pistol fires, blasting " A ,PRSI " into his next
|
||
incarnation." CR>)>)
|
||
(<OR <P? (KILL ATTACK HIT) (NINJA NINJA-LEADER) SWORDS>
|
||
<P? (SWING THROW) SWORDS (NINJA NINJA-LEADER)>>
|
||
<COND (<VERB? THROW> <MOVE ,SWORDS ,HERE>)>
|
||
<TELL
|
||
"You strike at a ninja, but there are too many of them to take them on
|
||
one at a time." CR>)
|
||
(<OR <VERB? TAKE> <HOSTILE-VERB?>>
|
||
<TELL
|
||
,YOU-HAVE-TO "use a weapon to have any chance of survival." CR>)>>
|
||
|
||
<ROUTINE I-CAPTAIN-RETURNS ()
|
||
<COND (<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>
|
||
<FSET ,GRAY-CAPTAIN ,DEAD>
|
||
<PUTP ,GRAY-CAPTAIN ,P?OWNER ,NINJA>
|
||
<COND (<HERE? ,AUDIENCE-CHAMBER ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The Captain of the Grays charges back into the Audience Chamber,
|
||
attacking with mindless ferocity. He cuts down one ninja, then the pack
|
||
falls on him and he dies." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"There are sounds of a short fight outside, and then all is quiet." CR>)>)>>
|
||
|
||
;<GLOBAL CAPTURE-CNT 0>
|
||
;<GLOBAL KNOCKOUT-CNT 0>
|
||
|
||
;<GLOBAL NINJA-COWED-CNT 0>
|
||
|
||
<ROUTINE I-NINJA ("AUX" (L <LOC ,NINJA>) C NEAR)
|
||
<COND (<QUEUED? I-CAPTAIN-RETURNS>
|
||
<RFALSE>)
|
||
(<SET C <QUEUED? I-NINJA-COWED>>
|
||
<SET C <GET .C ,C-TICK>>
|
||
<COND (<IN? ,NINJA ,HERE>
|
||
<COND (<G? .C 1>
|
||
<ZLINES ,NINJA-COWED-CNT
|
||
(<TELL CR
|
||
"The ninja near you seem wary of your pistol, expecting another shot." CR>)
|
||
(<TELL CR
|
||
"The ninja seem hesitant to risk another blast." CR>)
|
||
(<TELL CR
|
||
"The ninja are beginning to overcome their fear." CR>)>
|
||
<RTRUE>)>)
|
||
(<NOT <NEXT-ROOM? <LOC ,NINJA>>>
|
||
<COND (<G? .C 1>
|
||
<SETG KNOCKOUT-CNT 0>
|
||
<QUEUE I-NINJA-COWED 1>
|
||
<TELL CR
|
||
"You can hear the ninja preparing to resume the attack." CR>
|
||
<RTRUE>)>)
|
||
(ELSE
|
||
<COND (<G? .C 1>
|
||
<TELL CR
|
||
"The ninja seem quiet, perhaps they are afraid of your pistol." CR>
|
||
<RTRUE>)>)>
|
||
<RFALSE>)
|
||
(<NOT <FSET? ,MARIKO ,RMUNGBIT>>
|
||
<COND (<EQUAL? .L <META-LOC ,MARIKO>>
|
||
<COND (<HERE? .L>
|
||
<ZLINES ,CAPTURE-CNT
|
||
(<TELL CR
|
||
"The ninja surge toward you, trying to get to Mariko." CR>)
|
||
(<COND (<HELD? ,MARIKO>
|
||
<MOVE ,MARIKO ,HERE>
|
||
<TELL CR
|
||
"You drop Mariko, telling her to run, trying to hold off the ninja." CR>)>
|
||
<TELL CR
|
||
"The ninja are trying to move between you and Mariko, cutting you off." CR>)
|
||
(<TELL CR
|
||
"A bold ninja grabs for Mariko, who stabs him with a small but effective
|
||
dagger." CR>)
|
||
(<DEQUEUE I-NINJA>
|
||
<QUEUE I-NINJA-TAKE-MARIKO -1>
|
||
<COND (<HERE? BALCONY>
|
||
<TELL CR
|
||
"Mariko tries to run for the parapet, but the ninja overpower her." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
G"The ninja overpower Mariko"G" and quickly begin forcing her back towards
|
||
the exit." CR>)>)>
|
||
<RTRUE>)
|
||
(ELSE
|
||
<SET NEAR <NEXT-ROOM? .L T>>
|
||
<ZLINES ,CAPTURE-CNT
|
||
(<COND (.NEAR
|
||
<TELL CR
|
||
G"You hear the sounds of a struggle"" between Mariko and the ninja." CR>
|
||
<RTRUE>)>)
|
||
(<COND (.NEAR
|
||
<TELL CR
|
||
"The sounds of "G"struggle continue." CR>
|
||
<RTRUE>)>)
|
||
(<DEQUEUE I-NINJA>
|
||
<QUEUE I-NINJA-TAKE-MARIKO -1>
|
||
<COND (.NEAR
|
||
<TELL CR
|
||
G"The ninja overpower Mariko"G" and quickly begin forcing her back towards
|
||
the exit." CR>
|
||
<RTRUE>)>)>)>)
|
||
(<EQUAL? .L <LOC ,BLACKTHORNE>>
|
||
<ZLINES ,KNOCKOUT-CNT
|
||
(<TELL CR "The ninja surround you." CR>
|
||
<RTRUE>)
|
||
(<TELL CR
|
||
"The ninja are all around you. First, they try a few quick feints to
|
||
gauge your speed." CR>
|
||
<RTRUE>)
|
||
(<JIGS-UP
|
||
"Satisfying themselves as to your abilities, they close in and moments
|
||
later, you are knocked out by a blow you didn't even see.">
|
||
<RFATAL>)>)>)>
|
||
<SETG CAPTURE-CNT 0> ;"ninja not in room with mariko"
|
||
<SETG KNOCKOUT-CNT 0> ;"ninja not in room with blackthorne"
|
||
<COND (<IN? ,NINJA ,SECRET-ROOM>
|
||
<COND (<AND ;<IN? ,BLACKTHORNE ,AUDIENCE-CHAMBER>
|
||
<NOT <IN? ,GRAY-CAPTAIN ,AUDIENCE-CHAMBER>>
|
||
<OR <IN? ,MARIKO ,AUDIENCE-CHAMBER>
|
||
<FSET? ,INNER-DOOR ,LOCKED>>>
|
||
<FCLEAR ,SECRET-ROOM-DOOR ,INVISIBLE>
|
||
<FSET ,SECRET-ROOM-DOOR ,OPENBIT>
|
||
<MOVE ,NINJA ,AUDIENCE-CHAMBER>
|
||
<THIS-IS-IT ,NINJA>
|
||
<COND (<LOC ,NINJA-LEADER>
|
||
<MOVE ,NINJA-LEADER ,AUDIENCE-CHAMBER>
|
||
<THIS-IS-IT ,NINJA-LEADER>)>
|
||
<COND (<HERE? ,AUDIENCE-CHAMBER>
|
||
<TELL CR
|
||
"Suddenly, a secret door on the south side of the room bursts open, and
|
||
a black-clad figure charges through the door, directly at you! Behind
|
||
him the rest of his men are crowding into the opening." CR>)
|
||
(<AND <HERE? ,INNER-CORRIDOR>
|
||
<FSET? ,INNER-DOOR ,LOCKED>>
|
||
<TELL CR
|
||
"You hear noises outside the door, quiet and stealthy, but definitely
|
||
there." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"There is a sudden commotion in the audience chamber." CR>)>)>)
|
||
(<IN? ,NINJA ,AUDIENCE-CHAMBER>
|
||
<COND (<FSET? ,INNER-DOOR ,OPENBIT>
|
||
<SETG NINJA-ATTACKING-CUL-DE-SAC? T>
|
||
<MOVE ,NINJA ,INNER-CORRIDOR>
|
||
<COND (<LOC ,NINJA-LEADER>
|
||
<MOVE ,NINJA-LEADER ,INNER-CORRIDOR>)>
|
||
<COND (<HERE? ,AUDIENCE-CHAMBER ,INNER-CORRIDOR
|
||
,OUTER-CORRIDOR>
|
||
<TELL CR
|
||
"The ninja crowd through the door into the inner corridor." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
G"The sounds of ""the fighting are getting closer." CR>)>)
|
||
(<NOT <QUEUED? I-NINJA-VS-INNER-DOOR>>
|
||
<SETG NINJA-ATTACKING-CUL-DE-SAC? T>
|
||
<FCLEAR ,OUTER-DOOR ,OPENBIT>
|
||
<FSET ,OUTER-DOOR ,LOCKED>
|
||
<QUEUE I-NINJA-VS-INNER-DOOR -1>
|
||
<COND (<HERE? ,INNER-CORRIDOR ,AUDIENCE-CHAMBER>
|
||
<TELL CR
|
||
"The ninja circle the door, then begin tearing at it with crowbars. Others
|
||
secure the doors to the audience chamber, cutting off this entire
|
||
section of the keep." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"You can hear the sound of the ninja tearing at the inner door." CR>)>)>)
|
||
(<IN? ,NINJA ,INNER-CORRIDOR>
|
||
<FSET ,SOUTH-SHOJI ,OPENBIT>
|
||
<FSET ,SOUTH-SHOJI ,RMUNGBIT>
|
||
<MOVE ,NINJA ,OUTER-ROOM>
|
||
<COND (<LOC ,NINJA-LEADER>
|
||
<MOVE ,NINJA-LEADER ,OUTER-ROOM>)>
|
||
<COND (<HERE? ,OUTER-ROOM ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The ninja surge through the flimsy shojis into the outer reception
|
||
room." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"You can hear shojis bursting to shards; the ninja are probably in
|
||
the reception room!" CR>)>)
|
||
(<IN? ,NINJA ,OUTER-ROOM>
|
||
<FSET ,NORTH-SHOJI ,OPENBIT>
|
||
<FSET ,NORTH-SHOJI ,RMUNGBIT>
|
||
<MOVE ,NINJA ,PRIVATE-QUARTERS>
|
||
<COND (<LOC ,NINJA-LEADER>
|
||
<MOVE ,NINJA-LEADER ,PRIVATE-QUARTERS>)>
|
||
<COND (<HERE? ,PRIVATE-QUARTERS ,PRIVATE-QUARTERS-2
|
||
,BLACKTHORNE-QUARTERS>
|
||
<TELL CR
|
||
"The ninja storm into the private apartments, scenting their quarry." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"You can hear the ninja ransacking the private apartments." CR>)>)
|
||
(<IN? ,NINJA ,PRIVATE-QUARTERS>
|
||
<COND (<FSET? ,SECRET-REDOUBT-DOOR ,OPENBIT>
|
||
<MOVE ,NINJA ,SECRET-REDOUBT>
|
||
<COND (<LOC ,NINJA-LEADER>
|
||
<MOVE ,NINJA-LEADER ,SECRET-REDOUBT>)>
|
||
<COND (<HERE? ,PRIVATE-QUARTERS ,SECRET-REDOUBT
|
||
,PRIVATE-QUARTERS-2 ,BLACKTHORNE-QUARTERS>
|
||
<TELL CR
|
||
"The ninja storm through the door into the bolt hole." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"The sound quiets; the ninja must be behind more formidable walls now." CR>)>)
|
||
(<NOT <QUEUED? I-NINJA-VS-SECRET-DOOR>>
|
||
<SETG DOOR-CNT 0>
|
||
<QUEUE I-NINJA-VS-SECRET-DOOR -1>
|
||
<COND (<HERE? ,SECRET-REDOUBT ,PRIVATE-QUARTERS>
|
||
<TELL CR
|
||
"The ninja gather outside the door, scraping at the hinges and
|
||
the floor." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"You hear the sounds of scraping and pounding." CR>)>)>)
|
||
(<IN? ,NINJA ,SECRET-REDOUBT>
|
||
<COND (<FSET? ,MARIKO ,RMUNGBIT> <RFALSE>)
|
||
(<FSET? ,BALCONY-DOOR ,OPENBIT>
|
||
<MOVE ,NINJA ,BALCONY>
|
||
<COND (<LOC ,NINJA-LEADER>
|
||
<MOVE ,NINJA-LEADER ,BALCONY>)>
|
||
<COND (<HERE? ,BALCONY ,SECRET-REDOUBT>
|
||
<TELL CR
|
||
"The ninja crowd out onto the balcony." CR>)>)
|
||
(ELSE
|
||
<COND (<HERE? ,BALCONY ,SECRET-REDOUBT>
|
||
<FSET ,BALCONY-DOOR ,OPENBIT>
|
||
<TELL CR
|
||
"The ninja begin to attack the door, and almost immediately smash it open." CR>)>)>)>>
|
||
|
||
<ROUTINE SETUP-FOLLOW-NINJA ()
|
||
<COND (<AND <QUEUED? I-NINJA-TAKE-MARIKO>
|
||
<NOT <EQUAL? ,FOLLOW-FLAG ,NINJA>>>
|
||
<SETG FOLLOW-FLAG ,NINJA>
|
||
<DEQUEUE I-NINJA-TAKE-MARIKO>
|
||
<QUEUE I-FOLLOW-NINJA -1>
|
||
<QUEUE I-NINJA-TAKE-MARIKO -1>)>>
|
||
|
||
<ROUTINE I-FOLLOW-NINJA ("AUX" (L <LOC ,NINJA>))
|
||
<COND (,FOLLOW-FLAG
|
||
<COND (<HERE? .L>
|
||
<TELL CR
|
||
"You've caught up with the ninja!" CR>)
|
||
(<NEXT-ROOM? .L>
|
||
<CRLF>
|
||
<TELL
|
||
"You are managing to keep up with the retreating ninja.">
|
||
<TELL CR CR>
|
||
<GOTO .L>
|
||
<RTRUE>)
|
||
(ELSE
|
||
<SETG FOLLOW-FLAG <>>
|
||
<DEQUEUE I-FOLLOW-NINJA>
|
||
<TELL
|
||
"You've lost the ninja! They're too far ahead of you, and you can't
|
||
be sure where they've headed." CR>)>)
|
||
(ELSE
|
||
<DEQUEUE I-FOLLOW-NINJA>
|
||
<RFALSE>)>>
|
||
|
||
<ROUTINE I-MARIKO-STRUGGLES ()
|
||
<COND (<HELD? ,MARIKO>
|
||
<TELL CR
|
||
"Mariko tries to break free of your hold." CR>)
|
||
(<OR <FSET? ,MARIKO ,DEAD>
|
||
<FSET? ,MARIKO ,RMUNGBIT>>
|
||
<DEQUEUE I-MARIKO-STRUGGLES>
|
||
<RFALSE>)
|
||
(ELSE
|
||
<COND (<AND <IN? ,MARIKO ,BALCONY>
|
||
<NOT <HELD? ,MARIKO>>
|
||
<FSET? ,BALCONY-DOOR ,OPENBIT>>
|
||
<MOVE ,MARIKO ,SECRET-REDOUBT>
|
||
<COND (<HERE? ,BALCONY ,SECRET-REDOUBT>
|
||
<TELL CR
|
||
"Mariko flees back into the redoubt." CR>)>)
|
||
(<IN? ,MARIKO ,HERE>
|
||
<TELL CR
|
||
"Mariko scurries away from you." CR>)>)>>
|
||
|
||
<ROUTINE I-NINJA-TAKE-MARIKO ("AUX" (L <LOC ,NINJA>) D)
|
||
<COND (<IN? ,MARIKO .L>
|
||
<COND (<QUEUED? I-NINJA-COWED>
|
||
<DEQUEUE I-NINJA-TAKE-MARIKO>
|
||
<SETG CAPTURE-CNT 0>
|
||
<QUEUE I-NINJA -1>
|
||
<SETG FOLLOW-FLAG <>>
|
||
<COND (<IN? ,MARIKO ,HERE>
|
||
<TELL CR
|
||
"Mariko takes advantage of the ninja's confusion to bite at her
|
||
captor's hand, breaking free and shoving her way to your side." CR>
|
||
<RTRUE>)
|
||
(ELSE
|
||
<TELL CR
|
||
"You hear shouts of frustration from the ninja." CR>
|
||
<RTRUE>)>)>
|
||
<COND (<IN? ,NINJA ,SECRET-ROOM>
|
||
<REMOVE ,NINJA-LEADER>
|
||
<REMOVE ,NINJA>
|
||
<REMOVE ,MARIKO>
|
||
<SETG FOLLOW-FLAG <>>
|
||
<SETG CAPTURE-CNT 0>
|
||
<DEQUEUE I-NINJA-COWED>
|
||
<DEQUEUE I-NINJA-TAKE-MARIKO>
|
||
<COND (<HERE? ,SECRET-ROOM ,AUDIENCE-CHAMBER
|
||
,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"You hear a shout of triumph from the ninja as they carry Mariko
|
||
away. You realize that this was their goal, and that one way or another,
|
||
Ishido was behind it." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"You realize that by now the ninja have escaped with Mariko. You have
|
||
no doubt that Ishido was behind it." CR>)>
|
||
<FAILED-SCENE>
|
||
<RFATAL>)>
|
||
<SET D
|
||
<COND (<IN? ,NINJA ,AUDIENCE-CHAMBER>
|
||
,SECRET-ROOM)
|
||
(<IN? ,NINJA ,INNER-CORRIDOR>
|
||
,AUDIENCE-CHAMBER)
|
||
(<IN? ,NINJA ,OUTER-ROOM>
|
||
,INNER-CORRIDOR)
|
||
(<IN? ,NINJA ,PRIVATE-QUARTERS>
|
||
,OUTER-ROOM)
|
||
(<OR <IN? ,NINJA ,PRIVATE-QUARTERS-2>
|
||
<IN? ,NINJA ,BLACKTHORNE-QUARTERS>
|
||
<IN? ,NINJA ,SECRET-REDOUBT>>
|
||
,PRIVATE-QUARTERS)
|
||
(<IN? ,NINJA ,BALCONY>
|
||
,SECRET-REDOUBT)>>
|
||
<MOVE ,NINJA .D>
|
||
<COND (<LOC ,NINJA-LEADER>
|
||
<MOVE ,NINJA-LEADER .D>)>
|
||
<MOVE ,MARIKO .D>
|
||
<COND (<AND <IN? ,CALTROPS ,NINJA>
|
||
<PROB 50>>
|
||
<MOVE ,CALTROPS .L>
|
||
<COND (<HERE? .L>
|
||
<TELL CR
|
||
"The ninja scatter handfuls of tiny, spiked metal balls on the floor." CR>)>)
|
||
(<AND <IN? ,SMOKE-BOMB ,NINJA>
|
||
<PROB 50>>
|
||
<MOVE ,SMOKE-BOMB .L>
|
||
<QUEUE I-REMOVE-SMOKE 2>
|
||
<COND (<HERE? .L>
|
||
<TELL CR
|
||
"One of the ninja throws a smoke bomb which fills the room with choking,
|
||
acrid smoke." CR>)>)
|
||
(<AND <IN? ,FIRE-BOMB ,NINJA>
|
||
<PROB 50>>
|
||
<MOVE ,FIRE-BOMB .L>
|
||
<QUEUE I-REMOVE-FIRE 2>
|
||
<COND (<HERE? .L>
|
||
<TELL CR
|
||
"A ninja tosses a fire bomb which spreads sticky burning pitch on the
|
||
floor." CR>)>)>
|
||
<COND (<HERE? .D .L>
|
||
<TELL CR
|
||
"The ninja retreat, " <PICK-ONE ,MARIKO-STRUGGLES>>
|
||
<COND (<AND <EQUAL? ,FOLLOW-FLAG ,NINJA>
|
||
<HERE? .L>>
|
||
<TELL "You follow, fighting your way
|
||
through the chaos, trying to catch up." CR CR>
|
||
<GOTO .D>)
|
||
(ELSE <CRLF>)>
|
||
<RTRUE>)>)>>
|
||
|
||
<OBJECT CALTROPS
|
||
(LOC NINJA)
|
||
(DESC "caltrops")
|
||
(SYNONYM CALTROPS CALTROP BALLS BALL)
|
||
(ADJECTIVE TINY SPIKED METAL)
|
||
(FLAGS TAKEBIT PLURAL)
|
||
(ACTION CALTROPS-F)>
|
||
|
||
<GLOBAL AVOID-CALTROPS? <>>
|
||
|
||
<ROUTINE CALTROPS-F ()
|
||
<COND (<VERB? EXAMINE>
|
||
<TELL
|
||
"These are tiny spiked metal balls that remind you of the caltrops used in
|
||
Europe to stop cavalry attacks. They are festooned with needle-like
|
||
spines." CR>)
|
||
(<VERB? TAKE>
|
||
<COND (<JIGS-UP? ,J-CALTROPS
|
||
"At the last second, you remember that ninja are famous for using poison.">
|
||
<JIGS-UP
|
||
"Unlike caltrops in Europe, these are poisoned! Almost immediately you feel
|
||
a searing pain in your hand. Within moments you are writhing on the floor.">)
|
||
(ELSE <RTRUE>)>)
|
||
(<VERB? AVOID>
|
||
<SETG AVOID-CALTROPS? T>
|
||
<TELL
|
||
"You do your best to avoid stepping on the caltrops." CR>)>>
|
||
|
||
<OBJECT SMOKE-BOMB
|
||
(LOC NINJA)
|
||
(DESC "smoke")
|
||
(SYNONYM BOMB SMOKE)
|
||
(ADJECTIVE SMOKE)
|
||
(FLAGS NDESCBIT)
|
||
(ACTION SMOKE-BOMB-F)>
|
||
|
||
<ROUTINE SMOKE-BOMB-F ()
|
||
<COND (<VERB? EXAMINE>
|
||
<TELL
|
||
"The smoke chokes your lungs and blocks your view just enough to make the
|
||
area a confusing, incomprehensible hell." CR>)>>
|
||
|
||
<ROUTINE I-REMOVE-SMOKE ("AUX" (L <LOC ,SMOKE-BOMB>))
|
||
<REMOVE ,SMOKE-BOMB>
|
||
<COND (<HERE? .L>
|
||
<TELL CR
|
||
"The smoke has dissipated enough that you can breathe and see better
|
||
now." CR>)>>
|
||
|
||
<OBJECT FIRE-BOMB
|
||
(LOC NINJA)
|
||
(DESC "fire bomb")
|
||
(SYNONYM BOMB FIRE)
|
||
(ADJECTIVE FIRE)
|
||
(FLAGS NDESCBIT)
|
||
(ACTION FIRE-BOMB-F)>
|
||
|
||
<ROUTINE FIRE-BOMB-F ()
|
||
<COND (<VERB? EXAMINE>
|
||
<TELL
|
||
"The fire bomb has broadcast burning pitch all over the floor. It looks
|
||
like it would be dangerous to move." CR>)>>
|
||
|
||
<ROUTINE I-REMOVE-FIRE ("AUX" (L <LOC ,FIRE-BOMB>))
|
||
<REMOVE ,FIRE-BOMB>
|
||
<COND (<HERE? .L>
|
||
<TELL CR
|
||
"The fire from the bomb has died down somewhat now." CR>)>>
|
||
|
||
<CONSTANT MARIKO-STRUGGLES
|
||
<LTABLE 0
|
||
"dragging a struggling Mariko with them."
|
||
"pulling Mariko along."
|
||
"several manhandling Mariko into step with them."
|
||
"Mariko being pushed along ahead of them.">>
|
||
|
||
<GLOBAL NINJA-ATTACKING-CUL-DE-SAC? <>>
|
||
|
||
<ROUTINE I-NINJA-COWED ("AUX" (CNT <GETP ,NINJA ,P?COUNT>))
|
||
<COND (<LOC ,NINJA>
|
||
<SETG NINJA-COWED-CNT 0>
|
||
<COND (<G? .CNT 2>
|
||
<SET CNT <- .CNT 2>>
|
||
<PUTP ,NINJA ,P?COUNT .CNT>
|
||
<COND (<IN? ,NINJA ,HERE>
|
||
<TELL CR
|
||
"The ninja resume their attack." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
G"The sounds of ""fighting redouble in intensity." CR>)>)
|
||
(ELSE
|
||
<COND (<IN? ,NINJA ,HERE>
|
||
<TELL CR
|
||
"The ninja have realized how long it takes to reload the pistol, and
|
||
fearlessly resume their attack." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
G"The sounds of ""fighting resume their former intensity." CR>)>)>)>>
|
||
|
||
;<GLOBAL DOOR-CNT 0>
|
||
|
||
<ROUTINE I-NINJA-VS-INNER-DOOR ()
|
||
<COND (<FSET? ,INNER-DOOR ,OPENBIT>
|
||
<DEQUEUE I-NINJA-VS-INNER-DOOR>
|
||
<RFALSE>)
|
||
(<QUEUED? I-NINJA-COWED>
|
||
<COND (<HERE? ,INNER-CORRIDOR ,OUTER-ROOM>
|
||
<TELL CR
|
||
"There are only muffled sounds outside the door as the ninja regroup." CR>
|
||
<RTRUE>)
|
||
(ELSE
|
||
<RFALSE>)>)
|
||
(<FSET? ,IRON-BAR ,OPENBIT>
|
||
<FSET ,INNER-DOOR ,OPENBIT>
|
||
<DEQUEUE I-NINJA-VS-INNER-DOOR>
|
||
<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The inner door jerks inward as the ninja smash against it, and they realize
|
||
that it isn't barred. They throw the door open!" CR>
|
||
<RTRUE>)
|
||
(<HERE? ,OUTER-ROOM>
|
||
<TELL CR
|
||
"From the corridor comes the thud of the ninja crashing against the
|
||
unbarred inner door, and then the sound of the door being opened." CR>
|
||
<RTRUE>)>)
|
||
(<HERE? ,OUTER-ROOM>
|
||
<TELL CR
|
||
"You can hear the ninja furiously attacking the inner door." CR>)>
|
||
<ZLINES ,DOOR-CNT
|
||
(<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The door rocks under the furious blows of the assault jimmies." CR>)>)
|
||
(<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The wood of the door begins to splinter." CR>)>)
|
||
(<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The men with the crowbars rip at the door, which shrieks under the
|
||
blows." CR>)>)
|
||
(<MOVE ,DOOR-CRACK ,INNER-CORRIDOR>
|
||
<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"One of the door panels cracks, then a hinge snaps and the tip of a
|
||
jimmy comes through to widen the crack." CR>)>)
|
||
(<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The whole door shakes as ninja tear at it with shoulders and raging
|
||
fists and feet and weapons. The door bellows and shudders and one of
|
||
the bolts springs away and clatters to the floor." CR>)>)
|
||
(<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The door is near collapsing." CR>)>)
|
||
(<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The entire door teeters as another bolt flies off." CR>)>)
|
||
(<DEQUEUE I-NINJA-VS-INNER-DOOR>
|
||
<REMOVE ,DOOR-CRACK>
|
||
<FSET ,INNER-DOOR ,OPENBIT>
|
||
<FSET ,INNER-DOOR ,RMUNGBIT>
|
||
<COND (<HERE? ,INNER-CORRIDOR>
|
||
<TELL CR
|
||
"The door shatters, opening the way for the ninja!" CR>)
|
||
(<HERE? ,OUTER-ROOM>
|
||
<TELL CR
|
||
"Suddenly, you hear the door crash to the floor, and the ninjas
|
||
are through!" CR>)>)>>
|
||
|
||
<OBJECT DOOR-CRACK
|
||
(DESC "crack")
|
||
(SYNONYM CRACK)
|
||
(FLAGS NDESCBIT)
|
||
(ACTION DOOR-CRACK-F)>
|
||
|
||
<ROUTINE DOOR-CRACK-F ()
|
||
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
||
<TELL
|
||
"The crack is large enough to fire a pistol through." CR>)
|
||
(<P? SHOOT * DOOR-CRACK>
|
||
<PERFORM ,V?SHOOT ,PRSO ,NINJA>
|
||
<RTRUE>)>>
|
||
|
||
<ROUTINE I-NINJA-VS-SECRET-DOOR ("AUX" CNT NUM)
|
||
<COND (<AND <FSET? ,SECRET-REDOUBT-DOOR ,OPENBIT>
|
||
<NOT <FSET? ,SECRET-REDOUBT-DOOR ,RMUNGBIT>>>
|
||
<DEQUEUE I-NINJA-VS-SECRET-DOOR>
|
||
<RFALSE>)
|
||
(<NOT <ZERO? <SET CNT <GETP ,BOLTS ,P?COUNT>>>>
|
||
<COND (<EQUAL? .CNT 1 2 4> <SET NUM 1>)
|
||
(<EQUAL? .CNT 2 5 6> <SET NUM 2>)
|
||
(ELSE <SET NUM 3>)>
|
||
<COND (<OR <EQUAL? .NUM 3>
|
||
<PROB <* .NUM 33>>>
|
||
<FCLEAR ,SECRET-REDOUBT-DOOR ,LOCKED>
|
||
<FSET ,SECRET-REDOUBT-DOOR ,OPENBIT>)>
|
||
<COND (<HERE? ,SECRET-REDOUBT>
|
||
<COND (<FSET? ,SECRET-REDOUBT-DOOR ,OPENBIT>
|
||
<TELL CR
|
||
"The ninja smash against the ">
|
||
<COND (<EQUAL? .NUM 3>
|
||
<TELL
|
||
"unsecured door, and it bursts open!" CR>
|
||
<RTRUE>)
|
||
(ELSE
|
||
<TELL
|
||
"partly secured door, the ">
|
||
<COND (<EQUAL? .NUM 2>
|
||
<TELL "bolt tears">)
|
||
(ELSE
|
||
<TELL "bolts tear">)>
|
||
<TELL
|
||
" free, and the door bursts open!" CR>
|
||
<RTRUE>)>)
|
||
(ELSE
|
||
<TELL CR
|
||
"The door jolts inward as the open bolts wiggle uselessly." CR>
|
||
<RTRUE>)>)
|
||
(<HERE? ,BALCONY>
|
||
<TELL CR
|
||
"You can hear the ninja hitting the door in the redoubt." CR>)
|
||
(ELSE <RFALSE>)>)>
|
||
<ZLINES ,DOOR-CNT
|
||
(<COND (<HERE? ,SECRET-REDOUBT>
|
||
<TELL CR
|
||
"There is a sudden hammering and a harsh muffled voice from outside. Mariko
|
||
licks her dry lips. \"He said to open the door and surrender
|
||
or he'd -- he'd blow it up.\"" CR>)>)
|
||
(<COND (<HERE? ,SECRET-REDOUBT>
|
||
<TELL CR
|
||
"The muffled voice becomes angrier and more demanding">
|
||
<COND (<IN? ,ETSU ,HERE>
|
||
<TELL ", all eyes in the room look at you">)>
|
||
<TELL ". Mariko translates, \"He said, if we open the
|
||
door and surrender, everyone will go free except for you. He said
|
||
they want you as a hostage, Anjin-san.\"" CR>)>)
|
||
(<COND (<HERE? ,SECRET-REDOUBT>
|
||
<TELL CR
|
||
"A ferocious pounding on the door, iron clanging on iron, then
|
||
the voice begins, a short violent crescendo. All sound outside ceases. \"Get
|
||
away from the door,\" Mariko shouts, \"He's going to explode
|
||
the door!\"" CR>)>)
|
||
(4
|
||
<MOVE ,NINJA ,SECRET-REDOUBT>
|
||
<COND (<LOC ,NINJA-LEADER>
|
||
<MOVE ,NINJA-LEADER ,SECRET-REDOUBT>)>
|
||
<MOVE ,SECRET-REDOUBT-DOOR ,SECRET-REDOUBT>
|
||
<FSET ,SECRET-REDOUBT-DOOR ,OPENBIT>
|
||
<FSET ,SECRET-REDOUBT-DOOR ,RMUNGBIT>
|
||
<COND (<IN? ,MARIKO ,SECRET-REDOUBT>
|
||
<FSET ,MARIKO ,RMUNGBIT>
|
||
<FSET ,MARIKO ,SCOREBIT>
|
||
<MOVE ,ROSARY ,MARIKO>)>
|
||
<COND (<HERE? ,SECRET-REDOUBT>
|
||
<DEQUEUE I-LOAD-PISTOL>
|
||
<COND (<HELD? ,MARIKO>
|
||
<TELL CR
|
||
"Mariko pounds you on the shoulders. \"Let me go, Anjin-san! Let me...\"">
|
||
<TELL G"The explosion
|
||
blows you aside as the door wrenches loose from its hinges and blasts
|
||
into the room"><TELL ", killing you instantly." CR>
|
||
<JIGS-UP>
|
||
<RFATAL>)
|
||
(ELSE
|
||
<FSET ,BLACKTHORNE ,RMUNGBIT> ;"out of it"
|
||
<B-LIE-DOWN>
|
||
<COND (<IN? ,PISTOL ,BLACKTHORNE>
|
||
<MOVE ,PISTOL ,HERE>
|
||
<FSET ,PISTOL ,NDESCBIT>)>
|
||
<COND (<NOT <MARGINAL-PIC ,P-EXPLOSION <>
|
||
,P-EXPLOSION-CORNER>>
|
||
<CRLF>)>
|
||
<TELL
|
||
"Mariko presses back against the iron and calls out firmly, \"I, Toda
|
||
Mariko, protest this shameful attack and by my death --\"">
|
||
<TELL G" The explosion
|
||
blows you aside as the door wrenches loose from its hinges and blasts
|
||
into the room">
|
||
<TELL " and shrieks off a far wall. The detonation knocks you off
|
||
your feet. Smoke gushes into the room, the ninja
|
||
following instantly. The door comes to rest in a corner." CR>)>)
|
||
(<HERE? ,BALCONY>
|
||
<TELL CR
|
||
"There is a tremendous explosion in the redoubt, and smoke and debris
|
||
pour out onto the balcony." CR>)>)
|
||
(<COND (<AND <HERE? ,SECRET-REDOUBT>
|
||
<FSET? ,MARIKO ,RMUNGBIT>>
|
||
<TELL CR
|
||
"A ninja goes to his knees beside Mariko, seeing at once that
|
||
she is broken and dying fast." CR>)>)
|
||
(<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||
<FSET ,MARIKO ,DEAD>)>
|
||
<COND (<IN? ,NINJA <LOC ,ACHIKO>>
|
||
<FSET ,ACHIKO ,DEAD>
|
||
<COND (<HERE? <LOC ,ACHIKO>>
|
||
<TELL CR
|
||
"The ninja recognizes Achiko, draws his knife, and as she
|
||
charges him, knifes her in the left breast." CR>)
|
||
(ELSE
|
||
<TELL CR
|
||
"You hear a woman's scream, then all is silent." CR>)>)>)
|
||
(<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||
<REMOVE ,NINJA>
|
||
<FSET ,NINJA ,INVISIBLE>
|
||
<REMOVE ,NINJA-LEADER>
|
||
<DEQUEUE I-NINJA-COWED>
|
||
<COND (<HERE? ,SECRET-REDOUBT>
|
||
<TELL CR
|
||
"The ninja leader signals the retreat, and the ninja melt
|
||
away into the night." CR>)>)>)
|
||
(<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||
<MOVE ,YABU ,SECRET-REDOUBT>
|
||
<COND (<HERE? ,SECRET-REDOUBT>
|
||
<TELL CR
|
||
"Yabu comes into the room, his face ashen. He looks over, sees you
|
||
are still alive, and much of the anxiety leaves him. He looks at
|
||
Mariko, rasps an order, then rips off his kimono and covers her to
|
||
the neck." CR>)>)>)
|
||
(<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||
<COND (<HERE? ,SECRET-REDOUBT>
|
||
<TELL CR
|
||
"Your eyes clear for a moment and you see Yabu, his image twisting
|
||
drunkenly, then you see Mariko. You can't tell if she is alive or
|
||
dead." CR>)>)>)
|
||
(DELAY
|
||
<COND (<NOT <FSET? ,MARIKO ,RMUNGBIT>>
|
||
<RFALSE>)
|
||
(<G? ,DELAY-CNT 4>)
|
||
(<AND <FSET? ,MARIKO ,RMUNGBIT>
|
||
<FSET? ,MARIKO ,SCOREBIT>>
|
||
<RFALSE>)>)
|
||
(<TELL CR
|
||
"Your head seems to burst with red and purple light and you
|
||
collapse. Kind hands catch you and help you to the floor." CR>
|
||
<NEXT-SCENE>)>>
|
||
|
||
<ROUTINE ETSU-AFTER-F ()
|
||
<TELL
|
||
"On the balcony, Lady Etsu stands, supported by her maid. \"I, Maeda
|
||
Etsu,\" she says, her voice frail, \"attest that Toda Mariko-sama
|
||
cast away her life to save herself from dishonorable capture, and that
|
||
but for the barbarian samurai's bravery Lady Toda would have been
|
||
captured and dishonored. I accuse Lord General Ishido of mounting this
|
||
dishonorable attack. I ask you all to bear witness that I can no longer
|
||
live with this shame.\"|
|
||
|
|
||
She mounts painfully to the battlement. Everyone bows to her.|
|
||
|
|
||
\"I have told the truth. I attest to it by my death,\" she says. Then
|
||
she closes her eyes thankfully and lets herself fall forward to welcome
|
||
death." CR>>
|
||
|
||
<OBJECT ROSARY
|
||
(DESC "rosary")
|
||
(SYNONYM ROSARY CROSS)
|
||
(ADJECTIVE GOLD TINY GOLDEN)
|
||
(FLAGS TAKEBIT WEARBIT)
|
||
(ACTION ROSARY-F)>
|
||
|
||
<ROUTINE ROSARY-F ()
|
||
<COND (<VERB? TAKE>
|
||
<TELL
|
||
"You lift it gently from her chest. How, you wonder, could she be at
|
||
once samurai and Christian? How could she choose her own death to
|
||
aid her liege Lord, and at the same time pray to the Christian God
|
||
who abhors suicide? "I"Karma, neh?"" You did not need to understand
|
||
her, only to love her. You replace the rosary." CR>)>>
|
||
|
||
<END-SEGMENT>
|
||
|
||
<BEGIN-SEGMENT YOKOHAMA>
|
||
|
||
<CONSTANT J-GRAB-PISTOL 180>
|
||
|
||
<ROOM YOKOHAMA
|
||
(LOC ROOMS)
|
||
(SCENE S-YOKOHAMA)
|
||
(DESC "Yokohama")
|
||
(FDESC
|
||
"You recuperate for a few days, and then, to your surprise, your guards are
|
||
gone. You are taken down to the dock, where you are met by the Captain-General
|
||
of the Black Ship, Ferriera, and dell'Aqua, the Father-Visitor of the Jesuits.|
|
||
|
|
||
Dell'Aqua says, \"Pilot, I'm taking you to your galley. Are you all right?\"|
|
||
|
|
||
\"You're really letting me go? Why?\"|
|
||
|
|
||
\"Because the Lady Mariko asked us to protect you.\"|
|
||
|
|
||
\"But that's no reason! You wouldn't do that just because she asked you.\"|
|
||
|
|
||
\"I agree,\" Ferriera says. \"Eminence, why not tell him the whole truth?\"|
|
||
|
|
||
\"It doesn't make sense. You know I'm going to destroy you. I'll take your
|
||
Black Ship.\"|
|
||
|
|
||
Ferriera laughs scornfully. \"With what, Ingeles? You have no ship!\"")
|
||
(FLAGS OUTSIDE ONBIT SCOREBIT)
|
||
(SCORE 1)
|
||
(GLOBAL LG-ERASMUS LG-SEA)
|
||
(ACTION YOKOHAMA-F)>
|
||
|
||
<ROUTINE YOKOHAMA-F ("OPT" (RARG <>))
|
||
<COND (<RARG? SCENE-SETUP>
|
||
<DRESS-BLACKTHORNE>
|
||
<MOVE ,VINCK ,HERE>
|
||
<FSET ,VINCK ,OPENBIT>
|
||
<FSET ,VINCK ,SEARCHBIT>
|
||
<FSET ,VINCK ,CONTBIT>
|
||
<FCLEAR ,VINCK ,NDESCBIT>
|
||
<FCLEAR ,PISTOL ,NDESCBIT>
|
||
<QUEUE I-VINCK-NUTS -1>)
|
||
(<RARG? LOOK>
|
||
<TELL
|
||
"This is the harbor at Yokohama, the best harbor you have ever seen, a
|
||
beautiful protected anchorage. The burned hulk of the "I"Erasmus"" lies in the
|
||
shallows just off the beach. All around you are the grisly remains of the
|
||
heads of the guards who failed in their duty when the "I"Erasmus"" burned, more
|
||
than a hundred. Seabirds ravage and quarrel over the feast." CR>)
|
||
(<RARG? BEG>
|
||
<COND (<P? EXAMINE LG-ERASMUS>
|
||
<MARGINAL-PIC ,P-BURNED-ERASMUS>
|
||
<TELL
|
||
"You study the hulk of the ship. Naga has told you it happened at night,
|
||
during an earthquake and "I"tai-fun"". It had still been burning, there
|
||
in the shallows, on the next day. Now only the black gutted ribs rise out
|
||
of the sea." CR>)
|
||
(<P? (BOARD WALK-TO) LG-ERASMUS>
|
||
<TELL
|
||
"She's aground in twenty feet of water, and you have no boat." CR>)
|
||
(<P? TAKE PISTOL>
|
||
<COND (<FSET? ,VINCK ,DEAD>
|
||
<RFALSE>)
|
||
(ELSE
|
||
<PERFORM ,V?ATTACK ,VINCK>
|
||
<RTRUE>)>)
|
||
(<AND <P? BOW VINCK>
|
||
<NOT <FSET? ,VINCK ,DEAD>>>
|
||
<TELL
|
||
"\"You've become a sod-eating Jappo, Pilot! Look at you! You're damned
|
||
to hell like all these heathens!\"" CR>)
|
||
(<AND <NOT <FSET? ,VINCK ,DEAD>>
|
||
<HOSTILE-VERB?>
|
||
<PRSO? VINCK>>
|
||
<COND (<IN? ,PISTOL ,VINCK>
|
||
<COND (<JIGS-UP? ,J-GRAB-PISTOL
|
||
"You take another look at Vinck's mad eyes, and think better of it.">
|
||
<TELL
|
||
"You grab for Vinck's pistol, hoping that his madness will give you time
|
||
to get it before he fires, but you're wrong, he's fast, too fast! The
|
||
pistol fires, and you realize that you were ready for death, prepared, and
|
||
that it doesn't matter. You've lost Mariko, and lost the "I"Erasmus"", and it's
|
||
only "I"karma"", nothing to worry about." CR>
|
||
<JIGS-UP>)
|
||
(ELSE <RTRUE>)>)
|
||
(ELSE
|
||
<TELL
|
||
"You can hardly tell whether it's rage or a desire to snap him out of his
|
||
fit, but either way, it doesn't work." CR>)>)
|
||
(<AND <P? (MOVE BURY HELP TAKE) VINCK>
|
||
<FSET? ,VINCK ,DEAD>>
|
||
<MOVE ,VINCK ,WINNER>
|
||
<SCORE-OBJECT ,YOKOHAMA>
|
||
<MARGINAL-PIC ,P-VINCK <>>
|
||
<TELL
|
||
"You close his eyes and pick him up and sling him over your shoulder and
|
||
walk back. Samurai run toward you, Naga and Yabu at their head.|
|
||
|
|
||
\"What happened, Anjin-san?\"|
|
||
|
|
||
\"He went mad.\"" CR>
|
||
<NEXT-SCENE>)>)>>
|
||
|
||
<OBJECT HEADS
|
||
(LOC YOKOHAMA)
|
||
(DESC "severed heads")
|
||
(SYNONYM HEADS HEAD POLE POLES REMAINS)
|
||
(ADJECTIVE SEVERED GRISLY DEAD)
|
||
(FLAGS NDESCBIT)
|
||
(ACTION HEADS-F)>
|
||
|
||
<ROUTINE HEADS-F ()
|
||
<COND (<VERB? EXAMINE>
|
||
<TELL
|
||
"They have been here on the beach for several days. They are no better
|
||
for the experience." CR>)
|
||
(<OR <VERB? TAKE>
|
||
<HOSTILE-VERB?>>
|
||
<TELL
|
||
"You want to lash out, to destroy whoever burned the "I"Erasmus"", but
|
||
these men are beyond all revenge. You want to just take them away and
|
||
bury them. "I"Shigata ga nai, neh?" CR>)>>
|
||
|
||
<ROUTINE I-VINCK-NUTS ()
|
||
<ZLINES ,VINCK-CNT
|
||
(<TELL CR
|
||
"\"You should never have left her to them, Pilot! What are we going to do
|
||
now? How are we going to get home? You should have left her at Yedo safe,
|
||
an' us safe, with our eters.\" The whine in Vinck's voice irritates
|
||
you. Everything about him irritates you now. Three times in the last week you
|
||
have almost told your vassals to knife Vinck quietly and throw him overboard
|
||
to put him out of his misery. But you always curbed your temper and sought
|
||
out Yabu. Near Yabu, Vinck made no sound, petrified of him, and rightly." CR>)
|
||
(<TELL CR
|
||
"\"We're marooned with these piss eaters for the rest of our lives! Eh?\"" CR CR
|
||
"\"We're to grovel to these God-cursed heathens for the rest of our
|
||
muck-eating lives and how long'll that be when all they talk about's war war
|
||
war?\"" CR>)
|
||
(<TELL CR
|
||
"\"It's your fault! You said to come to the Japans and we come and how many
|
||
died coming here? You're to blame.\"" CR CR
|
||
"\"How're we going to get home? That's your God-cursed job, to get us
|
||
home! How you going to do that? Eh?\"|
|
||
|
|
||
\"Another of our ships'll get here, Johann. We've just got to wait,\" you
|
||
reply." CR>)
|
||
(<MOVE ,PISTOL ,VINCK>
|
||
<PUTP ,PISTOL ,P?OWNER ,VINCK>
|
||
<FCLEAR ,PISTOL ,RMUNGBIT>
|
||
<TELL CR
|
||
"\"Wait? Five muck-plagued years? Twenty?\" Vinck's mind snaps. \"They're going
|
||
to chop off our heads and stick them like those there and the birds'll eat
|
||
us ... \" A paroxysm of insane laughter shakes him and he reaches into his
|
||
shirt for his pistol. Vinck waves the pistol in your face." CR>)
|
||
(<FSET ,VINCK ,DEAD>
|
||
<TELL CR
|
||
"Vinck takes to his heels down the beach, the seabirds scudding into the air,
|
||
mewing and cawing out of his path. Vinck runs for a frantic hundred paces or
|
||
more, then collapses, ending up on his back, his legs still moving, arms
|
||
waving, mouthing obscenities. After a moment he turns on his belly with a
|
||
last shriek, facing you, and freezes." CR>)
|
||
(<CRLF>
|
||
<COND (<IN? ,PISTOL ,VINCK>
|
||
<TELL "The pistol is leveled at you, Vinck's">)
|
||
(ELSE
|
||
<TELL "His empty fist is pointed at you, his">)>
|
||
<FSET ,VINCK ,RMUNGBIT>
|
||
<TELL " eyes staring with demented antagonism,
|
||
the lips pulled back from his teeth. Vinck is dead." CR>)
|
||
(DELAY
|
||
<COND (<NOT <HELD? ,VINCK>>
|
||
<RFALSE>)>)
|
||
(<DEQUEUE I-VINCK-NUTS>
|
||
<RFALSE>)>>
|
||
|
||
<END-SEGMENT>
|
||
|
||
|
||
|
||
"S-AFTERMATH"
|
||
|
||
<BEGIN-SEGMENT AFTERMATH>
|
||
|
||
<ROOM STABLE
|
||
(LOC ROOMS)
|
||
(SCENE S-AFTERMATH)
|
||
(SCORE 3)
|
||
(AFTER NEVER-AFTER-F)
|
||
(FDESC
|
||
"Toranaga is checking the girths of his saddle. Deftly he knees the
|
||
horse in the belly, her stomach muscles relax, and he tightens the
|
||
strap another two notches. Rotten animal, he thinks, despising horses
|
||
for their constant trickeries and treacheries and ill-tempered
|
||
dangerousness. He waits a moment and knees the horse hard again. The
|
||
horse grunts and rattles her bridle and he tightens the straps completely.|
|
||
|
|
||
\"Good, Sire! Very good,\" the Hunt Master says with admiration. \"Many
|
||
would have been satisfied the first time.\"")
|
||
(DESC "Stable")
|
||
(SYNONYM STABLE)
|
||
(LDESC
|
||
"This is the stable area of the camp at Anjiro.")
|
||
(FLAGS ONBIT OUTSIDE)
|
||
(GLOBAL LG-SHIP LG-NINJA CELLAR-DOOR)
|
||
(ACTION STABLE-F)>
|
||
|
||
<ROUTINE STABLE-F (RARG)
|
||
<COND (<RARG? SCENE-SETUP>
|
||
<DRESS-BLACKTHORNE>
|
||
<FCLEAR ,LG-NINJA ,INVISIBLE>
|
||
<MOVE ,YABU ,HERE>
|
||
<MOVE ,OMI ,HERE>
|
||
<MOVE ,HIRO-MATSU ,HERE>
|
||
<MOVE ,TORANAGA ,HERE>
|
||
<THIS-IS-IT ,TORANAGA>
|
||
<QUEUE I-STABLE -1>)
|
||
(<RARG? BEG>
|
||
<COND (<EQUAL? ,AFTERMATH-QUESTION 4>
|
||
<COND (<P? TELL-ABOUT TORANAGA SEALED-SCROLL>
|
||
<BUILD-ANOTHER-SHIP>)
|
||
(<AND <P? MAKE LG-SHIP>
|
||
<TRY-QCONTEXT?>>
|
||
<RTRUE>)>)
|
||
(<EQUAL? ,AFTERMATH-QUESTION 1>
|
||
<COND (<P? TELL-ABOUT TORANAGA>
|
||
<COND (<PRSI? YABU PLAN>
|
||
<SETG WINNER ,TORANAGA>
|
||
<PERFORM ,V?NO>
|
||
<RTRUE>)
|
||
(ELSE
|
||
<TELL
|
||
G"Toranaga looks annoyed. \"Please answer the question, Anjin-san.\"" CR>)>)>)
|
||
(<EQUAL? ,AFTERMATH-QUESTION 2>
|
||
<COND (<P? TELL-ABOUT TORANAGA>
|
||
<COND (<PRSI? LG-NINJA>
|
||
<YABU-BETRAYED-YOU>)
|
||
(<PRSI? PLAN>
|
||
<TELL
|
||
"\"I don't care about that! What did he do? I'm not interested in talk,\"
|
||
replies Toranaga." CR>)
|
||
(ELSE
|
||
<TELL
|
||
G"Toranaga looks annoyed. \"Please answer the question, Anjin-san.\"" CR>)>)>)>)>>
|
||
|
||
<ROUTINE I-STABLE ()
|
||
<ZLINES ,STABLE-CNT
|
||
(<MOVE ,SEALED-SCROLL ,BLACKTHORNE>
|
||
<THIS-IS-IT ,SEALED-SCROLL>
|
||
<TELL CR
|
||
"\"Listen, Anjin-san, before Mariko-sama
|
||
left Yedo, she gave me this. Mariko-sama said if you live after Osaka --
|
||
if you live, understand -- she asked me to give this to you.\" Toranaga hands you a sealed scroll." CR>)
|
||
(DELAY
|
||
<COND (<FSET? ,SEALED-SCROLL ,SCOREBIT>
|
||
<TELL CR
|
||
"\"Please ">
|
||
<COND (<FSET? ,SEALED-SCROLL ,OPENBIT>
|
||
<TELL "read the message">)
|
||
(ELSE
|
||
<TELL "open the scroll">)>
|
||
<TELL ", Anjin-san.\"" CR>
|
||
<RTRUE>)>)
|
||
(<SETG AFTERMATH-QUESTION 4>
|
||
<SETG QCONTEXT ,TORANAGA>
|
||
<TELL CR
|
||
G"\"What did the message say, Anjin-san?\"" CR>)
|
||
(DELAY
|
||
<COND (<EQUAL? ,AFTERMATH-QUESTION 4>
|
||
<TELL CR
|
||
G"\"What did the message say, Anjin-san?\"" CR>
|
||
<RTRUE>)>)
|
||
(<TELL CR
|
||
"Toranaga turns to the watchers. \"So, Hiro-matsu-san, how's the training
|
||
of the musket regiment?\"|
|
||
|
|
||
Hiro-matsu scowls. \"I still think this is all dishonorable and
|
||
unnecessary. Soon we'll be able to forget it. We'll piss all over
|
||
Ishido without this
|
||
sort of treachery.\"" CR>)
|
||
(<SETG AFTERMATH-QUESTION 1>
|
||
<SETG QCONTEXT ,TORANAGA>
|
||
<THIS-IS-IT ,YABU>
|
||
<TELL CR
|
||
"Yabu says, \"Please excuse me, but without these guns, we'll lose. This
|
||
is a modern war, this way we've a chance to win.\" He looks back at
|
||
Toranaga. \"I heard in the night that Jikkyu's dead. My informant reports
|
||
he died two days ago. He's been sick for some time. Doesn't this open
|
||
up the southern route? We could slice into Ishido's underbelly!\"|
|
||
|
|
||
\"What did Jikkyu die of?\" asks Toranaga.|
|
||
|
|
||
\"Sickness, Sire.\"|
|
||
|
|
||
\"A five-hundred-koku sickness?\"|
|
||
|
|
||
Yabu laughs nervously, wondering how Toranaga could have breached his
|
||
security net. \"Yes, I would assume so. Cheap, "I"neh""? Five hundred
|
||
koku for the southern route.\"|
|
||
|
|
||
Hiro-matsu says stiffly to Toranaga, \"Please excuse me but I think
|
||
that's a disgusting story.\"|
|
||
|
|
||
\"Treachery's a weapon of war. Jikkyu was an enemy and a fool. Yabu-sama
|
||
has served me well. Here and at Osaka. "I"Neh"", Yabu-san?\"|
|
||
|
|
||
\"I always try to serve you loyally, Sire.\"|
|
||
|
|
||
\"Yes, it is true.\" Toranaga turns to you. \"Isn't it true, Anjin-san,
|
||
that Yabu served me loyally at Osaka?\"" CR>)
|
||
(DELAY
|
||
<COND (<EQUAL? ,AFTERMATH-QUESTION 1>
|
||
<COND (<G? ,DELAY-CNT 3>
|
||
<TORANAGA-LOSES-PATIENCE>
|
||
<RFATAL>)
|
||
(ELSE
|
||
<TELL CR
|
||
"\"Anjin-san, isn't it true that Yabu is my loyal vassal?,\" asks
|
||
Toranaga." CR>
|
||
<RTRUE>)>)>)
|
||
(<SETG AFTERMATH-QUESTION 2>
|
||
<THIS-IS-IT ,YABU>
|
||
<SETG QCONTEXT ,TORANAGA>
|
||
<TELL CR
|
||
"Calmly and genially, Toranaga asks \"What did Yabu do, then, to
|
||
betray me?\"" CR>)
|
||
(DELAY
|
||
<COND (<EQUAL? ,AFTERMATH-QUESTION 2>
|
||
<COND (<G? ,DELAY-CNT 3>
|
||
<TORANAGA-LOSES-PATIENCE>
|
||
<RFATAL>)
|
||
(ELSE
|
||
<TELL CR
|
||
"\"What did Yabu do, Anjin-san?\" asks Toranaga." CR>
|
||
<RTRUE>)>)>)
|
||
(<SETG AFTERMATH-QUESTION 3>
|
||
<THIS-IS-IT ,YABU>
|
||
<SETG QCONTEXT ,TORANAGA>
|
||
<TELL CR
|
||
"Toranaga, steel in his voice, but still very quiet, asks \"What did
|
||
he say to the ninja?\"" CR>)
|
||
(DELAY
|
||
<COND (<EQUAL? ,AFTERMATH-QUESTION 3>
|
||
<COND (<G? ,DELAY-CNT 3>
|
||
<TORANAGA-LOSES-PATIENCE>
|
||
<RFATAL>)
|
||
(ELSE
|
||
<TELL CR
|
||
"\"What did he say, Anjin-san?\" asks Toranaga." CR>
|
||
<RTRUE>)>)>)
|
||
(<MOVE ,OMI ,GENERIC-OBJECTS>
|
||
<MOVE ,YABU ,GENERIC-OBJECTS>
|
||
<MOVE ,BUNTARO ,GENERIC-OBJECTS>
|
||
<TELL CR
|
||
"\"Thank you, Anjin-san. You have confirmed what was said by a servant
|
||
who survived the attack. I wanted the word of a samurai as well.\"|
|
||
|
|
||
\"What am I accused of, Sire? Helping "I"ninja""? Ridiculous! What have
|
||
the fantasies of servants and barbarians to do with me? They're liars!\"|
|
||
|
|
||
\"Yabu-sama, did you do these things?\" Hiro-matsu asks.|
|
||
|
|
||
\"Of course not!\"|
|
||
|
|
||
Toranaga says, \"But I think you did, so all your lands are forfeit. Please
|
||
slit your belly today. Before noon. What arrangements do you
|
||
want made?\"|
|
||
|
|
||
\"Just some paper and ink and a brush for my will and death poem, and
|
||
two tatamis -- there's no reason to hurt my knees or to kneel in the
|
||
dirt like a stinking peasant. "I"Neh?""\" Yabu adds with bravado.|
|
||
|
|
||
Buntaro and a party of samurai warily lead Yabu away, looking from
|
||
one to the other with suppressed excitement." CR>)
|
||
(<MOVE ,PEDESTAL ,HERE>
|
||
<THIS-IS-IT ,YABU-HEAD>
|
||
<MOVE ,OMI ,HERE>
|
||
<TELL CR
|
||
"Just after noon, Omi returns and unwraps Yabu's head. \"Lord Kasigi
|
||
Yabu obeyed, Sire, just before noon.\" Toranaga inspects his enemy
|
||
as he has done ten thousand times before, wondering how his head would
|
||
look after death, viewed by his conqueror, and whether terror would
|
||
show, or agony or anger or horror or all of them or none of them. Or
|
||
dignity." CR>)
|
||
(<TELL CR
|
||
"\"Did he die well?\"|
|
||
|
|
||
\"The best I have ever seen, Sire.\" He pauses. \"Do you wish me to bury
|
||
it, or display it?\"|
|
||
|
|
||
\"Put it on a spear, facing the wreck of the Anjin-san's ship.\"|
|
||
|
|
||
\"Yes, Sire.\"|
|
||
|
|
||
\"What was his death poem?\"|
|
||
|
|
||
Omi says,|
|
||
\"'What are clouds|
|
||
But an excuse for the sky?|
|
||
What is life|
|
||
But an escape from death?'\"|
|
||
|
|
||
Toranaga smiles." CR>
|
||
<NEXT-SCENE>)>>
|
||
|
||
<ROUTINE TORANAGA-LOSES-PATIENCE ()
|
||
<TELL CR
|
||
"Toranaga loses his patience with you. \"The Anjin was probably a part of
|
||
the conspiracy! Take this barbarian away and
|
||
dispose of him. Then send the body to the "I"eta""!\"">
|
||
<JIGS-UP>>
|
||
|
||
<ROUTINE BUILD-ANOTHER-SHIP ()
|
||
<SETG AFTERMATH-QUESTION 0>
|
||
<SETG QCONTEXT <>>
|
||
<TELL
|
||
"\"Mariko-sama say this ship is not necessary. Say build new
|
||
ship. Say -- \"|
|
||
|
|
||
\"Ah! Possible? Possible? Anjin-san?\"|
|
||
|
|
||
\"Yes,\" you reply, \"Yes!\" And you think, by next year, a new ship,
|
||
a ship like her, trim and miniature like a Yoshitomo blade, and just
|
||
as dangerous. Next year she'll take the Black Ship, a prize twenty
|
||
times her own weight, like Mariko did at Osaka. \""I"The Lady"" will
|
||
be her name,\" you say aloud.|
|
||
|
|
||
Toranaga salutes you warmly, for the first time as an equal." CR>>
|
||
|
||
<ROUTINE AFTERMATH-ANSWERS ()
|
||
<COND (<EQUAL? ,AFTERMATH-QUESTION 4>
|
||
<COND (<P? MAKE LG-SHIP>
|
||
<BUILD-ANOTHER-SHIP>)>)
|
||
(<EQUAL? ,AFTERMATH-QUESTION 1>
|
||
<COND (<OR <VERB? NO IYE>
|
||
<AND <EQUAL? ,PRSS ,YABU>
|
||
<P? BETRAY YOU>
|
||
<PAST-TENSE?>>>
|
||
<SETG AFTERMATH-QUESTION 0>
|
||
<TELL
|
||
"\"No, Toranaga-sama, Yabu was not loyal to you at Osaka,\" you
|
||
reply. Yabu starts, but Toranaga merely nods." CR>)>)
|
||
(<EQUAL? ,AFTERMATH-QUESTION 2>
|
||
<COND (<YABU-LET-IN-NINJA?>
|
||
<YABU-BETRAYED-YOU>)>)
|
||
(<EQUAL? ,AFTERMATH-QUESTION 3>
|
||
<COND (<P? BE ME YABU>
|
||
<SETG AFTERMATH-QUESTION 0>
|
||
<FSET ,YABU ,SCOREBIT>
|
||
<TELL
|
||
"\"He said to them, 'I am Kasigi Yabu,' and they poured through
|
||
the door into the keep. I returned as fast as I could to protect
|
||
Mariko, Kiritsubo and the rest, knowing I would be killed if I
|
||
tried to fight them there.\"" CR>
|
||
<SCORE-OBJECT ,YABU>)>)>>
|
||
|
||
<ROUTINE YABU-BETRAYED-YOU ()
|
||
<SETG AFTERMATH-QUESTION 0>
|
||
<TELL
|
||
"\"Yabu betrayed you, Sire. I followed him to the cellars of the
|
||
keep where he let in a force of "I"ninja"".\" Yabu is turning red
|
||
with barely suppressed rage." CR>
|
||
<SCORE-OBJECT ,TRAITOR>>
|
||
|
||
<ROUTINE YABU-LET-IN-NINJA? ()
|
||
<COND (<EQUAL? ,PRSS ,YABU>
|
||
<COND (<P? LET-IN LG-NINJA> <RTRUE>)
|
||
(<AND <P? SEND LG-NINJA>
|
||
<PAST-TENSE?>>
|
||
<RTRUE>)
|
||
(<AND <P? (OPEN UNLOCK) CELLAR-DOOR>
|
||
<PAST-TENSE?>>
|
||
<RTRUE>)
|
||
(<AND <P? (KILL BETRAY) MARIKO>
|
||
<PAST-TENSE?>>
|
||
<RTRUE>)>)
|
||
(<NOT ,PRSS>
|
||
<COND (<P? TELL-ABOUT TORANAGA LG-NINJA>
|
||
<RTRUE>)>)>>
|
||
|
||
<GLOBAL AFTERMATH-QUESTION <>>
|
||
|
||
<OBJECT SEALED-SCROLL
|
||
(SDESC "sealed scroll")
|
||
(OWNER MARIKO)
|
||
(SCENE S-AFTERMATH)
|
||
(SYNONYM SCROLL LETTER MESSAGE SEAL)
|
||
(ADJECTIVE SEALED RICE-PAPER)
|
||
(FLAGS CONTBIT SEARCHBIT TAKEBIT READBIT SCOREBIT OPENABLE)
|
||
(ACTION SEALED-SCROLL-F)>
|
||
|
||
<ROUTINE SEALED-SCROLL-F ()
|
||
<COND (<VERB? EXAMINE>
|
||
<TELL "It's a rice-paper scroll." CR>)
|
||
(<VERB? READ>
|
||
<COND (<NOT <HELD? ,PRSO>>
|
||
<NOT-HOLDING ,PRSO>)
|
||
(<FSET? ,PRSO ,OPENBIT>
|
||
<TELL
|
||
"Mariko has written in Latin \"Thou. I love thee. If this is read by
|
||
thee then I am dead in Osaka and perhaps, because of me, thy ship
|
||
is dead too. I may sacrifice this most prized part of thy life because
|
||
of my Faith, to safeguard my Church, but more to save thy life which is
|
||
more precious to me than everything -- even the interest of my Lord
|
||
Toranaga. It may come to a choice, my love: thee or thy ship. So sorry,
|
||
but I choose life for thee. This ship is doomed anyway -- with or
|
||
without thee. I will concede thy ship to thine enemy so that thou may
|
||
live. This ship is nothing. "I"Build another."" I believe Lord Toranaga
|
||
will give thee all the craftsmen and carpenters necessary. Build another
|
||
ship and build another life, my love. Forgive me -- but thy life is
|
||
all important. I love thee.\"" CR>
|
||
<SCORE-OBJECT ,SEALED-SCROLL>)
|
||
(ELSE
|
||
<YOULL-HAVE-TO "break the seal">)>)
|
||
(<P? (SHOW GIVE) * TORANAGA>
|
||
<COND (<FSET? ,PRSO ,OPENBIT>
|
||
<TELL
|
||
"The message is written in Latin. It's gibberish to him." CR>)
|
||
(ELSE
|
||
<TELL
|
||
"He has already seen the scroll. He gave it to you, didn't he?" CR>)>)
|
||
(<AND <VERB? MUNG OPEN TEAR>
|
||
<NOUN-USED? ,PRSO ,W?SEAL>>
|
||
<COND (<NOT <HELD? ,PRSO>>
|
||
<NOT-HOLDING ,PRSO>)
|
||
(<NOT <FSET? ,PRSO ,OPENBIT>>
|
||
<FSET ,PRSO ,OPENBIT>
|
||
<NEW-SDESC ,SEALED-SCROLL "scroll">
|
||
<TELL
|
||
"You break the seal and open the scroll." CR>)
|
||
(ELSE
|
||
<TELL G"It already is." CR>)>)>>
|
||
|
||
<OBJECT PEDESTAL
|
||
(DESC "pedestal")
|
||
(SCENE S-AFTERMATH)
|
||
(SYNONYM PEDESTAL SPIKE)
|
||
(ADJECTIVE SMALL)
|
||
(FLAGS OPENBIT CONTBIT SEARCHBIT TAKEBIT)
|
||
(ACTION YABU-HEAD-F)>
|
||
|
||
<OBJECT YABU-HEAD
|
||
(LOC PEDESTAL)
|
||
(DESC "head")
|
||
(SCENE S-AFTERMATH)
|
||
(OWNER YABU)
|
||
(SYNONYM HEAD MASK)
|
||
(ADJECTIVE DEATH)
|
||
(FLAGS PERSON DEAD TAKEBIT)
|
||
(ACTION YABU-HEAD-F)>
|
||
|
||
<ROUTINE YABU-HEAD-F ()
|
||
<COND (<VERB? EXAMINE>
|
||
<TELL
|
||
"Yabu's death mask shows only berserk wrath, the lips pulled back
|
||
into a ferocious challenge. The head has been freshly washed, the
|
||
hair groomed, and it is stuck
|
||
on the spike of a small pedestal that is customarily used for the
|
||
viewing." CR>)
|
||
(<VERB? TAKE>
|
||
<TELL
|
||
"You pick up the head and its pedestal, at once fascinated and
|
||
repelled. You replace it carefully, thinking it was Yabu's "I"karma"" to
|
||
end this way." CR>)>>
|
||
|
||
<ROUTINE NEVER-AFTER-F ()
|
||
<TELL
|
||
"Before long, you and a hundred samurai are working to raise the keel
|
||
of the "I"Erasmus"". One day, you notice Father Alvito standing on a
|
||
dune overlooking the beach. You join him.|
|
||
|
|
||
\"You really believe you can float the hulk?\" he asks. \"No matter. It
|
||
will all be a waste, all that labor.\"|
|
||
|
|
||
\"There'll be another 'Act of God?' Another sabotage? Then I'll build
|
||
another, and if that fails, another. I'll get back to England and then
|
||
I'm coming back, with a privateer!\"|
|
||
|
|
||
\"Yes. I know. That's why you will never leave. You know too much,
|
||
Anjin-san. You're a fine adversary, one to respect. Surely we can have
|
||
a truce, and make peace. I ask it because of Mariko-sama.\"|
|
||
|
|
||
\"I'll offer you a truce, not peace. In her memory.\"" CR>>
|
||
|
||
<END-SEGMENT>
|
||
|
||
|
||
|
||
"S-EPILOGUE"
|
||
|
||
<BEGIN-SEGMENT SEKIGAHARA>
|
||
|
||
<ROOM SEKIGAHARA
|
||
(LOC ROOMS)
|
||
(SCENE S-EPILOGUE)
|
||
(DESC "Sekigahara")
|
||
(FLAGS ONBIT)
|
||
(SCORE 0)
|
||
(ACTION SEKIGAHARA-F)>
|
||
|
||
<ROUTINE SEKIGAHARA-F ("OPT" (RARG <>) "AUX" LEFT WIDE Y)
|
||
<COND (<RARG? ENTER>
|
||
<SET LEFT <WINGET ,S-TEXT ,WLEFT>>
|
||
<SET WIDE <WINGET ,S-TEXT ,WWIDE>>
|
||
<PICINF ,P-CREST ,YX-TBL>
|
||
<WINDEF 4
|
||
<WINGET ,S-TEXT ,WTOP> .LEFT
|
||
<+ <GET ,YX-TBL 0> <* 2 ,FONT-Y>> .WIDE>
|
||
<SCREEN 4>
|
||
<CLEAR 4>
|
||
<CENTER-PIC ,P-CREST>
|
||
<SET Y <+ <WINGET 4 ,WHIGH> <WINGET 4 ,WTOP>>>
|
||
<WINDEF ,S-TEXT .Y .LEFT <- <LOWCORE VWRD> .Y 1> .WIDE>
|
||
<SCREEN ,S-TEXT>
|
||
<RTRUE>)
|
||
(<RARG? LOOK>
|
||
<TELL
|
||
"That year, at dawn on the twenty-first day of the tenth month, the
|
||
Month without Gods, the main armies clashed. It was in the mountains
|
||
near Sekigahara, astride the North Road, the weather foul -- fog, then
|
||
sleet. By late afternoon Toranaga had won the battle and the slaughter
|
||
began. Forty thousand heads were taken.|
|
||
|
|
||
Three days later Ishido was captured alive and Toranaga genially
|
||
reminded him of the prophecy and sent him in chains to Osaka for
|
||
public viewing, ordering the "I"eta"" to plant the General Lord Ishido's
|
||
feet firm in the earth, with only his head outside the earth, and to
|
||
invite passersby to saw at the most famous neck in the realm with a
|
||
bamboo saw. Ishido lingered three days and died very old." CR CR>
|
||
<TYPE-ANY-KEY>
|
||
<RESET-MARGIN>
|
||
<CLEAR ,S-TEXT>
|
||
<FINISH T>)>>
|
||
|
||
<END-SEGMENT>
|