Maliusz Home FrissVáltozások
EarthDawn SpellJammer
Preferences | Upload | Térkép

Szöveges Kalandjáték/Első

<adv> package Adv;

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