<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>