IRC-Galleria

arafat

arafat

Pekka Puupää

Selaa blogimerkintöjä

eihän minä kaikkeen ennä
milk männi
varhain maatoa kaatoo
rauhassa taitaa nukkuva antoo.
koirakin täytyy ulkona käyttää
kissalle kuppiin täyttää.


orkesti soittaa halituli hittuu
ryty-tyty-tyty-tyty-tyytylä tyntää,
Hili-pati-hili-pati-himpamppaa
kyllä torstai-ilta nyt lohdutta


--

tiesittekös miksi torstai lohduttaa? niih, siksi kun silloin oli piikojen vapaapäivä kun ei voinu olla viikonloppuna kun herrasväellä oli kestejä pidettävänä niin torstai oli hyvä päivä parannella paikkoja perjantaina ja olla sitte koreena ja kuosissa lauantaina. sellaista se elämä vähän alkaa olla taas, on piikoja ja juoksupoikia kun isäntäväki surffaa inderwebissä. eikö hauskempaa?

pjas on sitä nippelitietoa muuallakin kun wikipediassa, boikotoikaa sitä jo, te älylliset, sillä on olemassa entsyklopeetiakin, mutta ettehän te...


traitrai trallalla... mutta niitä mutkia ajatellessa tuntuu elämä vähäpätöiseltä. jos nyt pikkasen polttaa pakoputki mahaa ja soittaa sen jälkeen yksykskahteen ja itkee kun rottanaamat koittaa olla kovia niin sellaset asiat hoidan vielä ihan virallista kautta ja niinpä tein ilmloituksen rattijuoposta. jos olisi ollut vähääkään sanansa mittainen niin sielä se mummoja teilaisi, vaan nyt on tilanne vallan toinen ja paninpa pääni sellaiseen peliin pantiksi että jos tästä syntyy sairaalakierre, niin eipä ole paljon apua vaikka menisi naimisiin, sellaiset on panokset, sillä olenhan jo ajatellut ääneen että rikos ei kannata, paitsi sitä en tainut sanoa että rikos_records ei kannata, mutta kivaa musiikkia ne tekee. mutta kaikkihan osaavat pettää, valehdella, rottia ja vasikoida, sellaisilla säännöillä minä nyt pesääni rakennan, se kun on tuo ja niinkin hurjana tilanne ja kaikenkaikkiaan minä haluan tuosta kehästä pois, mutta arvin!

ja niitä tulen tekemäänkin,
vaikka hiekka suussa maistuisi, niin tulen tekemään. nyt on minun pää ollut jalkapallona riittämiin.

mutta mitä yhdestä, pienestä elämästä kun on hyvä syy omassa mielessä ja omatunto kolkutttaa sen verran että siitä laulun tekee, niin mitä yhdestä pienestä elämästä kun ei ole väliä sen, miltä tuntuu hänestä ja mitä minä sanon, sillä silloin kun on hauskaa on se hauska pidettävänä vaikka nallekarhua tivolissa ammuttua ja sille toiselle annettua se hauskuus on, niin se on ja mitä sen on väliä, jos pitää välillä hauskaa kanssa toisten kun se ei aina ole niin syyntakeetonta kuin väittää valehdellessan, ja sen kohteena on itse eikä sitä julki tuo, tuhkimolle kenkää en ollut sovittamassa enkä sukkia vaihtamassa kouvolassa. niin kouvolassa kai minäkin asun tätänykyä, on lääni kasvanut ja kaupunki tehnyt etäisyyksistä mitättömyyksiä, niin mikä on eläessä kun ei mitään tee, eikä halua edes loukata minua niin että kaupungilla esiintyisi eri partnerin kanssa kuin minua siitä kieltää että kouvolassa en kanssaan käy, ettei näyttäisi aivan siltä kuin vaihtaisi partneria usammin kuin sukkia ja niinpä en näkykynyt, ja jutut korviini kuulin ja ja ja ja

imekäis ittenne sellaista paskaa muutama vuosi ja koittakaa puolustella tekojanne! minä en ja kerron vielä kaiken kun aika haavat parantaa ja vesi vanhin lääkkeistä, minä juon vähän vielä ja hieman lantattua vettä, mutta aika kai haavat parantaa. vai... rakkaus? uusi, parempi, jossa ei ole anoppia ja keltaisia autoja tai vihreitä hattuja.

jos sellaista elämä olisi, suostuisin minä otsikoihin, lööpeihin vaikka vain pk-sanomiin. mutta elämällä on eri polut ja minä kävelen joutuisasti sinne missä muurahaiset kekoja rakentaa ja ihmettelen vähän niitä polkuja kun tiedän että luonto tarjoaa minulle saman kuin kumpanille, minä olen muurahainen. kotia, kekoa kasvatan ja otan havua kantaessa riskin että jokamiehen oikeutta toteuttaassaan, joku voi astua pääni päälle ja joku toinen vie havun ja kehoni päättömänä sätkivän toukille ruoaksi kekoon ja sitä kasvatellessa, minä olen vaan ja kannan ottaa joku muu.

hyönteisiä äidin oomma gaiggi, oomma gaiggi ja hyvää joulua. miä päätin just että miä en tee niitä elämäni joulukalentereita kuin yhden ja annan sen kaimalleni, valitettava harmi on että tämä valiittu ei tahdo olla kanssani missään tekemisissä, siis on tuumattavata, sanoin tuumattava, ja ajattelen jotain... ajattelen kovasti rakkautta naisen, mutta moni muukin ajattelee ja minä en ole kovin kilpailuhenkinen, joten on parasta käydä kääntämässä ääninuppia stereon kun soi biot tai amorphous andogynous tai joku fat cat tai remotion 7615 ja kappale kaksi (monolake veikkaan :P

no se veikkauksista. olen suomen paras koodaaja ja mikään lpc tai c ei ole koodaamista vaan assembly, ja tarkoitan assemblylla assemblyä ja assembler on kääntäjä, jos te vitun aasit tajuiaisitte jonain päivänä sen niin miä olisin hiljaa ja kiitollinen.

t: pankaa minua perseeseen jos uskallatte, tai oikeassa kulmassa piippatte!
.
..
aargh. on my own i would love to have been able to say on title, but maybe...

heheh. so give me some space for making public the source of all txt-based games to be :P

an example:

toiminnto (actions)
Toiminnot ovat pelaajan keino vaikuttaa ympäristöönsä. Periaatteessa kaikilla olioilla,
joita ympäristössä voi esiintyä. on toimintoja, joita käyttäjät voivat käynnistellä. Osa
olioista ei vältämättä ole näkyvissä kaikille käyttäjille, jolloin myöskään toiminnon
käynnistäminen ei ole mahdolista.

saapuessaan uuteen ymnpäristöön, pelaaja:
- saa ympäristökseen (environment) huoneen, johon hän siirtyi
- listataan subjektiksi mahdollisille toiminnoille, joita
ympäristössä olevat objektit voivat suorittaa

komennon parsinta

objektin tarkastelu
objektin katsominen
objektin sisään katsominen
objektin siirtely
objektin ottaminen jostakin/joltakin
objektin laittaminen johonkin/jollekin
objektin kanssa toimiminen
objektilla suoritetaan toiminto
objektille suoritetaan toiminto
objektin avaaminen/sulkeminen
objektilla suoritetaan toiminto kohdeobjektille


look
look at box
look into box

get box
get dagger from box
buy dagger for mihkali

put dagger from box into bag


Havupuumetsä
Maa on kostean ja pehmeän sammaleen peittämä.
Kasvillisuus on runsasta ja rehevää.
Metsä käy synkemmäksi ja tiheämmäski pohjoista kohti.
Etelän suunnalta kuuluu lintujen laulua.
Heikkot polun jäljet johtavat lännestä itään.
Raika, heikko tuuli käy pohjoisesta.

Forest
Ground is largely covered by soft, moist moss. There are lots of
plants growing well. The forest gets darker and thiker towrards north.
From south some bird singing can be heard. Sligth marks of something
what once was a path lead from west to east. Slight, fresh breeze
blows from north. There is an enermousyly large oak standing reaching
for the sky.
Obvious exits are: north, northwest, east, southeast, south, southwest,
west and northwest.

FFFFFFF Forest
FFFFFFF Ground is largely covered by soft, moist moss. There are
FFFFFFF lots of plants growing well. The forest is getting darker and
FFFFFFF thiker towrards north. From south some bird singing can
FFFFFFF be heard. Faint marks of something what once was a path
ffffFFF leading from west to east. Slight, fresh breeze blows from
FfffffF north. There is an enermousyly large oak standing reaching
for the sky.
Obvious exits are: north, northeast, east, southeast, south,
southwest, west and northwest.
A Cro-magnon sitting, a sprite and a zombie standing.
A group chasing a rabbit. Another group beating a worm and a minotaur
abusing the cow.
On ground you can see couple of logs, few coins and an axe.

verbs:
is, are, gets, singing, heard, leading, blows, standing, sitting, beating,
abusing, see

nouns:
forest, ground, moss, plant(s), north, south, bird, marks, path, west,
east, wind, oak, sky, northeast, southeast, southwest, northwest,
cro-magnon, sprite, zombie, group(s), rabbit, worm, minotaur, cow,
log(s), coin(s), axe

adjectives:
soft, moist, well, dark, thik, faint, slight, enermous, large


em oli vuodelta 2003 tms tämä jäljempi on vuodelta 1996 tms.


/* living.c
*
* every living object (player,npc,what ever) inhertis this
*/

inherit WALK;

/*
string name;
string full_name;
string alias_name;
*/
int level;
int alignment;
int sex; /* 0=other, 1=male, 2=female */
string race;
int experience;
int heart_beat; /* call out delay */
int heart_handle; /* call out handle */
int alive; /* 0 if this living is dead */

int max_hp;
int hp;

int max_sp;
int sp;

int max_ep;
int ep;

object natural_weapone;
/*
string *skills;
string *spells;
string *resistances;
*/
string *slots;
string *limbs;

mapping skills;
mapping spells;
mapping resistances;
mapping immunities;
mapping diseases;

mapping wielding; /* string index (string *limbs) : object weapon */
mapping equipment; /* string index (string *slots) : object armour */
mapping stats; /* string index : int value */
private mapping racial_stats;
int racial_wc;

string msg_say;
string msg_in;
string msg_out;

object combat; /* combat object this living is in */

object primary_target;
object *targets;
int present_targets;

Reset() {
set_name("base living");
race = "";
/* level, alignment, sex = 0 */
slots = ({});

skills = ([]);
spells = ([]);
resistances = ([]);
immunities = ([]);
diseases = ([]);
equipment = ([]);
stats = ([]);
racial_stats = ([]);

msg_say = "says";
msg_in = "arrives";
msg_out = "leaves";
}


/* prototypes*/
nomask int stat(string s);
nomask int set_stat(string s, int i);
nomask string race(void);
/* end */

/*
* messages
*/
nomask string msg_say(void) { return msg_say; }
nomask string msg_in(void) { return msg_in; }
nomask string msg_out(void) { return msg_out; }

nomask string set_msg_say(string s) { return msg_say; }
nomask string set_msg_in(string s) { return msg_in; }
nomask string set_msg_out(string s) { return msg_out; }


/* writef()
* write a formatted string
* %o = object (living object will be capitalized as necessary)
*/
nomask void writef(string str, object *obj) {
int i,ii;
string t_str;

ARGCHECK(str, writef, 1);
ARGCHECK(obj, writef, 2);
/* if (sizeof(explode(str, "%o")) != (sizeof(obj)-1))
error("Arg size mismatch for writef()"+sizeof(explode(str,"%o"))+","+sizeof(obj)+"! ");
*/
t_str = "";
while (i < strlen(str)) {
if ((str == '%') && (i < strlen(str))) {
if (str[++i] == 'o') {
if (ii < sizeof(obj))
t_str += ((obj[ii]->living()) ? capitalize(obj[ii++]->name()) : obj[ii++]->name());
else
error("Bad argument 2 in writef()");
}
else
t_str += str[(--i)..i];
}
else
t_str += str[i..i];
i++;
}
this_player()->write(t_str);
}

/*
* do_put()
*
*/
void do_put(mixed item, mixed container) {
int i;
string s;
object i_obj, c_obj, *inv;

if (typeof(item) != T_STRING)
ARGCHECK(typeof(item) == T_OBJECT, put, 1);

if (typeof(container) != T_STRING)
ARGCHECK(typeof(container) == T_OBJECT, put, 2);

this_user()->echo("-- put()\n");

if (!(i_obj = posses(item)))
this_player()->echo("You don't have "+((typeof(item) == T_STRING) ? item : item->name())+".\n");

if (!(c_obj = present(container)))
this_player()->echo("You don't see "+((typeof(container) == T_STRING) ? container : container->name())+" here.\n");

if (c_obj && i_obj)
switch (Move(i_obj, c_obj)) {
case 1:
this_player()->echo("Object can't be moved inside itself!\n");
break;
case 2:
this_player()->echo(capitalize(c_obj->name())+" has no room for "+i_obj->name()+".\n");
break;
case 3:
this_player()->echo(capitalize(c_obj->name())+" can't carry "+i_obj->name()+".\n");
break;
default:
inv = environment()->inventory();
for (i = 0; i < sizeof(inv); i++)
/* check skill slip */
if ((object_type(inv) == "player") && (inv != this_object()))
if (inv->vision() > environment()->light())
inv->write(capitalize(name())+" puts "+i_obj->name()+" in "+c_obj->name()+".\n");
else if (inv->vision() >= (environment()->light()/2))
inv->write(capitalize(race())+" puts something in "+c_obj->name()+".\n");
else
inv->write("putti tapahtui (162:living.c)\n");
this_player()->write("You put "+i_obj->name()+" in "+c_obj->name()+".\n");
/* writef("%o puts %o in "+c_obj->name()+".\n", ({this_object(), i_obj}));
*/
break;
}
this_user()->echo("<-- put()\n");
}


/*
* do_drop()
*
*/
varargs void do_drop(mixed item, mixed container) {
int i,n;
string s;
object i_obj, c_obj, *inv;

if (typeof(item) != T_STRING)
ARGCHECK(typeof(item) == T_OBJECT, drop, 1);

this_user()->echo("-- drop()\n");

if (!(i_obj = posses(item)))
this_player()->echo("You don't have "+((typeof(item) == T_STRING) ? item : item->name())+".\n");
this_user()->echo("-- drop()\n");

if (container) {
if (typeof(container) == T_STRING) {
if (sscanf(container, "%s %d", s, n))
n = (n > 0) ? n : 1;
else
s = container;

if (!n)
n = 1;

inv = inventory(environment());
inv += inventory();
for (i = 0; i < sizeof(inv) && n; i++)
if (inv->match_name(s))
if (!--n)
c_obj = inv;
}
else {
ARGCHECK(typeof(container) == T_OBJECT, drop, 1);

}

if (!(c_obj = present(container)))
this_player()->echo("You don't see "+((container==T_STRING) ? container : container->name())+" here.\n");
}
else
c_obj = environment();
this_user()->echo(""+"\n");
this_user()->echo("item = "+item+"\n");
this_user()->echo("cont = "+((container) ? container : "NULL")+"\n");
this_user()->echo("i_obj ="+((i_obj) ? object_name(i_obj) : "NULL")+"\n");
this_user()->echo("c_obj ="+((c_obj) ? object_name(c_obj) : "NULL")+"\n");

if (!n && i_obj && c_obj)
switch (Move(i_obj, c_obj)) {
case 1:
this_player()->echo("Object can't be moved inside itself!\n");
break;
case 2:
/* muuta; jos full niin item pullahtaa environmenttiin */
this_player()->echo(capitalize(c_obj->name())+" has no room for "+i_obj->name()+".\n");
break;
case 3:
this_player()->echo(capitalize(c_obj->name())+" can't carry "+i_obj->name()+".\n");
break;
default:
inv = environment()->inventory();
for (i = 0; i < sizeof(inv); i++)
/* check skill slip, vaan dropissapa ei paljo slipit auta? */
if ((object_type(inv) == "player") && (inv != this_object()))
if (inv->vision() > environment()->light())
inv->write(capitalize(name())+" drops "+i_obj->name()+((c_obj != environment()) ? " in "+(c_obj->name())+".\n" : ".\n"));
else if (inv->vision() >= (environment()->light()/2))
inv->write(capitalize(race())+" drops something"+((c_obj != environment()) ? " in "+(c_obj->name())+".\n" : ".\n"));
else
inv->write("droppi tapahtui (248:living.c)\n");
this_player()->write("You drop "+i_obj->name()+((c_obj != environment()) ? " in "+(c_obj->name())+".\n" : ".\n"));
break;
}
this_user()->echo("<-- drop()\n");
}

/*
* do_take()
*/
varargs void do_take(mixed item, mixed container) {
int i,n;
string s;
object i_obj, c_obj, *inv;

if (typeof(item) != T_STRING)
ARGCHECK(typeof(item) == T_OBJECT, take, 1);

this_user()->echo("-- take()\n");

if (container) {
if (typeof(container) != T_STRING)
ARGCHECK(typeof(container) == T_OBJECT, take, 2);

if (!(c_obj = present(container)))
this_player()->echo("You don't see "+((typeof(container) == T_STRING) ? container : container->name())+" here.\n");

if (c_obj == this_object()) {
this_player()->echo("You already got it, haven't you?\n");
c_obj = 0;
}

}
else
c_obj = environment();
this_player()->echo("c_obj "+((c_obj)?object_name(c_obj):"NULL")+"\n");
if (!(i_obj = posses(item, c_obj)))
this_player()->echo("No "+((typeof(item) == T_STRING) ? item : item->name())+" in "+((c_obj == environment()) ? "here" : c_obj->name())+".\n");

if (i_obj && c_obj)
switch (Move(i_obj, this_object())) {
case 1:
this_player()->echo("Object can't be moved inside itself!\n");
break;
case 2:
this_player()->echo("It's too BIG.\n");
break;
case 3:
this_player()->echo("It's too heavy.\n");
break;
default:
inv = environment()->inventory();
for (i = 0; i < sizeof(inv); i++)
/* check skill slip */
if ((object_type(inv) == "player") && (inv != this_object()))
if (inv->vision() > environment()->light())
inv->write(capitalize(name())+" takes "+i_obj->name()+((c_obj != environment()) ? " from "+(c_obj->name())+".\n" : ".\n"));
else if (inv->vision() >= (environment()->light()/2))
inv->write(capitalize(race())+" takes something"+((c_obj != environment()) ? " from "+(c_obj->name())+".\n" : ".\n"));
else
inv->write("taikki tapahtui (316:living.c)\n");
this_player()->write("You took "+i_obj->name()+((c_obj != environment()) ? " from "+(c_obj->name())+".\n" : ".\n"));
break;
}

this_user()->echo("-- take()\n");
}


/************************/
/* COMBAT - OBJ version */
/************************/
object combat(void) { return combat; }

void rm_combat() {
if (combat && (previous_object() == combat)){
this_object()->echo(object_name(this_object())+"combat debug! removed from combat\n");
combat = 0;
}
else if (combat && (object_type(previous_object()) == "combat")) {
/* combat = 0;*/
this_object()->echo("combat debug! fighting in "+object_name(combat)+"\n");
}
else if (combat)
error(object_name(previous_object())+" can't remove combat ");
}
void set_combat(object o) {
if (!combat || (object_type(previous_object()) == "combat")) {
this_object()->echo("combat debug! combat set to "+object_name(o)+(!combat)?"":" (override)"+".\n");
combat = o;
}
else
error ("Combat object already set!");
}
void set_target(object o) {
if (!primary_target)
primary_target = o;
else
/* this error occurs if you tried to attack your self */
error ("Primary target already set to "+object_name(primary_target)+" !");
}
void add_target(object o) {
int i;

if (!targets) {
targets = allocate(1);
targets[0] = o;
}

}
/*
* killi()
*
* does not support non-player characters !
*/
varargs void killi(string tstr,int i) {
object tgt;

if (!(tgt = environment()->FindItem(tstr,i))) {
this_player()->echo("Kill what? I see no "+tstr+" here.\n"); return; }

if (tgt == this_object()) {
this_player()->echo("Usage: suicide <password>\n"); return; }

if (combat) {
if (environment(combat) == environment()) {
if (!(combat->present_players()) && !(combat->present_npcs()))
combat->join_to_combat(tgt);
else
this_user()->echo("Doh! You are busy enough with your current opponents.\n");
}
else {
combat = 0;
start_combat(tgt);
}
}
else
start_combat(tgt);
}
/* COMBAT OBJ version ENDS */

/*
* damage this living with *hit
* return: 0 if hit was avoided,
* 0 <= damage done to this living
* 0 >= damage was absobed in armour
*/
int damage(mixed *hit) {
int resist, hurtme;

/*
if (object_type(previous_object()) != "combat") {
this_user()->echo("debug: damage(): not a combat object\n");
return 0;
}
*/
/* generally type reisist is a racial thing or an enchantment */
if (resistances[hit[0]]) /* resistance to type */
resist = resistances[hit[0]];

/* resistance to methond depends on armour */
/* thus it will be added after armours can be worn */
if (resistances[hit[1]]) /* resistance to method */
resist += resistances[hit[1]];

if (hit[2] < ( (random(stats["agi"]) + random(100-stats["siz"])) / 4) )
return 0;

if ((hurtme = hit[3] - resist) > 0)
hp -= hurtme;

return hurtme;
}

/* RETURN *mixed ([string type, string method, int hit, int dam]...)
* return damage object
* returned object will tell how many attacks this object has,
* attack types, battle message, hit chance and damgae done if hit
*
* example {["physical","pound",20,3],["poison","bite",20,3]}
*/
mixed *hit(void) {
int atck, pen, right_hit, right_dam, left_hit, left_dam;
object r_hand, l_hand;
/*
if (object_type(previous_object()) != "combat") {
this_user()->echo("debug: hit(): not a combat object\n");
return;
}
*/
r_hand = wielding["right hand"];
l_hand = wielding["left hand"];

if (skills["attack"])
atck = skills["attack"];
if (skills["offhand penalty"])
pen = skills["offhand penalty"];

right_hit = atck + stats["agi"]/4 + wielding["right hand"]->hit();
right_dam = wielding["right hand"]->dam() + stats["str"]/4;

left_hit = (int) ((float)(stats["agi"]/4 +
atck + wielding["left hand"]->hit()) *
(float)((pen < 50) ? (50.0 + (float)pen) / 100.0 : 1.0));
left_dam = (int) ((float)(wielding["left hand"]->dam() + stats["str"]/4) *
(float)((pen < 50) ? (50.0 + (float)pen) / 100.0 : 1.0));

return ({r_hand->damage_type(),r_hand->damage_method(),right_hit,right_dam,
l_hand->damage_type(),l_hand->damage_method(),left_hit,left_dam});

this_user()->echo("attack:"+atck+"\n");
this_user()->echo("offhand:"+pen+"\n");
this_user()->echo("right hit:"+right_hit+"\n");
this_user()->echo("right dam:"+right_dam+"\n");
this_user()->echo("left hit:"+left_hit+"\n");
this_user()->echo("left dam:"+left_dam+"\n");
}

/*******COMBAT******/
/*
void add_target(object o) {
int i,isiz;
object *tlist;

if (!targets) {
targets = allocate(1);
targets[0] = o;
} else {
tlist = allocate((isiz = sizeof(targets)+1));
tlist[0] = o;
for (i = 1; i < isiz; i++)
tlist = targets[i-1];
targets = tlist;
}
this_player()->echo("add_target(\""+object_name(targets[0])+"\")!!!!!!!\n");
}

/***/
/*
void combat_round(void) {
int i,ii,isiz,tosiz;
object *to;
mixed hits;
this_object()->echo("combat debug: ** NEW ROUND **\n");

if (!targets)
targets = ({});

if ((object_type(this_object()) == "player") && (isiz = sizeof(targets))) {
to = allocate(tosiz=sizeof(targets));
for (i = 0; i < tosiz; i++)
if (environment->posses(targets))
to[ii++] = targets;
targets = to;
present_targets = ii;
}

this_object()->echo("present targets:"+ii+"\n");

if (!present_targets) {
primary_target = 0;
return;
}

if (!(environment->posses(primary_target))) {
this_object()->echo("getting new primary target.\n");
primary_target = targets[random(ii)];
}
this_object()->echo("primary target :"+object_name(primary_target)+"\n");

if (sizeof(hits = hit()) == 0)
return;

if ((sizeof(hits) % 4) != 0)
return;

for (i = 0; i < sizeof(hits)/4; i++) {
ii = primary_target->damage(hits[(i*4) .. (i*4+3)]);

if (object_type(this_object()) == "player")
this_object()->echo(primary_target->name()+" sai "+ii+" tehon "+hits[i*4+1]+"\n");
if (object_type(primary_target) == "player")
primary_target->echo(name()+" loi "+ii+" "+hits[i*4+1]+"\n");
}

call_out("combat_round",2);
}
*/
/*******COMBAT******/
/*******COMBAT******/
/*
varargs void kill(string opponent, int i) {
object obj;

if (obj == this_object()) {
if (object_type(this_object()) == "player")
this_object()->echo("noin tyhma nyt kai kukaan vois olla?\n");
return;
}

if ((object_type(this_object()) == "player") && primary_target) {
this_player()->echo("You are already fighting.\n");
return;
}

if ((obj = environment->FindItem(opponent,i)) == 0) {
if (object_type(this_object()) == "player")
this_player()->echo("ei "+opponent+" loydy.\n");
return;
} else if (obj == this_object()) {
if (object_type(this_object()) == "player")
this_object()->echo("noin tyhma nyt kai kukaan vois olla?\n");
return;
}

if (!(environment->posses(obj))) {
if (object_type(this_object()) == "player")
this_player()->echo("No "+obj->name()+" here.\n");
return;
}

primary_target = obj;
add_target(obj);
call_out("combat_round",1);
return;

if (obj->combat()) {
(obj->combat())->add_to_combat(this_object());
}
else {
combat = clone_object("/dgd/std/combat");
combat->start_combat(this_object());
combat->add_to_combat(obj);
}
}
*/

/* HP */
nomask int hp(void) { return hp; }
nomask int adj_hp(int i) { return hp += i; }

nomask int max_hp(void) { return max_hp; }
nomask int set_max_hp(void) {
max_hp = stat("size")+stat("sta")+ (int) (racial_stats["sta"] * (float) level);
}

/* SP */
nomask int sp(void) { return sp; }
nomask int adj_sp(int i) { return sp += i; }

nomask int max_sp(void) { return max_sp; }
nomask int set_max_sp(void) {
max_sp = stat("wis")+stat("int") +(int) (racial_stats["wis"] *(float) level);
}

/* EP */
nomask int ep(void) { return ep; }
nomask int adj_ep(int i) { return ep += i; }

nomask int max_ep(void) { return max_ep; }
nomask int set_max_ep(void) {
max_ep = stat("agi")+stat("sta") + (int) (racial_stats["sta"] *(float) level);
}

nomask void set_stats(void) {
int i,isize; string *slist;

isize = sizeof(slist = map_indices(racial_stats));
for (i = 0; i < isize; i++)
stats[slist] = (int) (racial_stats[slist] * (float) level);
}

/* levels and alignment */
nomask int level(void) { return level; }
nomask int alignment(void) { return alignment; }

nomask int set_level(int i) { return level = i; }
nomask int set_alignment(int i) { return alignment = i; }

/*
* HEART
*/
nomask heart_beat(void) { error("living.c:heart_beat():638: not used");/*return heart_beat;*/ }
static void heart(void) {
int ohp,osp,oep;

ohp = hp; osp = sp; oep = ep;

if (ep < max_ep)
ep += 1 + stats["sta"] / 100;

if (ep > 0) {
if (sp < max_sp) {
sp += 1 + stats["int"] / 30 + stats["wis"] / 20;
ep--;
}
if (hp < max_hp) {
hp += 1 + stats["sta"] / 100;
ep--;
}
}

/* sc fake */

if ((object_type(this_object()) == "player") && (oep != ep | osp != sp | ohp !=hp))
this_object()->echo("hp:"+hp+" sp:"+sp+" ep:"+ep+"\n");

heart_handle = call_out("heart",heart_beat);
}


/*
* describe (sex, pronoun, condition, shape...)
*/
nomask string sex(void) {
return (sex==0) ? "other" : (sex==1) ? "male" : "female"; }
nomask string pronoun(void) {
return (sex==0) ? "it" : (sex==1) ? "he" : "she"; }
nomask string possessive(void) {
return (sex==0) ? "its" : (sex==1) ? "his" : "her"; }
nomask string objective(void) {
return (sex==0) ? "it" : (sex==1) ? "him" : "her"; }

nomask string set_sex(string s) {
sex = (s=="male") ? 1 : ((s=="female") ? 2 : 0);
return sex();
}

nomask string condition() {
if (hp < 0)
return capitalize(name())+" is unconscious and bleeding from big wounds.";
else if (hp <= max_hp/10)
return capitalize(name())+" is covered by "+possessive()+" own blood.";
else if (hp <= max_hp/2)
return capitalize(name())+" body is covered by bruises.";
else
return capitalize(name())+" looks fit and healthy.";
}

string statstring(string s) {
int i;
string str,sc;

str = capitalize(s)+": ";

if (stats < 10)
str += " ";
else if (stats < 100)
str += " ";

return str += stats+" ";
}

void scores(void) {
this_user()->echo("Name: "+capitalize(name())+" the "+race+"\n");
this_user()->echo("

\n");
this_user()->echo("Level: "+((level<10)?" ":" ")+level+
" Experience: "+experience+"\n\n" );
this_user()->echo("Hp: "+hp+" ("+max_hp+
") Sp: "+sp+" ("+max_sp+") Ep: "+ep+" ("+max_ep+")\n\n");
this_user()->echo(statstring("str")+statstring("agi")+statstring("siz")+statstring("cha")+"\n");
this_user()->echo(statstring("wis")+statstring("int")+statstring("sta")+"\n");
this_user()->echo("
\n");
}

/*
* NAME
*/
/*
nomask string name(void) { return name; }
nomask string full_name(void) { return full_name; }
nomask string alias_name(void) { return alias_name; }

nomask void set_name(string s) { name = full_name = alias_name = s; }
nomask void set_full_name(string s) { full_name = s; }
nomask void set_alias_name(string s) { alias_name = s; }
*/
/*
* RACE
*/
nomask string race(void) { return race; }

nomask void set_race(string s) {

/* varmista et race on validi */
if (!race)
race = s;
else if (race != s)
return;

if (race == "visitor") {
/* guest special save/restore */
restore_object("/var/obj/visitor");
alignment++;
save_object("/var/obj/visitor");
set_name("guest-"+alignment);
stats = (["str":1, "agi":1, "int":1, "wis":1,
"cha":1, "sta":1, "siz":1]);
racial_stats = (["str":1.0, "agi":1.0, "int":1.0, "wis":1.0,
"cha":1.0, "sta":1.0, "siz":1.0]);

heart_beat = 1;
msg_say = "meeps";
msg_in = "arrives";
msg_out = "leaves";
}
else if (race == "giant") {
stats = (["str":1, "agi":1, "int":1, "wis":1,
"cha":1, "sta":1, "siz":1]);
racial_stats = (["str":2.0, "agi":0.5, "int":0.1, "wis":0.1,
"cha":0.75, "sta":2.0, "siz":2.5]);

heart_beat = 1;
msg_say = "booms";
msg_in = "arrives";
msg_out = "leaves";
}
else if (race == "sprite") {
stats = (["str":1, "agi":1, "int":1, "wis":1,
"cha":1, "sta":1, "siz":1]);
racial_stats = (["str":0.1, "agi":2.5, "int":1.5, "wis":1.5,
"cha":1.75, "sta":0.5, "siz":0.3]);

heart_beat = 1;
msg_say = "meaowls";
msg_in = "arrives";
msg_out = "leaves";
}
resistances = ([]);
alive = 1;
level=1;

skills = ([]);
/*skills["attack"] = 10;
*/
natural_weapone = clone_object("/obj/weapone/bludgeon");

slots = ({"head", "neck", "left arm", "right arm",
"left hand", "right hand", "torso", "belt",
"left leg", "right leg", "left foot", "right foot"});
limbs = ({"right hand", "left hand"});

wielding = ([]);
wielding["right hand"] = natural_weapone;
wielding["left hand"] = natural_weapone;


set_stats();
set_max_hp();
set_max_sp();
set_max_ep();
/* heart();*/
}

/*
* stats
*/
nomask int stat(string s) { return (!stats) ? 0 : stats; }

nomask int adj_stat(string s, int i) {
/* logga stat change */
/* ja adjustia adjustoidaan race tunella */
stats += i;
/* pida huoli et ei mee alle 1 kun naa mapit on mita on */
}

/*
* spells
*/
nomask string *spells(void) {
if (map_sizeof(spells) == 0)
return ({});
else
return map_indices(spells);
}

nomask varargs int skill(string s) {
if (!skills)
return 0;
else
return skills;
}

/*
* skills
*/
nomask string *skills(void) {
if (map_sizeof(skills) == 0)
return ({});
else
return map_indices(skills);
}

nomask varargs int spell(string s) {
if (!spells)
return 0;
else
return spells;
}


pähTorstai 17.09.2009 17:45

uskonto-hypnoosi-aa-arvomaailma

jakaako sun muijas postia vai persettä "Antti Litja, jossain elokuvassa (matti ijäksen))"

vrt.

jakaako sun muijas postia vai vartiotornia

jakaminen on valistusta
on aivan sama
jakaako ihminen
postia, persettä vai vartiotornia
aina syy jakamiseen
on joko yksilön tai ryhmän
moraalissa, uskomuksissa tai vakaumuksessa

arvot ja -maailma jossa ihminen yksilönä elää

myydä vakaumuksensa aatteelle vrt. olla "kommunistina" ehdokkaana "demokraattien" listoilla


--

syyskuun yhdennentoista merkitys - (vuoden) neronleimaus-palkinto

--

Petteri Järvinen on nyt jo sosiologi ja psykologikn. ks. a-studio ma 14.10.(ja vuosi oli?)

--

myyrmäen "pommimies" kärsi mielenterveysongelmista (mielenterveysongelma - määrittele
mieli, terveys ja sen terveys, pyydän

--


määritellään ensin psykoosi: ennenkuin määritellään psykoosi niin korostetaan passiivimuotoa ja huomautetaan että seuraava katkelma on erään vastenmielisimmän henkilön esittämän kysymykseen esittämä vastaus, kun jotain oli vastattava. kysyjänä on joku vitun lehmä mikä on vitun_ suosittu_ juontaja Italiassa elil joku eila kanninen tms., oksettaa pelkkä imelä äänikin niin etten tahdo muistaa vaikka haluaisin. vastaaja on täyisin vaipunut unohoon, mutta syynä on se että vastaus patistellaan (vrt. patistetaan eli pakotettaan vastaamaan, pätkii tää mun kone niin että on noin 30s pausseja kun ei näe mitä kirjottaa ja kuitenkin kaikki merkit tallentuvat. no, enpä ole ennenkään antanut kierjoitus tai lynöntivirheitten haitata toimintaani, onpa minulla jopa kirjallisena että lyöntini ovat kohdistamattomia, mutta ketä se kiinnostaa?)

no niin, mikä siis oli määrittelemänsä psykoosi: no eräs psykoosin määritelmä on se kun terapeutti ei ymmärrä potilasta. EIKÖ LOISTAVAA! siis , muistattehan, tämä vastaus oli painostamalla saatu, paljon huonommankin vastauksen olisi voinut saada. onko jotain alleviivattavaa? hänhän sanoi ERÄS?

miä pideän teitä, Teitä ihmisiä ihan täytenä paskana, enkä oikein edes ihmettele miksi! sellaista paskaa Te olette, arvoisa lukijani.

terve paska terveessä ruumiissa vai miten se latinalainen tokasu meni mitä ylpön arvo mittasi ja siihen hengenvetoon miä sanon että aw.yrjänä vois vetää ittesä hirteen ennenkun minä rupian kirjottamaan asioista runoja. sellaista paskaa sun runous on ja vedä siä arno kotro vaan viinaa ja opoeta äidinkieltä äläkä sekoile enää televisiossa! vittu tollasia keijukaisia, vittu hävettää minuakin jo toi teidän urvellus. vitun, nuijapäät.

puhelin-morot


tänään on sellainen päivä, kuin olisin elänyt tätä päivää odottaessa. tänään on kaikkien päivieni päivä, ja jos ei ole niin sitten se on joku toinen päivä, mutta aloitan tämän kuin viimeistä päivää, siis ajatuksella, en kuitenkaan aloita aivan niin dramaattisesti että jo oikean käden ranne aukiviillettynä odottaisin oikosulkua ja valuva veri aiheuttaisi oikosulun näppäimistöön ja en enää koskaan voisi tulla ja kirjoittaa irc-galleriaan (pistoler-junoreactor käynnistyi soimaan)

tänään on sellainen päivä, että alan laskemaan päiviä päivissä ja öitä öinä. teen numeroita tekemättömistä teoista ja sanomattomista sanoinkuvailemattomista. sellainen päivä tänään on.

teen itkun aiheesta naurun ja ikävästä häviävän kuvan kauhun ja kaivan esiin sen lähteen, josta olen juttuni ammentanut (juno reaktori jäi kesken kun on risa levy, soi children of the bong ja squiggla sonic).

teen itelleni päivän pähkäiltäväksi ja ihmeitten kietomaan köynnökseen tukahdutan tunteitteni aihon ja alan elää elämää, jossa ei ole kaunista asiaa kuvailtavaksi, eikä surua tasapaksuutta vääristämässä. sellainsten elämien päivä on tänään.

olen joskus, ja tiedän sen aina, vittu, joo ja kokoajan coca cola.

olen se ajatusten kyllästämä ihminen, joka aina minut petti. ajatusteni olio, se minä olen tänään ja huomenna on ajatukset toisten ja mieli säyseä kuin uhrilampaan kun poliisi-setä ottaa otteen ja minä huudan, "vittu, vedä tukasta paskanaama", sillä niin se meni kun elämäni elin ja raajarikkona on kiva kirjottaa mehupilli suussa koodia omaan pelikonsoliin kun se pillikin on käyrä ja veltto kuin elimellinen peli, jolla sitä jatketaan kun ei ole monoteisitisessa maailmankatsomuksessa tarpeeksi väkeviä jumalia valittavaksi, joiden voimalla voisi tehdä itsestään messiaanisen kolmiomittausmenetelmin havaittavan pisteen kun on puhelin kiini, onneksi on internetti tuossa tuokiossa hätää suurempaa opasteita tarjolla puolillaan. sellainen päivä tänään onkin että voi uhota ja nuohota päänsä ullakolla niin että ei ole kuin taivas kattona ja näppäimistö seinänä. vatupassia joo.

sellaisia elämiä minä haluasin ihmisten elävän että päästä kasvaisi ulos kaikki kuona ja roska, mikä pitää sen käynnissä ja siitä kuoriutuisi ihminen, mutta kun niin ei moni tee niin suoritamme luonnollista valintaa nytyH!

tervemoroi lähti johonkin...

nimim. t: (mtv3chat@yleensä.com) ja saatanana, käski pera sanomaan, iso saatana. vatupassilla kuulemma edukuntaan eikä juustohöylällä, voi kuulemma asettaa vatupassin vähä vinoon ja se piippaa silti! nii, ja imatra ei pela jääkiekkoa, enkä miä


toi otsikko on gösta sundqvistin laulusta että turha tulla itkemään että ilmiannan ton alaturkian lampaan, nyt siiltä melkein pääsi vale, mutta se tarkensi. "mee äijä veivaa sitä volgaas", katsastus, matti ijäs ja joku reino, mut' ei kuka tahansa ja jäniksen vuosi soimaan tosta noin, antti litjaa vähän kalterien takaa ja sitten ei missään.

nyt ib ´mentävä kattomaan että saisko ton sukellusveneen irti seinästä, on sen verran kauan tullu kuunneltua dieselin hajua että eiköhän ne akut ala olla jo ladattuina... höhöh

vittu ja :ultra:PPPPP!!!!!!1++
näyttäpä aivan siltä, kuin usein sanotaan, että rikos ei kannata ja siksi minä olenkin alkanut lottoamaan. olen niin saatanan tavallinen että olisi oikein herkullista hyrinää aivoisilleni olla yksi kahdeksankymmentäkolmemiljoonaaneljäsataakahdeksankymmentäkolmetuhattakahdeksansataakolmekymmentänejästä ja vanhana voittaa kun on valmiiksi jo avanne täynnä ja kusta päässä, eikun mitä vittua, eihän noi voi olla mun lottonumerot mitä miä tänne nyt kirjotin. nyt kaikki voittaa ja sitte meitä on 80t ja miä olen vaan yksi meistä. täähän menee ihan pieleen nyt koko projekti kun miä puhun mitä ajattelen ja vielä tietokoneelle. voi kauhistus ja minulla vielä on erityisen hyvä numero ja sitämyöten myös pitkällel kehittynyt salasanamuisti ja senkin sanoin nyt, enkä osaa kumpiakaan muuttaa kun ei voi kun jos niillä voittaa.

on voitto minulle, joka kerta, kun kerrankin pääsen johonkin missä näyttää siltä että minä näyn, siis olen. mutta näitä samoja näkyjä saattaa olla muillakin ja silloin se onkin jo totta ja minä kovasti haluaisin että mikään, mitä toivon tai ajattelen että voisi toivoa, ei koskaan tapahtuisi, sillä eikö ole niin että ihmisellä pitää olla haaveita ja tavoitetita? nyt tässä on vain sellainen pienenpieni paradoksia muistuttava (wikiwiki) dilemma.

tuumaan: noin 254mm, kirjoitin noin, ja ajattelen että kun minulla on, tai minulle on terävästi sanottu että toimintani on ristiriidassa tavoitteiden kanssa ja siksi minä toimin näin, tai niin, ja sitä kutsutaan ambivalensiksi persoonallisuudeksi, se ei ole ollenkaan sama asia kuin bi-tai mikä vaan bicycle, bicycle... tuli queenin kappaeli mieleen... polaari niinkun patteri, jossa on kaksi napaa, mutta huono filosofi ja wannabe psykiatri voi ajatella että tuollaisia vikoja hoidetaan avohoidossa ja lääkkein, ja ikäni myötä ja useiden, ehkä sataa suuremman lääkemerkin, joista tulee kombinaationa jo ihan lottovoiton veroinen palkinto, niin että minulla ei ole oikein varaa alkoholiin, eikä rikoksiinkaan, sillä rikos ei kannata, mutta kyllä sillä eli, nyt ei ole varaa ja juominenkaan ei kannata, kun se käy maksan kimppuun, nyt on munuaisissa vikaa ja huoleton olo kuin olisin humalassa...

ei mutta. minähän jätinkin lääkkeet ottamatta ja olen humalassa. mitäs minä oikein sekoilen taas...

ihan kummia puhelin on pöydällä ja kädet näppäimillä. näillä näppäimillä täältä sinne ja uuteen päiväkirjamerkintään.

moihmoih*happyharpyjoyjoy*

ainiii: k-lukutaitoiset
vaikka tämä, tässä muodossa on kirjoitettu 10.6.1999, niin on tämä ajankohtaisempaa minulle ajankohtaisempaa kuin koskaan. tämä on viimeinen kerta, sitten ei enää. en enää vonkaa.

Kolmas näytös 2. kohtaus - "Pyrkyri"

Nora
Matti

Matti

Tämä lie ainoa kerta kun sinulta saan lupausta pyytää. Itse en ole sinulle antamaani lupausta pystynyt pitämään, mutta voitko sinä kuulematta luvata, ettet koskaan kenellekään sano mitä sinulle sanon?

Nora

(tietää hyvin, että Matti kertoisi ilman lupaustakin)

No se riippuu siitä mitä sä aiot sanoa.

Matti

Mmm. (viivyttelee hetken) Niin. (surullisesti) Minä en vain yksinkertaisesti pysty kieltämään sinulta mitään.

Nora

Älä nyt taas pelleile.

Matti

(loukkaantuu)

En minä pelleile. Minä olen (koppavasti) "teatraalinen".

Nora

Älä nyt taas heittäydy teatraaliseksi.

Matti

(loukkaantuu)

On hyvin ikävää, että "teatraalisuuteni" on alkanut kyllästyttämään sinua.

Nora

Ei se sitä ole. Mä vaan en ole nyt sillä tuulella.

Matti

(koittaa olla kohtelias ja viedä puheenaiheen muualle huomattuaan pitkästyttävänsä Noraa: pieni sana - anteeksi - unohtuu)

Millä tuulella sitten olet?

Nora

Mä olen vaan väsynyt. Mitä sä olit sanomassa?

Matti

(teeskentelee unohtaneensa)

Unohdin itsekin, (hieman ivallisesti) kun niin julmasti keskeytit "teatraalisen" esitykseni.

(mutta ei Mattilla ole malttia)

Ah! Niin, jotain sellaista, mitä olen sinulta oppinut, että on parasta vain teeskennellä rakastavansa kuin rakastaa liikaa muita kuin itseään.

Nora

Mitäköhän sä niinkun taas koitat sanoa?

Matti

(pettyy enemmän itseensä kuin Noraan, eikä pysty hallitsemaan tunnekuohuaan, purkaa sen Noraan)

Niin. En mitään, en yhtään mitään. (tauko) Saman, minkä olen joka kerta monta kertaa sanonut tavatessamme. Minä en käsitä mikä tässä on. Minkä takia me tapaamme, kun ei tämä ikinä tunnu johtavan mihinkään lopputulokseen, josta ymmärtäisin mitä tai miten minun pitää olla tai sanoa, että saisin sinulta rauhan, ja sinäkin minulta. Minä en saa nukutuksi. Teatraalista? Kyllä. Mutta minä todella pelkään mielenterveyteni puolesta. Itse sanoit kerran, että et koskaan opi ymmärtämään meitä miehiä - jos minua sellaisena edes pidät, sitäkin muistan sinun epäilleen. Mitä? Ja minunko sitten pitäisi ymmärätää? Naisia minä kyllä ymmärrän, minut on kasvatettu siihen, mutta sinua minä en ymmärrä. Sinä sanot yhtä ja kohta sanot toista ja pompotat minua miten mielit kun tiedät, että teen juuri niinkuin sinä haluat. Ja antaessasi minun tunteistani sinua kohtaan kertoa, kostuvat silmäsi ja sitten taas pitää käydä puuteroimassa nenä. (tämä on Matin mieltä painanut, mutta on sen pitänyt salassa, nyt itsehillintä petää) Ketä sä sinne vessaankin menet pakoon, itseäsi vai minua. Minä en ymmärrä!

Nora

(ivallisesti)

Mitäköhän muuta siellä vois tehdä?

Matti

(esittää, että Nora olisi käynyt vessassa tekemässä muistiinpanoja heidän keskustelustaan: pisteliäästi)

Aivan!

(heiluttaa etusormeaan kuin olisi keksinyt jotain)

(
Voihan siellä käydä tekemässä muistiinpanoja taskusta löytyvän lottokupongin reunaan.
)

Minähän olen vain ruokaa.

Nora

(Nora arvaa mitä Matti tarkoittaa)

Sä olet julma.

Matti

(on tiedostamatta pahoillaan äsken sanomansa johdosta. Anteeksi pyytäminen on kuitenkin yhtä vaikeaa kuin kiintymyksestä puhuminenkin: rauhallisesti, kuin anteeksi pyytäen)

Ehkä, tai sitten minä olen vain sairas ajattellessani, että kerran ihminen - minä, Matti - kohtaa henkilön - te, sinä, Nora - jota rakastaa enemmän kuin itseään.

(mies on aivan sekaisin ja epätoivoinen, vihaa itseään nyt niin paljon, että tekee kaikkensa, jotta Norakin häntä vihaisi ja antaisi rangaistuksen)

Tilastotieteilijäystävänne ovat varmaan laskeneet todennäköisyyden, jolla kaksi samoin tuntevaa kohtaavat toisensa. No more bets! Meitä arpa ei suosinut.

Nora

Ja haistakaa te, kuule, sinä, Matti, paska!

(tuijottavat toisiaan vihaisina, kumpikin tietää, että nyt pakoon ei lähdetä)

Matti

(miettii) Hyvä on. (tauko) Sana on rakkaus ja näin olen päättänyt(: rakkaus on sana, sillä): muille sanoessani tulen aina raiskanneeksi sen sanan, sillä sanaa rakkaus ei huuliltani kukaan enää tule kuulemaan siinä merkityksessä kuin sinä tiedät minä sille kerran annoin. Sana rakkaus on sinun, kuin haurain ja kallein esine, jonka rakkaimmalleen voi antaa.
(Ja tiedän, että: ei ole mitään)

eikä ole mitään
mistä en kiinni pitäisi
mistä en luopuisi
sinun vuoksesi
minulla ei ole mitään

Olenhan tullut kovaksi ihmiseksi. (painottaen joka sanaa) Minä olen pyrkyri.

(

[

tämä on vain kokeilua

loppurepliikin jälkeen ei enää näyttämöllä mitään
tapahdu

]

(Nora näyttää tunteensa ensimmäistä kertaa, Matti viimeistä)

Nora

(peittää kasvonsa käsillään)

(Matin kasvoilla käy tuskan kuva)

(itkee: kyynelet valuvat vuolaina hänen poskillaan)

(pallean kouristelut nytkäyttävät Noran vartaloa voimakkaasti, sitten hän paljastaa kasvonsa: täynnä epätoivoa ja epäuskoa)

Sä olet julma.

(nousee)

(mattia tuska viiltää, mutta hän ei itke. Matti ymmärtää, ettei koskaan voi antaa itselleen anteeksi tekoaan ja vaikka voisikin niin Nora ei voi.)

sairautensa vuoksi vihattu ihmistyyppi

(kova paha temppuilu pitää vielä tarkistaa)

(menee)

(Matti nousee ja seuraa katseella Noraa)

(ovella Nora kääntyy puolittain sitten poistuu)

)

[ Musiikki: Kula Shaker, Tattva

"Like the flower and the scent of summer,
like the sun and the shine,
Well the truth may come in strange disguises
Send the message to your mind.

At the moment that you wake from sleeping
and you know it's all a dream,
Well the truth may come in strange disguises
Never knowing what it means.

For you shall be tomorrow, like you have been today.
If this was never ending, what more can yhou say?"
]

(paula, tuu kotiin tai edes kylään, joskus...
)