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"
|
#include "src/item/whitePanels.t"
|
||||||
|
|
||||||
|
/* rooms */
|
||||||
|
|
||||||
#include "src/room/orangeRoom.t"
|
#include "src/room/orangeRoom.t"
|
||||||
#include "src/room/orangeBathroom.t"
|
#include "src/room/orangeBathroom.t"
|
||||||
#include "src/item/dentalFloss.t"
|
#include "src/item/dentalFloss.t"
|
||||||
|
|
@ -55,12 +63,8 @@ gameMain: GameMainDef
|
||||||
|
|
||||||
#include "src/room/pinkRoom.t"
|
#include "src/room/pinkRoom.t"
|
||||||
#include "src/item/labCoat.t"
|
#include "src/item/labCoat.t"
|
||||||
|
#include "src/item/lockers.t"
|
||||||
|
|
||||||
#include "src/room/redRoom.t"
|
#include "src/room/redRoom.t"
|
||||||
#include "src/item/dataCable.t"
|
#include "src/item/dataCable.t"
|
||||||
#include "src/actor/surgeryAssistant.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';
|
tCrew: Topic 'crew/team';
|
||||||
++ AskTopic [tCrew]
|
++ AskTopic [tCrew]
|
||||||
" <q>The team on this floor consists of three people.\b
|
" <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
|
<br>The second is Alice Dash, the technician is
|
||||||
responsible for all the equipment on this floor.
|
responsible for all the equipment on this floor.
|
||||||
<br>The third is Mark Hopper, the orderly and janitor.</q>"
|
<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