LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /graveyard.php

Hier klicken für den Source, ODER
Weitere Dateien, von denen du den Quelltext sehen kannst:
(Das Lesen des Source, um sich spielerische Vorteile zu verschaffen, ist nicht erlaubt. Solltest du Schwachstellen oder Fehler entdecken, bist du als Spieler verpflichtet, diese zu melden.)

Source von: /graveyard.php

<?php

// 15082004

require_once "common.php";

if (
$session['user']['alive']) redirect("village.php");

page_header("Die Dunkelheit");
checkday();
$session['bufflist']=array();
$session['user']['drunkenness'] = 0;
$max $session['user']['level'] * 50;
$favortoheal round(10 * ($max-$session['user']['soulpoints'])/$max);

if (
$_GET['op']=="search"){
    if (
$session['user']['gravefights']<=0){
        
output("`&Dein Geist kann heute keine weiteren Alpträume ertragen.`b`0");
        
$_GET['op']="";
    }else{
        
$session['user']['gravefights']--;
          
$battle=true;
          
$sql "SELECT * FROM creatures WHERE location=1 ORDER BY rand(".e_rand().") LIMIT 1";
        
$result db_query($sql) or die(db_error(LINK));
        
$badguy db_fetch_assoc($result);
        
$level $session['user']['level'];
        
$shift 0;
        if (
$level 5$shift = -1;
        
$badguy['creatureattack'] = $shift + (int)(($level-1) * 1.5);
        
// Make graveyard creatures easier.
        
$badguy['creaturedefense'] = (int)(($shift + (($level-1) * 1.5)) * .7);
        
$badguy['creaturehealth'] = $level 50;
        
$badguy['creatureexp'] = e_rand(10 round($level/3),20 round($level/3));
        
$badguy['creaturelevel'] = $level;
        
//output("`#DEBUG: Creature level: {$badguy['creaturelevel']}`n");
        //output("`#DEBUG: Creature attack: {$badguy['creatureattack']}`n");
        //output("`#DEBUG: Creature defense: {$badguy['creaturedefense']}`n");
        //output("`#DEBUG: Creature health: {$badguy['creaturehealth']}`n");
        //output("`#DEBUG: Creature exp: {$badguy['creatureexp']}`n");
        
$session['user']['badguy']=createstring($badguy);
    }
}
if (
$_GET[op]=="fight" || $_GET[op]=="run"){
    if (
$_GET['op']=="run"){
        if (
e_rand(0,2)==1) {
            
output("`&Völlig verängstigt versucht du zu flüchten.`n`n");
            
$favor e_rand(0$session['user']['level']);
            if (
$favor $session['user']['deathpower'])
                
$favor $session['user']['deathpower'];
            if (
$favor 0) {
                
output("`&Du verlierst `¼$favor`) Gefallen.");
                
$session['user']['deathpower']-=$favor;
            }
            
addnav("Zurück zur Dunkelheit","graveyard.php");
            
$session[user][reputation]--;
        } else {
            
output("`&Voller Angst und Panik versuchst du zu flüchten, doch lässt der Alptraum dies nicht zu und zerrt dich zurück in den Kampf. `n`n");
            
$battle=true;
        }
    } else {
        
$battle true;
    }
}

if (
$battle){
    
//make some adjustments to the user to put them on mostly even ground with the undead guy.
    
$originalhitpoints $session['user']['hitpoints'];
    
$session['user']['hitpoints'] = $session['user']['soulpoints'];
    
$originalattack $session['user']['attack'];
    
$originaldefense $session['user']['defence'];
    
$session['user']['attack'] = 10 round(($session['user']['level'] - 1) * 1.5);
    
$session['user']['defence'] = 10 round(($session['user']['level'] - 1) * 1.5);
    include(
"battle.php");
    
//reverse those adjustments, battle calculations are over.
    
$session['user']['attack'] = $originalattack;
    
$session['user']['defence'] = $originaldefense;
    
$session['user']['soulpoints'] = $session['user']['hitpoints'];
    
$session['user']['hitpoints'] = $originalhitpoints;
    if (
$victory) {
        
output("`b`&{$badguy['creaturelose']}`0`b`n"); 
        
output("`b`¼Du hast {$badguy['creaturename']} besiegt!`0`b`n");
        
output("`&Du stiehlst der Kreatur `¼{$badguy['creatureexp']} Gefallen!`n`n`n`n`n`n`0");
        
$session['user']['deathpower']+=$badguy['creatureexp'];
        
$badguy=array();
        
$_GET['op']="";
        if (
e_rand(1,7)==3addnav("Helles Licht","styx.php");
    }else{
        if (
$defeat){
            
//addnav("Zurück zu den Schatten","shades.php");
            
$sql "SELECT taunt FROM taunts ORDER BY rand(".e_rand().") LIMIT 1";
            
$result db_query($sql) or die(db_error(LINK));
            
$taunt db_fetch_assoc($result);
            
$taunt str_replace("%s",($session[user][sex]?"sie":"ihn"),$taunt[taunt]);
            
$taunt str_replace("%o",($session[user][sex]?"sie":"er"),$taunt);
            
$taunt str_replace("%p",($session[user][sex]?"ihre(m/r)":"seine(r/m)"),$taunt);
            
$taunt str_replace("%x",($session[user][weapon]),$taunt);
            
$taunt str_replace("%X",$badguy[creatureweapon],$taunt);
            
$taunt str_replace("%W",$badguy[creaturename],$taunt);
            
$taunt str_replace("%w",$session[user][name],$taunt);
            
            
addnews("`3".$session[user][name]."`3 wurde von der Alptraumgestalt {$badguy['creaturename']} besiegt.`n$taunt");
            
output("`b`&Du wurdest von ``¼{$badguy['creaturename']} `&besiegt!!`n");
            
output("Du kannst heute keine weiteren Alpträume mehr jagen.");
            
$session['user']['donation']+=1;
            
$session['user']['gravefights']=0;
            
addnav("Zurück zur Dunkelheit","graveyard.php");
        }else{
            
addnav("Kämpfen","graveyard.php?op=fight");
            
addnav("Fliehen","graveyard.php?op=run");
            if (
getsetting("autofight",0)){
                
addnav("AutoFight");
                
addnav("5 Runden kämpfen","graveyard.php?op=fight&auto=five");
                
addnav("Bis zum bitteren Ende","graveyard.php?op=fight&auto=full");
            }
        }
    }
}

if (
$_GET['op']==""){
    
output("`&`iDein Geist wandert in dieser farblosen und trostlosen Welt umher und kommt schließlich hier an. Das helle grau des Nebels ist einem dunkleren gewichen und du ahnst, dass sich hier wohl
    deine übelsten Alpträume aufhalten. Ein kalter Schauder läuft dir über deinen stofflosen Körper und du glaubst immer wieder ein bedrohliches Augenpaar in der Dunkelheit aufblitzen zu sehen, 
    dass dich zu beobachten scheint.`nDu willst nichts anderes als nur weg von dir. Vor dir in einiger Entfernung scheinst du einen Strudel ausmachen zu können, der die dunklen Schwaden in sich ziehen 
    zu scheint.`n`nGleichzeitig weißt du, dass du diesem unheimlichen Ort nicht ohne weiteres entkommen kannst und so wirst du wohl oder übel gegen die dunklen Alpträume ankämpfen müssen, die diese
    Welt ihr Zuhause nennen.`i"
);
    
addnav("Wege");
    
addnav("Alpträume bekämpfen","graveyard.php?op=search");
    
addnav("Strudel untersuchen","graveyard.php?op=enter");
    
//addnav("Kriegerliste","list.php");
    
addnav("Zurück zu den Nebeln","shades.php");
}elseif (
$_GET['op']=="enter"){
//    output("You enter the mausoleum and find yourself in a cold marble chamber.  no don't type that it's distracting.  Can't think, too much typing, stop, stoooppppp.  Now why couldn't you type verbatim a minute ago.  Ugh, sonofabitch.  The air is so, no the air is dammit.  The air within the chamber chils you to the bone?  You don't have bones, shit.  What'd I say before? Ugh.  Hahahaha. hahaha.  Hiccup.  Hiccup.  Hiccup.  Stop it, you're gonna kill me, stop stop!  Shit I forget what we actually stop that!  dammit.  Ok, you enter the mausoleum, and find yourself in a cold stark marble chamber.  The air surrounding you is chilled, no, is, the air around you carries the chill of death itself.  From the darkness two black eyes seem to stare in to your soul.  Within your mind you hear (dramatic pause) Whahahaha.  Within your mind you hear YOUR MOM.  That's what he would say.  Ok, within your mind you hear.  Ugh.  How are you gonna pick out the good crap in this, I mean, if I just keep talking, will you really just keep typing it?  Crap, you wrapped around, I didn't even know you could do that.  All right, where did we stop at ? Within something.  Within your mind you hear.  Within your mind a deep voice, no, um, a deep voice penetrates your mind.  Period.  Now whatever Ramius says.  What's he say, what'd you have him say before?  I am Ramius, your mom.  Why have you come here, no, I know no, allright, lemme think.  Ok, this'll be like text, so I don't know if it will be in those quotation mark things.  Allright.  Your mortal coil has forsaken you.  Now you turn to me.  To prove your worth in death go out amongst the ugh.  Go out amongst the... We need a word for, cause the other things are clearly dead, go out amongst.  Hmm.  Meow.  Don't type that.  Ugh, hehehe.  hahahaha.  Stop it, you're gonna, stop it.  all right.  Go out and find those that have eluded my grasp.  Send their souls where yours has gone.  Then return to me to seek the favor you, no, to fi-- no.  And return to me, and I shall reward you well.  Period.  Oh well, yeah, you already put a period.  Holy crap, you wrapped around a second time?  Hehehehe.  Well.  I think at this point, we need to go through and get rid of all the crap that you typed and you didn't need to type.  I'm gonna talk so fast that you can't hj.  Bjwuhehe.  Bwahahaha.  Choahaha.  Heh, you ass.  I'm done, I don't have anything else to say.  Ugh.  I'm gonna go check my swimming skill.  Aah, look, I'm 95, I'm done.  Alright, I'm gonna go camp.  Are you still freaking typing what I'm saying?  ugh.  I am a stupid moron.  I have the ass of a flaming monkey.  Hehe.  I'm the one who ate the fart.  Look at you, look at the things you're typing.  No, cause I clearly said Choo, See eightch Ooh Ooh.  See eitch Ooh Ooh, what? I didn't say that.  Hehhehehehe.  Huh.  (evil glare)");
    
output("`&`iMit deutlichem Unbehagen näherst du dich dem windenden Strudel und kaum bist du in dessen Reichweite wird dein Geist in diesen hinein gesaugt. Du verlierst die Orientierung, auch wenn
    man sich hier schwer an etwas orientieren kann. Unerwartet stoppt die Schleuderfahrt und du findest dich an einem genauso trostlosen Ort wieder, wie eben schon. Du glaubst beinahe, dass es derselbe ist
    bis du eine Veränderung wahrnimmst. Hier scheinst du deinem weltlichen Körper etwas näher zu sein, doch kannst du immer noch nicht in diesen zurück kehren.`nDu nimmst ein leichtes Schimmern wahr und
    näherst dich diesem an. Du vermutest, dass es so etwas wie ein Geist sein muss, denn klare Umrisse hat das Gebilde nicht und scheint sich auch immer wieder zu verändern. Was auch immer es ist, du
    bemerkst, dass davon keine Gefahr ausgeht.`n`n
    Du vernimmst ein leises Wispern und du glaubst die Worte: `¼\"Ich kann dir helfen.\" `&zu vernehmen.`i "
);
    
addnav("Gefallen erfragen","graveyard.php?op=question");
    
addnav("Geist wiederherstellen ($favortoheal Gefallen)","graveyard.php?op=restore");
    
    
addnav("Zurück zur Dunkelheit","graveyard.php");
}elseif (
$_GET['op']=="restore"){
    if (
$session['user']['soulpoints']<$max){
        if (
$session['user']['deathpower']>=$favortoheal){
            
output("Du fragst den Schimmer, ob er deinen geschundenen Geist wiederherstellen kann und er antwortet dir `¼\"Berühr mich.\" `&Du tust wie dir geheißen wird und streckst die Hand aus und
            fühlst wie dein Geist wieder stärker wird.`n`n Dies kostet dich aber `¼
$favortoheal `& Gefallen.");
            
$session['user']['deathpower']-=$favortoheal;
            
$session['user']['soulpoints']=$max;
        }else{
            
output("`Du fragst den Schimmer, ob er deinen geschundenen Geist wiederherstellen kann, doch er antwortet nur: `¼\"Nicht genug! Nicht genug! Nicht genug!\" `n`n`&Du hast nicht genügend
            Gefallen gesammelt."
);
        }
    }else{
        
output("`Du fragst den Schimmer, ob er deinen geschundenen Geist wiederherstellen kann, doch er antwortet nicht. Kein Wispern, kein Flüstern, nichts. `n`nDein Geist ist völlig in Ordnung.");
    }
    
addnav("Gefallen erfragen","graveyard.php?op=question");
    
//addnav("Restore Your Soul ($favortoheal favor)","graveyard.php?op=restore");
    
    
addnav("Zurück zur Dunkelheit","graveyard.php");
}elseif (
$_GET['op']=="question"){
    if(
$session['user']['deathpower']>=25) {
        
addnav("RP-Revive");
        
addnav("RP-Wiederbelebung (25 Gefallen)","graveyard.php?op=rprevive");
        }
        if (
$session['user']['deathpower']>=100) {
        
output("`&Du näherst dich dem Schimmer weiter an und kannst spüren, dass er dir wohlgesonnener ist als. Wieder vernimmst du das Wispern `¼\"Du warst fleißig. Wie soll ich dir helfen?\"");
        
addnav("Ramius' Gefallen");
    
//    addnav("h?Feind heimsuchen (25 Gefallen)","graveyard.php?op=haunt");
    //    if ($session[user][reputation]<=-10) output(" Er weist dich noch darauf hin, dass er keinen Einfluss auf das Gedächtnis der Lebenden - und besonders der Händler -  hat.");
    //    if ($session[user][reputation]<=-40) output("`n`n\"`7Wegen der Unehrenhaftigkeit deines Lebens kann ich dir nicht erlauben, vorzeitig zu den Lebenden zurückzukehren, obwohl du mir gute Dienste 
    //    geleistet hast.`)\"");
        
addnav("Zurückkehren (100 Gefallen)","newday.php?resurrection=true");
        
addnav("5 Donationpoints (100 Gefallen)","graveyard.php?op=dona");
        
addnav("Sonstiges");
    }elseif (
$session['user']['deathpower'] >= 25){
        
output("`&Du näherst dich dem Schimmer und vernimmst das leise Wispern `¼\"Nicht genug, aber ausreichend um dir ein wenig zu helfen.\""); 
    
//    addnav("Ramius' Gefallen");
    //    addnav("h?Feind heimsuchen (25 Gefallen)","graveyard.php?op=haunt");
        
addnav("Sonstiges");
    }else{
        
output("`&Du näherst dich dem Schimmer noch etwas weiter an und nun kannst du das Wispern etwas deutlicher verstehen `¼\"Sammle Gefallen von den dunklen Alpträumen und ich kann dir einen Weg zurück
        zeigen.\""
);
        if (!
$session['user']['prefs']['nosounds']) output("<embed src=\"media/lachen.wav\" width=10 height=10 autostart=true loop=false hidden=true volume=100>",true);
    }
//    if ($session['user']['deathpower'] >= 1) addnav("Zeit bei den Schatten (1 Gefallen)","graveyard.php?op=time");
    
output("`n`n`&Du hast bisher `¼{$session['user']['deathpower']}`& Gefallen einsammeln können.");
    
addnav("Gefallen erfragen","graveyard.php?op=question");
    
addnav("Geist wiederherstellen ($favortoheal Gefallen)","graveyard.php?op=restore");
    
    
addnav("Zurück","graveyard.php");
    
//RP-Revive by Auric: START;
}elseif($_GET['op']=="rprevive") {
addnav("Zur Stadt","village.php");
output("`&Ein leises Summen geht von dem Geist, der Gestalt oder was auch immer es sein mag, aus. Der Schimmer schwebt auf dich zu und hüllt deinen Geist ein. Du spürst ein schmerzhaftes Ziehen und 
glaubst schon, dass dich dieses seltsame Wesen herein gelegt hat, als die Verbindung zu deinem weltlichen Körper stärker wird. Zwar steckt dein Geist wieder in deinem Körper wo er hingehört, allerdings
ist die Verbindung sehr schwach und du weißt, dass sie jeden Moment wieder reißen könnte."
);
$session['user']['alive']=1;
$session['user']['hitpoints']=1;
$session['user']['turns']=0;
$session['user']['seenbard']=1;
$session['user']['playerfights']=0;
$session['user']['seenlover']=1;
$session['user']['witch']=3;
$session['user']['fedmount']=1;
$session['user']['lottery']=1;
$session['user']['seenmaster']=1;
$session['user']['usedouthouse']=1;
$session['user']['seenAcademy']=1;
$session['user']['drunkenness']=98;
$session['user']['deathpower']-=25;
//RP-Revive by Auric: ENDE;
}elseif ($_GET['op']=="dona"){
    
output("`&Du glaubst, dass der Schimmer zu nicken scheint. `¼\"Wie du willst.\" hörst du es in deinem Kopf wiederhallen.`n`n`¼Du 
    bekommst 5 Donationpoints."
);
    
$session['user']['deathpower']-=100;
    
$session['user']['donation']+=5
    
addnav("Zurück zum Strudel","graveyard.php?op=enter");
    
addnav("Zurück zum Dunkelheit","graveyard.php");
}elseif (
$_GET['op']=="time"){
    
$time gametime();
    
$tomorrow strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
    
$tomorrow strtotime(date("Y-m-d 00:00:00",$tomorrow));
    
$secstotomorrow $tomorrow-$time;
    
$realsecstotomorrow $secstotomorrow getsetting("daysperday",4);
    
output("`\$Ramius`) raunzt dir genervt entgegen, dass du noch `^".date("G\\h, i\\m, s\\s",strtotime("1980-01-01 00:00:00 + $realsecstotomorrow seconds"))."`) hier bleiben musst, wenn du nicht weiter für ihn arbeiten willst.");
    
$session['user']['deathpower']-=1;
    
addnav("Zurück zum Mausoleum","graveyard.php?op=enter");
    
addnav("Zurück zum Friedhof","graveyard.php");
}elseif (
$_GET['op']=="haunt"){
    
output("`\$Ramius`)  ist von deinen Aktionen beeindruckt und gewährt dir die Macht, einen Feind heimzusuchen.`n`n");
    
output("<form action='graveyard.php?op=haunt2' method='POST'>",true);
    
addnav("","graveyard.php?op=haunt2");
    
output("Wen willst du heimsuchen? <input name='name' id='name'> <input type='submit' class='button' value='Suchen'>",true);
    
output("</form>",true);
    
output("<script language='JavaScript'>document.getElementById('name').focus()</script>",true);
    
addnav("Zurück zum Mausoleum","graveyard.php?op=enter");
}elseif (
$_GET['op']=="haunt2"){
    
$string="%";
    for (
$x=0;$x<strlen($_POST['name']);$x++){
        
$string .= substr($_POST['name'],$x,1)."%";
    }
    
$sql "SELECT login,name,level FROM accounts WHERE name LIKE '".addslashes($string)."' AND locked=0 ORDER BY level,login";
    
$result db_query($sql);
    if (
db_num_rows($result)<=0){
        
output("`\$Ramius`)  kann niemanden mit einem solchen Namen finden.");
    }elseif(
db_num_rows($result)>100){
        
output("`\$Ramius`) denkt, du solltest die Zahl derer, die du heimsuchen willst, etwas einschränken.");
        
output("<form action='graveyard.php?op=haunt2' method='POST'>",true);
        
addnav("","graveyard.php?op=haunt2");
        
output("Wen willst du heimsuchen? <input name='name' id='name'> <input type='submit' class='button' value='Suchen'>",true);
        
output("</form>",true);
        
output("<script language='JavaScript'>document.getElementById('name').focus()</script>",true);
    }else{
        
output("`\$Ramius`) wird dir gestatten, eine der folgenden Personen heimzusuchen:`n");
        
output("<table cellpadding='3' cellspacing='0' border='0'>",true);
        
output("<tr class='trhead'><td>Name</td><td>Level</td></tr>",true);
        for (
$i=0;$i<db_num_rows($result);$i++){
            
$row db_fetch_assoc($result);
            
output("<tr class='".($i%2?"trlight":"trdark")."'><td><a href='graveyard.php?op=haunt3&name=".HTMLEntities($row['login'])."'>",true);
            
output($row['name']);
            
output("</a></td><td>",true);
            
output($row['level']);
            
output("</td></tr>",true);
            
addnav("","graveyard.php?op=haunt3&name=".HTMLEntities($row['login']));
        }
        
output("</table>",true);
    }
    
addnav("Gefallen erfragen","graveyard.php?op=question");
    
addnav("Geist wiederherstellen ($favortoheal Gefallen)","graveyard.php?op=restore");
    
addnav("Zurück zum Strudel","graveyard.php?op=enter");
}elseif (
$_GET['op']=="haunt3"){
    
output("`)`c`bDas Mausoleum`b`c");
    
$sql "SELECT name,level,hauntedby,acctid FROM accounts WHERE login='{$_GET['name']}'";
    
$result db_query($sql);
    if (
db_num_rows($result)>0){
        
$row db_fetch_assoc($result);
        if (
$row['hauntedby']!=""){
            
output("Diese Person wurde bereits heimgesucht. Wähle eine andere");
        }else{
            
$session['user']['deathpower']-=25;
            
$roll1 e_rand(0,$row['level']);
            
$roll2 e_rand(0,$session['user']['level']);
            if (
$roll2>$roll1){
                
output("Du hast `7{$row['name']}`) erfolgreich heimgesucht!");
                
$sql "UPDATE accounts SET hauntedby='{$session['user']['name']}' WHERE login='{$_GET['name']}'";
                
db_query($sql);
                
addnews("`7{$session['user']['name']}`) hat `7{$row['name']}`) heimgesucht!");
                
$session['user']['donation']+=1;
                 
systemmail($row['acctid'],"`)du wurdest heimgesucht","`)Du wurdest von {$session['user']['name']} heimgesucht"); 
            }else{
                
addnews("`7{$session['user']['name']}`) hat erfolglos versucht, `7{$row['name']}`) heimzusuchen!");
                switch (
e_rand(0,5)){
                case 
0:
                    
output("Gerade als du `7{$row['name']}`) heimsuchen wolltest, versaut dir ein Niesen komplett den Erfolg.");
                    break;
                case 
1:
                    
output("Die Heimsuchung von `7{$row['name']}`) läuft richtig gut. Leider schläft dein Opfer tief und fest und bekommt von deiner Anwesenheit absolut nichts mit.");
                    break;
                case 
2:
                    
output("Du machst dich zur Heimsuchung von `7{$row['name']}`) bereit, stolperst aber über deinen Geisterschwanz und landest flach auf deinem .... ähm ... Gesicht.");
                    break;
                case 
3:
                    
output("Du willst `7{$row['name']}`) im Schlaf heimsuchen, doch dein Opfer dreht sich nur im Bett um und murmelt etwas von 'nie wieder Würstchen so kurz vor dem Schlafengehen'.");
                    break;
                case 
4:
                    
output("Du weckst `7{$row['name']}`) auf. Dein Opfer schaut dich kurz an, sagt \"Niedlich!\" und versucht dich in einem Einmachglas einzufangen.");
                    break;
                case 
5:
                    
output("Du versuchst `7{$row['name']}`) zu erschrecken, siehst dich dabei im Augenwinkel selbst im Spiegel und gerätst in Panik, weil du einen Geist gesehen hast!");
                    break;
                }
            }
        }
    }else{
        
output("`\$Ramius`) kann sich nicht mehr auf diese Person konzentrieren. Du kannst sie jetzt nicht heimsuchen.");
    }
    
addnav("Der Wert deiner Seele","graveyard.php?op=question");
    
addnav("S?Seele wiederherstellen ($favortoheal Gefallen)","graveyard.php?op=restore");
    
addnav("M?Zurück zum Mausoleum","graveyard.php?op=enter");
}

page_footer();
?>