!% +language_name=Swedish
!% -s~S
! !% -sSD ! Dessa ar de flaggor som bor anvandas tillsammans med konstanten TEST_VERSION
! Denna kallkod ar avsedd att kompileras med Inform 6.31, bibliotek 6/11, Swedish Inform v1.5.
! ------------------------------------------------------------------------------
! Aventyr - Ett klassiskt spel och ett typexempel pa spel i Inform 6
!
! Oversatt fran engelska Advent.inf, Serial 060321, release 9
! ------------------------------------------------------------------------------
Include "SweAlpha";
! Constant TEST_VERSION;
Constant Story "AVENTYR";
Constant Headline
"^Det Interaktiva Originalet^
Av Will Crowther (1976) och Don Woods (1977)^
Rekonstruerat i tre steg av:^
Donald Ekman, David M. Baggett (1993) och Graham Nelson (1994)^
Release 9 av den engelska versionen oversatt till svenska av Fredrik Ramsberg (2007)^
[In memoriam Stephen Bishop (1820?-1857): GN]^^";
Serial "071029";
Release 1;
! Aventyrs IFID -- see
http://babel.ifarchive.org/
Array UUID_ARRAY string "UUID://78B5816F-2F79-CE0B-633D-6D95EC06154E//"; #Ifdef UUID_ARRAY; #Endif;
Constant MANUAL_PRONOUNS;
Constant AMUSING_PROVIDED;
Constant MAX_CARRIED = 7;
Constant MAX_SCORE = 350;
Constant MAX_TREASURES = 15;
#Ifdef TEST_VERSION; !!!
! Sist i koden byts random ut mot en version som kan ge forutsagbara resultat
Replace random; !!!
#Endif; !!!
Include "Parser";
Include "VerbLib";
Include "SweRout";
Attribute nodwarf; ! Dvargar kan inte ga till detta rum
Attribute treasure_found; ! Skatt-objekt har hittats
Attribute multitude; ! Anvands endast av RAKNA
Global caves_closed; ! Har vardet true nar grottan stangs
Global canyon_from; ! Ravin att atervanda till
Global treasures_found; ! Antal hittade skatter
Global deaths; ! Antal dodsfall/ateruppvackningar
Global dark_warning; ! Har vardet true efter varning om morka hal
Global feefie_count; ! fee/fie/foe/foo sekvens
! ------------------------------------------------------------------------------
! Regler for skatter som ska spridas over hela spelet
! ------------------------------------------------------------------------------
Class Treasure
with after [;
Take:
if (location == Inside_Building)
score = score - self.depositpoints;
score = score + 5;
if (noun hasnt treasure_found) {
give noun treasure_found;
treasures_found++;
score = score + 2;
}
SetGender(self); ! Se till att objektet har ett genus
if(self has pluralname)
"Tagna!";
if(self has neuter)
"Taget!";
"Tagen!";
Insert:
score = score - 5; ! (in case put inside the wicker cage)
Drop:
score = score - 5;
if (location == Inside_Building) {
score = score + self.depositpoints;
SetGender(self); ! Se till att objektet har ett genus
print "Deponera";
if(self has pluralname)
print "de";
else if(self has neuter)
print "t";
else
print "d";
" i sakert forvar.";
}
],
depositpoints 10;
! ------------------------------------------------------------------------------
! Utomhusvarlden
! ------------------------------------------------------------------------------
Class Room;
Class Aboveground
class Room
has light nodwarf;
Class Scenic
has scenery;
Aboveground At_End_Of_Road "Vid slutet av en vag"
with teleport_to
'kulle' 'kullen' At_Hill_In_Road
'byggnad' 'byggnaden' 'hus' 'huset' 'brunnshus' 'tegelbyggnad' Inside_Building
'nedstroms' 'nerstroms' 'kanjon' 'kanjonen' 'back' 'backen' 'dal' 'dalen' 'dalgang' 'dalgangen' In_A_Valley
'skog' 'skogen' In_Forest_1
'galler' 'gallret' 'stalgaller' 'stalgallret' 'grop' 'gropen' Outside_Grate,
description
"Du star vid slutet av en vag framfor en liten tegelbyggnad.
Runt dig ar en skog.
En back rinner ut ur byggnaden och fortsatter ner i en dalgang.",
w_to At_Hill_In_Road,
u_to At_Hill_In_Road,
e_to Inside_Building,
d_to In_A_Valley,
s_to In_A_Valley,
n_to In_Forest_1,
in_to Inside_Building;
Scenic "brunnshus"
with name 'brunnshus' 'brunnshuset' 'hus' 'huset' 'tegelbyggnad'
'tegelbyggnaden' 'byggnad' 'byggnaden' 'liten' 'litet' 'lilla',
short_name_def "brunnshuset",
description "Det ar en liten tegelbyggnad. Det verkar vara ett brunnshus.",
found_in At_End_Of_Road At_Hill_In_Road Inside_Building,
before [;
Enter:
if (location == At_Hill_In_Road && Inside_Building hasnt visited)
"Det ar for langt bort.";
<<Teleport Inside_Building>>;
],
has neuter;
Scenic Stream "back"
with name 'back' 'backen' 'vatten' 'vattnet' 'a//' 'an' 'flod' 'floden'
'sjo' 'sjon' 'liten' 'litet' 'lilla' 'plaskande' 'strommande'
'reservoar' 'reservoaren' 'fors' 'forsen',
short_name_def "backen",
found_in At_End_Of_Road In_A_Valley At_Slit_In_Streambed In_Pit
In_Cavern_With_Waterfall At_Reservoir Inside_Building,
before [;
Drink:
"Du drack fran backen.
Vattnet smakar starkt av mineraler, men ar inte alls oangenamt.
Det ar extremt kallt.";
Take:
if (bottle notin player)
"Du har inget att bara vattnet i.";
<<Fill bottle>>;
Insert:
if (second == bottle) <<Fill bottle>>;
"Du har inget att bara vattnet i.";
Receive:
if (noun == ming_vase) {
remove ming_vase;
move shards to location;
score = score - 5;
"Den plotsliga temperaturvaxlingen sprackte elegant vasen.";
}
if (noun == bottle) <<Fill bottle>>;
remove noun;
if (noun ofclass Treasure) score = score - 5;
"Backen skoljer bort ", (the) noun, ".";
];
Scenic "vag"
with name 'vag' 'vagen' 'gata' 'gatan' 'stig' 'stigen' 'grus' 'gruset' 'grusvag' 'grusvagen',
description "Det ar en grusvag, ingen paradgata direkt.",
short_name_def "vagen",
found_in At_End_Of_Road At_Hill_In_Road In_Forest_2;
Scenic "skog"
! Tvingades dela upp name-arrayen i tva delar for att den blev for stor.
! Lade till en parse_name som tar hansyn till bada arrayerna
with name 'skog' 'skogen' 'trad' 'traden' 'tradet' 'ek' 'eken' 'ekar' 'ekarna'
'asp' 'aspen' 'aspar' 'asparna' 'dunge' 'dungen' 'dungar' 'dungarna'
'tall' 'tallen' 'tallar' 'tallarna' 'sma' 'lilla' 'gran' 'granen' 'granar' 'granarna',
name2 'bjork' 'bjorken' 'bjorkar' 'bjorkarna' 'ask' 'asken' 'askar' 'askarna'
'skott' 'skotten' 'skottet' 'buske' 'busken' 'buskar' 'buskarna'
'lov' 'loven' 'barbuske' 'barbusken' 'barbuskar' 'barbuskarna'
'smagran' 'smagranen' 'smagranar' 'smagranarna',
parse_name [ wd num;
wd = NextWord();
while (WordInProperty(wd, self, name) || WordInProperty(wd, self, name2)) {
num++;
wd = NextWord();
}
return num;
],
short_name_def "skogen",
description
"Skogen bestar mest av stora ekar och aspar,
med en och annan dunge med tall eller gran.
Det finns en hel del undervegetation,
mestadels skott av bjork och asp samt olika typer av buskar.
Vid den har tiden pa aret ar sikten ganska begransad av alla lov,
men det ar latt att forflytta sig om man bara rundar smagranarna och barbuskarna.",
found_in At_End_Of_Road At_Hill_In_Road In_A_Valley In_Forest_1 In_Forest_2,
has multitude;
! ------------------------------------------------------------------------------
Aboveground At_Hill_In_Road "Pa en kulle pa vagen"
with teleport_to
'vag' 'vagen' 'kulle' 'kullen' 'framat' 'fortsatt' At_End_Of_Road
'skog' 'skogen' In_Forest_1,
description
"Du har gatt uppfor en kulle i skogen.
Vagen leder tillbaka nerfor sluttningen pa andra sidan kullen.
Langre bort star en byggnad.",
e_to At_End_Of_Road,
n_to At_End_Of_Road,
d_to At_End_Of_Road,
s_to In_Forest_1;
Scenic -> "kulle"
with name 'kulle' 'kullen' 'hojd' 'hojden' 'kron' 'kronet' 'sluttning' 'sluttningen',
short_name_def "kullen",
description "Det ar bara en vanlig kulle.";
Scenic -> "andra sidan kullen"
with name 'andra' 'sidan' 'av' 'kullen',
short_name_def "andra sidan kullen",
articles "den",
description "Varfor inte ga och se efter sjalv?",
has def_article;
! ------------------------------------------------------------------------------
Aboveground Inside_Building "Inuti byggnad"
with teleport_to
'utsidan' At_End_Of_Road,
description
"Du ar i en byggnad, ett brunnshus for en stor kalla.",
cant_go
"Vattnet rinner ut genom ett par avloppsror, ca 30 centimeter i diameter.
Den enda utgangen ar at vast.",
before [;
Enter:
if (noun == Spring or SewerPipes)
"Vattnet rinner ut genom ett par avloppsror, ca 30 centimeter i diameter.
Det vore klokt att anvanda dorroppningen i den vastra vaggen.";
Xyzzy:
if (In_Debris_Room hasnt visited) rfalse;
PlayerTo(In_Debris_Room);
rtrue;
Plugh:
if (At_Y2 hasnt visited) rfalse;
PlayerTo(At_Y2);
rtrue;
],
w_to At_End_Of_Road,
out_to At_End_Of_Road,
in_to "Roren ar for sma.";
Scenic -> Spring "kalla"
with name 'kalla' 'kallan' 'stor' 'stora',
short_name_def "kallan",
description
"Vattnet rinner ut genom ett par avloppsror, ca 30 centimeter i diameter.";
Scenic -> SewerPipes "avloppsror"
with name 'par' 'avloppsror' 'avloppsroren' 'avloppsroret' 'ror' 'roren' 'roret',
short_name_def "avloppsroren",
articles 0 0 "ett par",
description "For sma. Den enda utgangen ar at vast.",
has neuter pluralname;
Object -> set_of_keys "nyckelknippa"
with name 'nycklar' 'nycklarna' 'nyckel' 'nyckeln' 'nyckelknippa' 'nyckelknippan'
'knippa' 'knippan',
short_name_def "nyckelknippan",
description "Det ar bara en helt vanlig nyckelknippa.",
initial "Det ligger en nyckelknippa pa marken har.",
before [;
Count:
"Ett dussin nycklar eller sa.";
];
Object -> tasty_food "god mat"
with name 'mat' 'maten' 'portion' 'portionen' 'lacker' 'lackra' 'god' 'goda' 'jattegod' 'jattegoda',
short_name_def "goda maten",
articles "Den" "den" 0,
description "Ser verkligen gott ut!",
initial "Det finns god mat har.",
after [;
Eat:
"Jattegott!";
],
has edible;
Object -> brass_lantern "massingslampa"
with name 'lampa' 'lampan' 'lykta' 'lyktan' 'pannlampa' 'pannlampan'
'massingslykta' 'massingslyktan' 'massingslampa' 'massingslampan'
'massinglykta' 'massinglyktan' 'massinglampa' 'massinglampan'
'ljus' 'ljuset' 'blank' 'blanka' 'blankande' 'glansande',
short_name_def "massingslampan",
when_off "Det finns en blank massingslampa har.",
when_on [;
print "Din lampa ar har, och den ger ett ";
if (self.power_remaining < 30)
print "svagt";
else
print "starkt";
" ljus ifran sig.";
],
daemon [ t;
if (self hasnt on) {
StopDaemon(self);
rtrue;
}
t = --(self.power_remaining);
if (t == 0) give self ~on ~light;
if (self in player || self in location) {
if (t == 0) {
print "Din lampas batterier tar slut.";
if (fresh_batteries notin player && location hasnt light) {
deadflag = 3;
" Du kan inte utforska grottor utan lampa.
Darmed verkar ditt aventyr vara over.";
}
else
self.replace_batteries();
new_line;
rtrue;
}
if (t == 30) {
print "Skenet fran din lampa borjar bli svagare.";
if (fresh_batteries.have_been_used)
" Du har dessutom slut pa reservbatterier.
Det ar nog dags att tanka pa refrangen.";
if (fresh_batteries in VendingMachine && Dead_End_14 has visited)
" Det ar nog dags att tanka pa refrangen,
om du nu inte kan hitta nya batterier nagonstans.
Jag har for mig att det finns en varuautomat i labyrinten.
Ta med lite mynt.";
if (fresh_batteries notin VendingMachine or player or location)
" Det ar nog bast att du hamtar de dar batterierna.";
new_line;
rtrue;
}
}
],
before [;
Examine:
print "Det ar en blankade massingslampa";
if (self hasnt on) ". Den ar for tillfallet avstangd.";
if (self.power_remaining < 30) " som ger ifran sig ett svagt sken.";
" som ger ifran sig ett starkt sken.";
Burn:
<<SwitchOn self>>;
Rub:
"Att gnida den elektriska lampan ger inte sa mycket.
Inget speciellt hander i alla fall.";
SwitchOn:
if (self.power_remaining <= 0)
"Tyvarr verkar batterierna vara helt slut.";
Receive:
if (noun == old_batteries)
"De dar batterierna ar slut - de skulle inte gora nagon som helst nytta.";
if (noun == fresh_batteries) {
self.replace_batteries();
rtrue;
}
"Det enda du kan satta in i lampan ar ett par nya batterier.";
],
after [;
SwitchOn:
give self light;
StartDaemon(self);
SwitchOff:
give self ~light;
],
replace_batteries [;
if (fresh_batteries in player or location) {
remove fresh_batteries;
fresh_batteries.have_been_used = true;
move old_batteries to location;
self.power_remaining = 2500;
"Jag tar mig friheten att byta ut batterierna.";
}
],
power_remaining 330,
has switchable;
Object -> bottle "liten flaska"
with name 'flaska' 'flaskan' 'burk' 'burken' 'liten' 'lilla',
short_name_def "lilla flaskan",
initial "Det ligger en tom flaska har.",
before [;
LetGo:
if (noun in bottle)
"Du har redan ", (DenEllerHonom) noun, " (i flaskan).";
Receive:
if (noun == stream or Oil)
<<Fill self>>;
else
"Flaskan ar bara gjord for att innehalla vatskor.";
Fill:
if (child(bottle) ~= nothing)
"Flaskan ar redan full.";
if (stream in location || Spring in location) {
move water_in_the_bottle to bottle;
"Flaskan ar nu full av vatten.";
}
if (Oil in location) {
move oil_in_the_bottle to bottle;
"Flaskan ar nu full av olja.";
}
"Det finns inget att fylla flaskan med har.";
Empty:
if (child(bottle) == nothing)
"Flaskan ar redan tom!";
remove child(bottle);
"Din flaska ar nu tom och marken ar nu blot.";
],
has def_article container open;
Object water_in_the_bottle "vatten i flaskan"
with name 'vatten' 'vattnet' 'pa' 'i//' 'flaska' 'flaskan' 'flaskvatten' 'flaskvattnet' 'h2o',
short_name_def "vattnet i flaskan",
description "Jag tycker det ser ut som vanligt vatten.",
before [;
Drink:
remove water_in_the_bottle;
<<Drink Stream>>;
],
has proper neuter;
Object oil_in_the_bottle "olja i flaskan"
with name 'olja' 'oljan' 'pa' 'i//' 'flaska' 'flaskan'
'flaskolja' 'flaskoljan' 'smorjmedel' 'smorjmedlet' 'fett' 'fettet',
short_name_def "oljan i flaskan",
description "Jag tycker det ser ut som vanlig olja.",
before [;
Drink:
<<Drink Oil>>;
],
has proper;
! ------------------------------------------------------------------------------
Aboveground In_Forest_1 "I skogen"
with teleport_to
'dal' 'dalen' 'dalgang' 'dalgangen' In_A_Valley,
description "Du ar i en gles skog, med en djup dalgang pa ena sidan.",
e_to In_A_Valley,
d_to In_A_Valley,
n_to In_Forest_1,
w_to In_Forest_1,
s_to In_Forest_1,
initial [;
if (random(2) == 1) PlayerTo(In_Forest_2, 1);
];
Aboveground In_Forest_2 "I skogen"
with teleport_to
'kulle' 'kullen' 'vag' 'vagen' At_End_Of_Road
'dal' 'dalen' 'dalgang' 'dalgangen' In_A_Valley,
description "Du ar i en gles skog, nara bade en dalgang och en vag.",
n_to At_End_Of_Road,
e_to In_A_Valley,
w_to In_A_Valley,
d_to In_A_Valley,
s_to In_Forest_1;
Aboveground In_A_Valley "I en dalgang"
with teleport_to
'uppstroms' 'byggnad' 'byggnaden' 'hus' 'huset' 'brunnshus' 'tegelbyggnad' At_End_Of_Road
'skog' 'skogen' In_Forest_1
'nedstroms' 'nerstroms' At_Slit_In_Streambed
'grop' 'gropen' 'galler' 'gallret' 'stalgaller' 'stalgallret' Outside_Grate,
description
"Du ar i en dalgang i skogen, bredvid en back som forsar fram over en stenig botten.",
n_to At_End_Of_Road,
e_to In_Forest_1,
w_to In_Forest_1,
u_to In_Forest_1,
s_to At_Slit_In_Streambed,
d_to At_Slit_In_Streambed;
Scenic -> "botten"
with name 'stenig' 'steniga' 'botten' 'bottnen' 'backens'
'backfara' 'backfaran' 'fara' 'faran' 'backbotten' 'stenbotten' 'stenbottnen'
'kal' 'torr' 'torra' 'torkad' 'torkade' 'uttorkad' 'uttorkade' 'klippa' 'klippan',
short_name_def "bottnen";
! ------------------------------------------------------------------------------
Aboveground At_Slit_In_Streambed "Vid en spricka i botten"
with teleport_to
'byggnad' 'byggnaden' 'hus' 'huset' 'brunnshus' 'tegelbyggnad' At_End_Of_Road
'uppstroms' In_A_Valley
'skog' 'skogen' In_Forest_1
'nedstroms' 'nerstroms' 'torr' 'torra' 'klippa' 'klippan' 'backfara' 'backfaran'
'galler' 'gallret' 'stalgaller' 'stalgallret' 'grop' 'gropen' Outside_Grate,
description
"Vid dina fotter forsar allt vatten ner genom en fem centimeter bred spricka i klippan under.
Nedstroms bestar backfaran bara av torr klippa.",
n_to In_A_Valley,
e_to In_Forest_1,
w_to In_Forest_1,
s_to Outside_Grate,
d_to "Du kommer inte igenom en fem centimeter bred spricka!",
in_to "Du kommer inte igenom en fem centimeter bred spricka!";
Scenic -> "spricka"
with name 'spricka' 'sprickan' 'fem' 'cm' 'centimeter' 'halvdecimeter' 'bred',
short_name_def "sprickan",
description
"Det ar bara en spricka i klippan, och ner genom den rinner backen.",
before [;
Enter:
"Du kommer inte igenom en fem centimeter bred spricka!";
];
! ------------------------------------------------------------------------------
Aboveground Outside_Grate "Utanfor gallret"
with teleport_to
'byggnad' 'byggnaden' 'hus' 'huset' 'brunnshus' 'tegelbyggnad' At_End_Of_Road
'uppstroms' At_Slit_In_Streambed
'skog' 'skogen' In_Forest_1,
description
"Du star i en fem meter djup grop med bara jord till golv.
I jorden sitter ett starkt stalgaller infattat i betong.
En uttorkad backfara leder ner i gropen.",
e_to In_Forest_1,
w_to In_Forest_1,
s_to In_Forest_1,
n_to At_Slit_In_Streambed,
d_to [;
if (Grate hasnt locked && Grate hasnt open) {
print "(oppnar forst gallret)^";
give Grate open;
}
return Grate;
];
Scenic -> "fem meter djup grop"
with name 'grop' 'gropen' 'jord' 'jorden' 'jordig' 'fem' 'm//' 'meter' 'djup' 'djupa' 'grop' 'gropen',
short_name_def "fem meter djupa gropen",
description "Du star i den.",
has def_article;
Object -> Grate "stalgaller"
with name 'stal' 'stalet' 'av' 'galler' 'gallret' 'stalgaller' 'stalgallret'
'las' 'laset' 'metall' 'metallen' 'metallgaller' 'metallgallret' 'stark' 'starkt' 'starka'
'lucka' 'luckan' 'stallucka' 'stalluckan',
short_name_def "stalgallret",
description "Det ser bara ut som ett vanligt galler infattat i betong.",
with_key set_of_keys,
door_dir [;
if (location == Below_The_Grate) return u_to;
return d_to;
],
door_to [;
if (location == Below_The_Grate) return Outside_Grate;
return Below_The_Grate;
],
describe [;
if (self has open) "^Gallret ar oppet.";
if (self hasnt locked) "^Gallret ar olast men stangt.";
rtrue;
],
found_in Below_The_Grate Outside_Grate,
has neuter static door openable lockable locked;
! ------------------------------------------------------------------------------
! Facilis descensus Averno...
! ------------------------------------------------------------------------------
Room Below_The_Grate "Under gallret"
with teleport_to
'smasten' 'smastensgangen' 'lag' 'laga' 'gang' 'gangen' 'tunnel' 'tunneln' 'kryp' In_Cobble_Crawl
'litet' 'lilla' 'hal' 'halet' At_Top_Of_Small_Pit
'skrap' 'skrapet' 'skraprum' 'skraprummet' In_Debris_Room,
description
"Du ar i en liten kammare under ett meterbrett stalgaller upp mot ytan.
Vasterut kan du krypa in i en lag gang med smasten till golv.",
w_to In_Cobble_Crawl,
in_to In_Cobble_Crawl,
u_to Grate,
has light;
Scenic "smasten"
with name 'smasten' 'smastenen' 'smastenar' 'smastenarna' 'sten'
'stenen' 'stenar' 'stenarna' 'de' 'sma' 'lilla',
short_name_def "smastenen",
description "Det ar bara vanlig smasten.",
found_in In_Cobble_Crawl In_Debris_Room Below_The_Grate,
has multitude pluralname proper;
! ------------------------------------------------------------------------------
Room In_Cobble_Crawl "I smastensgangen"
with teleport_to
'ytan' 'yta' 'ingenstans' 'ingang' 'ingangen' Below_The_Grate
'litet' 'lilla' 'hal' 'halet' At_Top_Of_Small_Pit
'skrap' 'skrapet' 'skraprum' 'skraprummet' In_Debris_Room,
description
"Du kryper over smasten i en lag gang.
Det kommer in ett svagt ljus i gangens ostra ande.",
e_to Below_The_Grate,
out_to Below_The_Grate,
w_to In_Debris_Room,
in_to In_Debris_Room,
has light;
Object -> wicker_cage "flatad bur"
with name 'bur' 'buren' 'liten' 'lilla' 'flatad' 'flatade' 'av' 'vidja' 'vidjan' 'vidjor' 'vidjorna',
short_name_def "flatade buren",
description "Det ar en liten bur, flatad av vidjor.",
initial "En liten flatad bur ligger slangd i narheten.",
after [;
Open:
if (little_bird notin self) rfalse;
print "(slapper ut ", (the) little_bird, ")^";
<<Release little_bird>>;
],
has def_article container open openable transparent;
! ------------------------------------------------------------------------------
Room In_Debris_Room "I skraprummet"
with teleport_to
'ytan' 'yta' 'ingang' 'ingangen' Below_The_Grate
'smasten' 'smastensgangen' 'lag' 'laga' 'gang' 'gangen' 'tunnel' 'tunneln' 'kryp' In_Cobble_Crawl
'trang' 'tranga' 'ravin' 'ravinen' In_Awkward_Sloping_E_W_Canyon
'litet' 'lilla' 'hal' 'halet' At_Top_Of_Small_Pit,
description
"Du ar i ett skraprum fyllt med grejer som skoljts in fran ytan.
En lag bred gang med smasten blir har helt igensatt av gyttja och skrap,
men en trang ravin leder uppat och vasterut.
^^
Pa vaggen star antecknat: ~Magiskt ord XYZZY.~",
e_to In_Cobble_Crawl,
u_to In_Awkward_Sloping_E_W_Canyon,
in_to In_Awkward_Sloping_E_W_Canyon,
w_to In_Awkward_Sloping_E_W_Canyon,
before [;
Xyzzy:
PlayerTo(Inside_Building);
rtrue;
],
has nodwarf;
Scenic -> "skrap"
with name 'skrap' 'skrapet' 'grej' 'grejen' 'grejer' 'grejor' 'pryl' 'prylen' 'prylar'
'dy' 'dyn' 'gyttja' 'gyttjan',
short_name_def "skrapet",
description "Usch.",
has neuter proper;
Scenic -> "anteckning"
with name 'anteckning' 'anteckningen',
short_name_def "anteckningen",
description "Anteckningen lyder: ~Magiskt ord XYZZY~.";
Object -> black_rod "svart stav med en rostig stjarna i anden"
with name 'svart' 'svarta' 'stav' 'staven' 'med' 'en' 'den'
'rostig' 'rostiga' 'stjarna' 'stjarnan' 'jarnstjarna' 'jarnstjarnan'
'i//' 'anden' 'meterlang' 'meterlanga',
short_name_def "svarta staven med en rostig stjarna i anden",
description "Det ar en meterlang svart stav med en rostig stjarna i ena anden.",
initial
"En meterlang svart stav med en rostig stjarna i ena anden ligger i narheten.",
before [;
Wave:
if (location == West_Side_Of_Fissure or On_East_Bank_Of_Fissure) {
if (caves_closed) "Markligt. Inget hander.";
if (CrystalBridge notin nothing) {
remove CrystalBridge;
give CrystalBridge absent;
West_Side_Of_Fissure.e_to = nothing;
On_East_Bank_Of_Fissure.w_to = nothing;
"Kristallbron har forsvunnit!";
}
else {
move CrystalBridge to location;
give CrystalBridge ~absent;
West_Side_Of_Fissure.e_to = CrystalBridge;
On_East_Bank_Of_Fissure.w_to = CrystalBridge;
"En kristallbro spanner nu over gapet.";
}
}
"Inget hander.";
],
has def_article;
! ------------------------------------------------------------------------------
Room In_Awkward_Sloping_E_W_Canyon "Sluttande O/V-ravin"
with teleport_to
'ytan' 'yta' 'ingang' 'ingangen' Below_The_Grate
'skrap' 'skrapet' 'skraprum' 'skraprummet' In_Debris_Room
'litet' 'lilla' 'hal' 'halet' At_Top_Of_Small_Pit,
description "Du ar i en trang sluttande ost/vast-ravin.",
d_to In_Debris_Room,
e_to In_Debris_Room,
u_to In_Bird_Chamber,
w_to In_Bird_Chamber,
has nodwarf;
! ------------------------------------------------------------------------------
! Den lilla fageln i sitt naturliga habitat
! ------------------------------------------------------------------------------
Room In_Bird_Chamber "Oranga flodkammaren"
with teleport_to
'ytan' 'yta' 'ingang' 'ingangen' Below_The_Grate
'skrap' 'skrapet' 'skraprum' 'skraprummet' In_Debris_Room
'trang' 'tranga' 'ravin' 'ravinen' In_Awkward_Sloping_E_W_Canyon
'litet' 'lilla' 'hal' 'halet' 'bra' 'gang' 'gangen' At_Top_Of_Small_Pit,
description
"Du ar i en fantastisk kammare, tio meter hog.
Vaggarna ar frusna floder av orange sten.
En trang ravin och en bra gang leder ut fran ostra och vastra sidorna av kammaren.",
e_to In_Awkward_Sloping_E_W_Canyon,
w_to At_Top_Of_Small_Pit,
has nodwarf;
Object -> little_bird "liten fagel"
with name 'munter' 'muntra' 'glad' 'glada' 'sorgsen' 'sorgsna' 'ledsen' 'ledsna' 'lilla' 'liten' 'fagel' 'fageln',
short_name_def "lilla fageln",
initial "En munter liten fagel sitter och sjunger har.",
before [;
Examine:
if (self in wicker_cage)
"Den lilla fageln ser olycklig ut i buren.";
"Den muntra lilla fageln sitter har och sjunger.";
Insert:
if (second == wicker_cage)
<<Catch self>>;
else
"Satt inte fageln i ", (the) second, "!";
Drop, Remove:
if (self in wicker_cage) {
print "(Fageln slipper ut fran buren.)^^";
<<Release self>>;
}
Take, Catch:
if (self in wicker_cage)
"Du har redan den lilla fageln.
Om du tar ut den ur buren kommer den troligen flyga ivag fran dig.";
if (wicker_cage notin player)
"Du kan fanga fageln, men du kan inte bara den med dig.";
if (black_rod in player)
"Fageln var oradd nar du kom in,
men nar du narmar dig blir den stord och du kan inte fanga den.";
move self to wicker_cage;
give wicker_cage ~open;
"Du fangar fageln i den flatade buren.";
Release:
if (self notin wicker_cage)
"Fageln sitter inte i nagon bur.";
give wicker_cage open;
move self to location;
if (Snake in location) {
remove Snake;
"Den lilla fageln attackerar den grona ormen,
och forvanansvart snabbt tvingar den bort ormen.";
}
if (Dragon in location) {
remove self;
"Den lilla fageln attackerar den grona draken,
och forvanansvart snabbt branns den till en kolbit.
Askan blaser bort.";
}
"Den lilla fageln flaxar ut i friheten.";
],
life [;
Give:
"Den ar inte hungrig. (Den bara langtar efter fjordarna).
Dessutom misstanker jag att den skulle foredra fagelfro.";
Order, Ask, Answer:
"Kvitter! Kviddevitt!";
Attack:
if (self in wicker_cage)
"Nej, lamna den stackars olyckliga fageln i fred.";
remove self;
"Den lilla fageln ar nu dod. Dess kropp forsvinner.";
],
has def_article animate;
! ------------------------------------------------------------------------------
Room At_Top_Of_Small_Pit "Ovanfor ett litet hal"
with teleport_to
'ytan' 'yta' 'ingang' 'ingangen' Below_The_Grate
'skrap' 'skrapet' 'skraprum' 'skraprummet' In_Debris_Room
'gang' 'gangen' In_Bird_Chamber,
description
"Vid dina fotter finns ett litet hal som andas ut spar av vit dimma.
En vastlig gang slutar har foruom en liten spricka som fortsatter.
^^
Grova trappsteg av sten leder ner i halet.",
e_to In_Bird_Chamber,
w_to "Sprickan ar alltfor liten for att du ska kunna komma igenom den.",
d_to [;
if (large_gold_nugget in player) {
deadflag = 1;
"Du ar pa halets botten med en bruten nacke.";
}
return In_Hall_Of_Mists;
],
before [;
Enter:
if (noun == PitCrack)
"Sprickan ar alltfor liten for att du ska kunna komma igenom den.";
],
has nodwarf;
Scenic -> "litet hal"
with name 'litet' 'lilla' 'hal' 'halet',
short_name_def "lilla halet",
description "Halet andas ut spar av vit dimma.",
has def_article neuter;
Scenic -> PitCrack "spricka"
with name 'spricka' 'sprickan' 'liten' 'lilla' 'trang' 'tranga',
short_name_def "sprickan",
description "Sprickan ar valdigt liten -- alldeles for liten for att du ska kunna komma igenom den.";
Scenic "dimma"
with name 'dimma' 'dimman' 'anga' 'angan' 'vit' 'vita'
'sloja' 'slojan' 'slojor' 'slojorna' 'dimsloja' 'dimslojan' 'dimslojor' 'dimslojorna',
short_name_def "dimman",
description
"Dimma ar en vit anga, vanligen av vatten, som man ser ibland i grottor.
Den kan dyka upp var som helst men ar ofta ett tecken pa ett djupt hal som leder ner till vatten.",
found_in
At_Top_Of_Small_Pit In_Hall_Of_Mists On_East_Bank_Of_Fissure
At_Window_On_Pit_1 At_West_End_Of_Hall_Of_Mists In_Misty_Cavern
In_Mirror_Canyon At_Reservoir At_Window_On_Pit_2 On_Sw_Side_Of_Chasm;
! ------------------------------------------------------------------------------
! Grottorna oppnar sig: Dimmornas Sal
! ------------------------------------------------------------------------------
Room In_Hall_Of_Mists "I Dimmornas Sal"
with teleport_to
'vanster' In_Nugget_Of_Gold_Room
'framat' 'fortsatt' 'sal' 'salen' On_East_Bank_Of_Fissure
'trappa' 'trappan' 'stentrappa' 'bergakungens' 'sal' In_Hall_Of_Mt_King
'y2' At_Y2,
description
"Du ar i ena anden av en enorm sal som stracker sig framat sa langt ogat nar at vast.
Det finns oppningar at bada hallen.
En bred stentrappa leder nerat.
Salen ar fylld av vita dimslojor som svajar fram och tillbaka nastan som om de vore levande.
En kall vind blaser uppfor trappan.
Det finns en gang vid toppen av ett schakt bakom dig.
^^
Grova trappsteg av sten leder upp genom schaktet.",
initial [;
if (self has visited) rfalse;
score = score + 25;
],
s_to In_Nugget_Of_Gold_Room,
w_to On_East_Bank_Of_Fissure,
d_to In_Hall_Of_Mt_King,
n_to In_Hall_Of_Mt_King,
u_to [;
if (large_gold_nugget in player) "Du kan inte klattra upp pa kupolen.";
return At_Top_Of_Small_Pit;
];
Scenic -> "bred stentrappa"
with name 'bred' 'breda' 'trappa' 'trappan' 'stentrappa' 'stentrappan',
short_name_def "breda stentrappan",
description "Trappan leder nerat."
has def_article;
Scenic -> "grova trappsteg av sten"
with name 'grov' 'grovt' 'grova' 'steg' 'steget' 'stegen' 'trappsteg' 'trappsteget' 'trappstegen'
'av' 'sten' 'stentrappa' 'stentrappan' 'stentrappsteg' 'stentrappsteget' 'stentrappstegen',
short_name_def "grova trappstegen av sten",
articles "De" "de" 0,
description "De grova trappstegen leder upp genom schaktet.",
has def_article pluralname multitude;
Scenic -> "schakt"
with name 'schakt' 'schaktet',
short_name_def "schaktet",
before [;
Examine:
if (large_gold_nugget in player)
"Jag ar inte saker pa att du kan komma upp med det du har med dig.";
"Det ser ut som att du kanske kan klattra upp genom det.";
Climb:
MovePlayer(u_obj);
rtrue;
],
has neuter;
! ------------------------------------------------------------------------------
Room In_Nugget_Of_Gold_Room "Lagt rum"
with teleport_to
'sal' 'salen' 'dimmornas' In_Hall_Of_Mists,
description
"Det har ar ett lagt rum med ett meddelande slarvigt skrivet pa vaggen:
^^
~Du kommer inte fa upp den for trappan~.",
n_to In_Hall_Of_Mists,
out_to In_Hall_Of_Mists;
Scenic -> "meddelande"
with name 'meddelande' 'meddelandet' 'slarvigt' 'slarviga' 'skrivet' 'skrivna',
short_name_def "meddelandet",
description "Meddelandet lyder ~Du kommer inte fa upp den for trappan~.",
has neuter;
Treasure -> large_gold_nugget "stor guldklimp"
with name 'guld' 'guldet' 'klimp' 'klimpen' 'guldklimp' 'guldklimpen'
'stor' 'stora' 'tung' 'tunga',
short_name_def "stora guldklimpen",
description "Det ar en stor glimmande guldklimp!",
initial "Det ligger en stor glimmande guldklimp har!"
has def_article;
! ------------------------------------------------------------------------------
Class FissureRoom
class Room
with before [;
Jump:
if (CrystalBridge hasnt absent)
"Jag vill nog anda foresla att du gar over bron istallet for att hoppa.";
deadflag = 1;
"Du klarade det inte.";
],
d_to "Klyftan ar alltfor skrammande!";
FissureRoom On_East_Bank_Of_Fissure "Pa ostra sidan av klyftan"
with teleport_to
'sal' 'salen' 'dimmornas' In_Hall_Of_Mists,
description
"Du ar pa ostra sidan av en klyfta som gar tvars over hela salen.
Dimman ar valdigt tjock har, och klyftan ar for bred att hoppa over.",
e_to In_Hall_Of_Mists,
w_to "Klyftan ar for bred.";
FissureRoom West_Side_Of_Fissure "Vastra sidan av klyftan"
with description
"Du ar pa vastra sidan av klyftan i Dimmornas Sal.",
w_to At_West_End_Of_Hall_Of_Mists,
e_to "Klyftan ar for bred.",
n_to At_West_End_Of_Hall_Of_Mists,
before [;
Go:
if (location == West_Side_Of_Fissure && noun == n_obj)
print
"Du har alat genom en mycket lag, bred gang,
parallell med och norr om Dimmornas Sal.^";
];
Treasure -> "diamanter"
with name 'diamant' 'diamanten' 'diamanter' 'diamanterna' 'flera' 'av' 'hog' 'hogsta' 'kvalitet',
short_name_def "diamanterna",
articles 0 0 "nagra",
description "De ser ut att vara av hogsta kvalitet!",
initial "Det finns diamanter har!",
has pluralname multitude;
Object CrystalBridge "kristallbro"
with name 'kristallbro' 'kristallbron' 'bro' 'bron' 'av' 'kristall',
short_name_def "kristallbron",
description "Den stracker sig over klyftan, och ger dig darmed en vag over.",
initial "En kristallbro stracker sig nu over klyftan.",
door_dir [;
if (location == West_Side_Of_Fissure) return e_to;
return w_to;
],
door_to [;
if (location == West_Side_Of_Fissure) return On_East_Bank_Of_Fissure;
return West_Side_Of_Fissure;
],
found_in On_East_Bank_Of_Fissure West_Side_Of_Fissure,
has static door open absent;
Scenic "klyfta"
with name 'bred' 'breda' 'klyfta' 'klyftan',
short_name_def "klyftan",
description "Klyftan ser alldeles for bred ut for att man ska kunna hoppa over den.",
found_in On_East_Bank_Of_Fissure West_Side_Of_Fissure;
! ------------------------------------------------------------------------------
Room At_West_End_Of_Hall_Of_Mists "I vastra anden av Dimmornas Sal"
with teleport_to
'liten' 'lilla' Alike_Maze_1
'lag' 'bred' 'kryp' At_East_End_Of_Long_Hall,
description
"Du ar i vastra anden av Dimmornas Sal.
En lag, bred gang med kryphojd fortsatter vasterut och en annan gar norrut.
Soderut finns en liten gang knappt tva meter over golvet.",
s_to Alike_Maze_1,
u_to Alike_Maze_1,
e_to West_Side_Of_Fissure,
w_to At_East_End_Of_Long_Hall,
n_to West_Side_Of_Fissure,
before [;
Go:
if (noun == n_obj)
print
"Du har krupit genom en mycket lag, bred gang
parallell med och norr om Dimmornas Sal.^";
];
! ------------------------------------------------------------------------------
! Langa Salen vaster om Dimmornas Sal
! ------------------------------------------------------------------------------
Room At_East_End_Of_Long_Hall "I ostra anden av Langa Salen"
with teleport_to
'kryp' 'lag' 'laga' 'bred' 'breda' 'gang' 'gangen' At_West_End_Of_Hall_Of_Mists
'runt' 'runda' 'halvmetersbrett' 'hal' 'halet' Crossover,
description
"Du ar i ostra anden av en mycket lang sal som tycks sakna sidokammare.
Osterut ligger en lag bred gang som sluttar uppat.
Norrut ligger ett runt halvmeterbrett hal som sluttar nerat.",
e_to At_West_End_Of_Hall_Of_Mists,
u_to At_West_End_Of_Hall_Of_Mists,
w_to At_West_End_Of_Long_Hall,
n_to Crossover,
d_to Crossover;
! ------------------------------------------------------------------------------
Room At_West_End_Of_Long_Hall "I vastra anden av Langa Salen"
with description
"Du ar i vastra anden av en mycket lang, formlos sal.
Salen moter har en trang nord-sydlig gang.",
e_to At_East_End_Of_Long_Hall,
s_to Different_Maze_1,
n_to Crossover;
! ------------------------------------------------------------------------------
Room Crossover "N/S- och O/V-korsning"
with description
"Du ar i en korsning mellan en hog nord-sydlig gang och en lag ost-vastlig gang.",
w_to At_East_End_Of_Long_Hall,
n_to Dead_End_7,
e_to In_West_Side_Chamber,
s_to At_West_End_Of_Long_Hall;
Scenic -> "korsning"
with name 'korsning' 'korsningen',
short_name_def "korsningen",
description "Du vet lika mycket som jag just nu.";
! ------------------------------------------------------------------------------
! Manga atervandsgrander kommer behovas for labyrinten nedan, sa
! definiera en klass:
! ------------------------------------------------------------------------------
Class DeadendRoom
with short_name "Atervandsgrand",
description "Du har natt en atervandsgrand.",
cant_go "Du maste ga tillbaka samma vag som du kom.";
DeadendRoom Dead_End_7
with s_to Crossover,
out_to Crossover;
! ------------------------------------------------------------------------------
! Bergakungens Sal och sidokammare
! ------------------------------------------------------------------------------
Room In_Hall_Of_Mt_King "Bergakungens Sal"
with teleport_to
'sal' 'salen' 'dimmornas' 'trappa' 'trappan' In_Hall_Of_Mists
'hemlig' 'hemliga' In_Secret_E_W_Canyon,
description
"Du ar i Bergakungens Sal, med gangar at alla hall.",
cant_go "Okej, kanske inte riktigt alla hall.",
u_to In_Hall_Of_Mists,
e_to In_Hall_Of_Mists,
n_to Low_N_S_Passage,
s_to In_South_Side_Chamber,
w_to In_West_Side_Chamber,
sw_to In_Secret_E_W_Canyon,
before [;
Go:
if (Snake in self && (noun == n_obj or s_obj or w_obj ||
(noun == sw_obj && random(100) <= 35)))
"Du kan inte komma forbi ormen.";
];
Object -> Snake "orm"
with name 'orm' 'ormen' 'kobra' 'stor' 'stora' 'jattestor' 'jattestora'
'farlig' 'farliga' 'livsfarlig' 'livsfarliga' 'dodlig' 'dodliga'
'gron' 'grona' 'vildsint' 'vildsinta' 'vild' 'vilda'
'giftig' 'giftiga',
short_name_def "ormen",
description "Jag skulle inte braka med den om jag var du.",
initial "En gigantisk, gron, vildsint orm blockerar vagen!",
life [;
Order, Ask, Answer:
"Vaaaaas!";
ThrowAt:
if (noun == axe) <<Attack self>>;
<<Give noun self>>;
Give:
if (noun == little_bird) {
remove little_bird;
"Ormen har nu slukat din fagel.";
}
"Det finns inget har som den vill ata (forutom dig da, kanske).";
Attack:
"Att attackera ormen ar bade verkningslost och mycket farligt.";
Take:
deadflag = 1;
"Den tar dig istallet. Smask!";
],
has animate;
! ------------------------------------------------------------------------------
Room Low_N_S_Passage "Lag N/S-gang"
with teleport_to
'bergakungens' 'sal' 'salen' In_Hall_Of_Mt_King
'y2' At_Y2
'hal' 'halet' In_Dirty_Passage,
description
"Du ar i en lag N/S-gang vid ett hal i golvet.
Halet leder ner till en O/V-gang.",
s_to In_Hall_Of_Mt_King,
out_to In_Hall_Of_Mt_King,
d_to In_Dirty_Passage,
n_to At_Y2;
Treasure -> "silvertackor"
with name 'silvertacka' 'silvertackan' 'silvertackor' 'silvertackorna'
'tacka' 'tackan' 'tackor' 'tackorna' 'silver' 'silvret',
short_name_def "silvertackorna",
articles 0 0 "nagra",
description "De ar nog varda en formogenhet!",
initial "Det ligger silvertackor har!",
has pluralname;
! ------------------------------------------------------------------------------
Room In_South_Side_Chamber "I sodra sidokammaren"
with teleport_to
'bergakungens' 'sal' 'salen' In_Hall_Of_Mt_King,
description "Du ar i den sodra sidokammaren.",
n_to In_Hall_Of_Mt_King,
out_to In_Hall_Of_Mt_King;
Treasure -> "dyrbara smycken"
with name 'dyrbar' 'dyrbara' 'smycke' 'smycket' 'smycken' 'smyckena' 'exquisite',
short_name_def "dyrbara smyckena",
articles "De" "de" "nagra",
description "De ar helt utsokta!",
initial "Det ligger dyrbara smycken har!",
has pluralname def_article;
! ------------------------------------------------------------------------------
Room In_West_Side_Chamber "I vastra sidokammaren"
with teleport_to
'bergakungens' 'sal' 'salen' In_Hall_Of_Mt_King,
description
"Du ar i sidokammaren vaster om Bergakungens Sal.
En gang fortsatter vasterut och uppat har.",
w_to Crossover,
u_to Crossover,
e_to In_Hall_Of_Mt_King,
out_to In_Hall_Of_Mt_King;
Treasure -> rare_coins "sallsynta mynt"
with name 'sallsynt' 'sallsynta' 'mynt' 'myntet' 'mynten',
short_name_def "sallsynta mynten",
articles "De" "de" "manga",
description "De ar en numismatikers drom!",
initial "Det ligger manga mynt har!",
has multitude pluralname def_article;
! ------------------------------------------------------------------------------
! Y2-klipprummet och omgivningar, lite langre ner
! ------------------------------------------------------------------------------
Room At_Y2 "Vid ~Y2~"
with teleport_to
'vagg' 'vaggen' 'rasade' 'stenar' 'stenarna' Jumble_Of_Rock,
description
"Du ar i ett stort rum, med en gang soderut,
en gang vasterut, och en vagg av rasade stenar osterut.
Det star ett stort ~Y2~ pa en klippa i rummets mitt.",
after [;
Look:
if (random(100) <= 25) print "^En ihalig rost sager, ~Plugh.~^";
],
before [;
Plugh:
PlayerTo(Inside_Building);
rtrue;
Plover:
if (In_Plover_Room hasnt visited) rfalse;
if (egg_sized_emerald in player) {
move egg_sized_emerald to In_Plover_Room;
score = score - 5;
}
PlayerTo(In_Plover_Room);
rtrue;
],
s_to Low_N_S_Passage,
e_to Jumble_Of_Rock,
w_to At_Window_On_Pit_1;
Scenic -> "~Y2~-klippa"
with name 'y2-klippa' 'y2-klippan' '-klippa' '-klippan' 'y2' 'klippa' 'klippan',
short_name_def "~Y2~-klippan",
description "Det star ett stort ~Y2~ malat pa klippan.",
has supporter;
! ------------------------------------------------------------------------------
Room Jumble_Of_Rock "Bland en massa stenblock"
with teleport_to
'y2' At_Y2,
description "Du ar bland en massa stenblock, med sprickor overallt.",
d_to At_Y2,
u_to In_Hall_Of_Mists;
! ------------------------------------------------------------------------------
Room At_Window_On_Pit_1 "Vid ett fonster mot ett hal"
with teleport_to
'y2' At_Y2,
description
"Du ar vid ett lagt fonster med utsikt over ett enormt hal som stracker sig uppat utom synhall.
Ett golv ar vagt skonjbart mer an femton meter ner.
Spar av vit dimma tacker halets golv, och dimman blir tjockare till hoger.
Marken i dammet runt fonstret kan tyda pa att nagon har varit har nyligen.
Tvars over halet fran dig och sju-atta meter bort
finns ett liknande fonster in till ett upplyst rum.
Dar ser du en mystisk figur som stirrar tillbaka pa dig.",
before [;
WaveHands:
"Den mystiska figuren vinkar tillbaka till dig!";
],
cant_go "Den enda utgangen ar osterut, tillbaka till Y2.",
e_to At_Y2;
Class PitScenic
with found_in At_Window_On_Pit_1 At_Window_On_Pit_2,
has scenery;
PitScenic "fonster"
with name 'fonster' 'fonstret' 'lagt' 'laga',
short_name_def "fonstret",
description "Det ser ut som ett vanligt fonster.",
has openable neuter;
PitScenic "enormt hal"
with name 'hal' 'halet' 'djupt' 'djupa' 'stort' 'stora' 'enormt' 'enorma',
short_name_def "enorma halet",
description
"Det ar sa djupt att du bara natt och jamt kan se golvet dar nere,
och halets oversta del ar inte synligt alls.",
has neuter def_article;
PitScenic "marken i dammet"
with name 'marken' 'markena' 'i//' 'damm' 'dammet',
short_name_def "markena i dammet",
description "Du ar tydligen inte ensam har.",
has multitude pluralname;
PitScenic "mystisk figur"
with name 'mystisk' 'mystiska' 'figur' 'figuren' 'person' 'personen' 'skum' 'skumma',
short_name_def "mystiska figuren",
description
"Den mystiska figuren verkar forsoka fanga din uppmarksamhet.",
has def_article;
! ------------------------------------------------------------------------------
Room In_Dirty_Passage "Smutsig gang"
with teleport_to
'lag' 'laga' On_Brink_Of_Pit
'hal' 'halet' Low_N_S_Passage
'stor' 'stora' In_Dusty_Rock_Room
'lapptacket' In_Bedquilt,
description
"Du ar i en smutsig, trasig gang.
Osterut finns en lag gang.
Vasterut finns en stor gang.
Ovanfor dig finns ett hal till en annan gang.",
e_to On_Brink_Of_Pit,
u_to Low_N_S_Passage,
w_to In_Dusty_Rock_Room;
! ------------------------------------------------------------------------------
Room On_Brink_Of_Pit "Kanten av ett hal"
with teleport_to
'lag' 'laga' 'gang' 'gangen' In_Dirty_Passage
'litet' 'lilla' 'rent' 'rena' 'hal' 'halet' In_Pit,
description
"Du ar vid kanten av ett litet rent hal, som man skulle kunna klattra ner i.
En lag gang leder vasterut.",
w_to In_Dirty_Passage,
d_to In_Pit,
in_to In_Pit;
Scenic -> "litet hal"
with name 'hal' 'halet' 'litet' 'lilla' 'rent' 'rena',
short_name_def "lilla halet",
description "Det ser ut som att du nog skulle kunna klattra ner i det.",
before [;
Climb, Enter:
MovePlayer(d_obj);
rtrue;
],
has def_article neuter;
! ------------------------------------------------------------------------------
Room In_Pit "I ett hal"
with description
"Du ar pa botten av ett litet hal med en back
som kommer in i halet och gar ut ur halet genom smala springor.",
u_to On_Brink_Of_Pit,
d_to "Du kommer inte igenom de smala springorna!",
has nodwarf;
Scenic -> "smala springor"
with name 'springa' 'springan' 'springor' 'springorna' 'smal' 'smala' 'sma' 'liten' 'lilla',
short_name_def "smala springorna",
description "Springorna bildar ett komplext monster i klippan.",
has multitude pluralname def_article;
! ------------------------------------------------------------------------------
Room In_Dusty_Rock_Room "I dammigt stenrum"
with teleport_to
'gang' 'gangen' In_Dirty_Passage
'stort' 'stora' 'hal' 'halet' 'golv' 'golvet' At_Complex_Junction
'lapptacket' In_Bedquilt,
description
"Du ar i ett stort rum fullt av dammiga stenar.
Det ar ett stort hal i golvet.
Det finns sprickor overallt, och en gang som leder osterut.",
e_to In_Dirty_Passage,
d_to At_Complex_Junction;
Scenic -> "dammiga stenar"
with name 'sten' 'stenen' 'stenar' 'stenarna' 'klippa' 'klippan' 'klippor' 'klipporna'
'dammig' 'dammiga' 'smutsig' 'smutsiga',
short_name_def "dammiga stenarna",
description "Det ar bara stenar. (Dammiga sadana, alltsa.)",
before [;
LookUnder, Push, Pull:
"Du skulle behova spranga dig igenom.";
],
has multitude pluralname def_article;
! ------------------------------------------------------------------------------
! En labyrint av slingrande tranga gangar, alla likadana...
! ------------------------------------------------------------------------------
Class MazeRoom
with short_name "Labyrint",
description "Du ar i en labyrint av slingrande tranga gangar, alla likadana.",
out_to "Lattare sagt an gjort.";
MazeRoom Alike_Maze_1
with u_to At_West_End_Of_Hall_Of_Mists,
n_to Alike_Maze_1,
e_to Alike_Maze_2,
s_to Alike_Maze_4,
w_to Alike_Maze_11;
MazeRoom Alike_Maze_2
with w_to Alike_Maze_1,
s_to Alike_Maze_3,
e_to Alike_Maze_4;
MazeRoom Alike_Maze_3
with e_to Alike_Maze_2,
d_to Dead_End_3,
s_to Alike_Maze_6,
n_to Dead_End_13;
MazeRoom Alike_Maze_4
with w_to Alike_Maze_1,
n_to Alike_Maze_2,
e_to Dead_End_1,
s_to Dead_End_2,
u_to Alike_Maze_14,
d_to Alike_Maze_14;
MazeRoom Alike_Maze_5
with e_to Alike_Maze_6,
w_to Alike_Maze_7;
MazeRoom Alike_Maze_6
with e_to Alike_Maze_3,
w_to Alike_Maze_5,
d_to Alike_Maze_7,
s_to Alike_Maze_8;
DeadendRoom Dead_End_1
with w_to Alike_Maze_4,
out_to Alike_Maze_4;
DeadendRoom Dead_End_2
with w_to Alike_Maze_4,
out_to Alike_Maze_4;
DeadendRoom Dead_End_3
with u_to Alike_Maze_3,
out_to Alike_Maze_3;
MazeRoom Alike_Maze_7
with w_to Alike_Maze_5,
u_to Alike_Maze_6,
e_to Alike_Maze_8,
s_to Alike_Maze_9;
MazeRoom Alike_Maze_8
with w_to Alike_Maze_6,
e_to Alike_Maze_7,
s_to Alike_Maze_8,
u_to Alike_Maze_9,
n_to Alike_Maze_10,
d_to Dead_End_12;
MazeRoom Alike_Maze_9
with w_to Alike_Maze_7,
n_to Alike_Maze_8,
s_to Dead_End_4;
DeadendRoom Dead_End_4
with w_to Alike_Maze_9,
out_to Alike_Maze_9;
MazeRoom Alike_Maze_10
with w_to Alike_Maze_8,
n_to Alike_Maze_10,
d_to Dead_End_5,
e_to At_Brink_Of_Pit;
DeadendRoom Dead_End_5
with u_to Alike_Maze_10,
out_to Alike_Maze_10;
! ------------------------------------------------------------------------------
Room At_Brink_Of_Pit "Vid kanten av ett hal"
with description
"Du ar vid kanten av ett tio meter djupt hal med en massiv,
orange pelare som stracker sig nerfor en av vaggarna.
Du skulle kunna klattra ner har men du skulle inte kunna ta dig upp igen.
Labyrinten fortsatter pa den har nivan.",
d_to In_Bird_Chamber,
w_to Alike_Maze_10,
s_to Dead_End_6,
n_to Alike_Maze_12,
e_to Alike_Maze_13;
Scenic -> "massiv orange pelare"
with name 'pelare' 'pelaren' 'massiv' 'massiva' 'orange' 'oranga' 'orangea' 'stor' 'stora'
'enorm' 'enorma' 'gigantisk' 'gigantiska',
short_name_def "massiva oranga pelaren",
description "Det ser ut som att du skulle kunna klattra nerfor den.",
before [;
Climb:
MovePlayer(d_obj);
rtrue;
],
has def_article;
Scenic -> "hal"
with name 'hal' 'halet' 'tio' 'meter' 'djupt' 'djupa' '10' '10m',
short_name_def "halet",
description "Du maste klattra mer for att fa reda pa mer...",
before [;
Climb:
MovePlayer(d_obj);
rtrue;
],
has neuter;
DeadendRoom Dead_End_6
with e_to At_Brink_Of_Pit,
out_to At_Brink_Of_Pit;
! ------------------------------------------------------------------------------
! En rad med tre viktiga korsningar, fran ost till vast
! ------------------------------------------------------------------------------
Room At_Complex_Junction "I en komplicerad korsning"
with teleport_to
'rum' 'rummet' In_Dusty_Rock_Room
'lapptacket' In_Bedquilt
'skalrum' 'skalrummet' In_Shell_Room,
description
"Du ar i en komplicerad korsning.
En lag krypgang norrifran gar ihop med en hogre krypgang osterifran
for att bilda en promenadgang som leder vasterut.
Det finns aven ett stort rum ovanfor.
Luften ar fuktig har.",
u_to In_Dusty_Rock_Room,
w_to In_Bedquilt,
n_to In_Shell_Room,
e_to In_Anteroom;
! ------------------------------------------------------------------------------
Room In_Bedquilt "Lapptacket"
with teleport_to
'plattrum' 'plattrummet' In_Slab_Room,
description
"Du ar i Lapptacket, en lang ost-vastlig gang med hal overallt.
For att utforska nagon slumpvis vald gang, valj norr, soder, upp eller ner.",
e_to At_Complex_Junction,
w_to In_Swiss_Cheese_Room,
s_to In_Slab_Room,
u_to In_Dusty_Rock_Room,
n_to At_Junction_Of_Three,
d_to In_Anteroom,
before [ destiny;
Go:
if (noun == s_obj or d_obj && random(100) <= 80) destiny = 1;
if (noun == u_obj && random(100) <= 80) destiny = 1;
if (noun == u_obj && random(100) <= 50) destiny = In_Secret_N_S_Canyon_1;
if (noun == n_obj && random(100) <= 60) destiny = 1;
if (noun == n_obj && random(100) <= 75) destiny = In_Large_Low_Room;
if (destiny == 1)
"Du har krupit runt i nagra sma hal och ater hamnat i huvudgangen.";
if (destiny == 0) rfalse;
PlayerTo(destiny);
rtrue;
];
! ------------------------------------------------------------------------------
Room In_Swiss_Cheese_Room "I Schweizerostrummet"
with teleport_to
'ravin' 'ravinen' In_Tall_E_W_Canyon
'orientaliska' In_Oriental_Room,
description
"Du ar i ett rum vars vaggar mest liknar en Schweizerost.
Det finns uppenbara utgangar at vast, ost, nordost och nordvast.
En del av rummet upptas av ett stort block av urberget.",
w_to At_East_End_Of_Twopit_Room,
s_to In_Tall_E_W_Canyon,
ne_to In_Bedquilt,
nw_to In_Oriental_Room,
e_to In_Soft_Room,
before [;
Go:
if ((noun == s_obj && random(100) <= 80) ||
(noun == nw_obj && random(100) <= 50))
"Du har krupit runt i nagra sma hal och ater hamnat i huvudgangen.";
];
Scenic -> "urbergsblock"
with name 'stort' 'stora' 'block' 'blocket' 'av' 'urberg' 'urberget'
'stenblock' 'stenblocket' 'urbergsblock' 'urbergsblocket'
'enormt' 'enorma',
short_name_def "urbergsblocket",
description "Det ar bara ett enormt block.",
before [;
LookUnder, Push, Pull, Take:
"Du maste skoja.";
],
has neuter;
! ------------------------------------------------------------------------------
! Arean runt Tvahalsrummet
! ------------------------------------------------------------------------------
! Mojliga hojder for vaxten:
! ------------------------------------------------------------------------------
Constant TINY_P = 0;
Constant TALL_P = 1;
Constant HUGE_P = 2;
Room At_West_End_Of_Twopit_Room "I Tvagroprummets vastra ande"
with teleport_to
'platta' 'plattan' 'plattrum' 'plattrummet' In_Slab_Room
'grop' 'gropen' In_West_Pit,
description
"Du ar i Tvagroprummets vastra ande.
Det finns ett stort hal i vaggen ovanfor gropen i den har anden av rummet.",
e_to At_East_End_Of_Twopit_Room,
w_to In_Slab_Room,
d_to In_West_Pit,
u_to "Det sitter for langt upp for att du ska kunna na det.",
before [;
Enter:
if (noun == HoleAbovePit_1) "Det sitter for langt upp for att du ska kunna na det.";
];
Object PlantStickingUp "bonstjalk"
with name 'vaxt' 'vaxten' 'bonstjalk' 'bonstjalken' 'stjalk' 'stjalken'
'gigantisk' 'gigantiska' 'liten' 'lilla' 'stor' 'stora'
'fyra' 'meter' 'hog' 'hoga' '4//' '4m' 'fyrameters' 'fyrmeters'
'klen' 'klena' 'mumlande' 'mullrande',
short_name_def "bonstjalken",
describe [;
if (Plant.height == TALL_P)
"Oversta delen av en fyra meter hog bonstjalk sticker upp ur den vastra gropen.";
"En enorm bonstjalk vaxer upp ur den vastra gropen och upp till halet i vaggen.";
],
before [;
Examine:
RunRoutines(self, describe);
rtrue;
Climb:
if (Plant.height == HUGE_P) <<Climb Plant>>;
],
found_in At_West_End_Of_Twopit_Room At_East_End_Of_Twopit_Room,
has absent static;
Scenic HoleAbovePit_1 "hal ovanfor gropen"
with name 'hal' 'halet' 'stort' 'stora' 'ovanfor' 'grop' 'gropen',
short_name_def "halet ovanfor gropen",
description
"Halet sitter i vaggen ovanfor gropen i den har anden av rummet.",
found_in In_West_Pit At_West_End_Of_Twopit_Room,
has neuter;
! ------------------------------------------------------------------------------
Room In_West_Pit "I vastra gropen"
with description
"Du ar pa botten av den vastra gropen i Tvagroprummet.
Det finns ett stort hal i vaggen sju-atta meter ovanfor dig.",
before [;
Climb:
if (noun == Plant) rfalse;
if (Plant.height == TINY_P)
"Det finns inget att klattra pa har.
Anvand ~upp~ eller ~ut~ for att lamna gropen.";
],
u_to At_West_End_Of_Twopit_Room,
out_to At_West_End_Of_Twopit_Room,
has nodwarf;
Object -> Plant "vaxt"
with name 'vaxt' 'vaxten' 'bonstjalk' 'bonstjalken' 'stjalk' 'stjalken'
'gigantisk' 'gigantiska' 'liten' 'lilla' 'stor' 'stora'
'fyra' 'meter' 'hog' 'hoga' '4//' '4m' 'fyrameters' 'fyrmeters'
'klen' 'klena' 'mumlande' 'mullrande',
short_name_def "vaxten",
describe [;
switch (self.height) {
TINY_P:
"Det star en klen liten vaxt i gropen, och den mumlar ~Vatten, vatten, ...~";
TALL_P:
"En fyra meter hog bonstjalk stracker sig upp ur halet, och den mullrar ~Vatten!! Vatten!!~";
HUGE_P:
"En gigantisk bonstjalk stracker sig hela vagen upp till halet.";
}
],
before [;
Climb:
switch (self.height) {
TINY_P:
"Det ar bara en liten vaxt!";
TALL_P:
print
"Du har klattrat uppfor vaxten och ut ur halet.^";
PlayerTo(At_West_End_Of_Twopit_Room);
rtrue;
HUGE_P:
print
"Du klattrar uppfor vaxten och skyndar dig in genom halet hogst dar uppe.^";
PlayerTo(In_Narrow_Corridor);
rtrue;
}
Take:
"Vaxten har otroligt djupa rotter och kan inte dras loss.";
Water:
if (bottle notin player)
"Du har inget att vattna vaxten med.";
switch (child(bottle)) {
nothing:
"Flaskan ar tom.";
oil_in_the_bottle:
remove oil_in_the_bottle;
"Vaxten skakar indignerat av oljan fran sina blad och fragar: ~Vatten?~";
}
remove water_in_the_bottle;
switch ((self.height)++) {
TINY_P:
print
"Vaxten far plotsligt en vannsinnig tillvaxt under nagra sekunder.^^";
give PlantStickingUp ~absent;
TALL_P:
print
"Vaxten vaxer explosivt, och fyller nu nastan helt botten av gropen.^^";
HUGE_P:
print
"Du har overvattnat vaxten! Den skrumpnar bort. Den, den...^^";
give PlantStickingUp absent;
remove PlantStickingUp;
self.height = TINY_P;
}
<<Examine self>>;
Oil:
<<Water self>>;
Examine:
self.describe();
rtrue;
],
height TINY_P;
! ------------------------------------------------------------------------------
Room At_East_End_Of_Twopit_Room "I Tvagroprummets ostra ande"
with teleport_to
'grop' 'gropen' In_East_Pit,
description
"Du ar i Tvagroprummets ostra ande.
Golvet har utgors av en massa tunna stenplattor som gor det latt att klattra ner i groparna.
En gang leder forbi groparna och forbinder gangarna fran oster och vaster.
Det finns hal lite overallt,
men det enda stora halet sitter pa vaggen rakt ovanfor den vastra gropen dar du inte kan na det.",
e_to In_Swiss_Cheese_Room,
w_to At_West_End_Of_Twopit_Room,
d_to In_East_Pit;
Scenic -> "tunna stenplattor"
with name 'tunn' 'tunna' 'stenplatta' 'stenplattan' 'stenplattor' 'stenplattorna'
'sten' 'stenen' 'stenar' 'stenarna' 'platta' 'plattan' 'plattor' 'plattorna',
short_name_def "tunna stenplattorna",
articles "De" "de" "en massa",
description "De bildar nastan en naturlig trappa ner i gropen.",
before [;
LookUnder, Push, Pull, Take:
"Du maste skoja. Du skulle behova spranga bort dem.";
],
has multitude def_article pluralname;
! ------------------------------------------------------------------------------
Room In_East_Pit "I ostra gropen"
with description
"Du ar pa botten av den ostra gropen i Tvagroprummet.
I ett horn finns en liten oljepol.",
u_to At_East_End_Of_Twopit_Room,
out_to At_East_End_Of_Twopit_Room,
has nodwarf;
Scenic -> Oil "oljepol"
with name 'liten' 'lilla' 'olja' 'oljan' 'pol' 'polen' 'oljepol' 'oljepolen',
short_name_def "oljepolen",
description "Det ser ut som vanlig olja.",
before [;
Drink:
"Absolut inte.";
Take:
if (bottle notin player)
"Du har inget att ha oljan i.";
<<Fill bottle>>;
Insert:
if (second == bottle) <<Fill bottle>>;
"Du har inget att bara oljan i.";
];
Scenic "halet ovanfor gropen"
with name 'hal' 'halet' 'stort' 'stora' 'ovanfor' 'over' 'grop' 'gropen',
description "Halet sitter i vaggen ovanfor dig.",
found_in In_East_Pit At_East_End_Of_Twopit_Room
has proper;
! ------------------------------------------------------------------------------
Room In_Slab_Room "Plattrummet"
with description
"Du ar i en stor, lag, rund kammare
vars golv ar en enorm platta som fallit fran taket (plattrummet).
Osterut och vasterut har det tidigare funnits stora gangar, men de ar nu fyllda av stenblock.
Laga, sma gangar leder norrut och soderut, och den sodra bojer kvickt av vasterut, runt stenblocken.",
s_to At_West_End_Of_Twopit_Room,
u_to In_Secret_N_S_Canyon_0,
n_to In_Bedquilt;
Scenic -> "stenplatta"
with name 'platta' 'stenplatta' 'enorm' 'stor' 'plattan' 'stenplattan' 'enorma' 'stora',
short_name_def "stenplattan",
description "Den ar nu golvet har.",
before [;
LookUnder, Push, Pull, Take:
"Du maste skoja.";
];
Scenic -> "stenblock"
with name 'sten' 'stenen' 'stenar' 'stenarna' 'block' 'blocket' 'blocken'
'stenblock' 'stenblocket' 'stenblocken',
short_name_def "stenblocken",
description "De ar bara vanlig stenblock.",
has multitude pluralname;
! ------------------------------------------------------------------------------
! Ett litet natverk av raviner, huvudsakligen Hemliga
! ------------------------------------------------------------------------------
Room In_Secret_N_S_Canyon_0 "Hemlig N/S-ravin"
with teleport_to
'plattrum' 'plattrummet' In_Slab_Room
'reservoar' 'reservoaren' At_Reservoir,
description
"Du ar i en hemlig N/S-ravin ovanfor ett stort rum.",
d_to In_Slab_Room,
s_to In_Secret_Canyon,
n_to In_Mirror_Canyon,
before [;
Go:
if (noun == s_obj) canyon_from = self;
];
Room In_Secret_N_S_Canyon_1 "Hemlig N/S-ravin"
with teleport_to
'ganska' 'stor' 'stora' 'gang' 'gangen' 'lapptacket' In_Bedquilt,
description
"Du ar i en hemlig N/S-ravin ovanfor en ganska stor gang.",
n_to At_Junction_Of_Three,
d_to In_Bedquilt,
s_to Atop_Stalactite;
Room At_Junction_Of_Three "Korsningen mellan tre hemliga raviner"
with description
"Du ar i en hemlig ravin i korsningen mellan tre hemliga raviner, vilka gar mot nord, syd och sydost.
Den norra ar lika hog som de tva andra tillsammans.",
se_to In_Bedquilt,
s_to In_Secret_N_S_Canyon_1,
n_to At_Window_On_Pit_2;
Room In_Large_Low_Room "Stort lagt rum"
with teleport_to
'lapptacket' In_Bedquilt
'orientaliska' In_Oriental_Room,
description
"Du ar i ett stort lagt rum. Krypgangar leder norrut, sydost och sydvast.",
sw_to In_Sloping_Corridor,
se_to In_Oriental_Room,
n_to Dead_End_Crawl;
Room Dead_End_Crawl "Atervandskrypgang"
with teleport_to
'kryp' In_Large_Low_Room,
description "Det har ar en atervandskrypgang.",
s_to In_Large_Low_Room,
out_to In_Large_Low_Room;
Room In_Secret_E_W_Canyon "Hemlig O/V-ravin ovanfor trang ravin"
with description
"Du ar i en hemlig ravin som har loper O/V.
Den korsar en mycket trang ravin fem meter ner.
Om du gar ner kan du fa svart att ta sig upp igen.",
e_to In_Hall_Of_Mt_King,
w_to In_Secret_Canyon,
before [;
Go:
if (noun == w_obj) canyon_from = self;
],
d_to In_N_S_Canyon;
Room In_N_S_Canyon "N/S-ravin"
with description "Du ar pa en bred plats i en valdigt trang N/S-ravin.",
s_to Canyon_Dead_End,
n_to In_Tall_E_W_Canyon;
Room Canyon_Dead_End "Atervandsravin"
with description "Ravinen blir har alltfor trang for att man ska kunna fortsatta soderut.",
n_to In_N_S_Canyon;
Room In_Tall_E_W_Canyon "I hog O/V-ravin"
with teleport_to
'kryp' 'lag' 'laga' 'trang' 'tranga' 'krypgang' 'krypgangen' In_Swiss_Cheese_Room,
description
"Du ar i en hog O/V-ravin. En lag, trang krypgang gar en meter norrut
och verkar sedan oppnas upp.",
e_to In_N_S_Canyon,
w_to Dead_End_8,
n_to In_Swiss_Cheese_Room;
! ------------------------------------------------------------------------------
Room Atop_Stalactite "Ovanfor en stalaktit"
with description
"En stor stalaktit stracker sig fran taket och nastan anda ner till golvet under.
Du skulle kunna klattra nerfor den och hoppa den sista biten till golvet,
men da skulle du inte kunna na den for att klattra upp igen.",
n_to In_Secret_N_S_Canyon_1,
d_to [;
if (random(100) <= 40) return Alike_Maze_6;
if (random(100) <= 50) return Alike_Maze_9;
return Alike_Maze_4;
],
before [;
Jump, Climb:
<<Go d_obj>>;
];
Scenic -> "stalaktit"
with name 'stalaktit' 'stalaktiten' 'stalagtit' 'stalagtiten'
'stor' 'stora' 'bred' 'breda' 'tjock' 'tjocka',
short_name_def "stalaktiten",
description
"Du skulle troligen kunna klattra nerfor den, men du kan glomma att komma upp igen.",
before [;
LookUnder, Push, Take:
"Skarp dig.";
];
! ------------------------------------------------------------------------------
! Har var det drakar
! ------------------------------------------------------------------------------
Room In_Secret_Canyon "Hemlig ravin"
with description
"Du ar i en hemlig ravin som har utgangar mot norr och oster.",
e_to [;
if (canyon_from == In_Secret_E_W_Canyon) return canyon_from;
if (Dragon in location)
"Draken ser ratt farlig ut. Det ar nog sakrast att inte forsoka ta sig forbi.";
return In_Secret_E_W_Canyon;
],
n_to [;
if (canyon_from == In_Secret_N_S_Canyon_0) return canyon_from;
if (Dragon in location)
"Draken ser ratt farlig ut. Det ar nog sakrast att inte forsoka ta sig forbi.";
return In_Secret_N_S_Canyon_0;
],
out_to [;
return canyon_from;
],
before [;
if (action == ##Yes && Dragon.is_being_attacked) {
remove Dragon;
move DragonCorpse to location;
Dragon.is_being_attacked = false;
"Grattis! Du har just forgjort en drake med med dina bara hander!
(Otroligt, eller hur?)";
}
if (action == ##No && Dragon.is_being_attacked) {
Dragon.is_being_attacked = false;
"Skulle inte tro det.";
}
Dragon.is_being_attacked = false;
];
Object -> Dragon "drake"
with name 'drake' 'draken' 'monster' 'monstret' 'best' 'besten' 'odla' 'odlan'
'enorm' 'enorma' 'gigantisk' 'gigantiska' 'gron' 'grona'
'vildsint' 'vildsinta' 'fjallig' 'fjalliga' 'farlig' 'farliga',
short_name_def "draken",
description "Jag skulle inte braka med den om jag var du.",
initial "En enorm, gron, vildsint drake blockerar vagen!",
life [;
Attack:
self.is_being_attacked = true;
"Med vad? Dina bara hander?";
Give:
"Draken ar obeveklig.";
ThrowAt:
if (noun ~= axe)
"Till och med dina bara hander skulle nog vara battre an ",(DenEllerHonom) noun,"!";
move axe to location;
"Yxan studsar pa drakens tjocka fjall.";
],
is_being_attacked false,
has animate uter;
Treasure -> "persisk matta"
with name 'matta' 'mattan' 'persisk' 'persiska' 'fin' 'fina' 'drakens',
short_name_def "persiska mattan",
describe [;
if (Dragon in location)
"Draken ligger utstrackt pa den persiska mattan!";
"Den persiska mattan ligger utrullad pa golvet har.";
],
before [;
Take:
if (Dragon in location)
"Du maste fa draken att flytta pa sig forst!";
],
depositpoints 14,
has def_article;
Object DragonCorpse "drakens kropp"
with name 'drakens' 'kropp' 'kroppen' 'av' 'en' 'lik' 'liket' 'as' 'aset' 'dod' 'doda' 'drake' 'draken',
initial "Kroppen av en enorm, gron, dod drake ligger vid ena sidan.",
before [;
Attack:
"Du har redan gjort tillrackligt med skada!";
],
has static proper;
! ------------------------------------------------------------------------------
! Och mer av likadana-labyrinten
! ------------------------------------------------------------------------------
DeadendRoom Dead_End_8
with description "Ravinen leder in i en massa klippblock -- atervandsgrand.",
s_to In_Tall_E_W_Canyon,
out_to In_Tall_E_W_Canyon;
MazeRoom Alike_Maze_11
with n_to Alike_Maze_1,
w_to Alike_Maze_11,
s_to Alike_Maze_11,
e_to Dead_End_9,
ne_to Dead_End_10;
DeadendRoom Dead_End_9
with w_to Alike_Maze_11,
out_to Alike_Maze_11;
DeadendRoom Dead_End_10
with s_to Alike_Maze_3,
out_to Alike_Maze_3;
MazeRoom Alike_Maze_12
with s_to At_Brink_Of_Pit,
e_to Alike_Maze_13,
w_to Dead_End_11;
MazeRoom Alike_Maze_13
with n_to At_Brink_Of_Pit,
w_to Alike_Maze_12,
nw_to Dead_End_13;
DeadendRoom Dead_End_11
with e_to Alike_Maze_12,
out_to Alike_Maze_12;
DeadendRoom Dead_End_12
with u_to Alike_Maze_8,
out_to Alike_Maze_8;
MazeRoom Alike_Maze_14
with u_to Alike_Maze_4,
d_to Alike_Maze_4;
DeadendRoom Dead_End_13
class Room
with se_to Alike_Maze_13,
out_to Alike_Maze_13,
description "Det har ar piratens atervandsgrand.",
initial [;
StopDaemon(Pirate);
if (treasure_chest in self && treasure_chest hasnt moved)
"Du har hittat piratens skattkista!";
],
has nodwarf;
Treasure -> treasure_chest "skattkista"
with name 'kista' 'kistan' 'lada' 'ladan' 'skatt' 'skatten'
'skattkista' 'skattkistan' 'rikedomar' 'rikedomarna'
'piratens' 'piratskatt' 'piratskatten',
short_name_def "skattkistan",
description
"Det ar piratens skattkista, fylld med rikedomar av alla de slag!",
initial "Piratens skattkista ar har!",
depositpoints 12;
! ------------------------------------------------------------------------------
! Ovanfor bonstjalken: det gigantiska rummet och vattenfallet
! ------------------------------------------------------------------------------
Room In_Narrow_Corridor "I en smal korridor"
with teleport_to
'gigantiskt' 'gigantiska' In_Giant_Room,
description
"Du ar i en lang, smal korridor som stracker sig utom synhall vasterut.
I den ostra anden finns ett hal genom vilket du kan se en mangd lov.",
d_to In_West_Pit,
w_to In_Giant_Room,
e_to In_West_Pit,
before [;
Jump:
deadflag = 1;
"Du ramlar och bryter nacken!";
];
Scenic -> "lov"
with name 'lov' 'lovet' 'loven' 'vaxt' 'vaxten' 'trad' 'tradet'
'stjalk' 'stjalken' 'bonstjalk' 'bonstjalken' 'mangd' 'mangden',
short_name_def "loven",
articles 0 0 "en mangd",
description
"Loven verkar vara fasta vid bonstjalken som du klattrade pa for att komma hit.",
before [;
Count:
"69,105."; ! (Jag tackar Rene Schnoor som raknade dem)
],
has pluralname;
! ------------------------------------------------------------------------------
Room At_Steep_Incline "Brant sluttning ovanfor ett stort rum"
with teleport_to
'magnifik' 'magnifika' 'grotta' 'grottan' 'vattenfall' 'gang' 'gangen' In_Cavern_With_Waterfall,
description
"Du ar hogst uppe pa en brant sluttning ovanfor ett stort rum.
Du skulle kunna klattra ner har, men du skulle inte kunna klattra upp igen.
En gang leder tillbaka norrut.",
n_to In_Cavern_With_Waterfall,
d_to In_Large_Low_Room;
! ------------------------------------------------------------------------------
Room In_Giant_Room "Det gigantiska rummet"
with description
"Du ar i det gigantiska rummet.
Taket ar for hogt upp for att kunna ses i ljuset av din lampa.
Stora gangar leder osterut, norrut och soderut.
Pa vastra vaggen star den handskrivna inskriptionen ~Fee fie foe foo~ [sic].",
s_to In_Narrow_Corridor,
e_to At_Recent_Cave_In,
n_to In_Immense_N_S_Passage;
Scenic -> "handskriven inskription"
with name 'inskription' 'inskriptionen' 'text'
'skriven' 'skrivna' 'handskriven' 'handskrivna',
short_name_def "handskrivna inskriptionen",
description "Det star ~Fee fie foe foo [sic]~.",
has def_article;
Treasure -> golden_eggs "bo med gyllene agg"
with name 'agg' 'agget' 'aggen' 'bo' 'boet' 'med' 'gyllene' 'vackert' 'vackra' 'guldagg' 'guldaggen',
short_name_def "boet med gyllene agg",
description "Boet ar fyllt med vackra, gyllene agg!",
initial "Det finns ett stort bo har, fullt av gyllene agg!",
depositpoints 14,
has multitude neuter;
! ------------------------------------------------------------------------------
Room At_Recent_Cave_In "Nyligen intraffat ras"
with teleport_to
'gigantiska' In_Giant_Room,
description "Gangen blockeras har av ett nyligen intraffat ras.",
s_to In_Giant_Room,
out_to In_Giant_Room;
! ------------------------------------------------------------------------------
Room In_Immense_N_S_Passage "Jattelik N/S-gang"
with teleport_to
'gigantiska' 'gang' 'gangen' In_Giant_Room,
description "Du ar i ena anden av en jattelik nord/syd-gang.",
s_to In_Giant_Room,
n_to [;
if (RustyDoor has locked) <<Open RustyDoor>>;
if (RustyDoor hasnt open) {
give RustyDoor open;
print "(bander forst upp dorren)^";
}
return RustyDoor;
];
Object -> RustyDoor "rostig dorr"
with name 'dorr' 'dorren' 'gangjarn' 'gangjarnet' 'gangjarnen'
'massiv' 'massiva' 'rostig' 'rostiga' 'jarndorr' 'jarndorren',
short_name_def "rostiga dorren",
description "Det ar bara en stor jarndorr.",
when_closed "Vagen norrut blockeras av en massiv, rostig jarndorr.",
when_open "Vagen norrut gar genom en massiv, rostig jarndorr.",
door_to In_Cavern_With_Waterfall,
door_dir n_to,
before [;
Open:
if (self has locked)
"Gangjarnen ar ordentligt rostiga nu och ror sig inte en millimeter.";
Close:
if (self has open)
"Med tanke pa hur mycket jobb det var att oppna dorren,
skulle jag foresla att du inte stanger den igen.";
"Inga problem -- den ar redan stangd.";
Oil:
if (bottle in player && oil_in_the_bottle in bottle) {
remove oil_in_the_bottle;
give self ~locked openable;
"Oljan har smort upp gangjarnen sa att dorren nu kan rora sig,
aven om den fortfarande ar ganska trog.";
}
else
"Du har inget att olja in den med.";
Water:
if (bottle in player && water_in_the_bottle in bottle) {
remove water_in_the_bottle;
give self locked ~open;
"Gangjarnen ar ordentligt rostiga nu och ror sig inte en millimeter.";
}
else
"Du har inget att vattna den med.";
],
after [;
Open:
"Dorren oppnar sig medan kaskader av rostflagor skakar loss.";
],
has static door locked def_article;
! ------------------------------------------------------------------------------
Room In_Cavern_With_Waterfall "I en grotta med ett vattenfall"
with teleport_to
'gigantiska' In_Giant_Room,
description
"Du ar i en magnifik grotta med en fors,
som far ut i ett glittrande vattenfall och ner i en
danande virvel i en damm som forsvinner genom ett hal i golvet.
Gangar gar ut mot soder och vaster.",
s_to In_Immense_N_S_Passage,
out_to In_Immense_N_S_Passage,
w_to At_Steep_Incline;
Scenic -> "vattenfall"
with name 'vattenfall' 'vattenfallet' 'danande' 'virvel' 'virveln'
'glittrande' 'virvlande',
short_name_def "vattenfallet",
description "Skulle inte vilja aka ner dar i en tunna!",
has neuter;
Treasure -> trident "juvelbestrodd treudd"
with name 'treudd' 'treudden' 'juvelbestrodd' 'juvelbestrodda' 'juvelprydd'
'juvelprydda' 'sagolik' 'sagolika' 'juvel' 'juveler',
short_name_def "juvelbestrodda treudden",
description "Treudden ar tackt av sagolika juveler!",
initial "Det ligger en juvelprydd treudd har!",
depositpoints 14,
has def_article;
! ------------------------------------------------------------------------------
! Grottorna runt Lapptacket
! ------------------------------------------------------------------------------
Room In_Soft_Room "I mjuka rummet"
with description
"Du ar i mjuka rummet.
Vaggarna ar tackta med tunga draperier, golvet med en tjock luggmatta.
Mossa tacker taket.",
w_to In_Swiss_Cheese_Room,
out_to In_Swiss_Cheese_Room;
Scenic -> "matta"
with name 'matta' 'mattan' 'luggmatta' 'luggmattan'
'tung' 'tunga' 'tjock' 'tjocka',
short_name_def "mattan",
description "Mattan ar riktigt flott.";
Scenic -> "draperier"
with name 'draperi' 'draperiet' 'draperier' 'draperierna'
'tung' 'tunga' 'tjock' 'tjocka',
short_name_def "draperierna",
description "De verkar absorbera ljud valdigt val.",
before [;
Take:
"Ga inte runt och forstor hela stallet!";
LookUnder, Search:
"Du hittar inget intressant bakom draperierna.";
],
has pluralname;
Scenic -> "mossa"
with name 'mossa' 'mossan' 'typisk' 'typiska' 'standardmossa' 'standardmossan',
short_name_def "mossan",
description "Det ser ut som typisk standardmossa.",
before [;
Take:
"Den faller sonder i dina hander.";
],
has edible proper;
Object -> velvet_pillow "sammetskudde"
with name 'kudde' 'kudden' 'sammet' 'sammeten' 'sammetskudde' 'sammetskudden'
'liten' 'lilla',
short_name_def "sammetskudden",
description "Det ar bara en liten sammetskudde.",
initial "En liten sammetskudde ligger pa golvet.";
! ------------------------------------------------------------------------------
Room In_Oriental_Room "Orientaliska rummet"
with teleport_to
'krypgang' 'krypgangen' 'kryp' In_Large_Low_Room
'dimmig' 'dimmiga' 'grotta' 'grottan' In_Misty_Cavern,
description
"Det har ar det orientaliska rummet.
Uraldriga orientaliska grottmalningar tacker vaggarna.
En latt sluttande gang gar uppat norrut, en annan gang gar sydost,
och en krypgang leder vasterut.",
w_to In_Large_Low_Room,
se_to In_Swiss_Cheese_Room,
u_to In_Misty_Cavern,
n_to In_Misty_Cavern;
Scenic -> "uraldriga orientaliska malningar"
with name 'malning' 'malningen' 'malningar' 'malningarna'
'teckning' 'teckningen' 'teckningar' 'teckningarna'
'konst' 'konsten' 'grottmalning' 'grottmalningen'
'grottmalningar' 'grottmalningarna' 'uraldrig' 'uraldriga'
'antik' 'antika' 'orientalisk' 'orientaliska',
short_name_def "uraldriga orientaliska malningarna",
description "De verkar forestalla manniskor och djur.",
has multitude pluralname def_article;
Treasure -> ming_vase "Mingvas"
with name 'vas' 'vasen' 'mingvas' 'mingvasen' 'omtalig' 'omtaliga'
'dyrbar' 'dyrbara' 'elegant' 'eleganta',
short_name_def "Mingvasen",
description "Det ar en elegant, dyrbar Mingvas!",
after [;
Drop:
if (velvet_pillow in location) {
print "(landar elegant pa sammetskudden)^";
rfalse;
}
remove ming_vase;
move shards to location;
"Mingvasen landar med en elegant krasch.";
],
before [;
Attack:
remove ming_vase;
move shards to location;
"Du har tagit vasen och
elegant kastat den till marken.";
Receive:
"Vasen ar alltfor omtalig for att anvandas som behallare.";
],
depositpoints 14;
Object shards "vardelosa krukskarvor"
with name 'vardelos' 'vardelosa' 'skarva' 'skarvan' 'skarvor' 'skarvorna'
'krukskarva' 'krukskarvan' 'krukskarvor' 'krukskarvorna'
'rester' 'resterna' 'av' 'en' 'vas' 'vasen',
short_name_def "vardelosa krukskarvorna",
description
"Det ser ut att vara resterna av vad som en gang var en vacker vas.
Antagligen var det nagon klant som tappade den.",
initial "Golvet ar fullt av vardelosa krukskarvor.",
has multitude pluralname def_article;
! ------------------------------------------------------------------------------
Room In_Misty_Cavern "Dimmig grotta"
with teleport_to
'orientaliska' In_Oriental_Room,
description
"Du foljer en bred stig runt den yttre kanten av en stor grotta.
Langt nedanfor dig, genom en tung vit dimma, hors markliga plaskande laten.
Dimman stiger upp genom en spricka i taket.
Stigen leder ut fran grottan at soder och vaster.",
s_to In_Oriental_Room,
w_to In_Alcove;
Scenic -> "spricka"
with name 'spricka' 'sprickan' 'i//' 'tak' 'taket',
short_name_def "sprickan",
description "Du kan inte komma nara nog for att se sa mycket detaljer.";
! ------------------------------------------------------------------------------
! Spovar och pyramider
! ------------------------------------------------------------------------------
Room In_Alcove "Alkov"
with teleport_to
'dimmig' 'dimmiga' 'grotta' 'grottan' In_Misty_Cavern,
description
"Du ar i en alkov.
A liten stig at nordvast verkar bli bredare efter en kort bit.
En extremt trang tunnel leder osterut.
Det ser ut att vara en mycket trang passage.
Ett kusligt ljus syns i andra anden.",
nw_to In_Misty_Cavern,
e_to [ j;
j = children(player);
if (j == 0 || (j == 1 && egg_sized_emerald in player))
return In_Plover_Room;
"Nagot som du bar ar for stort for att komma igenom tunneln med dig.
Du bor nog lista dina tillhorigheter och slappa nagot.";
];
! ------------------------------------------------------------------------------
Room In_Plover_Room "Spovrummet"
with teleport_to
'mork' 'morkt' 'morka' 'morker' 'morkret' 'korridor' 'korridoren' In_Dark_Room,
description
"Du ar i en liten kammare upplyst av ett kusligt gront ljus.
En extremt smal tunnel leder vasterut.
En mork korridor leder nordost.",
ne_to In_Dark_Room,
w_to [ j;
j = children(player);
if (j == 0 || (j == 1 && egg_sized_emerald in player))
return In_Alcove;
"Nagot som du bar ar for stort for att komma igenom tunneln med dig.
Du bor nog lista dina tillhorigheter och slappa nagot.";
],
before [;
Plover:
if (egg_sized_emerald in player) {
move egg_sized_emerald to In_Plover_Room;
score = score - 5;
}
PlayerTo(At_Y2);
rtrue;
Go:
if (noun == out_obj)
<<Go w_obj>>;
],
has light;
Treasure -> egg_sized_emerald "smaragd stor som ett spovagg"
with name 'smaragd' 'smaragden' 'stor' 'stora' 'som' 'ett' 'spovagg'
'spovagget' 'agg' 'agget' 'en' 'spovs',
short_name_def "stora smaragden",
description "Spovar lagger, for ovrigt, valdigt stora agg.",
initial "Det ligger en smaragd har, stor som ett spovagg!",
depositpoints 14,
has def_article;
! ------------------------------------------------------------------------------
Room In_Dark_Room "Det morka rummet"
with description
"Du ar i Morkrummet. Enda utgangen ar en korridor som leder soderut.",
s_to In_Plover_Room,
out_to In_Plover_Room,
has nodwarf;
Object -> "stentavla"
with name 'tavla' 'tavlan' 'massiv' 'massiva' 'stentavla' 'stentavlan',
short_name_def "stentavlan",
initial
"En massiv stentavla insatt i vaggen bar texten:
~Grattis till att ha bringat ljus till Morkrummet!~",
has static;
Treasure -> "platinapyramid"
with name 'platinapyramid' 'platinapyramiden' 'pyramid' 'pyramiden'
'platina' 'platinan' 'pyramidisk' 'pyramidiska',
short_name_def "platinapyramiden",
description "Platinapyramidens sidor ar 20 centimeter langa!",
initial "Det ligger en platinapyramid har, med 20 centimeter langa sidor!",
depositpoints 14;
! ------------------------------------------------------------------------------
! Norr om den komplicerade korsningen: En lang upp/ner-korridor
! ------------------------------------------------------------------------------
Room In_Arched_Hall "Sal med valvtak"
with teleport_to
'skalrum' 'skalrummet' In_Shell_Room,
description
"Du ar i en sal med valvtak.
En korallgang har tidigare gatt uppat och osterut harifran, men den blockeras nu av skrap.
Luften har luktar havsvatten.",
d_to In_Shell_Room;
! ------------------------------------------------------------------------------
Room In_Shell_Room "Skalrummet"
with teleport_to
'sal' 'salen' 'valvtak' 'valvtaket' 'valvsal' 'valvsalen' In_Arched_Hall,
description
"Du ar i ett stort rum utmejslat ur bergrunden.
Pa golvet och vaggarna sitter massor av skalbitar fast i stenen.
En grund gang fortsatter nerat, och en nagot brantare leder upp.
En lag krypgang kommer in soderifran.",
u_to In_Arched_Hall,
d_to In_Ragged_Corridor,
s_to [;
if (giant_bivalve in player) {
if (giant_bivalve has open)
"Du kan inte fa in det har en och en halvmeters ostronet genom den dar lilla gangen.";
else
"Du kan inte fa in den har en och en halvmeters musslan genom den dar lilla gangen.";
}
return At_Complex_Junction;
];
Object -> giant_bivalve "jattemussla"
with name 'jattemussla' 'jattemusslan' 'mussla' 'musslan'
'ostron' 'ostronet' 'jatteostron' 'jatteostronet'
'gigantisk' 'gigantiskt' 'gigantiska'
'tvaskalig' 'tvaskaligt' 'tvaskaliga' 'blotdjur' 'blotdjuret',
short_name [;
if (self.has_been_opened) {
print "jatteostron";
if(indef_mode==false)
print "et";
} else {
print "jattemussla";
if(indef_mode==false)
print "n";
}
rtrue;
],
describe [;
if (self.has_been_opened)
"Det finns ett gigantiskt ostron har, med skalet hart stangt.";
"Det finns en gigantisk mussla har, med skalet hart stangt.";
],
before [;
Examine:
if (location == At_Ne_End or At_Sw_End)
"Intressant.
Nagot verkar sta skrivet pa ostronets undersida:
^^
~Det ar nagot mystiskt med det har stallet,
som har gjort att en av de forbannelser jag alltid kant till nu har en ny effekt.~";
"Ett gigantiskt tvaskaligt blotdjur av nagot slag.";
Open:
"Du ar inte stark nog for att oppna musslan med dina bara hander.";
Unlock:
if (second ~= trident) {
SetGender(second);
print (The) second, " ar inte stark";
if(second has pluralname) print "a";
else if(second has neuter) print "t";
" nog for att oppna musslan.";
}
if (self.has_been_opened)
"Ostronet oppnas med ett gnissel, och inuti syns inget annat an ostron.
Det stangs genast igen.";
self.has_been_opened = true;
move pearl to In_A_Cul_De_Sac;
SetGender(self, neuter);
"En glimrande parla faller ut ur musslan och rullar ivag.
Josses, det har maste faktiskt vara ett ostron.
(Jag har aldrig varit nagot vidare pa att identifiera tvaskaliga blotdjur.)
Vad det an ar, sa har det nu ater stangts.";
Attack:
"Skalet ar mycket starkt och ar ogenomtrangligt for attacker.";
],
has_been_opened false,
has uter;
Treasure pearl "glimrande parla"
with name 'parla' 'parlan' 'glimrande' 'skimrande' 'glimmande' 'otrolig' 'otroliga' 'otroligt' 'stor' 'stora',
short_name_def "glimrande parlan",
description "Den ar otroligt stor!",
initial "Vid ena sidan ligger en glimrande parla!",
depositpoints 14,
has def_article;
! ------------------------------------------------------------------------------
Room In_Ragged_Corridor "Ojamn korridor"
with teleport_to
'skalrum' 'skalrummet' In_Shell_Room,
description "Du ar i en lang sluttande korridor med ojamna, vassa vaggar.",
u_to In_Shell_Room,
d_to In_A_Cul_De_Sac;
Room In_A_Cul_De_Sac "I slutet av en gang"
with teleport_to
'skalrum' 'skalrummet' In_Shell_Room,
description "Du ar i slutet av en tva och en halv meter bred gang.",
u_to In_Ragged_Corridor,
out_to In_Ragged_Corridor;
! ------------------------------------------------------------------------------
! Witt's End / Slut pa uppslag : Grottbyggnation pagar
! ------------------------------------------------------------------------------
Room In_Anteroom "I entren"
with description
"Du ar i en entre med ett markligt, boljande golv.
Golvet ser ut som borjan pa ett gigantisk, uppslagen bok som fortsatter in i
en stor gang osterut.
Sma gangar gar vasterut och uppat.
Det syns tydliga spar av att nagon nyligen har gravt har.",
u_to At_Complex_Junction,
w_to In_Bedquilt,
e_to At_Witts_End;
Object -> "skylt"
with name 'skylt' 'skylten' 'karlsson' 'karlssons' 'karlsson^s' 'byggab' 'bygg' 'ab'
'grottbyggnation' 'varningsskylt' 'varningsskylten' 'om' 'med' 'av' 'fran',
short_name_def "skylten",
initial
"Pa en skylt som hanger fritt i luften star det:
~Grottbyggnation pagar bortom denna punkt.
Fortsatt pa egen risk. Malsman ansvarar for sina barn. [Karlssons Bygg AB]~",
before [;
Take:
"Den hanger langt ovanfor ditt huvud.";
],
has static;
Object -> "ganska nya nummer av ~Speleolognytt~"
with name 'ganska' 'nya' 'nytt' 'nummer' 'numret' 'numren' 'av' 'speleolognytt'
'tidning' 'tidningen' 'tidningar' 'tidningarna'
'magasin' 'magasinet' 'magasinen',
short_name_def "ganska nya numren av ~Speleolognytt~",
description "Jag ar radd att tidningarna ar skrivna pa dvargiska.",
initial "Det ligger nagra ganska nya nummer av tidningen ~Speleolognytt~ har.",
after [;
Take:
if (location == At_Witts_End) score--;
Drop:
if (location == At_Witts_End) {
score++;
"Ja, nu ar det visst helt slut pa uppslag.";
}
],
has multitude pluralname def_article;
Scenic "uppslag"
with name 'uppslag' 'uppslaget' 'bokuppslag' 'bokuppslaget'
'uppslagen' 'uppslagna' 'bok' 'boken'
'boljande' 'golv' 'golvet',
short_name_def "uppslaget",
description "Golvet paminner om en uppslagen bok till formen. Du ser dock ingen text.",
found_in In_Anteroom At_Witts_end,
has neuter;
! ------------------------------------------------------------------------------
Room At_Witts_End "Slut pa uppslag"
with description
"Du ar i ett stort rum dar golvet ar format som en uppslagen bok. Uppslaget
borjade i rummet vaster om detta, men det ar anda svart att avgora vilken
gang som leder dit. Gangar leder at *alla* hall.",
w_to
"Du har krupit runt i nagra sma hal
men stoppades av en passage dar taket nyligen rasat in.
Du ar nu tillbaka i huvudgangen.",
before [;
Go:
if (noun ~= w_obj && random(100) <= 95)
"Du har krupit runt i nagra sma hal och kommit tillbaka
till huvudgangen.";
PlayerTo(In_Anteroom);
rtrue;
];
! ------------------------------------------------------------------------------
! Norr om de hemliga ravinerna, pa andra sidan halet
! ------------------------------------------------------------------------------
Room In_Mirror_Canyon "I spegelravinen"
with teleport_to
'reservoar' 'reservoaren' At_Reservoir,
description
"Du ar i en nord/syd-ravin, cirka sju meter bred.
Golvet ar tackt av en vit dimma som glider in norrifran.
Vaggarna stracker sig uppat, minst 30 meter hoga.
Upphangd i nagot som sitter langt, langt upp, och som du inte kan se,
svavar en enorm tvasidig spegel, parallellt med och mitt emellan ravinens vaggar.
^^
Ett litet fonster sitter i vardera vaggen, cirka femton meter fran golvet.",
s_to In_Secret_N_S_Canyon_0,
n_to At_Reservoir;
Object -> "upphangd spegel"
with name 'spegel' 'spegeln' 'massiv' 'massiva' 'enorm' 'enorma' 'hangande'
'upphangd' 'upphangda' 'svavande' 'som' 'svavar' 'dvargarnas'
'tvasidig' 'tvasidiga',
short_name_def "upphangda spegeln",
description
"Spegeln har sakert hangts har for dvargarnas skull.
Som du vet ar de extremt fafanga.",
initial
"Spegeln har sakert hangts har for dvargarnas skull.
Som du vet ar de extremt fafanga.",
before [;
Attack, Remove:
"Du kan inte na den harifran.";
],
has static def_article;
! ------------------------------------------------------------------------------
Room At_Window_On_Pit_2 "Vid ett fonster mot ett hal"
with description
"Du ar vid ett lagt fonster med utsikt over ett enormt hal som stracker sig uppat utom synhall.
Ett golv ar vagt skonjbart mer an femton meter ner.
Spar av vit dimma tacker halets golv, och dimman blir tjockare till vanster.
Marken i dammet runt fonstret kan tyda pa att nagon har varit har nyligen.
Tvars over halet fran dig och sju-atta meter bort
finns ett liknande fonster in till ett upplyst rum.
Dar ser du en mystisk figur som stirrar tillbaka pa dig.",
w_to At_Junction_Of_Three,
cant_go "Den enda utgangen ar vasterut, tillbaka till korsningen.",
before [;
Jump:
deadflag = 1;
"Du hoppar och bryter nacken!";
WaveHands:
"Den mystiska figuren vinkar tillbaka till dig!";
];
! ------------------------------------------------------------------------------
Room At_Reservoir "Vid Reservoar"
with description
"Du ar vid kanten av en stor underjordisk reservoar.
Ett ogenomskinligt moln av vit dimma fyller rummet och stiger snabbt uppat.
Sjon fylls pa av en fors som kommer ut ur ett hal i vaggen nagra meter over ditt huvud
och landar ljudligt i vattnet nagonstans i dimman.
Den enda utgangen leder tillbaka soderut.",
s_to In_Mirror_Canyon,
out_to In_Mirror_Canyon,
before [;
Swim:
"Vattnet ar iskallt, och du skulle snart frysa ihjal.";
];
! ------------------------------------------------------------------------------
! Gapet och trollbron
! ------------------------------------------------------------------------------
Room In_Sloping_Corridor "Sluttande korridor"
with description
"Du ar i en lang slingrande korridor som sluttar utom synhall at bada hallen.",
d_to In_Large_Low_Room,
u_to On_Sw_Side_Of_Chasm,
cant_go "Korridoren sluttar brant upp och ner.";
Room On_Sw_Side_Of_Chasm "Pa sydvastsidan av ett gap"
with description
"Du ar pa ena sidan av ett brett, djupt gap.
En tung vit dimma som stiger upp nerifran gor att man inte kan se nagot alls av den andra sidan.
En gang at sydvast leder bort fran gapet, in i en slingrande korridor.",
ne_to CrossRicketyBridge,
sw_to In_Sloping_Corridor,
d_to In_Sloping_Corridor,
cant_go "Gangen slingrar ivag at sydvast.",
before [;
Jump:
if (RicketyBridge in self)
"Med all respekt vill jag anda foresla att du gar over bron istallet for att hoppa.";
deadflag = 1;
"Du klarade det inte.";
];
[ CrossRicketyBridge;
if (Troll.has_caught_treasure || Troll in nothing) {
Troll.has_caught_treasure = false;
if (Bear.is_following_you) {
remove Bear;
remove self;
give Wreckage ~absent;
remove RicketyBridge;
give RicketyBridge absent;
StopDaemon(Bear);
deadflag = 1;
"Just som du nar den andra sidan knakar det till, och bron bagnar av belastningen nar
bjornen, som fortfarande foljde efter dig, gar upp pa bron.
Du griper desperat efter nagot att halla tag i,
men nar bron kollapsar tappar du fotfastet och faller ner i gapet.";
}
return RicketyBridge;
}
if (Troll in location) "Trollet vagrar slappa forbi dig.";
move Troll to location;
"Trollet kommer ut ur skuggorna under bron, kliver fram och blockerar din vag.";
];
Object -> RicketyBridge "ranglig bro"
with name 'bro' 'bron' 'ranglig' 'rangliga' 'instabil' 'instabila'
'ostadig' 'ostadiga' 'ostabil' 'ostabila' 'vinglig' 'vingliga'
'rank' 'ranka' 'rep' 'repet' 'repen' 'repbro' 'repbron'
'trabro' 'trabron',
short_name_def "rangliga bron",
description "Det ser ut som en vanlig, om an ostadig, bro.",
describe [;
print
"En ranglig trabro gar ut over gapet och forsvinner in i dimman.
^^
Pa bron sitter en skylt med texten ~Stopp! Betala trollet!~^";
if (Troll notin location)
"Trollet syns inte till nagonstans.";
rtrue;
],
door_dir [;
if (location == On_Sw_Side_Of_Chasm) return ne_to;
return sw_to;
],
door_to [;
if (location == On_Sw_Side_Of_Chasm) return On_Ne_Side_Of_Chasm;
return On_Sw_Side_Of_Chasm;
],
found_in On_Sw_Side_Of_Chasm On_Ne_Side_Of_Chasm,
has static door open def_article;
Object -> -> Troll "burdust troll"
with name 'troll' 'trollet' 'burdus' 'burdust' 'burdusa',
short_name_def "burdusa trollet",
description
"Troll ar nara slakt med stenar och har lika hard hud som noshorningar.",
initial
"Ett burdust troll star vid bron
och insisterar pa att du kastar en skatt till honom innan du far passera.",
life [;
Attack:
"Trollet skrattar till at ditt patetiska forsok att skada honom.";
ThrowAt, Give:
if (noun ofclass Treasure) {
remove noun;
move self to RicketyBridge;
self.has_caught_treasure = true;
score = score - 5;
"Trollet fangar din skatt och springer ivag utom synhall.";
}
if (noun == tasty_food)
"Frosseri ar inte en av trollets laster. Det ar daremot girighet.";
print "Trollet fangar smidigt ", (the) noun,
", undersoker ",(DenEllerHonom) noun," noggrannt, och kastar tillbaka ",(DenEllerHonom) noun,":
~Gott hantverk, men ",(DenEllerHan) noun," ar inte vardefull";
if(noun has pluralname)
print "a";
else if(noun has neuter)
print "t";
" nog.~";
Order:
"Fet chans.";
Answer, Ask:
"Troll ar inget vidare pa att konversera.";
],
has_caught_treasure false,
has animate neuter def_article;
Object Wreckage "brovrak"
with name 'vrak' 'vraket' 'bro' 'bron' 'brovrak' 'brovraket' 'av' 'trollbron'
'dod' 'doda' 'bjorn' 'bjornen',
short_name_def "vraket av trollbron",
initial
"Om man tittar ner i gapet syns vraket av trollbron (och en dod bjorn)
nere pa botten.",
before [;
"Vraket ar for langt ner.";
],
found_in On_Sw_Side_Of_Chasm On_Ne_Side_Of_Chasm,
has static absent neuter;
! ------------------------------------------------------------------------------
Room On_Ne_Side_Of_Chasm "Pa nordostra sidan av ett gap"
with teleport_to
'forgrening' At_Fork_In_Path
'andlost' 'vacker' 'vackra' 'vy' 'vyn' At_Breath_Taking_View
'kalt' 'kala' In_Front_Of_Barren_Room,
description
"Du ar pa bortre sidan av gapet.
En gang mot nordost leder bort fran gapet pa den har sidan.",
sw_to CrossRicketyBridge,
ne_to In_Corridor,
before [;
Jump:
if (RicketyBridge in self)
"Med all respekt vill jag anda foresla att du gar over bron istallet for att hoppa.";
deadflag = 1;
"Du klarade det inte.";
],
has nodwarf;
Room In_Corridor "I en korridor"
with teleport_to
'forgrening' At_Fork_In_Path
'andlost' 'vacker' 'vackra' 'vy' 'vyn' At_Breath_Taking_View,
description
"Du ar i en lang ost/vast-korridor.
Ett svagt danande ljud hors langt borta.",
w_to On_Ne_Side_Of_Chasm,
e_to At_Fork_In_Path,
has nodwarf;
! ------------------------------------------------------------------------------
! Vulkanen
! ------------------------------------------------------------------------------
Room At_Fork_In_Path "Vid forgrening i vagen"
with teleport_to
'vanster' At_Junction_With_Warm_Walls
'hoger' In_Limestone_Passage
'andlost' 'vacker' 'vackra' 'vy' 'vyn' At_Breath_Taking_View,
description
"Vagen forgrenas har. Den vanstra grenen leder nordost.
Ett dampat dan verkar tillta i styrka at det hallet.
Den hogra grenen leder sydost nerfor en latt sluttning.
Huvudkorridoren kommer in vasterifran.",
w_to In_Corridor,
ne_to At_Junction_With_Warm_Walls,
se_to In_Limestone_Passage,
d_to In_Limestone_Passage,
has nodwarf;
! ------------------------------------------------------------------------------
Room At_Junction_With_Warm_Walls "Vid en korsning med varma vaggar"
with teleport_to
'forgrening' At_Fork_In_Path
'andlost' 'vacker' 'vackra' 'vy' 'vyn' At_Breath_Taking_View
'kryp' 'krypgang' 'kammare' 'kammaren' 'stenbumlingkammare' In_Chamber_Of_Boulders,
description
"Vaggarna ar valdigt varma har.
Norrifran hors ett intensivt muller,
sa hogt att hela grottan tycks skaka.
En annan gang leder soderut, och en lag krypgang gar osterut.",
s_to At_Fork_In_Path,
n_to At_Breath_Taking_View,
e_to In_Chamber_Of_Boulders,
has nodwarf;
! ------------------------------------------------------------------------------
Room At_Breath_Taking_View "Vid andlost vacker vy"
with teleport_to
'forgrening' At_Fork_In_Path
'mork' 'morka' 'illavarslande' 'gang' 'gangen' At_Junction_With_Warm_Walls,
description
"Du star pa kanten till en andlost vacker vy.
Langt nedanfor dig ligger en aktiv vulkan, ur vilken stora klumpar av flytande lava sprutar ut,
for att sedan ater falla tillbaka ner i djupet.
Den glodande stenen fyller varje vra av klipprummet med en blodrod glans,
som ger allt ett kusligt, makabert utseende.
Luften ar fylld av pulserande gnistor av aska och en tung doft av svavel.
Vaggarna ar brannheta,
och mullret fran vulkanen dranker alla andra ljud.
I det sargade taket langt ovanfor dig
sitter myriader av forvrangda formationer av ren vit alabaster,
som sprider det skumma ljuset och bildar hotfulla valnader pa vaggarna.
Vid ena sidan ar en djup svacka, fylld med ett bisarrt kaos av illa tilltygade klippblock
som ser ut att ha skapats av djavulen sjalv.
En intensiv flod av eld strommar ut fran vulkanens djup,
branner sin vag genom svackan, och stortar sedan ner i ett bottenlost hal langt bort till vanster om dig.
Till hoger om dig sprutar en massiv gejser av overhettad anga oavbrutet upp
fran en kal o, i en svavelsjo som bubblar olycksbadande.
Vaggen langst till hoger flammar av en egen sorts glod,
vilket ger annu mer infernalisk prakt till den redan helvetiska vyn.
En mork, illavarslande gang leder soderut.",
s_to At_Junction_With_Warm_Walls,
out_to At_Junction_With_Warm_Walls,
d_to "Larva dig inte!",
before [;
Jump:
<<Go d_obj>>;
],
has light;
Scenic -> "aktiv vulkan"
with name 'vulkan' 'vulkanen' 'glodande' 'aktiv' 'aktiva' 'djup' 'djupet'
'blodrod' 'blodroda' 'glans' 'glansen' 'fran' 'rod' 'roda'
'kuslig' 'kusligt' 'kusliga' 'makaber' 'makabert' 'makabra' 'utseende' 'utseendet',
short_name_def "aktiva vulkanen",
description
"Stora klumpar av flytande lava sprutar ut ur vulkanen,
for att sedan ater falla tillbaka ner i djupet.
Den glodande stenen fyller varje vra av klipprummet med en blodrod glans,
som ger allt ett kusligt, makabert utseende.",
has def_article;
Scenic -> "gnistor av aska"
with name 'gnista' 'gnistan' 'gnistor' 'gnistorna' 'av' 'aska' 'askan'
'luft' 'luften' 'pulserande',
short_name_def "gnistorna av aska",
articles 0 0 "massor av",
description
"Gnistorna ar for langt bort for att du ska kunna ta dig en narmare titt pa dem.",
has multitude pluralname;
Scenic -> "sargat tak"
with name 'sargat' 'sargade' 'tak' 'taket' 'myriad' 'myriader' 'myriaderna' 'av'
'forvrangd' 'forvrangda' 'formation' 'formationer' 'ren' 'rena' 'vit' 'vita'
'alabaster' 'skumt' 'skumma' 'ljus' 'ljuset' 'hotfull' 'hotfulla'
'valnad' 'valnader' 'pa' 'vaggen' 'vaggarna',
short_name_def "sargade taket",
description
"I det sargade taket langt ovanfor dig
sitter myriader av forvrangda formationer av ren vit alabaster,
som sprider det skumma ljuset och bildar hotfulla valnader pa vaggarna.",
has def_article neuter;
Scenic -> "djup svacka"
with name 'djup' 'djupa' 'svacka' 'svackan' 'bisarr' 'bisarrt' 'bisarra'
'kaos' 'kaoset' 'av' 'illa' 'tilltygat' 'tilltygade' 'klippblock'
'klippblocket' 'klippblocken' 'sten' 'stenen' 'stenar' 'stenarna',
short_name_def "djupa svackan",
description
"Svackan ar fylld med ett bisarrt kaos av illa tilltygade klippblock
som ser ut att ha skapats av djavulen sjalv.",
has def_article;
Scenic -> "flod av eld"
with name 'flod' 'floden' 'av' 'eld' 'elden' 'bottenlost' 'bottenlosa' 'hal' 'halet',
short_name_def "floden av eld",
description
"Floden av eld strommar ut fran vulkanens djup,
branner sin vag genom svackan, och stortar sedan ner i ett bottenlost hal langt bort till vanster om dig.",
has def_article;
Scenic -> "massiv gejser"
with name 'massiv' 'massiva' 'gejser' 'gejsern' 'av' 'overhettad' 'overhettade'
'anga' 'angan' 'kal' 'kala' 'o//' 'on' 'svavelsjo' 'svavelsjon' 'sjo' 'sjon'
'som' 'bubblar' 'bubblande',
short_name_def "massiva gejsern",
description
"Gejsern av overhettad anga sprutar oavbrutet upp
fran en kal o, mitt i en svavelsjo som bubblar olycksbadande.",
has def_article;
! ------------------------------------------------------------------------------
Room In_Chamber_Of_Boulders "I stenbumlingkammaren"
with teleport_to
'kryp' 'krypgang' 'krypgangen' At_Junction_With_Warm_Walls
'forgrening' At_Fork_In_Path
'andlost' 'vacker' 'vackra' 'vy' 'vyn' At_Breath_Taking_View,
description
"Du ar i en liten kammare fylld med stora stenbumlingar.
Vaggarna ar valdigt varma, vilket gor att luften i rummet ar nastintill forlamande het.
Enda utgangen ar en krypgang vasterut. Det hors ett lagt muller darifran.",
w_to At_Junction_With_Warm_Walls,
out_to At_Junction_With_Warm_Walls,
has nodwarf;
Scenic -> "stenbumlingar"
with name 'stenbumling' 'stenbumlingen' 'stenbumlingar' 'stenbumlingarna'
'bumling' 'bumlingen' 'bumlingar' 'bumlingarna' 'sten' 'stenen'
'stenar' 'stenarna' 'klippa' 'klippan' 'klippor' 'klipporna'
'klippblock' 'klippblocket' 'klippblocken',
short_name_def "stenbumlingarna",
description "Det ar bara vanliga stenbumlingar. De ar varma.",
before [;
LookUnder, Push, Pull:
"Du skulle behova spranga bort dem.";
],
has multitude pluralname;
Treasure -> "ovanliga kryddor"
with name 'exotisk' 'exotiska' 'ovanlig' 'ovanliga'
'krydda' 'kryddan' 'kryddor' 'kryddorna',
short_name_def "ovanliga kryddorna",
articles "De" "de" "en samling",
before [;
Smell, Examine:
"De luktar underbart exotiskt!";
],
depositpoints 14,
has multitude pluralname;
! ------------------------------------------------------------------------------
Room In_Limestone_Passage "I kalkstensgang"
with teleport_to
'kalt' 'kala' In_Front_Of_Barren_Room
'forgrening' At_Fork_In_Path
'andlost' 'vacker' 'vackra' 'vy' 'vyn' At_Breath_Taking_View,
description
"Du gar langs en latt sluttande nord/syd-gang
med markliga kalkstensformationer langs vaggarna.",
n_to At_Fork_In_Path,
u_to At_Fork_In_Path,
s_to In_Front_Of_Barren_Room,
d_to In_Front_Of_Barren_Room,
has nodwarf;
Scenic -> "kalkstensformationer"
with name 'formation' 'formationen' 'formationer' 'formationerna' 'form' 'formen' 'former' 'formerna'
'kalksten' 'kalkstenen' 'kalkstenar' 'kalkstenarna'
'kalkstensformation' 'kalkstensformationen' 'kalkstensformationer' 'kalkstensformationerna'
'med' 'riktigt' 'udda',
short_name_def "kalkstensformationerna",
description
"Ibland ser du kalkstenar med riktigt udda former som far dig att stanna upp.",
has multitude pluralname;
! ------------------------------------------------------------------------------
! Om du gar ner till skogen idag...
! ------------------------------------------------------------------------------
Room In_Front_Of_Barren_Room "Vid ingangen till ett kalt rum"
with teleport_to
'kalt' 'kala' In_Barren_Room
'forgrening' At_Fork_In_Path
'andlost' 'vacker' 'vackra' 'vy' 'vyn' At_Breath_Taking_View,
description
"Du star vid ingangen till ett stort, kalt rum.
Pa en skylt ovanfor ingangen star det: ~Varning! Bjorn i rummet!~",
w_to In_Limestone_Passage,
u_to In_Limestone_Passage,
e_to In_Barren_Room,
in_to In_Barren_Room,
has nodwarf;
Scenic -> "varningsskylt"
with name 'skylt' 'skylten' 'varningsskylt' 'varningsskylten'
'kalt' 'kala' 'rum' 'rummet' 'varning' 'varningen'
'ovanfor' 'ingang' 'ingangen',
short_name_def "varningsskylten",
description "Pa skylten star det: ~Varning! Bjorn i rummet!~";
! ------------------------------------------------------------------------------
Room In_Barren_Room "I ett kalt rum"
with teleport_to
'forgrening' At_Fork_In_Path
'andlost' 'vacker' 'vackra' 'vy' 'vyn' At_Breath_Taking_View,
description
"Du ar i ett kalt rum.
Rummets mitt ar helt tomt forutom lite damm.
Avtryck i dammet leder bort mot den bortre anden av rummet.
Den enda utgangen ar den vag du kom in.",
w_to In_Front_Of_Barren_Room,
out_to In_Front_Of_Barren_Room,
has nodwarf;
Scenic -> "damm"
with name 'damm' 'dammet' 'avtryck' 'avtrycket' 'avtrycken',
short_name_def "dammet",
articles 0 0 "lite",
description "Det ser bara ut som vanligt damm.",
has neuter;
Object -> Bear "stor grottbjorn"
with name 'bjorn' 'bjornen' 'grottbjorn' 'grottbjornen' 'stor' 'stora'
'tam' 'tama' 'vildsint' 'vildsinta' 'lugn' 'lugna' 'vanlig' 'vanliga'
'vanskaplig' 'vanskapliga',
short_name_def "stora grottbjornen",
describe [;
if (self.is_following_you)
"En mycket stor, tam bjorn foljer efter dig.";
if (self.is_friendly == false)
"En vildsint grottbjorn stirrar pa dig fran andra sidan rummet!";
if (location == In_Barren_Room)
"En lugn grottbjorn sitter snallt i ett horn.";
"En bjorn med nojd uppsyn vandrar omkring i narheten.";
],
life [;
Attack:
if (axe in player) <<ThrowAt axe self>>;
if (self.is_friendly)
"Bjornen blir forvirrad; han vill bara vara din van.";
"Med vad? Dina bara hander? Mot hans *bjornhander*??";
ThrowAt:
if (noun ~= axe) <<Give noun self>>;
if (self.is_friendly)
"Bjornen blir forvirrad; han vill bara vara din van.";
move axe to location;
axe.is_near_bear = true;
"Yxan missar och landar nara bjornen, dar du inte kan fa tag pa den.";
Give:
if (noun == tasty_food) {
axe.is_near_bear = false;
remove tasty_food;
self.is_friendly = true;
"Bjornen kastar girigt i sig maten. Nar han ar klar verkar han mycket lugnare
och till och med ganska vanskaplig.";
}
if (self.is_friendly)
"Bjornen verkar inte sarskilt intresserad av ditt erbjudande.";
"Hoppsan -- ditt erbjudande gor bara bjornen argare!";
Order, Ask, Answer:
"Det har ar en bjorn med mycket liten hjarna.";
],
before [;
Examine:
print "Bjornen ar otroligt stor, ";
if (self.is_friendly) "men verkar vanligt installd.";
"och verkar valdigt vildsint!";
Take, Catch:
if (self.is_friendly == false) "Du maste skoja!";
if (golden_chain has locked)
"Bjornen sitter fortfarande fastkedjad i vaggen.";
self.is_following_you = true;
StartDaemon(self);
"Okej, bjornen foljer nu efter dig.";
Drop, Release:
if (self.is_following_you == false) "Va?";
self.is_following_you = false;
StopDaemon(self);
if (Troll in location) {
remove Troll;
"Bjornen lufsar fram mot trollet, som ger till ett skrik och springer ivag.
Bjornen ger snart upp jakten och kommer tillbaka.";
}
"Bjornen lunkar ivag fran dig.";
],
daemon [;
if (location == thedark) rfalse;
if (self in location) {
if (location == At_Breath_Taking_View)
"^Bjornen ryter av gladje.";
rfalse;
}
move self to location;
"^Bjornen lufsar efter dig.";
],
is_following_you false,
is_friendly false,
has animate def_article;
Treasure -> golden_chain "guldkedja"
with name 'kedja' 'kedjan' 'guldkedja' 'guldkedjan' 'lank' 'lanken'
'lankar' 'lankarna' 'solid' 'solitt' 'solida' 'guld' 'guldet'
'gyllene' 'tjock' 'tjocka' 'rent' 'rena' 'renaste' 'av',
short_name_def "guldkedjan",
description "Kedjan har tjocka lankar av rent guld!",
describe [;
if (self has locked)
"Bjornen halls fast av en kedja av rent guld.";
"En kedja av rent guld ligger ihoprullad pa marken!";
],
with_key set_of_keys,
before [;
Take:
if (self has locked) {
if (Bear.is_friendly) "Den ar fastlast i den vanskapliga bjornen.";
"Den ar fastlast i den vildsinta bjornen!";
}
Unlock:
if (Bear.is_friendly == false)
"Du kan omojligt komma forbi bjornen och komma at att lasa upp kedjan,
och det ar nog lika bra det.";
Lock:
if (self hasnt locked) "Mekanismen gar inte i las igen.";
],
after [;
Unlock:
"Du laser upp kedjan och slapper los den tama bjornen.";
],
depositpoints 14,
has lockable locked;
! ------------------------------------------------------------------------------
! Den olika labyrinten
! ------------------------------------------------------------------------------
Class DiffmazeRoom
with short_name "Labyrint";
DiffmazeRoom Different_Maze_1
with description "Du ar i en labyrint av slingrande tranga gangar, alla olika.",
s_to Different_Maze_3,
sw_to Different_Maze_4,
ne_to Different_Maze_5,
se_to Different_Maze_6,
u_to Different_Maze_7,
nw_to Different_Maze_8,
e_to Different_Maze_9,
w_to Different_Maze_10,
n_to Different_Maze_11,
d_to At_West_End_Of_Long_Hall;
DiffmazeRoom Different_Maze_2
with description "Du ar i en trang labyrint av slingrande gangar, alla olika.",
sw_to Different_Maze_3,
n_to Different_Maze_4,
e_to Different_Maze_5,
nw_to Different_Maze_6,
se_to Different_Maze_7,
ne_to Different_Maze_8,
w_to Different_Maze_9,
d_to Different_Maze_10,
u_to Different_Maze_11,
s_to Dead_End_14;
DiffmazeRoom Different_Maze_3
with description "Du ar i en labyrint av slingriga tranga gangar, alla olika.",
w_to Different_Maze_1,
se_to Different_Maze_4,
nw_to Different_Maze_5,
sw_to Different_Maze_6,
ne_to Different_Maze_7,
u_to Different_Maze_8,
d_to Different_Maze_9,
n_to Different_Maze_10,
s_to Different_Maze_11,
e_to Different_Maze_2;
DiffmazeRoom Different_Maze_4
with description "Du ar i en trang labyrint av slingrande gangar, alla olika.",
nw_to Different_Maze_1,
u_to Different_Maze_3,
n_to Different_Maze_5,
s_to Different_Maze_6,
w_to Different_Maze_7,
sw_to Different_Maze_8,
ne_to Different_Maze_9,
e_to Different_Maze_10,
d_to Different_Maze_11,
se_to Different_Maze_2;
DiffmazeRoom Different_Maze_5
with description "Du ar i en slingrig labyrint av tranga gangar, alla olika.",
u_to Different_Maze_1,
d_to Different_Maze_3,
w_to Different_Maze_4,
ne_to Different_Maze_6,
sw_to Different_Maze_7,
e_to Different_Maze_8,
n_to Different_Maze_9,
nw_to Different_Maze_10,
se_to Different_Maze_11,
s_to Different_Maze_2;
DiffmazeRoom Different_Maze_6
with description "Du ar i en slingrig trang labyrint av gangar, alla olika.",
ne_to Different_Maze_1,
n_to Different_Maze_3,
nw_to Different_Maze_4,
se_to Different_Maze_5,
e_to Different_Maze_7,
d_to Different_Maze_8,
s_to Different_Maze_9,
u_to Different_Maze_10,
w_to Different_Maze_11,
sw_to Different_Maze_2;
DiffmazeRoom Different_Maze_7
with description "Du ar i en slingrande trang labyrint av gangar, alla olika.",
n_to Different_Maze_1,
se_to Different_Maze_3,
d_to Different_Maze_4,
s_to Different_Maze_5,
e_to Different_Maze_6,
w_to Different_Maze_8,
sw_to Different_Maze_9,
ne_to Different_Maze_10,
nw_to Different_Maze_11,
u_to Different_Maze_2;
DiffmazeRoom Different_Maze_8
with description "Du ar i en slingrande labyrint av tranga gangar, alla olika.",
e_to Different_Maze_1,
w_to Different_Maze_3,
u_to Different_Maze_4,
sw_to Different_Maze_5,
d_to Different_Maze_6,
s_to Different_Maze_7,
nw_to Different_Maze_9,
se_to Different_Maze_10,
ne_to Different_Maze_11,
n_to Different_Maze_2;
DiffmazeRoom Different_Maze_9
with description "Du ar i en trang slingrande labyrint av gangar, alla olika.",
se_to Different_Maze_1,
ne_to Different_Maze_3,
s_to Different_Maze_4,
d_to Different_Maze_5,
u_to Different_Maze_6,
nw_to Different_Maze_7,
n_to Different_Maze_8,
sw_to Different_Maze_10,
e_to Different_Maze_11,
w_to Different_Maze_2;
DiffmazeRoom Different_Maze_10
with description "Du ar i en labyrint av tranga slingriga gangar, alla olika.",
d_to Different_Maze_1,
e_to Different_Maze_3,
ne_to Different_Maze_4,
u_to Different_Maze_5,
w_to Different_Maze_6,
n_to Different_Maze_7,
s_to Different_Maze_8,
se_to Different_Maze_9,
sw_to Different_Maze_11,
nw_to Different_Maze_2;
DiffmazeRoom Different_Maze_11
with description "Du ar i en labyrint av tranga slingrande gangar, alla olika.",
sw_to Different_Maze_1,
nw_to Different_Maze_3,
e_to Different_Maze_4,
w_to Different_Maze_5,
n_to Different_Maze_6,
d_to Different_Maze_7,
se_to Different_Maze_8,
u_to Different_Maze_9,
s_to Different_Maze_10,
ne_to Different_Maze_2;
! ------------------------------------------------------------------------------
DeadendRoom Dead_End_14
class Room
with short_name "Atervandsgrand, nara varuautomat",
description
"Du har natt en atervandsgrand. Det star en stor varuautomat har.
^^
Hmmm... Nagon har skrivit ett meddelande i dammet, med sirlig handstil.",
n_to Different_Maze_2,
out_to Different_Maze_2,
has nodwarf;
Scenic -> "meddelande i dammet"
with name 'meddelande' 'meddelandet' 'i//' 'damm' 'dammet' 'skrift' 'skriften' 'sirlig'
'sirliga' 'handstil' 'handstilen',
short_name_def "meddelandet i dammet",
description
"Meddelandet lyder: ~Det har ar inte den labyrint dar piraten lamnar
sin skattkista.~",
has neuter;
Scenic -> VendingMachine "varuautomat"
with name 'varuautomat' 'varuautomaten' 'automat' 'automaten'
'maskin' 'maskinen' 'springa' 'springan'
'myntspringa' 'myntspringan' 'stor' 'stora'
'batteri' 'batteriet' 'batterier' 'batterierna',
short_name_def "varuautomaten",
description
"Instruktionerna pa varuautomaten lyder:
~Lagg i mynt for att fa farska batterier.~",
before [;
Receive:
if (noun == rare_coins) {
move fresh_batteries to location;
remove rare_coins;
"Strax efter att du lagt i mynten i myntspringan,
kommer ett gnisslande late fran varuautomaten, och en uppsattning farska batterier faller ner vid dina fotter.";
}
"Automaten verkar vara gjord for att ta emot mynt.";
Attack:
"Automaten ar valdigt gedigen och overlever din attack utan att fa sa mycket som en skrama.";
LookUnder:
"Du hittar inget under automaten";
Search:
"Du kan inte komma in i automaten.";
Take:
"Varuautomaten ar alldeles for tung for att du ska kunna flytta den.";
];
Object fresh_batteries "farska batterier" VendingMachine
with name 'batteri' 'batteriet' 'batterier' 'batterierna'
'farsk' 'farskt' 'farska' 'frasch' 'frascht' 'frascha'
'laddat' 'laddade' 'fulladdat' 'fulladdade' 'nytt' 'nya',
short_name_def "farska batterierna",
description
"De ser ut som vanliga batterier. (En blodisande stamma sager ~Gott om kram!~)",
initial "Det ligger farska batterier har.",
before [;
Count:
"Ett par.";
],
have_been_used false,
has def_article pluralname;
Object old_batteries "urladdade batterier"
with name 'batteri' 'batteriet' 'batterier' 'batterierna'
'urladdat' 'urladdade' 'tomt' 'tomma' 'slutkort' 'slutkorda'
'dott' 'doda' 'stendott' 'stendoda',
short_name_def "urladdade batterierna",
description
"De ser ut som vanliga batterier.",
initial "Nagra urladdade batterier ligger slangda i narheten.",
before [;
Count:
"Ett par.";
];
! ------------------------------------------------------------------------------
! Dvargar!
! ------------------------------------------------------------------------------
Object dwarf "hotfull liten dvarg"
with name 'dvarg' 'dvargen' 'hotfull' 'hotfulla' 'hotfulle'
'otack' 'otacke' 'otacka' 'liten' 'lille' 'lilla'
'elak' 'elake' 'elaka',
short_name_def "hotfulla lilla dvargen",
description
"Det ar nog ingen bra ide att komma alltfor nara.
Lillkillen ar ratt aggressiv, om man sager sa.",
initial "En hotfull liten dvarg gommer sig i skuggorna.",
number 5,
daemon [;
if (location == thedark) return;
if (self.number == 0) {
StopDaemon(self);
return;
}
if (parent(self) == nothing) {
if (location has nodwarf || location has light) return;
if (random(100) <= self.number) {
if (Bear in location || Troll in location) return;
new_line;
if (Dragon in location) {
self.number--;
"En dvarg dyker upp, men draken ger av en eldkvast som fullstandigt forbranner honom.";
}
move self to location;
"En hotfull liten dvarg kommer ut ur skuggorna!";
}
return;
}
if (parent(self) ~= location) {
if (location == thedark) return;
if (location has nodwarf || location has light) return;
if (random(100) <= 96 && parent(self) ~= In_Mirror_Canyon) {
move self to location;
print "^Dvargen smyger efter dig...^";
}
else {
remove self;
return;
}
}
if (random(100) <= 75) {
new_line;
if (self.has_thrown_axe == false) {
move axe to location;
self.has_thrown_axe = true;
remove self;
"Dvargen kastar en otack liten yxa mot dig, missar,
svar, och springer ivag.";
}
if (location == In_Mirror_Canyon)
"Dvargen beundrar sig sjalv i spegeln.";
print "Dvargen kastar en otack liten kniv mot dig, ";
if (random(1000) <= 95) {
deadflag = 1;
"och traffar!";
}
"men missar!";
}
if (random(3) == 1) {
remove self;
"^Dvargen trottnar, och glider ivag.";
}
],
before [;
Kick:
"Du kickar dvargen tvars over rummet. Han svar, staller sig upp och borstar av sig.
Nu ar han argare an nansin!";
],
life [;
ThrowAt:
if (noun == axe) {
if (random(3) ~= 1) {
remove self;
move axe to location;
self.number--;
"Du dodade en liten dvarg! Kroppen forsvinner i ett moln av oljig svart rok.";
}
move axe to location;
"Miss! Den lilla dvargen duckar undan yxan.";
}
<<Give noun second>>;
Give:
if (noun == tasty_food)
"Tokstolle, dvargar ater bara kol! Nu har du gjort honom *riktigt* arg!";
"Dvargen ar inte det minsta intresserad av ditt erbjudande. (Anledningen ar,
kanske, att om han dodar dig far han anda allt du har.)";
Attack:
"Inte med dina bara hander. Inte en chans.";
],
has_thrown_axe false,
has animate def_article male;
Object axe "dvargyxa"
with name 'yxa' 'yxan' 'liten' 'lilla' 'dvargyxa' 'dvargyxan'
'dvargayxa' 'dvargayxan' 'dvargisk' 'dvargiska',
short_name_def "dvargyxan",
description "Det ar bara en liten yxa.",
initial "Det ligger en liten yxa har.",
before [;
if (~~self.is_near_bear) rfalse;
Examine:
"Den ligger bredvid bjornen.";
Take:
"Inte en chans. Den ligger bredvid den vildsinta bjornen, pa knappt en ramlangds avstand fran doden.";
],
is_near_bear false;
! ------------------------------------------------------------------------------
! Tva moten med pirater
! ------------------------------------------------------------------------------
Object pirate
with daemon [ obj booty_nearby;
if (random(100) > 2 || location == thedark or In_Secret_Canyon ||
location has light || location has nodwarf) return;
if (dwarf in location)
"^En skaggig pirat dyker upp, far syn pa dvargen och springer ivag.";
objectloop (obj ofclass Treasure && obj in player or location)
booty_nearby = true;
if (booty_nearby == false) {
if (self.has_been_spotted) return;
self.has_been_spotted = true;
if (self.has_stolen_something) StopDaemon(self);
"^Du hor svaga prasslande ljud fran morkret bakom dig.
Nar du vander dig om far du syn pa en skaggig pirat.
Han bar en stor kista.
^^
~Krevader och kanoner!~ skriker han, ~Han har sett mig!
Bast jag drar till labyrinten och gommer kista min!~
^^
Med dessa ord forsvinner han in i skumrasket.";
}
if (self.has_stolen_something) return;
self.has_stolen_something = true;
if (self.has_been_spotted) StopDaemon(self);
objectloop (obj ofclass Treasure && obj in player or location) {
if (obj in player) score = score - 5;
move obj to Dead_End_13;
}
"^Ut fran skuggorna bakom dig hoppar en skaggig pirat!
~He, he~, skrockar han, ~Jag tar bara allt det har bytet och gommer undan det
i kista min langt in i labyrinten!~
Han sliter at sig din skatt och forsvinner in i skumrasket.";
],
has_stolen_something false,
has_been_spotted false;
! ----------------------------------------------------------------------------
! Grottsystemet stanger nu...
! ----------------------------------------------------------------------------
Object cave_closer
with daemon [;
if (treasures_found < MAX_TREASURES) return;
StopDaemon(self);
caves_closed = true;
score = score + 25;
remove CrystalBridge;
give Grate locked ~open;
remove set_of_keys;
StopDaemon(dwarf);
StopDaemon(pirate);
remove Troll;
remove Bear;
remove Dragon;
StartTimer(endgame_timer, 25);
"En blodisande stamma ekar fram mellan grottvaggarna: ~Grottsystemet
stanger snart. Alla aventyrare maste genast bege sig till utgangen vid huvudkontoret.~";
];
Object endgame_timer
with time_left 0,
time_out [;
score = score + 10;
while (child(player)) remove child(player);
move bottle to At_Ne_End;
if (child(bottle)) remove child(bottle);
move giant_bivalve to At_Ne_End;
move brass_lantern to At_Ne_End;
move black_rod to At_Ne_End;
move little_bird to At_Sw_End;
move velvet_pillow to At_Sw_End;
print
"^Den blodisande stamman forkunnar: ~Grottsystemet ar nu stangt.~
Nar ekona har dott ut, kommer en stark ljusblixt som forblindar dig
(och en liten puff av orange rok). . .
^^
Nar dina ogon hamtat sig sa att du kan fokusera igen, ser du dig omkring...^";
PlayerTo(At_Ne_End);
];
! ------------------------------------------------------------------------------
! Slutspelet
! ------------------------------------------------------------------------------
Room At_Ne_End "Nordostra anden av lagret"
with description
"Du ar i nordostra anden av ett makalost stort rum, till och med storre an det gigantiska rummet.
Det verkar vara ett lager for programmet ~Aventyr~.
Stora facklor hogt uppe ovanfor dig indranker rummet i ett rokigt gult ljus.
Utspritt runt dig ser du en hog med flaskor (alla tomma),
en odling av unga bonstjalkar som mumlar tyst, en ostronbank,
ett knippe svarta stavar med rostiga stjarnor i ena anden, samt en samling massingslampor.
Vid ena sidan ligger en massa dvargar pa golvet och snarkar hogljutt.
Pa en skylt intill star att lasa: ~Stor inte dvargarna!~",
sw_to At_Sw_End,
has light;
Object -> "enorm spegel"
with name 'spegel' 'spegeln' 'enorm' 'enorma' 'gigantisk' 'gigantiska' 'stor' 'stora'
'jattestor' 'jattestora' 'upphangd' 'upphangda' 'hangande',
short_name_def "enorma spegeln",
description "Det ser ut som en vanlig, om an enorm, spegel.",
initial
"En gigantisk spegel hanger pa ena vaggen, och stracker sig till andra anden av rummet,
dar allskons objekt skymtar langt bort.",
before [;
Attack:
print
"Du ger spegeln ett kraftigt slag,
varvid den faller sonder i en myraid sma bitar.^^";
SleepingDwarves.wake_up();
rtrue;
],
found_in At_Ne_End At_Sw_End,
has static def_article;
Scenic -> "samling aventyrsspelsmateriel"
! Tvingades dela upp name-arrayen i tre delar for att den blev for stor.
! Lade till en parse_name som tar hansyn till alla tre arrayerna
with name 'hog' 'hogen' 'med' 'flaska' 'flaskan' 'flaskor' 'flaskorna'
'bonstjalk' 'bonstjalken' 'bonstjalkar' 'bonstjalkarna'
'ung' 'unga' 'mumlande' 'tyst' 'tysta'
'ostronbank' 'ostronbanken' 'ostron' 'ostronet' 'ostronen'
'svart' 'svarta' 'stav' 'staven' 'stavar' 'stavarna',
name2 'med' 'en' 'den' 'rostig' 'rostiga' 'stjarna' 'stjarnan' 'stjarnor' 'stjarnorna'
'i//' 'ena' 'anden' 'samling' 'samlingen' 'av'
'massingslampa' 'massingslampan' 'massingslampor' 'massingslamporna'
'grejer' 'grejerna' 'grejor' 'grejorna' 'skrap' 'skrapet' 'prylar' 'prylarna'
'materiel' 'materielet' 'material' 'materialet',
name3 'fackla' 'facklan' 'facklor' 'facklorna' 'objekt' 'objektet' 'objekten'
'aventyrsspelsmateriel' 'aventyrsspelsmaterielen'
'aventyrsspelsmaterial' 'aventyrsspelsmaterialet'
'lager' 'lagret' 'makalost' 'stort' 'stora' 'allskons' 'knippe' 'knippet',
parse_name [ wd num;
wd = NextWord();
while (WordInProperty(wd, self, name) || WordInProperty(wd, self, name2) || WordInProperty(wd, self, name3)) {
num++;
wd = NextWord();
}
return num;
],
short_name_def "samlingen av aventyrsspelsmateriel",
description
"Du har redan sett allt harinne, fast i andra sammanhang.",
before [;
Take:
"Nar du inser att om du skulle ta prylarna har skulle du forstora spelet for framtida spelare,
valjer du att lamna ~Aventyr~-materielen dar den ar.";
];
Scenic -> SleepingDwarves "sovande dvargar"
with name 'dvarg' 'dvargen' 'dvargar' 'dvargarna' 'sovande' 'snarkande'
'slumrande' 'vilande' 'otack' 'otacke' 'otacka' 'arg' 'arge' 'arga',
short_name_def "sovande dvargarna",
articles "De" "de" "hundratals arga",
description "Jag skulle inte stora dvargarna om jag var du.",
before [;
Take:
"Vad da, allihop?";
],
life [;
WakeOther:
print
"Du ruskar om den narmaste dvargen, som vaknar sur,
tar en titt pa dig, svar, och griper efter sin yxa.^^";
self.wake_up();
rtrue;
Attack:
self.wake_up();
rtrue;
],
wake_up [;
deadflag = 1;
"Det resulterande tumultet har vackt dvargarna.
Det finns nu dussintals hotfulla sma dvargar i rummet med dig!
De flesta av dem kastar knivar mot dig. Allihop far tag pa dig!";
],
has animate multitude;
! ------------------------------------------------------------------------------
Room At_Sw_End "Sydvastra anden av lagret"
with description
"Du ar i sydvastra anden av lagret.
Vid ena sidan finns en grop full med vildsinta grona ormar.
Vid andra sidan star en rad med sma flatade korgar, med en liten snyftande fagel i varje.
I ett horn ligger ett knippe svarta stavar med rostiga marken i ena anden.
Ett stort antal sammetskuddar ligger utspridda pa golvet.
En enorm spegel fortsatter mot nordost.
Vid dina fotter ar ett stort stalgaller, med en skylt bredvid dar det star:
~SKATTKAMMARE. Nycklar pa huvudkontoret.~",
d_to RepositoryGrate,
ne_to At_Ne_End,
has light;
Object -> RepositoryGrate "stalgaller"
with name 'vanligt' 'vanliga' 'stalgaller' 'stalgallret' 'galler' 'gallret',
short_name_def "stalgallret",
description "Det ser bara ut som ett vanligt stalgaller.",
when_open "Gallret ar oppet.",
when_closed "Gallret ar stangt.",
door_dir d_to,
door_to Outside_Grate,
with_key nothing,
has static door locked openable neuter;
Scenic -> "samling aventyrsspelsmateriel"
! Tvingades dela upp name-arrayen i tre delar for att den blev for stor.
! Lade till en parse_name som tar hansyn till alla tre arrayerna
with name 'grop' 'gropen' 'vildsint' 'vildsinta' 'gron' 'grona'
'orm' 'ormen' 'ormar' 'ormarna' 'flatad' 'flatade' 'korg' 'korgar'
'med' 'en' 'liten' 'sma' 'snyftande' 'fagel' 'fageln' 'faglar' 'faglarna'
'i//' 'varje',
name2 'samling' 'samlingen' 'av'
'kudde' 'kudden' 'kuddar' 'kuddarna'
'sammetskudde' 'sammetskudden' 'sammetskuddar' 'sammetskuddarna',
name3 'grejer' 'grejerna' 'grejor' 'grejorna'
'skrap' 'skrapet' 'prylar' 'prylarna'
'materiel' 'materielet' 'material' 'materialet'
'aventyrsspelsmateriel' 'aventyrsspelsmaterielen'
'aventyrsspelsmaterial' 'aventyrsspelsmaterialet'
'lager' 'lagret' 'makalost' 'stort' 'stora' 'allskons',
parse_name [ wd num;
wd = NextWord();
while (WordInProperty(wd, self, name) || WordInProperty(wd, self, name2) || WordInProperty(wd, self, name3)) {
num++;
wd = NextWord();
}
return num;
],
short_name_def "samlingen av aventyrsspelsmateriel",
description
"Du har redan sett allt harinne, fast i andra sammanhang.",
before [;
Take:
"Nar du inser att om du skulle ta prylarna har skulle du forstora spelet for framtida spelare,
valjer du att lamna ~Aventyr~-materielen dar den ar.";
];
Object -> black_mark_rod "svart stav med ett rostigt marke i ena anden"
with name 'svart' 'svarta' 'stav' 'staven' 'med' 'det' 'ett'
'rostig' 'rostigt' 'rostiga' 'marke' 'market' 'i//'
'meterlang' 'meterlanga' 'explosiv' 'explosiva'
'dynamit' 'dynamiten' 'smallare' 'smallaren'
'ena' 'anden',
short_name_def "svarta staven med ett rostigt marke i ena anden",
description "Det ar en meterlang svart stav med ett rostigt marke i ena anden.",
initial
"En meterlang svart stav med ett rostigt marke i ena anden ligger i narheten.",
before [;
Wave:
"Inget hander.";
],
has def_article;
! ------------------------------------------------------------------------------
! Nagra rutiner som anropas av biblioteket
! ------------------------------------------------------------------------------
[ Initialise;
location = At_End_Of_Road;
score = 36;
StartDaemon(dwarf);
StartDaemon(pirate);
StartDaemon(cave_closer);
"^^^^^Valkommen till Aventyr!^
(Skriv HJALP, eller bara H, for instruktioner och information.)^^";
];
[ PrintRank;
print ", vilket ger dig titeln ";
if (score >= 348) "Stormastare!";
if (score >= 330) "Mastare av forsta graden.";
if (score >= 300) "Mastare av andra graden.";
if (score >= 200) "Juniormastare.";
if (score >= 130) "Erkant duktig aventyrare.";
if (score >= 100) "Erfaren aventyrare.";
if (score >= 35) "Aventyrare.";
if (score >= 10) "Nyborjare.";
"Amator.";
];
[ DarkToDark;
if (dark_warning == false) {
dark_warning = true;
"Det ar nu kolsvart. Om du fortsatter kommer du troligen falla ner i ett hal.";
}
if (random(4) == 1) {
deadflag = 1;
"Du foll ner i ett hal och brot varenda ben i kroppen!";
}
rfalse;
];
[ UnknownVerb word;
if (WordInProperty(word, location, teleport_to)) {
verb_wordnum = 0;
return 'ga till';
}
rfalse;
];
! ------------------------------------------------------------------------------
! Aterupplivning
! ------------------------------------------------------------------------------
[ AfterLife o;
if (deadflag == 3) {
deadflag = 1;
rfalse;
}
print "^^";
if (caves_closed)
"Det verkar inte battre an att du ar dod. Tja, eftersom det anda ar sa nara stangningsdags,
sa tror jag vi tar och satter punkt dar.";
switch (deaths) {
0:
print
"Hoppsan, du har visst gatt och dott.
Jag kan kanske hjalpa dig, men jag har egentligen aldrig gjort det har forut.
Vill du att jag ska forsoka ateruppliva dig?^^";
1:
print
"Hor du klumpeduns, nu har du gjort det igen!
Jag vet inte hur manga ganger jag fixar att gora om det har.
Vill du att jag ska forsoka ateruppliva dig igen?^^";
2:
print
"Nu har du verkligen stallt till det! Jag har slut pa orange rok!
Forvantar du dig pa allvar att jag ska forsoka mig pa en aterupplivning utan orange rok?^^";
}
print "> ";
if (YesOrNo() == false) {
switch (deaths) {
0: "Da sa.";
1: "Det ar nog ett klokt val.";
2: "Jag trodde val inte det heller!";
}
}
switch (deaths) {
0:
print
"Okej. Men skyll inte pa mig om nagot gar fe......
^^^^
--- PUFF!! ---
^^
Du omsveps av ett moln av orange rok.
Du hostar och kippar efter andan nar du stapplar ut fran roken och upptacker att du ar...^";
1:
print
"Okej, var gjorde jag nu av min oranga rok?.... >PUFF!<
^^
Allt forsvinner i ett tjockt moln av orange rok.^";
2:
"Okej, om du nu ar sa smart, sa fixa det sjalv da! Jag sticker!";
}
deaths++;
score = score - 10;
if (location ~= thedark) {
while (child(player)) {
o = child(player);
move o to location;
if (o ofclass Treasure) score = score - 5;
}
}
else {
while (child(player)) {
o = child(player);
move o to real_location;
if (o ofclass Treasure) score = score - 5;
}
}
move brass_lantern to At_End_Of_Road;
give brass_lantern ~on ~light;
remove dwarf;
deadflag = 0;
PlayerTo(Inside_Building);
];
! ------------------------------------------------------------------------------
! Meny-baserad hjalp (Egentligen inte en del av spelet)
! ------------------------------------------------------------------------------
[ HelpMenu;
if (menu_item == 0) {
item_width = 5;
item_name = "Om Aventyr";
if (deadflag == 2) return 5;
else return 4;
}
if (menu_item == 1) {
item_width = 7;
item_name = "Instruktioner";
}
if (menu_item == 2) {
item_width = 4;
item_name = "Historia";
}
if (menu_item == 3) {
item_width = 6;
item_name = "Autenticitet";
}
if (menu_item == 4) {
item_width = 13;
item_name = "Den svenska oversattningen";
}
if (menu_item == 5) {
item_width = 8;
item_name = "Visste du att...";
}
];
[ HelpInfo;
if (menu_item == 1) {
print
"Jag kanner till platser, handlingar och objekt.
Du kan styra mig med kommandon som bildar kompletta meningar.
For forflyttning, prova kommandon som ~ga in~ ~oster~, ~vaster~, ~norr~, ~soder~,
~upp~, ~ner~, ~ga in i byggnaden~, ~klattra pa stolpen~, etc.^^";
print
"Jag kanner till en del speciella objekt, som en svart stav som ligger gomd i grottan.
Dessa objekt kan manipuleras genom att anvanda vissa av de handlingsord jag kanner till.
Oftast behover du ange ett verb foljt av ett objekt
(tillsammans med beskrivande adjektiv nar sa onskas),
men ibland kan jag gissa vilket objekt som menas med ledning av verbet.
Om du undrar vilka objekt du bar med dig, kan du skriva ~lista mina saker~,
eller kortare, bara ~lista~.
En del objekt har sidoeffekter; staven skrammer t ex fageln.^^";
print
"Manga kommandon har forkortningar.
T ex kan du skriva ~l~ istallet for ~lista~, ~t~ for titta,
~n~ for ~norr~, ~nv~ for nordvast etc. Nagra speciella forkortningar
ar ~x objekt~ for ~undersok objekt~,~g~ for ~igen~ (dvs gor om samma sak som forra draget),
och ~z~ for ~vanta~.^^";
print
"De flesta spelare som har svart att forflytta sig i spelet behover bara prova lite andra ord.
De flesta som misslyckas med att manipulera ett objekt, forsoker gora
nagot som ligger utanfor deras (eller min!) formaga och bor forsoka hitta ett helt nytt angreppssatt.^^";
print
"Notera att grottgangar svanger mycket, och att man gar norrut nar man gar ut ur ett rum
garanterar inte att man kommer in i nasta rum soderifran.^^";
print
"Om du vill sluta spela, skriv ~sluta~.
For att spara ditt aventyr sa att du kan fortsatta senare, skriv ~spara~,
och for att ladda in ett sparat spel, skriv ~hamta~.
For att ta tillbaka ditt senaste drag, skriv ~angra~.
For att se hur bra det gar for dig, skriv ~poang~.
For att fa full poang for en skatt maste du lagga den i sakerhet i byggnaden,
men du far en del av poangen bara genom att hitta den.
Du forlorar poang om du dor, eller avslutar spelet, men det forstnamnda kostar mer.
Du far ocksa poang for hur stor del (om nagon) av grottsystemet som du lyckats utforska;
framfor allt finns det en stor bonus bara for att man lyckats ta sig in
(for att skilja nyborjarna fran resten),
och det finns andra satt att avgora om du kommit igenom
nagra av de grymmare sektionerna.^^";
print
"Om du tror att du hittat alla skatterna, fortsatt bara utforska ett tag.
Om inget intressant hander, sa har du inte hittat alla an.
Om nagot intressant *hander*, sa betyder det att du far en bonus
och har en chans att ro hem mycket mer poang i Mastarsektionen.^^";
"Lycka till!";
}
if (menu_item == 2) {
print
"Den kanske forsta aventyraren var en mulattslav, Stephen Bishop, fodd ca 1820:
'liten, smidig och valdigt vacker'; en 'snabb, modig, entusiastisk' guide
till grottsystemet Mammoth Cave i Kentucky-karsten.
Grottsystemets historia ar en marklig miniatyr av amerikansk historia.
Dess upptackt finns forklarad i en legend som dateras till 1790-talet;
det sags att en jagare, John Houchin, foljde en skadad bjorn till en stor grop
nara floden Green River och snubblade pa ingangen.
Ingangen var full av fladdermoss och vid kriget 1812 samlades mycket guano dar,
vilket lostes i nitrat-tunnor for att bilda salpeter till kruttillverkningen.
Efter kriget foll priserna; men grottsystemet blev en liten sidoattraktion nar en dissekerad
indianmumie hittades i narheten, sittandes uppratt i en kista av sten, omgiven av talismaner.
1815 fordes Hjorthov, som hon kallades efter en av amuletterna,
bort av en cirkus, och hon drog publik over hela Amerika
(en turne som i mangt och mycket paminner om Don McLeans lat 'The Legend of Andrew McCrew').
Hon hamnade tillslut pa Smithsonianmuseet men pa 1820-talet kallades grottsystemet
for ett av varldens underverk, mycket tack vare hennes postuma anstrangningar.^^";
print
"Vid artonhundratalets borjan var europeiska grottsystem stora turistattraktioner,
men nastan ingen besokte Mammoth-systemet, hur mycket 'underverk' det an var.
Inte var det sarskilt stort heller, pa den tiden (Namnet var ett minne av guanosamlarna,
som skrot om sina ~mammutfynd~ av guano).
1838 kopte Stephen Bishops agare grottsystemet.
Stephen, som han (i egenskap av slav) alltid kallades, var en mycket speciell man:
han var sjalvlard i latin och grekiska, och blev kand som 'hogste harskare' over sitt underjordiska rike.
Han utforskade och namngav en stor del av grottsystemet pa sin fritid, och dubblerade den kanda kartan pa ett ar.
Den sarpragel som namnen i Mammoth-systemet bar -- till halften hemgjorda amerikanska, till halften klassiska --
borjade med Stephen: Floden Styx, Snobollsrummet, Lilla fladdermusavenyn, Jattekupolen.
Stephen hittade markliga blinda fiskar, ormar, tysta grashoppor, kvarlevor av grottbjornar
(vilda, lekfulla djur, en och en halv meter langa och dryga metern hoga, som dog ut
vid slutet av den senaste istiden), hundratals ar gamla indianska arbeten i gipskristaller, och mer och mer grottor.
Hans karta fran 1842, ritade helt fran minnet, var fortfarande i bruk fyrtio ar senare.^^";
print
"Som turistattraktion (och, eftersom Stephens agare var en filantrop,
under en kort period ett sanatorium for tuberkulos, pga en hopplos medicinsk teori)
kom grottsystemet att omsatta mycket pengar: under decennier bytte narliggande grottor
agare och det var massor av tvister om vem som hade laglig ratt till de olika grottorna.
Ett annat bolag oppnade Great Onyx Cave 1912, tvars over dalen Houchins Valley,
i berget Flint Ridge.
Pa 1920-talet var Kentuckys grottkrig i full gang.
Rivaliserande agare slussade turister till sina egna grottor med hjalp av falska poliser, anstallde lustigkurrar
for att sabotera varandras guidade turer, brande ner biljettkiosker,
publicerade baktalande och falska annonser.
Utforskning av grottor blev sa farligt och hemligt at USA:s regering till slut ingrep 1941,
gjorde en stor del av omradet till nationalpark och forbjod i princip all utforskning av grottor.
Guldrushen av turister holl anda pa att avta.^^";
print
"Overtygade om att Mammoth-grottorna och Flint Ridge-grottorna alla hangde ihop i en enorm kedja,
provade utforskare olika hemliga ingangar under flera ar, och fick till slut officiellt stod.
Under 1960-talet befanns alla gangar ut fran Flint Ridge -- knepiga, vattenfyllda tunnlar
-- sluta i frustrerande stenras.
En 'tradsmal' fysiker, Patricia Crowther, gjorde genombrottet 1972
nar hon kom igenom passagen Tight Spot och hittade en gyttjig gang:
det var en gomd vag in i Mammoth-grottorna.^^";
print
"I enlighet med hans agares testamente, befriades Stephen Bishop 1856,
da grottsystemet bl a inneholl inte mindre an 226 avenyer, 47 kupoler, 23 gropar och 8 vattenfall.
Han dog ett ar senare, innan han kunde kopa sin fru och sin son.
Pa 1970-talet hittade man Crowthers gyttjiga passage pa hans karta.^^";
print
"Mammoth ar ett enormt grottsystem, och dess fulla utbredning ar fortfarande amne for spekulationer.
(uppskattningar ligger mellan 500 och 800 km).
Trots att det har spelet ofta har kallats ~Colossal Cave~,
sa ar det i sjalva verket en simulering av omradet Bedquilt Cave (Lapptacksgrottan).
Har ar Will Crowthers egen historia om hur spelet kom till:^^";
print
"~Jag hade hallit pa med ett icke datorbaserat rollspel som hette Dungeons and Dragons
vid den tidpunkten, och jag hade aven aktivt utforskat grottor --
mestadels Mammoth Cave i Kentucky.
Plotsligt befann jag mig i en skiljsmassa, och det var slitsamt pa flera satt.
Det jobbigaste var att jag saknade barnen.
Jag hade ocksa slutat utforska grottor, eftersom det inte kandes roligt langre,
sa jag bestamde mig for att, pa skoj, skriva ett program som var ett aterskapande
i fantasin av min grottutforskning, och aven skulle vara ett spel for barnen,
och kanske vissa aspekter av Dungeons and Dragons-spelet som jag hade spelat.^^";
print
"~Min ide var att det skulle vara ett datorspel som inte skulle vara skrammande
for folk utan datorvana, och det var en av anledningarna till att jag gjorde
sa att spelaren styr spelet genom att skriva naturligt sprak, istallet for mer standardiserade kommandon.
Mina barn tyckte det var valdigt roligt.~
[Citerad i ~Genesis II: Creation and Recreation with Computers~, Dale Peterson (1983).]^^";
print
"Crowthers ursprungliga FORTRAN-program hade kanske fem skatter eller sa, men ingen formell poangrakning.
Utmaningen lag egentligen i att utforska, aven om det fanns motstand fran t ex ormen.
Precis som det verkliga Bedquilt-omradet, har Crowthers simulering en karta med ungefar fyra
olika djupnivaer och ar rik pa geologiska detaljer.
Ett bra exempel ar den oranga pelaren som gar ner till Oranga flodrummet
(dar fageln bor): den verkliga pelaren ar av orange travertin,
ett vackert mineral som aterfinns i vat kalksten.^^";
print
"Spelets sprak ar fullproppat med referenser till grottutforskning, till 'kupoler' och 'krypgangar'.
Ett 'plattrum', t ex, ar en mycket gammal grotta vars tak har borjat brytas sonder
till skarpa skarvor som ligger utspridda over golvet i en marklig hog.
Programmets anvandande av ordet 'rum' for alla mojliga sorters grottor och platser
verkar lite slarvigt, men det ar utbrett bland grottutforskare
gar sa langt tillbaka som till Stephen Bishop: sa aventyrsspelens anvandning av ordet 'rum'
i betydelsen 'plats' kan till och med harstamma fran honom.^^";
print
"Spelet tog det avgorande steget mot problemlosning nar Don Woods, en Stanford-student,
avlusade spelet och byggde ut det.
Han tripplade antalet skatter och lade till de icke-geografiska zonerna:
allt fran trollbron och framat, samt de flesta formaken pa Lapptacksnivan.
Det finns manga imitationer och utvidgningar av det ursprungliga spelet Adventure (Aventyr),
och de ar allihop i princip baserade pa Woods 350-poangsversion.
(Manga onodigt utbyggda, forstorda eller forbattrade -- det beror pa hur man ser pa saken --
versioner av spelet cirkulerar pa Internet, och det mest anvandbara sattet at identifiera dem
ar med hjalp av den maximala poangen man kan fa.
Det finns manga versioner med ca 400 till 600 poang, och en som gar upp till 1000.
Woods sjalv fortsatter slappa nya versioner av sitt spel;
de flesta av de andra som utokat spelet saknar hans talang.)^^";
print
"Trots att spelet har gatt ifran ren simulation, sa ar det mycket som fortfarande ar realistiskt.
Aven verkliga grottutforskare vander tillbaka nar deras karbidlampor borjar falna;
det finns verkligen mystiska markningar och initialer pa grottvaggarna, en del gjorda av guanosamlarna,
en del av Bishop, en del av 1920-talets utforskare.
Sjalvklart finns det inte en aktiv vulkan i centrala Kentucky, lika lite som det finns drakar och dvargar.
Men till och med dessa pahitt ar, pa satt och vis, hamtat fran historien:
liksom de flesta tidiga rollspel, har 'Aventyr' hamtat mycket inspiration fran J.R.R. Tolkiens
'Bilbo', och resan genom bergen och Moria i 'Sagan om ringen'
(kanske den del av hela trilogin som ar mest dramatisk och har bast atmosfar).
Tolkien sjalv, den mest framgangsrikare mytskaparen under hela nittonhundratalet,
arbetade med islandska, finska och walesiska sagor som forebilder.^^";
print
"1977 hade 'Adventure' borjat spridas i allt vidare cirklar, bland annat av Digitals anvandargrupp DECUS:
det tog over lunchraster och helger var det an hamnade... men det ar en annan historia.
(Tracy Kidders fascinerande bok 'En dators fodelse', om en arbetsgrupp som utvecklar stordatorer,
sedd ur en journalists perspektiv, fangar det hela bra.)^^";
"Det har ar en tredjehands- eller fjardehandskopia: fran Will Crowthers original
till Donald Woods 350-poangsversion till Donald Ekmans PC-portning till
David M. Baggets utmarkta TADS-version (1993), till denna version.
Dartill ar den sedan oversatt till svenska.^^";
}
if (menu_item == 3) {
print "(Den har texten ar skriven av Graham Nelson, sa ~jag~ refererar till Graham)^^";
print
"Den har portningen ligger ganska nara originalet.
Problemen, sakerna och platserna i Woods ursprungliga 350-poangsversion ar exakt desamma som har.^^";
print
"Jag har lagt till nagra hjalpsamma meddelanden, sasom ~Detta ar en atervandsgrand.~, har och dar:
och aterinfor nagra ~ursprunglig position~-meddelanden for objekt, sasom det (ganska lama)
^^ Det finns god mat har.^^
fran kallkodsfiler som sakerligen ar tidiga men fran oklar kalla.
De verkar passa bra in i den ovriga texten.^^";
print
"Poangsystemet ar original, forutom att man inte langre tappar fyra poang for att man slutar
(eftersom man inte far se sin poang nar man avslutar ett Inform-spel sa spelar det ingen roll)
och, mer kontroversiellt, ger jag fem poang for varje skatt man for tillfallet bar pa, sasom vissa tidiga 80-talsportningar gjorde.
Titlarna man far baserat pa sig poang har fatt sig en oversyn.
Den enda markbara regelandringen ar att man inte kan anvanda magiska ord
forran man har varit pa de platser som de leder till.^^";
print
"Dvargarna har enklare rorelsemonster, men a andra sidan har jag lagt till
ett mindre antal meddelanden for att fa dem att interagera battre med resten av spelet.
Sannolikheterna ar som i originalspelet.^^";
print
"I originalet kunde man skriva namnet pa ett rum for att komma till det:
for att halla koden liten har jag utelamnat denna finess, men tycker samtidigt det ar synd att den saknas.
[RF: Den har finessen ar inlagd i Release 9 [FR: dvs den engelska version som den svenska versionen ar direkt baserad pa.].]^^";
print
"Sjalva texten har behallits intakt nastan overallt, men jag har rattat nagra
stavfel och grammatikfel (samt andrat nagra ytterst missvisande och kryptiska kommentarer).
Instruktionerna har andrats lite grann (av uppenbara skal) men ar i stort sett som originalets.^^";
"En bra kalla for detaljer ar David Baggetts kallkod, som cirkulerar pa Internet.";
}
if (menu_item == 4) {
print "Den svenska oversattningen forsoker vara sa trogen originalet som mojligt, men i vissa lagen
har jag varit tvungen att gora andrigar for att det alls ska bli begripligt pa svenska.^^";
print "I ett avseende har jag avsiktligt gatt ifran den engelska Inform-versionen, och det galler
~teleportering~. I originalet kunde man ta sig till vissa narliggande platser genom att
skriva ett nyckelord ur namnet pa dem, eller ett ord som beskriver vilken vag man vill ta.
Direkt i borjan kan man t ex skriva ~skogen~ sa hamnar man i skogen, och i vissa rum
kan man skriva ~framat~ for att ga vidare till nasta rum. Den engelska Informversionen
hade utokat detta till att man kunde teleportera sig till alla rum man besokt. Da jag
tyckte att det forstorde vissa problem och inte var i linje med vad Crowther (och senare Woods)
avsett med teleporteringen, sa aterstallde jag i princip originalets kommandon och rackvidd
for teleportering.^^";
print "Den svenska versionen av spelet anvander forstas de svenska tecknen a, a och o, och forvantar sig
aven att spelare anvander dessa tecken vid inmatning. Tyvarr finns det Zkods-tolkar
som har problem att hantera dessa tecken, sarskilt vid inmatning, och det finns
forstas aven spelare som sitter i andra lander, dar det kan vara knepigt att fa fram
de svenska tecknen pa tangentbordet.
Darfor finns ett specialkommando: ~transkription~. Skriver man
~transkription~ kan man darefter anvanda aa istallet for a, ae istallet for a
och oe istallet for o. Om man behover skriva en sadan bokstavskombination
som *inte* ska bytas ut mot ett svenskt tecken, skriver man bara ett utropstecken
fore, som t ex: ~slaa paa b!oet~ tolkas som ~sla pa boet~. Skriver man ~transkription visa~
far man ett meddelande varje gang transkriptionsfunktionen griper in. Slutligen kan man skriva
~transkription av~ for att stanga av funktionen.^^";
print "Det finns nagra andra kommandon som ar standard for Informspel pa svenska och som kan vara
bra att kanna till:^^";
style fixed;
print "kort/normalt/langt Bestammer utskriftslage, dvs nar rumsbeskrivningar ska visas^";
print " (aldrig, vid forsta besoket, alltid)^
borja om Startar om spelet^
sluta Avslutar spelet^
pronomen Listar vad ~den~, ~det~ osv refererar till^
full poang Listar exakt vad man fatt poang for^
meddelanden pa/av Slar pa och stanger av poangmeddelanden^
inspelning pa/av Slar pa och stanger av kommanoinspelning^
uppspelning Spelar upp tidigare inspelade kommandon^
utskrift pa/av Slar pa och stanger av utskrift till fil^
version Visar fullstandig versionsinformation^^";
style roman;
"Kommentarer om den svenska oversattningen valkomnas! Ga till
http://microheaven.com/swedish/ sa
star min aktuella mailadress langst ner pa sidan. Pa sidan finns aven, for nedladdning, kallkoden
till detta och andra textaventyr pa svenska, samt alla verktyg som behovs att skriva egna textaventyr
pa svenska.^^ -- Fredrik Ramsberg";
}
print "Visste du att...^^";
print
"De fem dvargarna har en 96-procentig chans att folja efter dig, forutom om du gar
ut i ljus eller ner i hal eller om de beundrar sig sjalva: och de otacka sma knivarna har en pricksakerhet pa 9.5%.^^";
print "Drakar branner upp dvargar (kanske for att dvargar bara ater kol).^^";
print
"Bjornen (som tycker om vulkanen) ar for tung for bron...
och du kan ga tillbaka till platsen efter att du blivit aterupplivad.^^";
print
"Du kan smita forbi ormen in i den hemliga O/V-ravinen, i alla fall 35% av gangerna.
Och att ga runt i morkret ar inte fullt sa farligt som det verkar:
det ar bara 25% risk att man ramlar ner i ett hal.^^";
print "Vasen tycker inte om att doppas.^^";
print "Mystiska figurer kan vinka till varandra.^^";
print "Vattnar man pa dorrens gangjarn sa rostar de ihop igen.^^";
print
"Nar grottsystemet stanger, lases gallret och nycklarna kastas bort,
djur springer sin vag och kristallbron forsvinner...^^";
print
"...och en helt oanvandbar ledtrad star skriven pa jatteostronets skal i slutspelet.
(For att gora denna ledtrad en aning mer rattvis, har jag andrat ett ord och placerat antydningar pa andra stallen i spelet.)^^";
"Den sista nedrans poangen kan man fa genom att...men nej. Det vore att skvallra.";
];
[ HelpSub;
if (deadflag ~= 2)
DoMenu(
"Det finns information om foljande amnen:^
^ Instruktioner for att spela
^ En historisk bakgrund
^ Hur autentisk ar den har versionen?
^ Den svenska oversattningen^", HelpMenu, HelpInfo);
else
DoMenu(
"Det finns information om foljande amnen:^
^ Instruktioner for att spela
^ En historisk bakgrund
^ Hur autentisk ar den har versionen?
^ Den svenska oversattningen
^ Visste du att...^", HelpMenu, HelpInfo);
];
[ Amusing; HelpSub(); ];
Verb 'hjalp' 'h'
* -> Help;
! ------------------------------------------------------------------------------
! Grammatik: the usual grammar and some extensions
! ------------------------------------------------------------------------------
Include "SwedishG";
! ------------------------------------------------------------------------------
[ OffSub;
if (brass_lantern notin player) "Du har ingen lampa.";
<<SwitchOff brass_lantern>>;
];
[ OnSub;
if (brass_lantern notin player) "Du har ingen lampa.";
<<SwitchOn brass_lantern>>;
];
Verb 'av'
* -> Off;
Verb 'pa'
* -> On;
! ------------------------------------------------------------------------------
[ CatchSub; "Du kan inte fanga ", (the) noun, "."; ];
[ ReleaseSub; "Du kan inte slappa los ", (the) noun, "."; ];
Verb 'fanga'
* creature -> Catch
* 'in' creature -> Catch
* creature 'med' held -> Catch
* 'in' creature 'med' held -> Catch;
Extend 'hall'
* 'fast' creature -> Catch
* 'fast' creature 'med' held -> Catch;
Extend 'ta'
* 'fast' creature -> Catch
* 'fast' creature 'med' held -> Catch;
Extend 'slapp'
* 'los'/'loss'/'ut' creature -> Release
* creature 'los' -> Release;
Verb 'befria' 'frige'
* creature -> Release;
! ------------------------------------------------------------------------------
[ WaterSub;
if (bottle in player) <<Empty bottle>>;
"Vatten? Vilket vatten?";
];
[ OilSub;
if (bottle in player) <<Empty bottle>>;
"Olja? Vilken oilja?";
];
Verb 'vattna' 'skolj'
* 'pa' noun -> Water
* noun -> Water;
Verb 'olja' 'smorj'
* 'in'/'upp' noun -> Oil
* noun -> Oil;
Verb 'hall' 'duscha'
* 'vatten' 'pa' noun -> Water
* 'olja' 'pa' noun -> Oil
* noun -> Empty;
! ------------------------------------------------------------------------------
[ BlastSub;
if (location ~= At_Sw_End or At_Ne_End) "Frustrerande, eller hur?";
if (location == At_Sw_End && parent(black_mark_rod) == At_Ne_End) {
score = score + 35;
deadflag = 2;
"En kraftig explosion hors, och ett fem-meters hal slas upp i bortre vaggen,
samtidigt som dvargarna begravs i sten och grus.
Du gar igenom halet och hamnar pa huvudkontoret,
dar ett glatt gang vanliga alver bar ivag den segrande aventyraren in i solnedgangen.";
}
if (location == At_Ne_End && parent(black_mark_rod) == At_Sw_End) {
score = score + 20;
deadflag = 1;
"En kraftig explosion hors, och ett fem-meters hal slas upp i bortre vaggen,
samtidigt som ormarna begravs i sten och grus.
En flod av smalt lava valler in genom halet och forstor allt i sin vag, inklusive dig!";
}
deadflag = 1;
"En kraftig explosion hors, och du stanks plotsligt ut pa rummets alla vaggar.";
];
[ BlastWithSub;
if (second ~= black_mark_rod) "Att spranga kraver dynamit.";
"Har du atit de dar konstiga kakorna igen?";
];
Verb 'sprang'
* -> Blast
* noun 'med' held -> BlastWith;
! ------------------------------------------------------------------------------
[ XyzzySub; "Inget hander."; ];
[ PlughSub; "Inget hander."; ];
[ PloverSub; "Inget hander."; ];
[ FeeSub; FthingSub(0); ];
[ FieSub; FthingSub(1); ];
[ FoeSub; FthingSub(2); ];
[ FooSub; FthingSub(3); ];
[ FthingSub i;
if (feefie_count ~= i) {
feefie_count = 0;
"Gor om, gor ratt, din tok!";
}
if (feefie_count++ == 3) {
feefie_count = 0;
if (golden_eggs in In_Giant_Room) "Inget hander.";
if ((golden_eggs in player) || (golden_eggs in location))
print "Boet med de gyllene aggen har forsvunnit!^";
else
print "Klart!";
if (golden_eggs in player) score = score - 5;
if (golden_eggs in Inside_Building)
score = score - golden_eggs.depositpoints;
move golden_eggs to In_Giant_Room;
if (location == In_Giant_Room)
"^^Ett stort bo fullt med gyllene agg dyker plotsligt upp fran ingenstans!";
}
else
"Okej.";
];
[ OldMagicSub; "Bra forsok, men det dar ar ett gammalt utslitet magiskt ord."; ];
Verb 'xyzzy'
* -> Xyzzy;
Verb 'plugh'
* -> Plugh;
Verb 'spov'
* -> Plover;
Verb 'fee'
* -> Fee;
Verb 'fie'
* -> Fie;
Verb 'foe'
* -> Foe;
Verb 'foo'
* -> Foo;
Verb 'sesam' 'shazam' 'hokus' 'abrakadabra' 'abra' 'foobar' 'frotz'
* -> OldMagic;
Extend 'sag' first
* 'sprang' -> Blast
* 'xyzzy' -> Xyzzy
* 'plugh' -> Plugh
* 'spov' -> Plover
* 'fee' -> Fee
* 'fie' -> Fie
* 'foe' -> Foe
* 'foo' -> Foo
* 'sesam'/'shazam'/'hokus'/'abrakadabra'/'abra'/'foobar'/'frotz'
-> OldMagic;
! ------------------------------------------------------------------------------
[ CountSub;
if (noun has multitude or pluralname) "Det finns ett flertal.";
SetGender(noun);
print "Jag ser ";
if(noun has neuter)
print "ett";
else
print "en";
" (1) ", (name) noun, ".";
];
[ KickSub; <<Attack noun>>; ]; ! For kicking dwarves
[ UseSub; "Du maste vara lite tydligare an sa."; ];
Verb 'rakna'
* noun -> Count;
Verb 'sparka' 'kicka' 'kanga' 'taa'
* noun -> Kick
* 'till'/'pa' noun -> Kick;
Verb 'slack'
* noun -> SwitchOff;
Extend 'kasta'
* held 'till' creature -> ThrowAt;
!Extend 'kasta'
! * held 'till' creature -> ThrowAt;
Verb 'hoj'
* held -> Wave;
Verb 'svinga'
* 'med' held -> Wave
* held -> Wave;
Verb 'gestikulera' = 'vifta';
Verb 'anvand'
* -> Use
* topic -> Use;
! ------------------------------------------------------------------------------
! Teleportering (anvander aven bibliotekets anropspunkt UnknownVerb)
! ------------------------------------------------------------------------------
[ TeleportSub;
if (noun == location) "Men du ar redan dar!";
PlayerTo(noun);
];
[TeleportMatch w i loc dest scan_dest;
! Algoritm:
! Om location har en property teleport_to, anta att den innehaller
! en array, och sok igenom den baklanges. Nar vi hittar ett rums-id
! kommer vi ihag det. Nar vi hittar forsta ordet som spelaren skrivit,
! flytta honom till detta rum. Om vi aldrig hittar spelarens forsta ord,
! leta efter andra, tredje ordet osv. Hittar vi inget av spelarens ord
! i arrayen, signalera att det inte kanns igen med GPR_FAIL.
loc=location;
if(loc provides teleport_to) {
while(w~=-1) {
w=NextWordStopped();
if(w==-1) {
if(dest~=0)
return dest;
else
return GPR_FAIL;
}
if(dest==0) {
scan_dest=0;
for(i=((loc.#teleport_to)/WORDSIZE)-1: i>=0: i--) {
if((loc.&teleport_to-->i) ofclass Room)
scan_dest=loc.&teleport_to-->i;
else if((loc.&teleport_to-->i)==w)
dest=scan_dest;
}
}
}
}
return GPR_FAIL;
];
Verb 'ga till'
* TeleportMatch -> Teleport;
Extend 'ga' first
* 'till' TeleportMatch -> Teleport
* 'over' noun -> Enter;
Extend 'hoppa'
* 'till' TeleportMatch -> Teleport;
#Ifdef TEST_VERSION;
! ------------------------------------------------------------------------------------
! I testversionen: inga dvargar eller pirater, och magiska ord funkar fran borjan.
! Installera aven en alternativ slumptalsgenerator som kan fas att ge forutsagbara
! resultat, sa att man kan anvanda en steg-for-steg-losning (faller annars pa att
! vissa utgangar leder till slumpade rum och pa att det kan komma olika
! slumptalssekvenser i olika tolkar).
! ------------------------------------------------------------------------------------
[ XdetermSub;
StopDaemon(dwarf);
StopDaemon(pirate);
give In_Debris_Room visited;
give At_Y2 visited;
give In_Plover_Room visited;
];
Verb 'xdeterm'
* -> Xdeterm;
Include ">random.h"; !!!
Message "Installerade random.h forutsagbar slumptalsgenerator";
#Endif;
! ------------------------------------------------------------------------------