LoGD Standardrelease steht hier zum Download zur Verfügung!

Home-Adresse dieser Version: anpera.net/logd
Anfragen nach dieser Version bitte an: logd@anpera.de

Zeige Source: /forest.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: /forest.php

<?php
// Update Mai 10 by Schizo: Händler aus dem Stammverzeichnis benutzen, Händler auswählen, wenn er nicht im Dorf ist
require_once "common.php";
$balance=getsetting("creaturebalance"0.33);
// Handle updating any commentary that might be around.
addcommentary();
if(
$_GET['op']=="darkhorse"){
   
$_GET['op']="";
   
$session['user']['specialinc']="darkhorse.php";
}
if(
$_GET['op']=="castle"){
   
$_GET['op']="";
   
$session['user']['specialinc']="castle.php";
}
$fight=false;
page_header("Der Wald");
if(
$session['user']['superuser']>&& $_GET['specialinc']!=""){
   
$session['user']['specialinc']=$_GET['specialinc'];
}
if(isset(
$_POST['action']) && $_POST['action']=='dateitest' && @file_exists('./special/'.$_POST['specialinc'])){$session['user']['specialinc']=$_POST['specialinc'];}
if(
$session['user']['specialinc']!=""){
   
output("`^`c`bEtwas Besonderes!`c`b`0");
   if(
in_array($session['user']['login'],array('Schizo','Taaj','Zyesha')) || $session['user']['superuser']>1)output('`c('.$session['user']['specialinc'].')`c');
   
$specialinc=$session['user']['specialinc'];
   
$session['user']['specialinc']="";
   include(
"special/".$specialinc);
   if(!
is_array($session['allowednavs']) || count($session['allowednavs'])==0) {
      
forest(true);
   }
   
page_footer();
   exit();
}
if(
$_GET['op']=="run"){
   if(
e_rand()%== 0){
      
output ("`c`b`&Du bist erfolgreich vor Deinem Gegner geflohen!`0`b`c`n");
      
$_GET['op']="";
   }else{
      
output("`c`b`\$Dir ist es nicht gelungen Deinem Gegner zu entkommen!`0`b`c");
   }
}
if(
$_GET['op']=="dragon"){
   
addnav("Betritt die Höhle","dragon.php");
   
addnav("Renne weg wie ein Baby","inn.php");
   
output("`\$Du betrittst den dunklen Eingang einer Höhle in den Tiefen des Waldes, im Umkreis von mehreren hundert Metern sind die Bäume bis
   zu den Stümpfen niedergebrannt. Rauchschwaden steigen an der Decke des Höhleneinganges empor und werden plötzlich von einer kalten Windböe
   verweht. Der Eingang der Höhle liegt an der Seite eines Felsens ein Dutzend Meter über dem Boden des Waldes, wobei Geröll eine kegelförmige
   Rampe zum Eingang bildet. Stalaktiten und Stalagmiten nahe des Einganges erwecken in Dir den Eindruck, dass der Höhleneingang in Wirklichkeit
   das Maul einer riesigen Bestie ist.`n`nAls Du vorsichtig den Eingang der Höhle betrittst, hörst - oder besser fühlst Du, ein lautes Rumpeln,
   das etwa dreißig Sekunden andauert, bevor es wieder verstummt. Du bemerkst, dass Dir Schwefelgeruch entgegenkommt. Das Poltern ertönt erneut
   und hört wieder auf, in einem regelmäßigen Rhythmus.`n`nDu kletterst den Geröllhaufen rauf, der zum Eingang der Höhle führt. Deine Schritte
   zerbrechen die scheinbaren Überreste ehemaliger Helden.`n`nJeder Instinkt in Deinem Körper will fliehen und so schnell wie möglich zurück ins
   warme Wirtshaus und "
.($session['user']['sex']?"zum noch wärmeren Seth":"zur noch wärmeren Violet").".  Was tust Du?");
   
$session['user']['seendragon']=1;
}
if(
$_GET['op']=="search"){
   
checkday();
   if(
$session['user']['turns']<=0){
      
output("`\$`bDu bist zu müde, um heute den Wald weiter zu durchsuchen. Vielleicht hast Du morgen mehr Energie dazu.`b`0");
      
$_GET['op']="";
   }else{
      
$session['user']['drunkenness']=round($session['user']['drunkenness']*.9,0);
      
$specialtychance=e_rand()%3;
      if(
$specialtychance==0){
         
output("`^`c`bEtwas Besonderes!`c`b`0");
         if(
$handle opendir("special")){
            
$events=array();
            while(
false !== ($file readdir($handle))){
               if(
strpos($file,".php")>0){
                  if(
$session['user']['hashorse']>&& $playermount['tavern']>&& strpos($file,"darkhorse")!==false){
                     continue;
                  }
                  
array_push($events,$file);
               }
            }
            if(@
file_exists('vendor.php') && getsetting("vendor",0)==0)array_push($events,'vendor.php');
            
$x=e_rand(0,count($events)-1);
            if(
count($events)==0){
               
output("`b`@Arrr, Dein Administrator hat entschieden, dass es Dir nicht erlaubt ist, besondere Ereignisse zu haben.  Beschwer Dich bei ihm, nicht beim Programmierer.");
            }else{
               
//$y=$HTTP_GET_VARS['op'];
               //$HTTP_GET_VARS['op']="";
               
$yy=$_GET['op'];
               
$_GET['op']="";
               if(
in_array($session['user']['login'],array('Schizo','Taaj','Zyesha')) || $session['user']['superuser']>1)output('`c('.$events[$x].')`c');
               if(
$events[$x]=="vendor.php")redirect('vendor.php?specialinc=forest');
               else include(
"special/".$events[$x]);
               
//$HTTP_GET_VARS['op']=$y;
               
$_GET['op']=$yy;
            }
         }else{
            
output("`c`b`\$FEHLER!!!`b`c`&Es ist nicht möglich, die besonderen Ereignisse zu öffnen! Bitte benachrichtige den Administrator!!");
         }
         if(
$nav==""forest(true);
      }else{
         
$session['user']['turns']--;
         
$battle=true;
         if(
e_rand(0,2)==1){
            
$plev=(e_rand(1,5)==1?1:0);
            
$nlev=(e_rand(1,3)==1?1:0);
         }else{
            
$plev=0;
            
$nlev=0;
         }
         if(
$_GET['type']=="slum"){
            
$nlev++;
            
output("`\$Du steuerst den Abschnitt des Waldes an, von dem Du weißt, dass sich dort Feinde aufhalten, die Dir ein bisschen angenehmer sind.`0`n");
         }
         if(
$_GET['type']=="thrill"){
            
$plev++;
            
output("`\$Du steuerst den Abschnitt des Waldes an, in dem sich Kreaturen Deiner schlimmsten Albträume aufhalten, in der Hoffnung, dass Du eine findest, die verletzt ist.`0`n");
         }
         
$targetlevel=($session['user']['level'] + $plev $nlev );
         if(
$targetlevel<1$targetlevel=1;
         
$sql="SELECT * FROM creatures WHERE creaturelevel = $targetlevel ORDER BY rand(".e_rand().") LIMIT 1";
         
$result=db_query($sql) or die(db_error(LINK));
         
$badguy=db_fetch_assoc($result);
         
$expflux=round($badguy['creatureexp']/10,0);
         
// more XP per DK
         
$badguy['creatureexp']+=round($session['user']['dragonkills']/300 $badguy['creatureexp']);
         
$expflux=e_rand(-$expflux,$expflux);
         
$badguy['creatureexp']+=$expflux;
         
//make badguys get harder as you advance in dragon kills.
         
$badguy['playerstarthp']=$session['user']['hitpoints'];
         
$dk=0;
         while(list(
$key$val)=each($session['user']['dragonpoints'])) {
            if (
$val=="at" || $val=="de"$dk++;
         }
         
$dk+=(int)(($session['user']['maxhitpoints']-($session['user']['level']*10))/5);
         if(!
$beta$dk=round($dk 0.250);
         else 
$dk=round($dk,0);
         
$atkflux=e_rand(0$dk);
         if(
$beta$atkflux=min($atkflux,round($dk/4));
         
$defflux=e_rand(0,($dk-$atkflux));
         if(
$beta$defflux=min($defflux,round($dk/4));
         
$hpflux=($dk - ($atkflux+$defflux)) * 5;
         
$badguy['creatureattack']+=$atkflux;
         
$badguy['creaturedefense']+=$defflux;
         
$badguy['creaturehealth']+=$hpflux;
         if(
$beta){
            
$badguy['creaturedefense']*=0.66;
            
$badguy['creaturegold']*=(1+(.05*$dk));
         }
         
$badguy['diddamage']=0;
         
$session['user']['badguy']=createstring($badguy);
         if(
$beta){
            if(
$session['user']['superuser']>=3){
               
output("Debug: $dk dragon points.`n");
               
output("Debug: +$atkflux attack.`n");
               
output("Debug: +$defflux defense.`n");
               
output("Debug: +$hpflux health.`n");
            }
         }
      }
   }
}
if(
$_GET['op']=="fight" || $_GET['op']=="run"){
   
$battle=true;
}
if(
$battle){
   include(
"battle.php");
   if(
$victory){
      if(
getsetting("dropmingold",0)){
         
$badguy['creaturegold']=e_rand($badguy['creaturegold']/4,3*$badguy['creaturegold']/4);
      }else{
         
$badguy['creaturegold']=e_rand(0,$badguy['creaturegold']);
      }
      
$expbonus=round( ($badguy['creatureexp'] *
                          (
.25 * ($badguy['creaturelevel']-$session['user']['level']) )
                        ) - 
$badguy['creatureexp'],0
                
);
      
$expbonus=($badguy['creatureexp']+$expbonus <= 0) ? -1*$badguy['creatureexp'] : $expbonus;
      
output("`b`&{$badguy['creaturelose']}`0`b`n");
      
output("`b`\$Du hast {$badguy['creaturename']}`$ erledigt!`0`b`n");
      
output("`#Du erbeutest `^{$badguy['creaturegold']}`# Goldstücke!`n");
      
$unique1=1;
      
$unique2=1000;
      
//find something
      
$findit=e_rand(1,20);
      
//if($findit==2){
      //   output("`&Du findest EINEN EDELSTEIN!`n`#");
      //   $session['user']['gems']++;
      //}
      
if($findit==4){ //Ehre
         
output("`qDurch das Erledigen dieses Monsters erhälst Du 5 Ehrenpunkte!`n`#");
         
$session['user']['ehre']+=5;
      }
      if(
$findit == 5$session['user']['donation']+=1;
      if(
$findit==19 && e_rand(1,25)==&& $session['user']['drachenerz']<5){ // Questwerkzeug
         
$result=db_query("SELECT * FROM items WHERE owner=0 AND class='spez.Prot' AND value2=0 LIMIT 1");
         if(
db_num_rows($result)>0){
            
$row=db_fetch_assoc($result);
            
db_query("INSERT INTO items (name,class,owner,gold,gems,value2,value1,description) VALUES ('".addslashes($row['name'])."','speziell',{$session['user']['acctid']},{$row['gold']},{$row['gems']},{$row['value2']},{$row['value1']},'".addslashes($row['description'])."')");
            
output("`n`QBeim Durchsuchen von $badguy[creaturename] `Qfindest Du eines der legendären Spezialwerkzeuge für den Drachenerzabbau`Q!`n`n`#");
            
addnews($session['user']['name']." `#fand eines der legendären Spezialwerkzeuge für den Drachenerzabbau im Wald von An Daingean!");
         }
      }
      if(
$findit == 18 && e_rand(1,4)==3){ // item
         
$sql="SELECT * FROM items WHERE owner=0 AND (class='Beute.Prot' OR class='Schmuck') ORDER BY rand(".e_rand().") LIMIT 1";
         
$result=db_query($sql) or die(db_error(LINK));
         
$row2=db_fetch_assoc($result);
         if(
$row2['name']){
            if(
$row2['class']=="Beute.Prot"){
               
$sql="INSERT INTO items(name,class,owner,gold,gems,description) VALUES ('".addslashes($row2['name'])."','Beute',".$session[user][acctid].",$row2[gold],$row2[gems],'".addslashes($row2[description])."')";
            }elseif(
$row2['class']=="Zaub.Prot"){
               
$row2['description'].=" (gebraucht)";
               
$row2['value1']=e_rand(1,$row2['value2']);
               
$row2['gold']=$row2['gold']*(($row2['value1']+1)/($row2['value2']+1));
               
$sql="INSERT INTO items(name,class,owner,gold,gems,value1,value2,hvalue,description,buff) VALUES ('".addslashes($row2['name'])."','Zauber',".$session[user][acctid].",$row2[gold],0,$row2[value1],$row2[value2],$row2[hvalue],'".addslashes($row2[description])."','".addslashes($row2[buff])."')";
            }else{
               
$sql "UPDATE items SET owner=".$session[user][acctid]." WHERE id=$row2[id]";
            }
            
db_query($sql) or die(sql_error($sql));
            
output("`n`qBeim Durchsuchen von $badguy[creaturename] `qfindest Du `&$row2[name]`q! ($row2[description])`n`n`#");
         }
      }
      if(
$findit == 17 && e_rand(1,20)==2){ // Räucherstäbchen für den Schrein
         
$result=db_query("SELECT * FROM items WHERE owner=0 AND class='spez.Prot' AND value2=5 LIMIT 1");
         if(
db_num_rows($result)>0){
            
$row=db_fetch_assoc($result);
            
db_query("INSERT INTO items (name,class,owner,gold,gems,value2,value1,description) VALUES ('".addslashes($row['name'])."','speziell',{$session['user']['acctid']},{$row['gold']},{$row['gems']},{$row['value2']},{$row['value1']},'".addslashes($row['description'])."')");
            
output("`n`[Beim Durchsuchen von $badguy[creaturename] `[findest Du ein {$row['name']}`[.`n`n`#");
         }
      }
      if(
$findit == 15 && e_rand(1,4)==2){ // armor
         
$sql="SELECT * FROM armor ORDER BY rand(".e_rand().") LIMIT 1";
         
$result2=db_query($sql) or die(db_error(LINK));
         if(
db_num_rows($result2)>0){
            
$row2=db_fetch_assoc($result2);
            
$row2['value']=round($row2['value']/10);
            
$sql="INSERT INTO items(name,class,owner,gold,value1,description) VALUES ('".addslashes($row2[armorname])."','Rüstung',".$session[user][acctid].",$row2[value],$row2[defense],'Gebrauchte Level $row2[level] Rüstung mit $row2[defense] Verteidigung.')";
            
db_query($sql) or die(sql_error($sql));
            
output("`n`QBeim Durchsuchen von $badguy[creaturename] `Qfindest Du die Rüstung `%$row2[armorname]`Q!`n`n`#");
         }
      }
      if(
$findit == 16 && e_rand(1,4)==2){ // weapon
         
$sql="SELECT * FROM weapons ORDER BY rand(".e_rand().") LIMIT 1";
         
$result2=db_query($sql) or die(db_error(LINK));
         if(
db_num_rows($result2)>0){
            
$row2=db_fetch_assoc($result2);
            
$row2['value']=round($row2['value']/10);
            
$sql="INSERT INTO items(name,class,owner,gold,value1,description) VALUES ('".addslashes($row2[weaponname])."','Waffe',".$session[user][acctid].",$row2[value],$row2[damage],'Gebrauchte Level $row2[level] Waffe mit $row2[damage] Angriffswert.')";
            
db_query($sql) or die(sql_error($sql));
            
output("`n`QBeim Durchsuchen von $badguy[creaturename] `Qfindest Du die Waffe `%$row2[weaponname]`Q!`n`n`#");
         }
      }
      if(
$expbonus>0){
         
output("`#*** Durch die hohe Schwierigkeit des Kampfes erhältst Du zusätzlich `^$expbonus`# Erfahrungspunkte! `n($badguy[creatureexp] + ".abs($expbonus)." = ".($badguy[creatureexp]+$expbonus).") ");
      }elseif(
$expbonus<0){
         
output("`#*** Weil dieser Kampf so leicht war, verlierst Du `^".abs($expbonus)."`# Erfahrungspunkte! `n($badguy[creatureexp] - ".abs($expbonus)." = ".($badguy[creatureexp]+$expbonus).") ");
      }
      
output("Du bekommst insgesamt `^".($badguy[creatureexp]+$expbonus)."`# Erfahrungspunkte!`n`0");
      
$session[user][gold]+=$badguy[creaturegold];
      
$session[user][experience]+=($badguy[creatureexp]+$expbonus);
      
$creaturelevel $badguy[creaturelevel];
      
//$HTTP_GET_VARS[op]="";
      
$_GET['op']="";
      if(
$badguy['diddamage']!=1){
         if(
$session[user][level]>=getsetting("lowslumlevel",4) || $session[user][level]<=$creaturelevel){
            
output("`b`c`&~~ Perfekter Kampf! ~~`\$`n`bDu erhältst eine Extrarunde!`c`0`n");
            
$session[user][turns]++;
            if(
$expbonus>0){
               
$session['user']['donation']+=1;
            }
         }else{
            
output("`b`c`&~~ Perfekter Kampf! ~~`b`\$`nEin schwierigerer Kampf hätte Dir eine extra Runde gebracht.`c`n`0");
         }
      }
      
$dontdisplayforestmessage=true;
      
addhistory(($badguy['playerstarthp']-$session['user']['hitpoints'])/max($session['user']['maxhitpoints'],$badguy['playerstarthp']));
      
$badguy=array();
   }else{
      if(
$defeat){
         
addnav("Tägliche News","news.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]?"ihr":"sein"),$taunt);
         if(
$session['user']['waffe']!=1){$taunt=str_replace("%x",($session[user][weapon]),$taunt);}
         if(
$session['user']['waffe']==1){$taunt=str_replace("%x",($session[user][wname]),$taunt);}
         
$taunt=str_replace("%X",$badguy[creatureweapon],$taunt);
         
$taunt=str_replace("%W",$badguy[creaturename],$taunt);
         
$taunt=str_replace("%w",$session[user][name],$taunt);
         
addhistory(1);
         
addnews("`%".$session[user][name]."`5 wurde im Wald von $badguy[creaturename] niedergemetzelt.`n$taunt");
         
$session[user][alive]=false;
         
debuglog("lost {$session['user']['gold']} gold when they were slain in the forest");
         
$session[user][gold]=0;
         
$session[user][hitpoints]=0;
         
$session[user][experience]=round($session[user][experience]*.9,0);
         
$session[user][badguy]="";
         
output("`b`&$badguy[creaturewin]`0`b`n`n");
         
output("`b`&Du wurdest von `%$badguy[creaturename]`& niedergemetzelt!!!`n");
         
output("`4Dein ganzes Gold wurde Dir abgenommen!`n10% Deiner Erfahrung hast Du verloren!`nDu kannst morgen weiter kämpfen.");
         
page_footer();
      }else{
         
fightnav();
      }
   }
}

if(
$_GET['op']==""){
   
forest($dontdisplayforestmessage);
}
page_footer();

function 
addhistory($value){}
?>