mirror of
https://github.com/He4eT/yet-another-experiment.git
synced 2026-05-05 00:57:22 +00:00
Lockers with keypad
This commit is contained in:
parent
729e203744
commit
9b9de07dae
4 changed files with 85 additions and 6 deletions
14
experiment.t
14
experiment.t
|
|
@ -41,8 +41,16 @@ gameMain: GameMainDef
|
|||
";}
|
||||
;
|
||||
|
||||
/* */
|
||||
|
||||
#include "src/actor/pc.t"
|
||||
#include "src/action/repair.t"
|
||||
|
||||
#include "src/item/_bandage.t"
|
||||
#include "src/item/whitePanels.t"
|
||||
|
||||
/* rooms */
|
||||
|
||||
#include "src/room/orangeRoom.t"
|
||||
#include "src/room/orangeBathroom.t"
|
||||
#include "src/item/dentalFloss.t"
|
||||
|
|
@ -55,12 +63,8 @@ gameMain: GameMainDef
|
|||
|
||||
#include "src/room/pinkRoom.t"
|
||||
#include "src/item/labCoat.t"
|
||||
#include "src/item/lockers.t"
|
||||
|
||||
#include "src/room/redRoom.t"
|
||||
#include "src/item/dataCable.t"
|
||||
#include "src/actor/surgeryAssistant.t"
|
||||
|
||||
#include "src/action/repair.t"
|
||||
#include "src/item/_bandage.t"
|
||||
|
||||
#include "src/actor/pc.t"
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ surgeryAssistant: Person
|
|||
tCrew: Topic 'crew/team';
|
||||
++ AskTopic [tCrew]
|
||||
" <q>The team on this floor consists of three people.\b
|
||||
The first is Dr. O'neill, the surgeon.
|
||||
The first is Dr. O'Neill, the surgeon.
|
||||
<br>The second is Alice Dash, the technician is
|
||||
responsible for all the equipment on this floor.
|
||||
<br>The third is Mark Hopper, the orderly and janitor.</q>"
|
||||
|
|
|
|||
66
src/item/lockers.t
Normal file
66
src/item/lockers.t
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
lockers: Fixture
|
||||
'lockers'
|
||||
'lockers'
|
||||
@pinkRoom
|
||||
" A row of service lockers with a numpad keyboard on the side.
|
||||
<br>This row, according to the signs,
|
||||
includes (from left to right) the lockers of
|
||||
Dr. O'Neill, Alice, and Mark. "
|
||||
;
|
||||
|
||||
modify VerbRule(SetTo)
|
||||
('press' | 'input') singleLiteral ('on' | 'with') singleDobj
|
||||
: /* empty */
|
||||
;
|
||||
|
||||
+ numpad: Dial, Component
|
||||
'numpad/keyboard/keypad'
|
||||
'numpad keyboard'
|
||||
" An electronic device with a numeric keypad
|
||||
and a small 4-digit display.
|
||||
<br>Apparently, you can type passcode
|
||||
on this keyboard to open any locker. "
|
||||
|
||||
makeSetting(val) {
|
||||
curSetting = val is in (aliceLocker.code)
|
||||
? val
|
||||
: '0';
|
||||
}
|
||||
|
||||
dobjFor(TypeLiteralOn)
|
||||
remapTo(SetTo, self, OtherObject)
|
||||
|
||||
dobjFor(SetTo) {
|
||||
action () {
|
||||
inherited;
|
||||
if (curSetting == aliceLocker.code) {
|
||||
aliceLocker.makeLocked(nil);
|
||||
aliceLocker.makeOpen(true);
|
||||
"The middle drawer opened with a click. ";
|
||||
} else {
|
||||
" You heard an annoying sound and
|
||||
a red light flashed on the keypad. ";
|
||||
}
|
||||
}
|
||||
}
|
||||
;
|
||||
|
||||
+ drLocker: IndirectLockable, LockableContainer, Component
|
||||
'left locker'
|
||||
'left locker'
|
||||
"The sign reads <q>Dr. O'Neill</q>.\b"
|
||||
;
|
||||
|
||||
+ markLocker: IndirectLockable, LockableContainer, Component
|
||||
'right locker'
|
||||
'right locker'
|
||||
" The sign reads <q>Mark Hopper</q>.
|
||||
<br>There's a huge dent in the side.\b"
|
||||
;
|
||||
|
||||
+ aliceLocker: IndirectLockable, LockableContainer, Component
|
||||
'middle central locker'
|
||||
'middle locker'
|
||||
"The sign reads <q>Alice Dash</q>.\b"
|
||||
code = '1984'
|
||||
;
|
||||
9
test/gotoPinkRoom
Normal file
9
test/gotoPinkRoom
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
>turn on the light
|
||||
>w
|
||||
>open locker
|
||||
>take floss
|
||||
>e
|
||||
>s
|
||||
>s
|
||||
>take tape
|
||||
>w
|
||||
Loading…
Add table
Add a link
Reference in a new issue