<adv> package Adv;
- THING INITIALIZATION
new Thing 'Global';
%$Global = ( %$Global, 'turns' => 0, 'inconversation' => 0, 'awards' => [], 'fuses' => {}, 'daemons' => {}, 'score' => 0, 'maxscore' => 50, );
new Room 'hegylab'; new Room 'falu'; new Room 'szakadek'; new Room 'szakadeklent'; new Room 'hegyiosveny'; new Room 'patakpart'; new Room 'hegy'; new Room 'hegycsucs'; new Room 'barlang';
%$hegylab = ( %$hegylab, 'sdesc' => 'A hegy lábánál', 'ldesc' => 'Egy hatalmas sziklás hegy lábánál állsz. Északra a távolban a szirtek közt vízesést látsz. Délre egy földút vezet a faluba, ahonnan jöttél. Az út keletre és nyugatra ágazik el.', 'image' => 'hegylab.jpg', 'music' => 'colgreen.mid', 'south' => $falu, 'north' => '!Myprint("Nincs megfelelő eszközöd a hegymászáshoz.
De talán az úton is eljuthatsz a csúcsra."); return 0;','west' => $szakadek, 'east' => $hegyiosveny, );
new Thing 'arok'; %$arok = ( %$arok, 'sdesc' => 'árok', 'ldesc' => 'Csak egy kis árok az út szélén.', 'targydesc' => 'az árkot', 'isfixed' => 1, 'noun' => ['arok'], 'donoun' => ['arkot'], 'location' => $hegy, 'heredesc' => 'Az út szélén, az árokban valami megcsillan.', 'doInspect' => sub {
my ($self, $actor) = @_; Myprint("Megnézed jobban a csillogó valamit az árokban. Egy üvegcse az. Lehajolsz, és felveszed. Az üvegcsét parafadugó zárja le, benne pedig lila színű, ködszerű anyag gomolyog." ); $uvegcse->moveInto( $actor ); delete $self->{doInspect}; delete $self->{heredesc}; },);
new Actor 'demon'; %$demon = ( %$demon,
# => ,
# => ,
# => ,
# => ,
# => ,
# => ,
# => ,
);
new OpenableContainer 'uvegcse'; %$uvegcse = (%$uvegcse, 'sdesc' => 'kis üvegcse', 'ldesc' => 'Az üvegcsét parafadugó zárja le, benne lila színű,
ködszerű anyag gomolyog.','targydesc' => 'az üvegcsét', 'noun' => ['uvegcse'], 'adjective' => ['kis', 'kicsi'], 'isclosed' => '1', 'doOpen', => '!
Myprint( "A dugó kiröbben, az üveg egy durranással darabokra törik. A lila köd gomolyog, megszilárdul, és a helyén egy nagyjából harminc centi magas lény marad. Bőre kékes, ruhája arannyal díszített, turbánja alól két kis szarv kandikál ki. Semmi kétség, ez egy kis démon. " ); $self->moveInto( 0 ); $demon->moveInto( $actor->location ); ',);
%$falu = ( %$falu, 'sdesc' => 'A falu szélén', 'ldesc' => 'Itt a falu, ahonnan útnak indultál a mágikus hegy felé.
A térképeid szerint az északra vezető úton kell haladnod.','image' => 'falu.jpg', 'music' => 'colgreen.mid', 'north' => $hegylab, 'noexit' => '!
Myprint "Arra ne menj. Vár a kaland a hegyek között északra!"; return 0; ',);
%$szakadek = ( %$szakadek, 'sdesc' => 'A szakadék szélén.', 'ldesc' => 'Egy meredek szakadék szélénél álldogálsz. A szél vadul fúj,
belekap a ruhádba, és vadul hajlítgatja a fák ágait. Nyugatra vezet egy ösvény.','image' => 'szakadek.jpg', 'music' => 'Contact1.mid', 'east' => $hegylab, );
%$hegyiosveny = (%$hegyiosveny, 'sdesc' => 'Hegyi ösvény.', 'ldesc' => '..', 'image' => 'hegyiosveny.jpg', 'music' => 'chtones.mid', 'west' => $hegylab, 'north' => $patakpart, );
%$patakpart = ( %$patakpart, 'sdesc' => 'A patakpart.', 'ldesc' => '...', 'image' => 'patakpart.jpg', 'music' => 'chtones.mid', 'south' => $hegyiosveny, 'west' => $hegy, );
%$hegy = ( %$hegy, 'sdesc' => 'A hegy.', 'ldesc' => 'Egy fennsíkon álldogállsz. Északra látod a hegy hófödte
csúcsát.','image' => 'hegy.jpg', 'music' => 'chtones.mid', 'east' => $patakpart, 'north' => $hegycsucs, 'noexit' => '!
Myprint "Ha letérnél az útról, biztos eltévedsz a hegyek között. A mamád mindig mondta, hogy azt nem szabad, mert rosszat tesz az egészségnek.\n"; return 0;',);
%$hegycsucs = ( %$hegycsucs, 'sdesc' => 'A barlang előtt.', 'ldesc' => 'Verőfényes napsütésben álldogálsz egy nagy, sötét, baljós barlang bejáratának északra vezető szája előtt.', 'north' => $barlang, 'in' => $barlang, 'south' => $hegy, 'enterRoom' => '!
my ($actor) = @_; $self->_enterRoom( $actor ); if ( ($actor->isCarrying($koponya)) and ($csontok->location) ) { Myprint( "Ahogy kilépsz a szabadba, a csonthalom mozgolódni kezd, egyre hevesebben, mignem egyszerre csak egy álló csontvázzá nem áll össze, amelynek gyanús módon hiányzik a feje. A csontváz feléd nyújtja a kezét, mintha kérne valamit." ); $csontok->moveInto( 0 ); $csontvaz->moveInto( $self ); } ','image' => 'kint.jpg', 'music' => 'chtones.mid', );
%$barlang = ( %$barlang, 'sdesc' => 'Barlang.', 'ldesc' => 'Egy sötét és dohszagú barlangban vagy. Napfény szűrődik be a déli kijáraton át. A barlang közepén egy nagy kőoszlop áll.', 'south' => $hegycsucs, 'image' => 'barlang.jpg',
'roomAction'=> '!
my ($actor, $verb, $do, $io) = @_; if ( ($verb->doAction eq "Push") && ($do->location eq $oszlop) ) { if ( $oszlop->verGrab( $actor, $do ) ) { Myprint( "Lelökted ".$do->targydesc." a földre.\n" ); $do->moveInto( $self ); } return 0; } return ($self->_roomAction( $actor, $verb, $do, $io)); ','music' => 'alleluia.mid', );
new Container 'oszlop'; %$oszlop = ( %$oszlop, 'issurface' => 1, 'isfixed' => 1, 'sdesc' => 'oszlop', 'targydesc' => 'az oszlopot', 'ondesc' => 'az oszlopon', 'noun' => ['oszlop','kooszlop'], 'location' => $barlang, 'verGrab' => '!
my ($actor, $do) = @_; my $itemcount = scalar ( @{$self->contents} ); if ($itemcount==1) { Myprint( "Ahogy megmozdítod ". $do->targydesc. ", a falból minden irányból mérgezett nyilak lövődnek feléd. Megpróbálsz félreugrani, de az egész túl gyorsan történik..\n\n" ); Die( $actor ); return 0; } return $self->_verGrab( $actor, $do); ',);
new Thing 'koponya'; %$koponya = ( %$koponya, 'sdesc' => 'aranykoponya', 'noun' => ['koponya', 'aranykoponya'], 'adjective' => ['arany'], 'location' => $oszlop, 'score' => 20 );
new Thing 'ko'; %$ko = ( %$ko, 'sdesc' => 'kő', 'targydesc' => 'a követ', 'noun' => ['ko'], 'donoun' => ['kovet'], 'location' => $hegycsucs, 'score' => 10 );
new Thing 'csontok'; %$csontok = ( %$csontok, 'isfixed' => 1, 'sdesc' => 'csontok', 'targydesc' => 'a csontokat', 'noun' => ['csont', 'csontok'], 'ldesc' => 'Alighanem az előtted erre járt bátor kalandor földi maradványai szikkadnak itt a napon.', 'heredesc' => 'Egy nagy halom csont szikkad a napon.', 'location' => $hegycsucs, 'verDoTake' => '!
Myprint( "Semmi szükséged rájuk, hidd el.\n" ); return 0; ',);
new Actor 'csontvaz'; %$csontvaz = ( %$csontvaz, 'sdesc' => 'csontváz', 'targydesc' => 'a csontvázt', 'noun', => ['csontvaz', 'csonti'], 'ldesc' => 'A fej nélküli csontváz türelmesen feléd kinyújtva tartja a kezét, mintha kérne tőled valamit.', 'heredesc' => 'A fejetlen csontváz feléd nyújtva tartja a kezét.', 'verIoGive' => '1', 'ioGive' => '!
my ($actor, $do) = @_; if ($do eq $koponya) { Myprint( "A csontváz boldogan elfogadja az ajándékodat, valahogy felerősiti a koponyát a nyakára, és elmasírozik a naplementébe. Útja alighanem újabb fantasztikus kalandok felé vezet...\n\n" ); $koponya->moveInto( 0 ); $csontvaz->moveInto( 0 ); Award( "csontvaz_survival", 20 ); $ember->travelTo( $won ); } else { Myprint( ucfirst( $do->thedesc )." kiesik a csontváz kezéből."); } ','verDoTalk' => '!
Myprint( "Nem valószínü, hogy tud beszélni fej nélkül.. NEKED mindenesetre biztosan nem sikerülne." ); return 0;','verDoPush' => '!
Myprint( "Nincsenek az idegeid kötélből.." ); return 0; ','verDoUse' => '!
Myprint( "Megpróbálod elképzelni, hogy mi mindenre jó egy álló, fejetlen csontváz, azon kívül, hogy sikoltozva meneküljenek előle. A sikoltozva menekülést mindenesetre elveted." ); return 0; ',);
%$csontvaz = ( %$csontvaz, # UseWith = Use; Put = Give 'verDoUseWith' => ${$csontvaz}{'verDoUse'}, 'verIoPut' => ${$csontvaz}{'verIoGive'}, 'ioPut' => ${$csontvaz}{'ioGive'}, );
new BasicMe 'ember'; %$ember = (%$ember, 'sdesc'=>'ember' );
new Room 'death'; %$death = ( %$death, 'sdesc' => 'Meghaltál.', 'ldesc' => 'Ha új játékot akarsz kezdeni, menj a beállításokhoz!', 'roomCheck' => '!
Myprint( "Ez már nem segít.\n" ); return 0; ','image' => 'death.jpg',
);
new Room 'won'; %$won = ( %$won, 'sdesc' => 'Győztél!', 'ldesc' => 'Gratulálok, megnyerted a játékot. Ha újra akarsz játszani, menj a beállításokhoz.', 'roomCheck' => '!
Myprint( "Már nyertél, ne strapáld magad tovább.\n" ); return 0; ','image' => 'won.jpg', 'music' => 'almonds.mid', );
$ember->moveInto( $hegy ); </adv>