su_check(access_control::SU_RIGHT_EXPEDITION_ADMIN)) { addnav('Mod-Aktionen'); addnav('Zustand erhöhen','expedition.php?op=risestate',false,false,false,false); addnav('Zustand senken','expedition.php?op=lowerstate',false,false,false,false); addnav('Zurück'); } addnav('Zurück nach '.getsetting('townname','Atrahor'),'village.php'); } else { if ($session['user']['alive']==0) { redirect('shades.php'); } $session['user']['specialinc']=''; $session['user']['specialmisc']=''; switch ($_GET['op']) { case 'whosthere' : { $where = $_GET['where']; $session['user']['ddl_location'] = $where; page_header('Expedition in die dunklen Lande'); if ($where==1) { output('`2Folgende Helden befinden sich gerade mit dir in den Räumen der Expedition:`n`n'); $sql = "SELECT acctid,name,level,login,loggedin,dragonkills,sex,DDL_location FROM accounts WHERE DDL_location>0 AND loggedin=1 ORDER BY dragonkills DESC, level DESC LIMIT 50"; } else { $DDL_location=get_DDL_location($where); output('`2Anwesende im Raum '.$DDL_location.':`n`n'); $sql = "SELECT acctid,name,level,login,loggedin,dragonkills,sex,DDL_location FROM accounts WHERE DDL_location=$where AND loggedin=1 ORDER BY dragonkills DESC, level DESC LIMIT 50"; } $result = db_query($sql); $str_output.="`0 ".($where==1?"":'')." "; $max = db_num_rows($result); for ($i=0; $i<$max; $i++) { $row = db_fetch_assoc($result); $str_output.=""; if ($where==1) { $DDL_location=get_DDL_location($row['DDL_location']); $str_output.=""; } $str_output.=""; } output($str_output."
DKs Level Name /Wo?
 `^$row[dragonkills]`0   `^$row[level]`0   ".jslib_getmenuuserlink( $row, $row, true )."`0  ".($row['sex']?"":"")." ".$DDL_location." 
"); $return = preg_replace("'[&?]c=[[:digit:]-]+'","",$_GET['ret']); $return = substr($return,strrpos($return,"/")+1); addnav("Zurück",$return); break; } case 'explore' : //Erkundung Start { $session['user']['ddl_location'] = 9; page_header('Expedition in die dunklen Lande - Erkundung'); output('`c`b`IDie Erkundung`0`b`c`nGut versteckt hinter ein paar Sträuchern kannst du bei genauem Hinsehen einen kleinen, fast vollkommen zugewachsenen Pfad erkennen. Mühsam kämpfst du dich durch das Gestrüpp und nimmst die kleinen Kratzer in Kauf, um zu sehen, was dich so angezogen hat: unzählige Pflanzen, Farne und sogar Pilze, die du noch nie zu Gesicht bekommen hast. Ab und an huschen auch sehr sonderbare Tiere vorbei. Neugierig aber doch mit leichtem Unbehagen beschließt du, dem Pfad zu folgen. Dir wird langsam klar, umso länger du diesem Weg folgen wirst, umso mehr neue Geschöpfe und Pflanzen wirst du sehen und so Erfahrungen sammeln, wie du sie im Dorf niemals erlangen könntest.`n'); if ($session['user']['turns'] < 1) { output("`n`n`0Du hast nicht mehr die Kraft, heute noch auf Erkundungstour zu gehen!"); } else { output("`IWie lange willst du erkunden gehen?`0`n"); output("
",true); define('JSLIB_NO_FOCUS_NEEDED',1); $output .= ''; addnav("","expedition.php?op=explore2"); } addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'explore2' : //Erfahrung steigern durch Erkundung { $session['user']['ddl_location'] = 9; page_header('Expedition in die dunklen Lande - Auf Erkundung'); $eround = abs((int)$_GET['eround'] + (int)$_POST['eround']); if ($session['user']['turns'] <= $eround) { $eround = $session['user']['turns']; } $session['user']['turns']-=$eround; $exp = (($session['user']['level']*0.4)+2)*e_rand(10,20)+e_rand(5,10); $totalexp = (int)($exp*$eround); $session['user']['experience']+=$totalexp; output("`IDu kommst von deinem abenteuerlichen Ausflug zurück und fühlst dich deutlich erfahrener! `nDu hast `y".$totalexp."`I Erfahrung bekommen!`n"); debuglog('Hat die Erkundung genutzt um Erfahrung zu sammeln'); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'search' : //Schatzsuche Start { $session['user']['ddl_location'] = 9; page_header('Expedition in die dunklen Lande - Schatzsuche'); output('`c`b`IDie Schatzsuche`0`b`c`nJemand im Gemeinschaftszelt hat dir zugeflüstert, dass es in der Landschaft rund um die Expedition herum kleine Schätze und Annehmlichkeiten zu finden geben soll. Du findest das nur mehr als gerecht, wenn du schon so weit von deiner gewohnten Umgebung bist. Du versuchst dich aus dem Lager zu schleichen, als alle anderen schlafen und bist auf der Suche nach den Kostbarkeiten. Hier wirst du zwar keine Monster antreffen, allerdings wird deine Suche derart lange dauern, dass du eine Runde verlierst!`n'); addnav('Aktionen'); addnav('Schätze suchen','expedition.php?op=search2'); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'search2' : //Schatzsuche Ergebnisse { $session['user']['ddl_location'] = 9; page_header('Expedition in die dunklen Lande - Schatzsuche'); if ($session['user']['turns']>0) { $findit=e_rand(1,25); // Beutebuff if($session['bufflist']['beutegeier']) { $str_out .= $session['bufflist']['beutegeier']['effectmsg'].'`n'; if(e_rand(1,5) == 1) { $findit = 6; } else { $str_out .= $session['bufflist']['beutegeier']['failmsg'].'`n'; } $session['bufflist']['beutegeier']['rounds']--; if($session['bufflist']['beutegeier']['rounds'] <= 0) { $str_out .= $session['bufflist']['beutegeier']['wearoff'].'`n'; unset($session['bufflist']['beutegeier']); } } if ($findit == 2) { //gem output('`IDu findest EINEN EDELSTEIN!`n'); $session['user']['gems']++; } else if ($findit == 4) { //donation output('`IDu findest zwar keinen Schatz, aber die Götter meinen es gut mit dir und gewähren dir `02 Donation-Punkte`I.'); $session['user']['donation']+=2; } else if ($findit == 6) { // item $item_hook_info['chance'] = item_get_chance(); if($session['bufflist']['beutegeier']) { $item_hook_info['chance'] = max($item_hook_info['chance']-1,1); } $res = item_tpl_list_get( 'find_forest='.$item_hook_info['chance'] , 'ORDER BY RAND('.e_rand().') LIMIT 1' ); if (db_num_rows($res) ) { $item = db_fetch_assoc($res); if (!empty($item['find_forest_hook'])) { item_load_hook($item['find_forest_hook'] , 'find_forest' , $item ); } if(!$item_hook_info['hookstop']) { if (item_add($session['user']['acctid'], 0, $item ) ) { output('`IDu hast das Beutestück `0'.$item['tpl_name'].'`I gefunden! ('.$item['tpl_description'].')!`n`n'); } } } } else if ($findit == 8 || $findit == 9) { // bone item_add($session['user']['acctid'],'abgnkno'); output('`IDu hast einen `0abgenagten Knochen`I ausgebuddelt...`n`n'); } else if ($findit == 10 && e_rand(1,4)==2) { // armor $sql = 'SELECT * FROM armor WHERE defense<='.($session['user']['level']+5).' ORDER BY rand('.e_rand().') LIMIT 1'; $result2 = db_query($sql); if (db_num_rows($result2)>0) { $row2 = db_fetch_assoc($result2); $row2['value']=round($row2['value']/10); $item['tpl_name'] = addslashes($row2['armorname']); $item['tpl_value1'] = addslashes($row2['defense']); $item['tpl_gold'] = addslashes($row2['value']); $item['tpl_description'] = 'Gebrauchte Level '.$row2['level'].' Rüstung mit '.$row2['defense'].' Verteidigung.'; item_add($session['user']['acctid'],'rstdummy',$item); output('`n`IDu findest die Rüstung `y'.$row2['armorname'].'`I!`n`n'); } } else if ($findit == 12 && e_rand(1,4)==2) { // weapon $sql = 'SELECT * FROM weapons WHERE damage<='.($session['user']['level']+5).' ORDER BY rand('.e_rand().') LIMIT 1'; $result2 = db_query($sql); if (db_num_rows($result2)>0) { $row2 = db_fetch_assoc($result2); $row2['value']=round($row2['value']/10); $item['tpl_name'] = addslashes($row2['weaponname']); $item['tpl_value1'] = addslashes($row2['attack']); $item['tpl_gold'] = addslashes($row2['value']); $item['tpl_description'] = 'Gebrauchte Level '.$row2['level'].' Waffe mit '.$row2['attack'].' Angriff.'; item_add($session['user']['acctid'],'waffedummy',$item); output('`n`IDu findest die Waffe `0'.$row2['weaponname'].'`I!`n`n'); } } else if ($findit == 18 && e_rand(1,5) == 5) { // antidote output("`IDu findest den seltenen `0Shurisa-Pilz`I, der eine starke Gift neutralisierende Wirkung hat. Du zögerst keinen Moment seinen Saft zu gewinnen und erzeugst somit eine Phiole Truhenfallen-Antiserum!`n`n"); item_add($session['user']['acctid'],'antiserum'); } else { addnav('Aktionen'); addnav('Nochmal!','expedition.php?op=search2'); output('`ILeider hast du auf deiner Suche nichts von Wert gefunden...`n'); } $session['user']['turns']--; } else { output('`IHeute nicht mehr, du fühlst dich einfach zu müde.'); } addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'claim' : //Gelände auskundschaften { $session['user']['ddl_location'] = 9; page_header('Expedition in die dunklen Lande - Gelände auskundschaften'); output('`c`b`IGelände auskundschaften`0`b`c`nWie alle anderen weißt auch du, dass die Umgebung um das Lager herum sehr unfruchtbar ist. Umso mehr Belohnung haben die Leiter der Expedition ausgesetzt, sollte ein Teilnehmer einen rohstoffreichen Boden oder nutzbares Land finden. Du bist fest davon überzeugt, dass du eine solche Quelle an Rohstoffen findest und machst dich sofort auf den Weg um der gesamten Expedition weiterzuhelfen und natürlich auch um das Gold einstecken zu können. Doch kurz nachdem du angefangen hast zu graben, wird dir klar, wie schwer diese Arbeit ist, sodass du heute sicher keinen Fuß mehr in das Verlassene Schloss setzen könntest.`n`n Ganz am Anfang hat dir die Expeditionsleitung mehrere Gebiete auf der Karte gezeigt, die noch niemand untersucht hat. Allerdings wird vermutet, dass im Buschland am meisten zu finden ist. Dementsprechend gering wird hier deine Belohnung ausfallen. Dagegen sind die Leiter sich sicher, dass die Felsenwüste fast keinen Nutzen für die Expedition hat. Solltest du dort wirklich etwas finden, werden sie dir sicher mehr Gold und Edelsteine überreichen.`n'); addnav('Auskundschaften'); addnav('Buschland','expedition.php?op=claim2&what=1'); addnav('Sumpf','expedition.php?op=claim2&what=2'); addnav('Steppe','expedition.php?op=claim2&what=3'); addnav('Felsenwüste','expedition.php?op=claim2&what=4'); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'claim2' : //Auskundschaften Ergebnisse { $session['user']['ddl_location'] = 9; page_header('Expedition in die dunklen Lande - Bodenanalyse'); if ($session['user']['castleturns']>0) { $session['user']['castleturns']--; $what=$_GET['what']; switch ($what) { case '1': $limit=80; $gold=1000; $gems=0; $text="`IDu hast brauchbares Weideland entdeckt!`0`n"; break; case '2': $limit=60; $gold=1500; $gems=1; $text="`IDu hast Torfvorkommen entdeckt!`0`n"; break; case '3': $limit=40; $gold=4000; $gems=2; $text="`IDu hast fruchtbare Ackerfläche entdeckt!`0`n"; break; case '4': $limit=20; $gold=10000; $gems=8; $text="`IDu hast Goldvorkommen entdeckt!`0`n"; break; } $tries = min(intval($session['daily']['discover']),20); //20*5=100 $chance=e_rand($tries*5,100); $tries++; debuglog('nutzte Gelände auskundschaften '.$tries.' mal'); if($session['user']['turns']<5 && $session['user']['castleturns']<=1) $tries=0; $session['daily']['discover']=$tries; if ($chance<=$limit) { output('`IGlückwunsch!`n'.$text); output('`IDer Expeditionsleiter ist mit deiner Leistung derart zufrieden, dass er dir eine `yBelohnung von '.$gold.' Gold und '.$gems.' Edelsteinen `Iüberreicht!`n`n'); $session['user']['gold']+=$gold; $session['user']['gems']+=$gems; } else { output('`INachdem deine Arbeiten beendet sind, musst du feststellen, dass dieses Stück Land vollkommen unbrauchbar ist.`n'); } } else { output('`IDu kannst heute keine Analyse mehr durchführen!`n'); } addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'letter' : //analog zu Flirten im Garten { $session['user']['ddl_location'] = 9; page_header('Expedition in die dunklen Lande - Brief schreiben'); output("`c`b`IBriefe in die Heimat`0`b`c`nDu überlegst dir, deine".($session['user']['sex']?"m Liebsten":"r Liebsten")." einen romantischen Brief aus der Ferne zu schicken und ih".($session['user']['sex']?"m":"r")." auf diesem Wege deine Gefühle zu gestehen. Durch diese Umstände spielt es keinerlei Rolle mehr, ob einer von euch beiden mehr Charme besitzt als der andere.`n`n"); if ($_GET['act']=="") { if ($session['user']['seenlover']) { $sql = "SELECT name FROM accounts WHERE locked=0 AND acctid=".$session['user']['marriedto'].""; $result = db_query($sql); $row = db_fetch_assoc($result); $partner=$row['name']; if ($partner=="") { $partner = $session['user']['sex']?"`^Seth`0":"`5Violet`0"; } output("`IDu versuchst, deinen Brief in Gedanken zu formulieren, aber irgendwie bekommst du den Kopf nicht frei. Vielleicht solltest du bis morgen warten."); } else { require_once(LIB_PATH.'jslib.lib.php'); if (isset($_POST['search']) || $_GET['search']>"") { if ($_GET['search']>"") { $_POST['search']=$_GET['search']; } $search = str_create_search_string($_POST['search']); $search="name LIKE '".$search."' AND "; } else { $search=""; } $ppp=25; // Player Per Page to display if (!$_GET['limit']) { $page=0; } else { $page=(int)$_GET['limit']; addnav("Vorherige Seite","expedition.php?op=letter&limit=".($page-1)."&search=$_POST[search]"); } $limit="".($page*$ppp).",".($ppp+1); if ($session['user']['marriedto']==4294967295) { output("`IDu denkst nochmal über deine Ehe mit `y".($session['user']['sex']?"`^Seth`0":"`5Violet`0")." `Inach und überlegst, ob du ".($session['user']['sex']?"ihn":"sie")." in der Kneipe besuchen sollst oder für wen du diese Ehe aufs Spiel setzen würdest.`n"); } if ($session['user']['charisma']==4294967295) { output("`IDu überlegst dir, dass du dir mal wieder etwas Zeit für `y".($session['user']['sex']?"deinen Mann":"deine Frau")." `Inehmen solltest. Während du ".($session['user']['sex']?"ihn":"sie")." im Garten suchst, stellst du aber fest, dass der Rest der ".($session['user']['sex']?"Männer":"Frauen")." hier auch nicht zu verachten ist.`n"); } output("`0Für wen entscheidest du dich?`n`n"); output("
`0Nach Name suchen:
",true); addnav("","expedition.php?op=letter"); $sql = "SELECT acctid,name,sex,level,race,login,marriedto,charisma FROM accounts WHERE $search (locked=0) AND (sex <> ".$session['user']['sex'].") AND (alive=1) AND (acctid <> ".$session['user']['acctid'].") AND (laston > '".date("Y-m-d H:i:s",strtotime(date("r")."-346000 sec"))."' OR (charisma=4294967295 AND acctid=".$session['user']['marriedto'].") ) ORDER BY (acctid=".$session['user']['marriedto'].") DESC, charm DESC LIMIT $limit"; $result = db_query($sql); output("",true); if (db_num_rows($result)>$ppp) { addnav("Nächste Seite","expedition.php?op=letter&limit=".($page+1)."&search=$_POST[search]"); } // Rassen abrufen $arr_races = db_create_list(db_query('SELECT colname,id FROM races'),'id'); for ($i=0; $i",true); addnav("","expedition.php?op=letter&act=flirt_msg&id=".$row['acctid']); } output("
",true); output(($session['user']['sex']?"":"")."NameLevelRasseStatus
'.jslib_getmenuuserlink( $row, $row, true ).''.$row['level'].''); output($arr_races[$row['race']]['colname']); output("",true); if ($session['user']['acctid']==$row['marriedto'] && $session['user']['marriedto']==$row['acctid']) { if ($session['user']['charisma']==4294967295 && $row['charisma']==4294967295) { output("`@`bDein".($session['user']['sex']?" Mann":"e Frau")."!`b`0"); } else if ($flirtnum==999) { output('`$Heiratsantrag!`0'); } else { output('`^'.$flirtnum.' von '.$session['user']['charisma'].' Flirts erwidert!`0'); } } else if ($session['user']['acctid']==$row['marriedto']) { output("Flirtet ".$row['charisma']." mal mit dir"); } else if ($session['user']['marriedto']==$row['acctid']) { output("Deine letzten ".$session['user']['charisma']." Flirts"); } else if ($row['marriedto']==4294967295 || $row['charisma']==4294967295) { output("`iVerheiratet`i"); } else if ($row['charisma']==999) { output ('`iVerlobt`i'); } else { output("-"); } //output("[ Schreiben ]
",true); $js_add = ' function JSLIB_FLIRT(){ window.location.href = "expedition.php?op=letter&act=flirt_msg&id=" + g_user_menu.m_pl.m_id; }'; $js_afterinit = 'g_user_menu.insertItem(1, new LOTGD.MenuItem( {label: "Schreiben", icon: "images/herz.gif", action: JSLIB_FLIRT} ) );'; jslib_initmenu( $js_add, $js_afterinit ); } } else if ($_GET['act']=="flirt_msg") { $link = 'expedition.php?op=letter&act=flirt&id='.(int)$_GET['id']; addnav('',$link); output("`0Du kannst hier deinen Brief selbst verfassen. Möchtest du das nicht, lasse das Feld einfach frei.`n`n"); output("
",true); output("`0Dein Brief: `n`n",true); output("
",true); } else if ($_GET['act']=="flirt") { $flirt_inc_style='expe'; $message = $_POST['message']; if ($message != '') { $more = "`n`n`0Der Brief:`n".$message; } //alle Aktionen nach flirt.inc.php ausgelagert. Texte für output und Systemmails hier definieren. $bool_flirtaffianced=true; //verlobt fremdflirten zwecks Auflösung $bool_noturnsallowed=true; //Flirt ohne WK erlaubt $bool_flirtcharmdiff=true; //Charmeunterschied nicht prüfen $flirtmail_subject='`%Ein Brief!`0'; $flirtmail_body='`&'.$session['user']['name'].' `6 hat dir einen sehnsuchtsvollen Brief aus den fernen, dunklen Landen geschrieben.'; $flirtlocation=' in der Expedition '; $str_output_noturns .= 'Du versuchst ohne Waldkämpfe zu flirten. Eigentlich sollte das hier erlaubt sein. Beschwer dich beim Programmierer.'; include ('flirt.inc.php'); output($str_output); } addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'chief' : //Expeditionsleiter { $session['user']['ddl_location'] = 2; page_header('Expedition in die dunklen Lande - Expeditionsleiter'); output('`c`b`IExpeditionsleiter`0`b`c`nDu begibst dich in das Zelt des Expeditionsleiters und siehst, dass auch andere Helden bereits dort sind und sich angeregt unterhalten. Hinter einem improvisierten Tisch sitzt der Leiter dieser Expedition und wird dir Rede und Antwort stehen. An der Wand erkennst du eine Liste derer, die auch eingeladen wurden. Direkt daneben hängt eine weitere Liste, die Regeln für das Verhalten auf dieser Expedition festlegt. Der Expeditionsleiter nimmt auch Kritik entgegen, ebenso wie Wünsche und Anregungen.`n`I(OOC- und Feedbackraum)`0`n`n'); require_once(LIB_PATH.'board.lib.php'); output('`0`c'); $int_pollrights = (($session['user']['profession'] == PROF_DDL_COLONEL) ? 2 : 1); if(poll_view('expedition_chief',$int_pollrights,$int_pollrights)) { output('`n`^~~~~~~~~`0`n`n',true); } output('`c'); viewcommentary('expedition_chief','Sagen',25,"sagt"); addnav('OOC'); addnav('Regeln für die Expedition','expedition.php?op=rules'); addnav('Helden vorschlagen','expedition.php?op=propose'); addnav('Information'); addnav('Der Auftrag','expedition.php?op=briefing'); addnav('Rekrutierungsliste','expedition.php?op=recruit'); if($session['user']['profession'] == PROF_DDL_COLONEL || $session['user']['profession'] == PROF_DDL_MAJOR || $access_control->su_check(access_control::SU_RIGHT_DEV)) { addnav('Generalstab'); addnav ('f?Umfrage erstellen','expedition.php?op=poll&pollsection=chief'); addnav ('Notizen des Generalstabs','expedition.php?op=board'); addnav ('Mehrfache Tauben','expedition.php?op=massmail'); } addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=2&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'rules' : //Info: Regeln für die Expedition { $session['user']['ddl_location'] = 2; page_header('Expedition in die dunklen Lande - Expeditionsleiter'); output('`c`b`IDie Regeln der Expedition`0`b`c`nDie Expedition ist ein kleiner Bonus für Spieler, die mehr Wert auf gutes RPG als auf Leveln und Heldentaten legen. Ihnen wird hier die Möglichkeit geboten, ungestört durch ~Anfänger~ und Störer RPG zu spielen und sich mit ein paar Features das zeitraubende Durchklicken durch Wald und Schloss zu ersparen, ohne dabei auf die Vorteile verzichten zu müssen.`n`n'); output('`IRegeln für das Spiel in der Expedition`n`n `I1. `0Es herrscht absolutes OOC-Verbot im Spiel - Absprachen sind per Brieftaube zu führen.`n `I2. `0Kinder sind nicht zugelassen, die Expedition ist ausschließlich Recken im wehrfähigen Alter und mit gesundem Geist vorbehalten.`n `I3. `0Manga- und Animehelden haben hier nichts zu suchen.`n `I4. `0Autoplay und Powerplay sind strengstens verboten.`n `I5. `0`0Multichar- und Knappenspiel sind nicht zugelassen, es ist nur der eigene Charakter erlaubt.`n `I6. `0Wechselbalge (= Chars mit vielen Rassenwechseln) sind hier unerwünscht.`n `I7. `0Das Ausnutzen der Features hier ist nur erlaubt, wenn hier auch RPG gespielt wird.`n `I8. `0Die "Qualifizierung" für die Expedition erfolgt über gutes RPG in öffentlichen Räumen. Jeder Teilnehmer der Expedition kann Vorschläge einbringen, die diskutiert werden.`n `I9. `0Das RPG soll rassengerecht sein (Verbot von Schmusevampiren, Tanzdämonen usw...)`n `I10. `0Die Einladung zur Expedition kann bei Fehlverhalten jederzeit zurückgezogen werden.`n`n'); viewcommentary('expedition_rules','Sagen',25,"sagt"); addnav('Zurück','expedition.php?op=chief'); break; } case 'briefing' : //Info: Der Auftrag { $session['user']['ddl_location'] = 2; page_header('Expedition in die dunklen Lande - Expeditionsleiter'); output('`c`b`IDer Auftrag der Expedition`0`b`c`n `b`IZum Hintergrund:`b`n `0Seher und andere magisch Begabte in '.getsetting('townname','Atrahor').' kündigten eine erschreckende Zukunft für die Stadt und ihre Bewohner an. Aus den verfluchten Ebenen nördlich des Regengebirges, im Folgenden die Dunklen Lande genannt, soll eine gewaltige Streitmacht finsterer Kreaturen in die befriedeten Gebiete einfallen und gewaltige Zerstörung und Tod bringen.`nDiesen Warnungen folgend wurde eine stattliche Gruppe der berühmtesten Helden '.getsetting('townname','Atrahor').'s ausgesandt, um die Dunklen Lande zu erkunden und mehr über die Schrecken herauszufinden.`n`n `b`IDie Expedition:`n`b `0Das Vorkommando fand eine karge, unwirtliche Steppe vor und errichtete das Lager nahe eines gewaltigen Felsmassivs, eingebettet in steile Klippen. Gut geschützt gegen Angriffe von mehreren Seiten kann es jedoch ebenso zur tödlichen Falle werden, denn es gibt nur einen einzigen Zugang. Der Auftrag der Expedition besteht darin, die Umgebung zu erkunden, Informationen über Landschaft, Pflanzen und Tiere zu gewinnen, sowie das Lager gegen vermeintliche Angriffe zu schützen. Nördlich des Lagers dehnt sich eine weite Einöde tief in die Dunklen Lande aus.`n`n `b`IDie Umgebung:`b`n `0In näherer Umgebung des Lager sind Steppen, Sumpflandschaften, Buschland und eine Felsenwüste vorzufinden, die insgesamt als unwirtlich einzustufen sind. Vereinzelte Oasen fruchtbaren Bodens stellen eine wichtige Grundlage für die Versorgung des Lagers dar. Die Tierwelt besteht, nach den ersten Erkenntnissen, aus Kleinechsen, Wildkatzen und Insekten, die keine direkte Bedrohung darstellen.`n`n `b`IDer Feind:`b`n `0Feindkontakt ist ausschließlich über die Einöde nördlich des Lagers zu erwarten, welche den einzigen direkt passierbaren Weg tief in die Dunklen Lande darstellt. Zivile Expeditionsteilnehmer seien angewiesen, zu ihrer eigenen Sicherheit diesen Abschnitt zu meiden.`n Bei den feindlichen Kreaturen handelt es sich um lose Kleingruppen, vermutlich verschiedenen Clans zugehörig. Es ist anzunehmen, dass diese Gruppen, bestehend aus Soldaten und einem Kommandanten, während ihrer Angriffe vereinzelt von Räuberbanden begleitet werden. Die Wesen sind im Kampf ungewöhnlich zäh und sind als große Bedrohung anzusehen.`n`n'); addnav('Zurück','expedition.php?op=chief'); break; } case 'recruit' : //Info: Rekrutierungsliste { $session['user']['ddl_location'] = 2; page_header('Expedition in die dunklen Lande - Expeditionsleiter'); output('`0Folgende Helden nehmen an der Expedition in die dunklen Lande teil:`n`n'); $sql = "SELECT acctid,name,level,login,dragonkills,sex, IF(".user_get_online().",'`@Online`0','`4Offline`0') AS loggedin FROM accounts WHERE expedition!=0 ORDER BY dragonkills DESC, level DESC LIMIT 100"; $result = db_query($sql); $str_output.=""; $max = db_num_rows($result); for ($i=0; $i<$max; $i++) { $row = db_fetch_assoc($result); $str_output.=""; } output($str_output."
DKs Level Name / Status
 `^$row[dragonkills]`0   `^$row[level]`0   ".jslib_getmenuuserlink( $row, $row, true )."`0  ".($row['sex']?"":"")."   ".$row['loggedin']."
"); jslib_initmenu(); // addnav('Aktionen'); // addnav('Helden vorschlagen','expedition.php?op=propose'); addnav('Zurück'); addnav('Zum Expeditionsleiter','expedition.php?op=chief'); break; } case 'propose' : //Helden vorschlagen { require_once(LIB_PATH.'board.lib.php'); $session['user']['ddl_location'] = 2; page_header('Expedition in die dunklen Lande - Expeditionsleiter / Rekrutierungsliste'); if($_GET['board_action'] == 'add') { board_add('expi_new'); } $int_del = ($access_control->su_check(access_control::SU_RIGHT_EXPEDITION_ADMIN) ? 2 : 1); board_view('expi_new',$int_del,'Folgende Helden wurden bereits vorgeschlagen:','Es wurden noch keine Helden vorgeschlagen!',true,true); output('`n`n`&Möchtest du selbst einen Helden vorschlagen? Dann schreib seinen Namen auf einen Zettel und häng ihn an das Brett:'); board_view_form('Vorschlagen!',''); output('`n`n'); viewcommentary('expedition_recruit','`nHier kannst du über die Vorschläge diskutieren.',25,"sagt"); addnav('Zurück','expedition.php?op=chief'); break; } case 'poll' : //Umfrage erstellen { require_once(LIB_PATH.'board.lib.php'); output(get_title('Außenposten-interne Umfragen')); poll_add('expedition_'.$_GET['pollsection'],100,1); if(!empty($session['polladderror'])) { if($session['polladderror'] == 'maxpolls') { output('`$An dieser Stelle findet bereits eine Umfrage statt! Entferne bitte zunächst diese, ehe du eine neue eröffnest.`n`n'); } } else { redirect('expedition.php?op=chief'); } if($_GET['pollsection'] == 'private') { output('`8Du möchtest also im Hinterzimmer des Stabszeltes eine Umfrage durchführen? So sei es denn, hier ist ein Pergament, das nur darauf wartet, von dir beschriftet und an einer prominenten Stelle aufgehängt zu werden:`n`n'); } else { output('`8Du möchtest also eine öffentliche Umfrage durchführen? So sei es denn, hier ist ein Pergament, das nur darauf wartet, von dir beschriftet und für alle gut sichtbar platziert zu werden:`n`n'); } addnav('Zurück zum Stabszelt','expedition.php?op=chief'); poll_show_addform(); break; } case 'board': //Notizen { require_once(LIB_PATH.'board.lib.php'); board_view_form('Aufhängen','`&Deine Nachricht:'); if($_GET['board_action'] == "add") { board_add('expedition'); redirect('expedition.php?op=board'); } output('`n`n'); board_view('expedition',1,'Folgende Zettel hängen neben dem Lageplan:','Keine Nachrichten vorhanden!',true,true,true); addnav('Zurück zum Stabszelt','expedition.php?op=chief'); break; } case 'massmail': // Massenmail (im wohnviertel by mikay) { page_header('Expedition in die dunklen Lande - Expeditionsleiter / Massenmail'); $str_filename=basename(__FILE__); $str_out .= get_title('Taubenschlag unter dem Dach des Hauptquartiers.`0'); addnav('Abbrechen',$str_filename.'?op=chief'); $sql='SELECT acctid, name, login, profession FROM accounts WHERE expedition >0 AND acctid!='.(int)$session['user']['acctid'].' ORDER BY profession DESC'; $result=db_query($sql); $users=array(); $keys=0; while($row=db_fetch_assoc($result)) { $profs[0][0]='Zivilist'; if($row['profession']!=$lastprofession) $residents.='`n`b'.$profs[$row['profession']][0].'`b`n'; $residents.=' '.$row['name'].'
'; $keys++; $lastprofession=$row['profession']; if ($_POST['title']!='' && $_POST['maintext']!='' && in_array($row['acctid'],$_POST['msg'])) { $users[]=$row['acctid']; } } $mailsends=count($users); if ($mailsends<=5) { $gemcost=1; } elseif ($mailsends<=15) { $gemcost=2; } elseif ($mailsends<=25) { $gemcost=3; } elseif ($mailsends>25) { $gemcost=4; } $gemcost=0; if ($session['user']['gems']>=$gemcost AND $mailsends>0) { foreach($users as $id) { systemmail($id, $_POST['title'], $_POST['maintext'], $session['user']['acctid']); } $sendresult='Sendebericht:
'.count($users).' Spieler haben eine Taube erhalten und deine Kosten betragen '.$gemcost.' Edelsteine.

'; $session['user']['gems']-=$gemcost; } elseif ($session['user']['gems']<$gemcost AND $mailsends>0) { $sendresult='Sendebericht:
'.count($users).' Spieler hätten eine Taube erhalten, wenn deine Kosten nicht '.$gemcost.' Edelsteine betragen würden. Leider kannst du dies nicht bezahlen.

'; } if ($keys>0) { $str_out .= form_header($str_filename.'?op=massmail') .$sendresult.'
Betreff:
Nachricht:
Senden an: '.$residents.' `bKosten bis jetzt:`b 0 Edelstein(e)!
Bitte verfasse nun deine Botschaft und wähle die Empfänger!
'; } else { $str_out .= '`c`bEs wurden noch keine Schlüssel verteilt - und ja, Bombentauben an missliebige Nachbarn sind gegen das Gesetz.`b`c'; } output($str_out); break; } // END massmail case 'inn' : //RPG: Gemeinschaftszelt { $session['user']['ddl_location'] = 3; page_header('Expedition in die dunklen Lande - Gemeinschaftszelt'); output('`c`b`IDas Gemeinschaftszelt`0`b`c`nBehutsam legst du die Stoffe des Zeltes, die den Eingang verhüllen, zur Seite und trittst in das größte Zelt, das hier im Lager aufgeschlagen wurde. Der Raum ist vollgestellt mit einfachen Tischen und Bänken und der Boden ist mit Holzdielen ausgelegt. Ganz am Ende erspähst du einen kleinen Tresen, hinter dem gerade die Schankmaid Gläser wäscht. Zu deiner Überraschung hat sie verblüffende Ähnlichkeit mit Violet und so lässt du dir von einem der anwesenden Teilnehmer an der Expedition ihren Namen zuflüstern - Scarlet! Du beobachtest sie einen kurzen Moment und lässt dir dann von ihr etwas Wasser und eine warme Speise bringen. Anschließend lauscht du den Heldengeschichten und Späßen, die hier lauthals erzählt werden. An einem runden Tisch am Rande des Zeltes kannst du zudem ein paar Brettspiele erkennen.`n`n'); viewcommentary('expedition_inn','Sagen',25,"sagt"); addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=3&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'smith': //Rüstungsschmied { $session['user']['ddl_location'] = 13; page_header('Expedition in die dunklen Lande - Schmiede'); $show_invent=true; output('`c`b`IDie Schmiede`0`b`c`nDu gehst zur Lagerschmiede, wo Aeris eifrig auf dem Amboss hämmert, so dass die Funken fliegen. Als sie dich bemerkt, schaut sie auf und spricht dich an: "`6Na, '.$session['user']['name'].'`6 was kann ich für dich tun?" `0Du bist verwundert darüber, dass eine Elfe einer solchen Arbeit nachgeht, beschließt jedoch keine weiteren Gedanken an eine solche Belanglosigkeit zu verschwenden und trägst dein Anliegen vor.`n`nÜber Handwerk reden:`n`n'); viewcommentary('expedition_smith','Sagen',25,"sagt"); addnav('Aktionen'); addnav('a?Etwas ausbessern','expedition.php?op=armorgive&act=in'); addnav('h?Etwas abholen','expedition.php?op=armorback'); if($session['user']['hashorse']) addnav('b?Hufe beschlagen','expedition.php?op=horseshoe'); addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=13&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'armorgive': //Rüstung demSchmied geben { page_header('Expedition in die dunklen Lande - Ausrüstung reparieren'); if($_GET['act']=='putin') { $row=item_get(' id='.$_GET['id']); $item_change['owner']=1307952; $item_change['value2']=$session['user']['dragonkills']; $item_change['deposit2']=$session['user']['acctid']; if($row['value2']==0 && item_set(' id='.$_GET['id'],$item_change)) { output('`0Aeris nimmt deine '.$row['name'].'`8, heftet ein Namensschild dran und legt sie zu den anderen Dingen die noch bearbeitet werden müssen.`n`6"Das wird aber eine Weile dauern. Ich habe viel zu tun."`0`n`n'); }else{ output('`IFehler!`0 Aus irgendeinem Grund konnte '.$row['name'].'`0 nicht abgegeben werden. (Code '.$row['value2'].')'); //falls value2 belegt ist soll das hier nicht überschrieben werden } } else { if(item_count('(tpl_id="rstdummy" OR tpl_id="waffedummy") AND owner=1307952 AND deposit2='.$session['user']['acctid'])<2) { output('`6"So, du willst also deine Ausrüstung reparieren lassen."`0 sagt Aeris zu dir und lächelt dich an. Wenn dieses Lächeln zu einem Zwerg anstatt einer Elfe gehören würde, könnte man es als \'Hurra, es gibt wieder viel Gold\' werten... `n`n'); $sql='SELECT * FROM items WHERE (tpl_id="rstdummy" OR tpl_id="waffedummy") AND deposit1=0 AND owner='.$session['user']['acctid'].' ORDER BY value1 DESC, name ASC'; $result=db_query($sql); if(db_num_rows($result)>0) { $str_out='`0Was soll Aeris denn bearbeiten? `n'; while($row=db_fetch_assoc($result)) { $link='expedition.php?op=armorgive&act=putin&id='.$row['id']; $str_out.=''; addnav('',$link); } $str_out.='
Level Name Aktion
'.$row['value1'].' '.$row['name'].' ausbessern
'; output($str_out); } else { output('`0Als Aeris merkt wie du ziellos in deinem Beutel kramst, sagt sie zu dir: "`6Ich repariere Waffen und Rüstungen. Die mußt du schon ablegen, wenn ich daran arbeiten soll.`8"'); } } else { output('`0Du sagst zu Aeris dass du gern deine Ausrüstung reparieren lassen möchtest, doch Aeris entgegnet: `6"Ja weißt Du, das hier ist eine Schmiede und kein Lagerzelt. Du hast schon 2 Dinge abgegeben. Wenn das jeder machen würde, hätte ich bald keinen Platz mehr zum Arbeiten."`0'); } } addnav('Zurück'); addnav('S?Zur Schmiede','expedition.php?op=smith'); addnav('Zum Zeltlager','expedition.php'); break; } case 'armorback': //Rüstung vomSchmied holen { page_header('Expedition in die dunklen Lande - Ausrüstung reparieren'); $price_factor = 2.5 - pow(1.05,2); //Waffenkammer Level 2: Faktor 1.3975 if($_GET['act']=='getout') { $item_id=intval($_GET['id']); $row=item_get(' id='.$item_id); $getout_cost=($row['value2']==$session['user']['dragonkills']?$row['value1']*23:round($row['gold']*$price_factor)); $item_change['owner']=$session['user']['acctid']; $item_change['value2']=0; $item_change['deposit2']=0; if(item_set(' id='.$item_id,$item_change)) { $session['user']['gold']-=$getout_cost; if($row['value2']<$session['user']['dragonkills']) { $session['user']['gems']--; } output('`0Du nimmst deine `I'.$row['name'].'`0 und betrachtest das gute Stück. Ja, sehr gute Arbeit. Also gibst du Aeris den versprochenen Lohn, bedankst dich noch höflich und ziehst von dannen.`n`n'); } else { output('`IFehler!`0 Aus irgendeinem Grund konnte deine Rüstung nicht zurückgegeben werden.'); } } else { output('`6"Ja, da wolln wir doch mal sehen, was ich von Dir habe."`0 sagt Aeris zu dir und lächelt dich freundlich wie immer an. '); $sql='SELECT * FROM items WHERE (tpl_id="rstdummy" OR tpl_id="waffedummy") AND owner=1307952 AND deposit2='.$session['user']['acctid']; $result=db_query($sql); if(db_num_rows($result)>0) { $str_out='`n`n`0Was möchtest du denn abholen? `n'; while($row=db_fetch_assoc($result)) { if($row['value2']==$session['user']['dragonkills']) { $getout_cost=$row['value1']*23; $getout_gems=0; } else { $getout_cost=round($row['gold']*$price_factor); $getout_gems=1; } $link='expedition.php?op=armorback&act=getout&id='.$row['id']; $str_out.=''; if($session['user']['gold']>=$getout_cost && $session['user']['gems']>=$getout_gems) { $str_out.=''; addnav('',$link); } else { $str_out.=''; } $str_out.=''; } $str_out.='
Level Name Status Kosten Aktion
'.$row['value1'].' '.$row['name'].' '.($row['value2']==$session['user']['dragonkills']?'`4In Arbeit`0':'`2fertig`0').' `^'.$getout_cost.' Gold `#'.$getout_gems.' Edelsteinemitnehmen`4zu teuer`0
'; output($str_out); } else { output('`0Sie verschwindet in ihrem Zelt und kommt wenig später mit leeren Händen wieder: `6"Tja, ich finde zwischen all den Dingen, die ich hier habe, nichts was Dir gehört. Vielleicht hast Du ja nur geträumt, dass Du etwas abgegeben hast?"`0'); } } addnav('Zurück'); addnav('S?Zur Schmiede','expedition.php?op=smith'); addnav('Zum Zeltlager','expedition.php'); break; } case 'horseshoe': //Hufe beschlagen (analog zum Tiertrainer in housefeats) { page_header('Expedition in die dunklen Lande - Hufe beschlagen'); // Mount neu laden getmount($session['user']['hashorse'],true); $sql = "SELECT mountextrarounds FROM account_extra_info WHERE acctid=".$session['user']['acctid'].""; $result = db_query($sql); $rowm = db_fetch_assoc($result); $float_factor = max($playermount['trainingcost'],1); // exponentielle Steigerung $cost = round ( pow($float_factor,$rowm['mountextrarounds']) ); // Bei 120 abriegeln ; ) $cost = min($cost,120); if($cost>1) {$cost--;} //Expe-Bonus if ($_GET['act']=='') { output('`0Aeris verlangt `I'.$cost.' Edelsteine`0 für das Beschlagen von '.$playermount['mountname'].'.`n`0Auch weist sie dich darauf hin, dass dein Tier danach erstmal Ruhe und Pflege braucht. Willst du es dennoch beschlagen lassen?'); addnav('`0Ja, das ist nötig','expedition.php?op=horseshoe&act=doit'); } else if ($_GET['act']=='doit') { $buff = unserialize($playermount['mountbuff']); if ($session['bufflist']['mount']['rounds'] < 2) { output('`0Aeris schaut dein Tierchen mitleidig an.`n`6"Tut mir leid, aber dein Tier ist ja völlig erschöpft. Gönne ihm etwas Ruhe, bevor du es zu mir bringst!"`0`nMit diesen Worten wendet sie sich wieder ihrer Arbeit zu.'); } elseif ($session['user']['gems']<$cost) { output('`IPeinlich berührt stellst du fest, dass du dir diesen Luxus nicht leisten kannst...'); } else { output('`0Aeris nimmt `I'.$playermount['mountname'].'`0 mit und verschwindet. Nach einer Stunde erhältst du dein Tier zurück.`n`IEs wird nun täglich eine Runde länger an deiner Seite kämpfen!`'); $session['bufflist']['mount']['rounds'] = 1; $session['user']['gems']-=$cost; $newrounds=$rowm['mountextrarounds']+1; $sql = "UPDATE account_extra_info SET mountextrarounds=$newrounds WHERE acctid = ".$session['user']['acctid']; db_query($sql); } } addnav('Zurück'); addnav('S?Zur Schmiede','expedition.php?op=smith'); addnav('Zum Zeltlager','expedition.php'); break; } case 'doc' : //Lagerarzt { $session['user']['ddl_location'] = 4; page_header('Expedition in die dunklen Lande - Lagerarzt'); output('`c`b`IDer Lagerarzt`0`b`c`nDu betrittst mit zitternden Knien das Zelt des Arztes. Dir wurde zwar der Weg zum Lagerarzt gezeigt, allerdings von diesem Besuch abgeraten. Du kannst dir nicht vorstellen, weshalb man den Arzt nicht aufsuchen sollte, wenn man doch Hilfe benötigt. Als du das Zelt betrittst, zweifelst du plötzlich an deiner Entscheidung. An den Zeltstangen hängen überall übel aussehende Instrumente, die man auf jeden Fall nicht für eine Heilung benötigt...und die sonst eigentlich verboten sind. Mitten im Zelt steht eine große Liege, an der - für deinen Geschmack - zu viel getrocknetes Blut klebt. Händereibend und mit einem erfreuten Lächeln winkt der Lagerarzt dich heran. Du hast das Gefühl, er sieht dich an wie ein Versuchskaninchen...`n`n'); $sql = "SELECT wounds FROM account_extra_info WHERE acctid=".$session['user']['acctid'].""; $result = db_query($sql); $row = db_fetch_assoc($result); $wounds = $row['wounds']; switch ($wounds) { //Verwundungsstatus case 0 : output('`@Du erfreust dich bester Gesundheit!`0`n`n'); break; case 1 : output('`2Bis auf ein paar leichte Blessuren geht es dir ganz gut.`0`n`n'); break; case 2 : output('`^Du hast dir in der Schlacht eine leichte Verletzung zugezogen. Vielleicht sollte der Arzt mal einen Blick darauf werfen.`0`n`n'); break; case 3 : output('`qDu wurdest im Kampf verletzt. Zwar schmerzt die Wunde sehr, jedoch kannst du weiter kämpfen.`0`n`n'); break; case 4 : output('`4Es geht dir nicht sehr gut. Deine Verwundung bereitet dir große Schmerzen und hindert dich am erneuten Kampf.`0`n`n'); break; case 5 : output('`$Du wurdest sehr schwer verletzt und warst dem Tode nah. Doch dank der Hilfe deiner Kameraden und des Lagerarztes hast du nun das Schlimmste überstanden. Dennoch wird es etwas dauern, bis du wieder kämpfen kannst.`0`n`n'); break; } viewcommentary('expedition_doc','Sagen',25,"sagt"); addnav('Aktionen'); addnav('Heilen lassen','expedition.php?op=heal'); addnav('Kopf gegen die Wand hauen','expedition.php?op=hurt'); addnav('Information'); addnav('Über Verwundungen','expedition.php?op=woundinfo'); addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=4&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'heal' : //Heilen { $session['user']['ddl_location'] = 4; page_header('Expedition in die dunklen Lande - Lagerarzt'); $sql = "SELECT wounds,doc_visited FROM account_extra_info WHERE acctid=".$session['user']['acctid'].""; $result = db_query($sql); $row = db_fetch_assoc($result); if ($row['wounds']<1) { output('`0Es geht dir blendend! Warum solltest du dich also der schmerzhaften Behandlung unterziehen wollen ?`0`n'); } else if ($row['doc_visited']==1) { output('`0Du wurdest heute bereits behandelt. Der Doktor kann erstmal nichts mehr für dich tun!`n'); } else { output('`0Der Doktor reibt mit sadistischem Grinsen seine Hände und beginnt die Behandlung.`nZwar vermisst du sehr stark die Sanftheit und Vorsicht von Golinda, jedoch bringt auch diese Therapie den gewünschten Erfolg.`n`IEs geht dir etwas besser!`0`n'); $sql = "UPDATE account_extra_info SET wounds=wounds-1, doc_visited=1 WHERE acctid=".$session['user']['acctid'].""; db_query($sql); $session['user']['hitpoints']=$session['user']['maxhitpoints']; } addnav('Zurück','expedition.php?op=doc'); break; } case 'hurt' : //Kopf gegen die Wand hauen { $session['user']['ddl_location'] = 4; page_header('Expedition in die dunklen Lande - Lagerarzt'); $sql = "SELECT wounds FROM account_extra_info WHERE acctid=".$session['user']['acctid'].""; $result = db_query($sql); $row = db_fetch_assoc($result); output('`0Ein dumpfer Knall ist zu hören, als du deinen Hohlkopf gegen die Wand schlägst!`n'); if ($row['wounds']<5) { $sql = "UPDATE account_extra_info SET wounds=wounds+1 WHERE acctid=".$session['user']['acctid'].""; db_query($sql); } addnav('Zurück','expedition.php?op=doc'); break; } case 'woundinfo' : //Info: Verwundungen { $session['user']['ddl_location'] = 4; page_header('Expedition in die dunklen Lande - Lagerarzt'); output('`c`b`IÜber Verwundungen`0`b`c`n `0In den Dunklen Landen begegnest du gefährlichen Kreaturen. Diese fügen dir im Kampf Verletzungen zu, die`n`qzum einen deine Lebenskraft reduzieren und dir zum anderen Verwundungen zufügen.`0`n Den Verlust der Lebenskraft kann jeder übliche Heiler wieder herstellen, die Verwundung selbst kannst du jedoch nur hier beim Lagerarzt behandeln lassen.`n Es gibt `q5 Verwundungsstufen`0, von quicklebendig bis dem Tode nah. Eine `bleichte Verletzung`b im Kampf erhöht deine Verwundung um `beine Stufe`b, wohingegen eine `bVerletzung`b (durch den Soldaten oder Kommandanten verursacht) diese um `bzwei Stufen`b erhöht. Du läufst Gefahr eine Verwundung zu erleiden, sobald du den ersten Treffer kassiert hast, d.h. du kann auch bei einem Sieg verwundet werden, es sei denn du hattest einen perfekten Kampf. Eine `bNiederlage`b befördert dich automatisch an den Tropf, also auf `bVerwundungsstufe 5`b.`n Die Behandlung beim Lagerarzt ist einmal täglich möglich. Sie senkt deine Verwundung um `beine Stufe`b und regeneriert alle verlorene Lebenskraft.`n Ab `bVerwundungsstufe 4`b kannst du dich nicht mehr in die Einöde begeben!`n Über Nacht oder durch Wiedererweckung heilen diese Verwundungen nicht!`n Deine aktuelle Verwundungsstufe kannst du nur im Zelt des Lagerarztes erfahren!`n`n `0`bDiese sind im einzelnen`b :`n `0Stufe 0: `@Du erfreust dich bester Gesundheit!`0`n `0Stufe 1: `2Bis auf ein paar leichte Blessuren geht es dir ganz gut.`0`n `0Stufe 2: `^Du hast dir in der Schlacht eine leichte Verletzung zugezogen. Vielleicht sollte der Arzt mal einen Blick darauf werfen.`0`n `0Stufe 3: `qDu wurdest im Kampf verletzt. Zwar schmerzt die Wunde sehr, jedoch kannst du weiter kämpfen.`0`n `0Stufe 4: `4Es geht dir nicht sehr gut. Deine Verwundung bereitet dir große Schmerzen und hindert dich am erneuten Kampf.`n `0Stufe 5: `$Du wurdest sehr schwer verletzt und warst dem Tode nah. Doch dank der Hilfe deiner Kameraden und des Lagerarztes hast du nun das Schlimmste überstanden. Dennoch wird es etwas dauern bis du wieder kämpfen kannst.`0`n`n'); addnav('Zurück','expedition.php?op=doc'); break; } case 'pools' : //RPG: Heiße Quellen { $session['user']['ddl_location'] = 6; page_header('Expedition in die dunklen Lande - Heiße Quellen'); output('`c`b`wDie heißen Quellen`0`b`c`n`FVom Zeltlager aus hast du den dampfenden Wasserfall gesehen. Nachdem du einen Weg auf die steinigen Felsen gefunden hast, machst du dich auf die Suche nach dem Ursprung des scheinbar heißen Wassers. Plötzlich fällt dir auf, dass die Steine unter deinen Füßen immer feuchter werden und schließlich siehst du direkt vor dir, mitten im Fels, scheinbar eine Ebene, übersäht mit kleinen Seen, in denen lebhaft das Wasser sprudelt. Erst bei näherem Betrachten glaubst du auf die Spur dieser ungewöhnlichen Wärme zu kommen, die auch den Stein unter deinen Füßen erwärmt: Nicht nur die Quellen dampfen, sondern auch aus einem Spalt im Fels steigt Dampf aus. Da er allerdings so eng ist, dass du nichts erkennen kannst, wendest du dich von den kleinen Quellen ab und folgst den kleinen Bächen, die alle zu einer abgesenkten Stelle fließen; plötzlich stehst du an der Kante des kleinen Gebirges, unmittelbar am Ursprung des Wasserfalls und blickst hinab auf das Zeltlager.`n`n'); viewcommentary('expedition_pools','Blubbern',25,"blubbert"); // Kommentaraktionen verlagert if($_GET['c_req']) { addnav('Aktionen'); addnav('Umschauen','expedition.php?op=look'); addnav('Heimlich Wasser lassen','expedition.php?op=pee'); } addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=6&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'look' : //Heiße Quellen: Umschauen { $session['user']['ddl_location'] = 6; page_header('Heiße Quellen - Seltsames Loch'); $sql = 'SELECT poollook FROM account_extra_info WHERE acctid="'.$session['user']['acctid'].'"'; $res = db_query($sql); $row_extra = db_fetch_assoc($res); if ($row_extra['poollook'] != 1) { output('`0Als dein Blick umherschweift, entdeckst du plötzlich eine Art kleinen Wasserfall von dem das warme Wasser läuft. Was dir vorher nicht aufgefallen ist - dahinter scheint ein Hohlraum zu sein.. was sich wohl dahinter verbirgt?`n`n'); addnav('Was tun?'); addnav('Hineintauchen','expedition.php?op=dive'); addnav('Blick abwenden','expedition.php?op=pools'); } else { output('`0Du blickst kurz auf die Höhle, weißt jedoch genau das du da nichts mehr finden wirst ..`n`n'); addnav('Zurück'); addnav('Blick abwenden','expedition.php?op=pools'); } break; } case 'dive' : //Heiße Quellen: Umschauen: Tauchen { $session['user']['ddl_location'] = 6; page_header('Heiße Quellen - Unter Wasser'); output('`0Du tauchst vollen Mutes unter und schwimmst auf den kleinen Wasserfall zu ...`n`n'); $row_extra['poollook'] = 1; switch (e_rand(1,6)) { case 1 : output('`0... plötzlich spürst du einen Kopfschmerz .. du bist daneben geschwommen und hast die Wand getroffen .. blitzartig schwimmst du zurück. Als du wieder auftauchst, hast du eine große Beule am Kopf. `IDas kostet dich etwas Charme!`0`n`n'); $session['user']['charm']--; addnav('Autsch..','expedition.php?op=pools'); break; case 2 : case 3 : output('`0... als du angekommen bist, greifst du in das Loch .. und findest ein kleines Säckchen.. an der Oberfläche öffnest du es und findest etwas altes Gold!`n`n'); $gold = e_rand($session['user']['level']*100,$session['user']['level']*250); $session['user']['gold']+=$gold; addnav('Juhu','expedition.php?op=pools'); break; case 4 : output('`0... als du angekommen bist, greifst du in das Loch .. und findest ein kleines Säckchen .. an der Oberfläche öffnest du es und findest darin einen Edelstein!`n`n'); $session['user']['gems']++; addnav('Juhu','expedition.php?op=pools'); break; case 5 : case 6 : output('`0... als du angekommen bist greifst du in das Loch .. doch da findest du nichts. Da war wohl jemand schneller..`n`n'); addnav('Schade..','expedition.php?op=pools'); break; } $sql = 'UPDATE account_extra_info SET poollook="1" WHERE acctid="'.$session['user']['acctid'].'"'; db_query($sql); break; } case 'pee' : //Heiße Quellen: pissen { $session['user']['ddl_location'] = 6; $rowe = user_get_aei('usedouthouse'); page_header('Heiße Quelle - Wasser lassen'); switch ($_GET['op2']) { case '': if ($rowe['usedouthouse'] !=1) { output('`0Du spürst das deine Blase drückt, willst jedoch das Becken nicht verlassen .. da kommt dir die böse Idee .. du könntest ja einfach hier und jetzt Wasser lassen ..`n`n'); addnav('Wirklich?'); addnav('Ja klar!','expedition.php?op=pee&op2=doit'); addnav('Nee..','expedition.php?op=pools'); } else { output('`0Du spürst keinen Druck und außerdem denkst du das einmal am Tag auch reicht ..`n`n'); addnav('Zurück'); addnav('Zur Quelle!','expedition.php?op=pools'); } break; case 'doit': output('`0Schnell erledigst du das dringende Geschäft .. du fühlst dich sichtlich frei und deutlich nüchterner!`n`n'); user_set_aei(array('usedouthouse' => 1)); if ($session['user']['drunkenness']>0) { $session['user']['drunkenness'] *=0.5; } switch (e_rand(1,10)) { case 1 : output('`0Doch plötzlich beginnt es unter dir zu blubbern und brodeln .. hättest du das vielleicht doch nicht tun sollen? Die Götter bestrafen dich und du fühlst dich plötzlich so .. nackt ..`n`n'); $sql = 'INSERT INTO commentary (section,author,comment, postdate) values ("expedition_pools","1","/msg `b`qPlötzlich blubbert es um '.$session['user']['name'].' `q verdächtig und kurz darauf treibt '.($session['user']['sex']?'ihre Badebekleidung' : 'seine Badebekleidung').' an die Oberfläche während '.($session['user']['sex']?'sie' : 'er').' völlig nackt da sitzt. Wie peinlich ..`0", NOW())'; db_query($sql); addnav('Oh nein ..!','expedition.php?op=pools'); break; case 2 : case 3 : case 4 : case 5 : output('`0Als du auf das Wasser schaust ob es Spuren gibt, entdeckst du plötzlich einen Edelstein! Wenn sich das mal nicht gelohnt hat!`n`n'); $session['user']['gems']++; addnav('Jippie','expedition.php?op=pools'); break; default : addnav('Das tat gut','expedition.php?op=pools'); break; } } break; } case 'cave' : //RPG: Tropfsteinhöhle { $session['user']['ddl_location'] = 8; page_header('Expedition in die dunklen Lande - Tropfsteinhöhle'); $color=getsetting("DDL-cristals",1); switch ($color) { case 1 : $col='`*'; break; case 2 : $col='`F'; break; case 3 : $col='`w'; break; case 4 : $col='`9'; break; case 5 : $col='`!'; break; } output('`c`b'.$col.' Die Tropfsteinhöhle`0`b`c'.$col.'`nDu hast ein wenig am See die frische Luft genossen, als dir hinter dem Wasserfall ein kleiner Spalt im Felsen auffällt, gut verborgen hinter dem fallendem Strom. Zu deinem Glück kannst du auch noch einen sehr schmalen Pfad erkennen, der genau auf den Spalt zuführt. Schnell tauchst du durch den Wasserfall und findest dich in einem schmalen, kaum mannshohem Gang wieder. Neben dir fließt ein kleiner Bach immer tiefer in das Gestein und du beschließt diesem zu folgen. Immer steiler und tiefer geht es in den Fels, ehe sich der Gang plötzlich in einer riesigen Höhle öffnet. Ein unwirklich scheinendes Licht tänzelt durch die ganze Höhle, dennoch kannst du das Ausmaß nur erahnen. Immer wieder siehst du Tropfsteine an der Decke, den Wänden und auch aus dem Boden scheinen sie zu wachsen. Überall sind kleine Rinnsale, die ebenso wie der Bach zu einem unterirdischen See führen. Das Licht lässt die Wassertropfen immer wieder funkeln und ebenso die unzähligen Kristalle, die in allen verschiedenen Farben schillern!`nDu bemerkst, dass die Kristalle ihre Farben wechseln, je nach dem, wieviel Wasser sie auf dem Boden umspült.`n`n'); viewcommentary('expedition_cave','Flüstern',25,"flüstert"); addnav('Wasser stauen'); addnav('Gar nicht','expedition.php?op=cristals&act=1'); addnav('Wenig','expedition.php?op=cristals&act=2'); addnav('Mittel','expedition.php?op=cristals&act=3'); addnav('Stark','expedition.php?op=cristals&act=4'); addnav('Komplett','expedition.php?op=cristals&act=5'); addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=8&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'cristals' : //Tropsteinhöhle: Farbe ändern { $act=$_GET['act']; savesetting("DDL-cristals",$act); redirect("expedition.php?op=cave"); break; } case 'milplace' : //RPG: Antreteplatz { $session['user']['ddl_location'] = 11; page_header('Expedition in die dunklen Lande - Antreteplatz'); output('`c`b`IDer Antreteplatz`0`b`c`nEin ungenutzter Platz am Rande des Lagers, der mit Kies bedeckt ist und so ein perfekter Ort für die Apelle der Bürgerwehr ist. Regelmäßig müssen hier alle Mitglieder der Lagerwache antreten und salutieren, wenn der Oberst besondere Auszeichnungen oder Orden zu vergeben hat. Aber der Platz wird auch mit Vorliebe von den ranghöheren Offizieren genutzt, um jungen, unerfahrenen Rekruten Disziplin einzuschärfen oder sie mit schweißtreibendem Training in Form zu bringen. Die Flagge der Lagerwache weht lebhaft im Wind, gut sichtbar für die Rekruten, die ebenso durch den herrischen Klang von Hörnern angesport werden sollen.`n`n'); viewcommentary('expedition_mil','Sagen',25,"sagt"); if ($session['user']['profession']==49) { $pointsleft=getsetting("DDL-medal","0"); addnav('Ordenpunkte: '.$pointsleft); addnav('Orden verleihen','expedition.php?op=give_medal'); } addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=11&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'give_medal' : //Antreteplatz: Orden verleihen: Name suchen { page_header('Expedition in die dunklen Lande - Antreteplatz'); $sql = "SELECT name,accounts.acctid,level,login,loggedin,dragonkills,sex,profession FROM accounts JOIN account_extra_info USING (acctid) WHERE DDL_location=11 AND ".user_get_online()." AND profession>40 AND profession<49 ORDER BY profession DESC, level"; $result = db_query($sql); $str_output.="Zur Zeit befinden sich auf dem Antreteplatz: `n`n"; $max = db_num_rows($result); for ($i=0; $i<$max; $i++) { $row = db_fetch_assoc($result); $rank=getprofession($row['profession']); $str_output.=""; } output($str_output."
DKs Level Name / Rang
`^$row[dragonkills]`0 `^$row[level]`0 ".create_lnk($row['name'].'`0','expedition.php?op=give_medal2&char='.$row['acctid'])." ".($row['sex']?"":"")." `^".$rank."`0
"); addnav("Neu laden","expedition.php?op=give_medal"); addnav("Zurück","expedition.php?op=milplace"); break; } case 'give_medal2' : //Orden verleihen: Orden auswählen { // Kosten für Orden : // Bestpreis : 3 // Verwundetenmedaille : 6 // Bronzenes Ehrenkreuz : 9 // Silbernes Ehrenkreuz : 12 // Goldenes Ehrenkreuz : 15 // Tapferkeitsmedaille : 18 // Ehrenmedaille : 21 // Verdienstorden der Bürgerwehr : 23 // page_header('Expedition in die dunklen Lande - Antreteplatz'); $char=$_GET['char']; $sql = "SELECT name,acctid FROM accounts WHERE acctid=".$char; $result = db_query($sql); $row = db_fetch_assoc($result); $pointsleft=getsetting("DDL-medal","0"); output('`IWelchen Orden willst du `0'.$row['name'].'`I verleihen? `n`I(Du hast `0'.$pointsleft." `IPunkte übrig.) `n`n`0
Name Beschreibung Kosten
".create_lnk('`IBestpreis`0','expedition.php?op=give_medal3&char='.$row['acctid'].'&medal=1')." Eine Auszeichnung für leistungsfähige Rekruten 3
".create_lnk('`IVerwundetenmedaille`0','expedition.php?op=give_medal3&char='.$row['acctid'].'&medal=2')." Eine Anerkennung für Kämpfer, die in der Schlacht schwer verwundet wurden 6
".create_lnk('`IBronzenes Ehrenkreuz`0','expedition.php?op=give_medal3&char='.$row['acctid'].'&medal=3')." Ein Orden für treue Dienste in der Bürgerwehr 9
".create_lnk('`ISilbernes Ehrenkreuz`0','expedition.php?op=give_medal3&char='.$row['acctid'].'&medal=4')." Ein Orden für besonders treue Dienste in der Bürgerwehr 12
".create_lnk('`IGoldenes Ehrenkreuz`0','expedition.php?op=give_medal3&char='.$row['acctid'].'&medal=5')." Ein Orden für aufopfernde Dienste in der Bürgerwehr 15
".create_lnk('`ITapferkeitsmedaille`0','expedition.php?op=give_medal3&char='.$row['acctid'].'&medal=6')." Die Medaille für höchste Tapferkeit im Kampf 18
".create_lnk('`IEhrenmedaille`0','expedition.php?op=give_medal3&char='.$row['acctid'].'&medal=7')." Eine Auszeichnung für Krieger, die höchste Ehren erlangt haben. 21
".create_lnk('`IVerdienstorden der Bürgerwehr`0','expedition.php?op=give_medal3&char='.$row['acctid'].'&medal=8')." Die höchste Auszeichnung der Bürgerwehr 24
"); addnav("Zurück","expedition.php?op=milplace"); break; } case 'give_medal3' : //Orden verleihen abschließen { page_header('Expedition in die dunklen Lande - Antreteplatz'); $char=$_GET['char']; $sql = "SELECT name,acctid FROM accounts WHERE acctid=".$char; $result = db_query($sql); $row = db_fetch_assoc($result); $medal=$_GET['medal']; $pointsleft=getsetting("DDL-medal","0"); if ($pointsleft>=($medal*3)) { switch ($medal) { case 1 : $mname='`IBestpreis`0'; $msg='`0Eine Auszeichnung für leistungsfähige Rekruten. '; break; case 2 : $mname='`IVerwundetenmedaille`0'; $msg='`0Eine Anerkennung für Kämpfer, die in der Schlacht schwer verwundet wurden. '; break; case 3 : $mname='`IBronzenes Ehrenkreuz`0'; $msg='`0Ein Orden für treue Dienste in der Bürgerwehr. '; break; case 4 : $mname='`ISilbernes Ehrenkreuz`0'; $msg='`0Ein Orden für besonders treue Dienste in der Bürgerwehr. '; break; case 5 : $mname='`IGoldenes Ehrenkreuz`0'; $msg='`0Ein Orden für aufopfernde Dienste in der Bürgerwehr. '; break; case 6 : $mname='`ITapferkeitsmedaille`0'; $msg='`0Die Medaille für höchste Tapferkeit im Kampf. '; break; case 7 : $mname='`IEhrenmedaille`0'; $msg='Eine Auszeichnung für Krieger, die höchste Ehren erlangt haben. '; break; case 8 : $mname='`IVerdienstorden der Bürgerwehr`0'; $msg='Die höchste Auszeichnung der Bürgerwehr. '; break; } $msg.='`IVerliehen an '.$row['name']; $value=$medal*500; $item['tpl_name'] = $mname; $item['tpl_description'] = $msg; $item['tpl_gold'] = $value; item_add($row['acctid'],'medal',$item); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_mil',".$session['user']['acctid'].",': `^verleiht `^".$row['name']."`^ die Auszeichnung `#".$mname.".`0')"; db_query($sql); addnews_ddl($session['user']['name']." `Ihat heute `0".$row['name']." `Idie Auszeichnung `0".$mname."`I verliehen!"); output($mname.' `Iwurde soeben an `0'.$row['name'].' `Iverliehen.'); $cost=$medal*3; $pointsleft-=$cost; savesetting("DDL-medal",$pointsleft); } else { output('`qZu wenig Punkte für diese Medaille!'); } addnav("Zurück","expedition.php?op=milplace"); break; } case 'mytent' : //RPG: eigenes Zelt { $session['user']['ddl_location'] = 10; $sql = "SELECT login FROM accounts JOIN account_extra_info ON accounts.acctid=account_extra_info.DDL_tent WHERE account_extra_info.acctid=".$session['user']['acctid']; $result = db_query($sql); page_header('Expedition in die dunklen Lande - Privatzelt'); $account=$session['user']['acctid']; output('`c`b`IDein Zelt`0`b`c`nDu gelangst zu deinem Zelt, das ebenso klein und eng ist, wie das der anderen Teilnehmer. Hierhin kannst du dich zurückziehen, falls du etwas Ruhe benötigst oder dich etwas von der anstrengenden Expedition ausruhen möchtest. Dein Hab und Gut hast du gerade so in das kleine Zelte bekommen, sodass du kaum Platz zum Schlafen hast. Stehen ist ebenso nicht möglich, da du dir eine Beule an den viel zu tiefen Stangen holen würdest. Allerdings wird es für kurze Zeit sicherlich gehen, dass du dich in deinem Zelt so klein machst, dass noch eine weitere Person hinein passt.`n`n'); if (db_num_rows($result)>0) { $row = db_fetch_assoc($result); output('`IDu hast `0'.$row['login'].'`I in dein Zelt eingeladen.`n`n'); $visitor=1; } $room='tent'.$account; viewcommentary($room,'Flüstern',25,"flüstert"); addnav('Aktion'); addnav('Aufräumen','expedition.php?op=sauber&where='.$room); addnav('Unterredung'); addnav('Jemanden einladen','expedition.php?op=invite'); if ($visitor==1) { addnav('Rauswerfen','expedition.php?op=invitationend'); } addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'sauber' : //eigenes Zelt aufräumen { $room=$_GET['where']; $roomcopy=$room.'copy'; $sql = "UPDATE commentary SET section='$roomcopy' WHERE section='$room'"; db_query($sql); redirect('expedition.php?op=mytent'); break; } case 'othertent' : //RPG: fremdes Privatzelt { $session['user']['ddl_location'] = 10; page_header('Expedition in die dunklen Lande - Privatzelt'); $account=$_GET['who']; $sql = "SELECT login,sex FROM accounts WHERE acctid=".$account; $result = db_query($sql); $row = db_fetch_assoc($result); output('`IDu schlägst die Plane auf Seite und krabbelst zu `0'.$row['login'].' `Iin '.($row['sex']?"ihr ":"sein ").'Zelt. Ihr müsst euch ziemlich eng aneinander kuscheln, da das Zelt eigentlich nur für eine Person ausgelegt ist. Auch solltet ihr eure Stimmen mäßigen, da die Zeltplane dünn ist und es draußen nur so vor neugierigen Ohren wimmelt.`n`n'); viewcommentary('tent'.$account,'Flüstern',25,"flüstert"); addnav('Zum Zeltlager','expedition.php'); break; } case 'invite' : //Einladung ins Privatzelt { page_header('Expedition in die dunklen Lande - Privatzelt'); output("`IDu kannst einen Expeditionsteilnehmer in dein Zelt einladen. Sollte bereits jemand anderes eine Einladung von dir erhalten haben, so wird diese automatisch zurück genommen.`n`n"); if ($_GET['who']=="") { output("`&Wen willst du einladen?`n`0"); if ($_GET['subop']!="search") { output("
",true); output(focus_form_element('name')); addnav("","expedition.php?op=invite&subop=search"); } else { addnav("Neue Suche","expedition.php?op=invite"); $search = str_create_search_string($_POST['name']); $sql = "SELECT acctid,name,alive,login, IF(".user_get_online().",'`@Online`0','`4Offline`0') AS loggedin FROM accounts JOIN account_extra_info USING(acctid) WHERE (name LIKE '".$search."' and expedition>0) ORDER BY login='".db_real_escape_string($_POST['name'])."' DESC, login ASC"; $result = db_query($sql); $max = db_num_rows($result); $str_output.=""; for ($i=0; $i<$max; $i++) { $row = db_fetch_assoc($result); $str_output.=""; addnav("","expedition.php?op=invite&who=".$row['acctid']); } output($str_output."
Name Status
$row[name] ".$row['loggedin']." / ".($row['alive']?'`@lebt':'`$tot')."`0
",true); } } else { $sql = "SELECT acctid,name,login FROM accounts WHERE acctid=\"$_GET[who]\""; $result = db_query($sql); $row = db_fetch_assoc($result); output("`IMöchtest du `0".$row['name']." `Izu einer privaten Unterredung in dein Zelt bitten?`n`n`n"); addnav('Ja','expedition.php?op=invite2&who='.$row['acctid']); addnav('Nein'); addnav('Neue Suche','expedition.php?op=invite'); } addnav('Zurück','expedition.php?op=mytent'); break; } case 'invite2' : //Einladung abschließen { page_header('Expedition in die dunklen Lande - Privatzelt'); $sql = "SELECT acctid,name,login,sex FROM accounts WHERE acctid=\"$_GET[who]\""; $result = db_query($sql); $row = db_fetch_assoc($result); output('`IAlles klar! `0'.$row['name'].' `Ierhält eine Einladung in dein Zelt!`n`n'); $sql = 'UPDATE account_extra_info SET DDL_tent='.$row['acctid'].' WHERE acctid='.$session['user']['acctid']; db_query($sql); systemmail($row['acctid'],"`%DDL : `IEinladung ins Zelt von `0".$session['user']['login']."`I!","`I{$session['user']['name']} `I wünscht dich in ".($row['sex']?"ihrem ":"seinem ")." Zelt zu sprechen - unverzüglich und allein..."); addnav('Zurück','expedition.php?op=mytent'); break; } case 'invitationend' : //Einladung beenden (Rauswurf) { $sql = "UPDATE account_extra_info SET DDL_tent=0 WHERE acctid=".$session['user']['acctid'].""; db_query($sql); redirect('expedition.php?op=mytent'); break; } case 'guards' : //Lagerwache Hauptraum { $session['user']['ddl_location'] = 5; page_header('Expedition in die dunklen Lande - Lagerwache'); output('`c`b`IDie Lagerwache`0`b`c`n`IHier kannst du Informationen und Neuigkeiten über Feindkontakt in den Dunklen Landen erfahren.`n`n'); switch ($session['user']['profession']) { case 41 : output('`0Du betrittst das Zelt der Wache. Kaum einen Schritt kannst du in den Raum hinein setzen, als man dir schon einen Eimer und einen Putzlappen in die Hand drückt. Missmutig bringst du das Zelt in Ordung und hast nun eine kleine Pause, bevor dich dein Ausbilder aufs neue quälen wird.`n`n'); break; case 42 : output('`0Du betrittst das Zelt der Lagerwache. Dein ausbildender Sergeant blickt dich streng an und deutet wortlos auf die Waffen und Rüstungsteile, die wohl dir gehören und dringed der Reinigung und Pflege bedürfen. Alibimäßig machst du dich an die Arbeit um dann kurze Zeit später wieder etwas anderes zu tun.`n`n'); break; case 43 : output('`0Als du das Zelt der Lagerwache betrittst, siehst du wie einige der Soldaten fröhlich plaudernd Karten spielen. Du erkennst einige gute Freunde unter ihnen wieder, und einer rückt auf Seite um einen weiteren Stuhl heranzuziehen. Sie winken dir zu am Spiel teilzunehmen.`n`n'); break; case 44 : output('`0Als du das Zelt der Wache betrittst, findest du die Soldaten in unterschiedlichen Beschäftigungen vor. Dein Sergeant erhebt sich und geht auf dich zu.`n"`@Alles klar soweit! Die Rekruten geben ein gutes Bild ab und die Moral ist auch nicht zu beklagen. Sind halt nur alle etwas nervös wegen der ganzen Sache mit den dunklen Kreaturen.`2" sagt er dir und nach einer kurzen Unterhaltung geht er zurück an seine Arbeit.`n`n'); break; case 45 : output('`0Als du das Zelt der Lagerwache betrittst, siehst du die Soldaten, wie sie mehr oder weniger sinnvollen Beschäftigungen nachgehen. Kaum einer würdigt dich eines Blickes, und jene, die es tun, nicken dir nur knapp zu. Du glaubst, dass sie hinter deinem Rücken über dich reden.`n`n'); break; case 46 : output('`0Als du dich in das Zelt der Lagerwache begibst, siehst du die Soldaten, wie sie ihre Waffen putzen, Kartenspielen und ausgelassen tratschen.`nEiner ruft dir zu : "`@Tach, '.($session['user']['sex']?"Frau":"Herr").' Leutnant!`2" und gibt dir einen militärischen Gruß. Danach geht er wieder seiner Beschäftigung nach.`n`n'); break; case 47 : output('`0Als du das Zelt der Lagerwache betrittst, siehst du die Soldaten, wie sie ihre Waffen putzen, Kartenspielen und ausgelassen tratschen.`nEiner ruft im halblauten Ton : "`@Offizier anwesend!`2" und die anderen erheben sich kurz und salutieren vor dir. Danach geht jeder wieder seiner Beschäftigung nach.`n`n'); break; case 48 : output('`0Als du das Zelt der betrittst, findest du einige der Soldaten vor, wie sie ihre Waffen putzen, sowie andere beim Kartenspielen und tratschen.`nNach einem kurzen Moment ruft einer : "`@Achtung!`2" und die Soldaten erheben sich und nehmen Haltung an. Dir wird die Lage gemeldet, und danach geht jeder wieder seiner Beschäftigung nach.`n`n'); break; case 49 : output('`0Als du das Zelt der Lagerwache betrittst, siehst du, wie einige deiner Soldaten ihre Waffen putzen, andere über Lageplänen brüten und wieder andere mit Kartenspielen beschäftigt sind.`nSofort brüllt einer laut : "`@Aaaaachtung!`2" und jeder lässt augenblicklich alles fallen, was er gerade in Händen hält und nimmt Haltung an. Dir wird die Lage gemeldet und alle blicken dich erwartungsvoll an.`n`n'); break; default : output('`0 Im Zelt der Lagerwache triffst du besonders viele ehrenwerte Mitglieder der Bürgerwehr, zu der du nur allzu gern gehören würdest. Alle möglichen "Zivilisten" berichten hier eifrig von ihren Erfolgen über die Kämpfer der Dunklen Lande um möglichst schnell einen hohen Rang zu bekommen. Doch die Anführer der Bürgerwehr scheinen sich daran keinesfalls zu stören, beziehungsweise dies zu beachten. Sie diskutieren nur die neusten Strategien und setzen auf einer großen Karte auf dem Tisch kleine Figuren hin und her. Was das bedeutet, findest du sicher nur heraus, wenn du genug Krieger besiegt hast und das bereit bist, das Lager zu verteidigen.`n`n'); break; } require_once(LIB_PATH.'board.lib.php'); $session['user']['ddl_location'] = 2; page_header('Expedition in die dunklen Lande - Expeditionsleiter / Rekrutierungsliste'); if($_GET['board_action'] == 'add') { board_add('expi_guard'); } $int_del = ($access_control->su_check(access_control::SU_RIGHT_EXPEDITION_ADMIN) ? 2 : 1); board_view('expi_guard',$int_del,'`0Folgende Botschaften wurden von der Expeditionsleitung hier verkündet:','Es wurden noch keine Botschaften verkündet!',true,true); if($session['user']['profession'] == PROF_DDL_COLONEL || $int_del == 2) { output('`n`n`0Möchtest du etwas Wichtiges kundtun? Dann verfasse eine Nachricht und häng sie hier auf:'); board_view_form('Vorschlagen!',''); } output('`n`n'); viewcommentary('expedition_guards','Melden',25,"meldet"); addnav('Information'); addnav('Befehle','expedition.php?op=explain_orders'); addnav('Über den Kampf','expedition.php?op=about_battle'); addnav('Mein Rang','expedition.php?op=myrank'); addnav('Bürgerwehr'); addnav('Neuigkeiten','expedition.php?op=news'); addnav('Mitglieder','expedition.php?op=ranks'); if (($session['user']['profession']>40 && $session['user']['profession']<50) || ($session['user']['superuser']>0)) { addnav('Taktik'); addnav('Lagebericht','expedition.php?op=tactics'); } addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=5&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'explain_orders' : //Lagerwache: Übersicht Tagesbefehle { $session['user']['ddl_location'] = 5; page_header('Expedition in die dunklen Lande - Lagerwache'); output('`c`b`IDie Tagesbefehle`0`b`c`n`n `0Wird der Befehl `&"Warten auf Weiteres!" `0ausgegeben, so hat dies keine Konsequenzen.`n`n `0Lautet der Tagesbefehl `^"Angriff!"`0, so besteht die Möglichkeit, durch erfolgreiche Kämpfe in der Einöde, die Situation des Lagers zum Positiven zu verändern.`n`n `0Sollte der Befehl `4"Stellungen halten!"`0 gegeben sein, so sind Feinde auf dem Vormarsch. Nur durch erfolgreiche Kämpfe in der Einöde lässt sich nun verhindern, dass das Lager in Bedrängnis gebracht wird.`0'); addnav('Zurück','expedition.php?op=guards'); break; } case 'news' : //Lagerwache: News { $session['user']['ddl_location'] = 5; page_header('Expedition in die dunklen Lande - Lagerwache'); $newsperpage=30; if ($access_control->su_check(access_control::SU_RIGHT_EXPEDITION)) { output("`0
",true); output("[Admin] Meldung manuell eingeben? ",true); output("`n`n",true); addnav("","expedition.php?op=news"); if ($_POST['meldung']) { $sql = "INSERT INTO ddlnews(newstext,newsdate,accountid) VALUES ('".addslashes($_POST['meldung'])."',NOW(),0)"; db_query($sql); $_POST['meldung']=""; } addnav("","expedition.php?op=news"); } addnav("Zurück","expedition.php?op=guards"); addnav("Blättern"); $offset = (int)$_GET['offset']; $timestamp=strtotime((0-$offset)." days"); $sql = "SELECT count(*) AS c FROM ddlnews WHERE newsdate='".date("Y-m-d",$timestamp)."'"; $result = db_query($sql); $row = db_fetch_assoc($result); $totaltoday=$row['c']; $pageoffset = (int)$_GET['page']; if ($pageoffset>0) { $pageoffset--; } $pageoffset*=$newsperpage; $sql = "SELECT * FROM ddlnews WHERE newsdate='".date("Y-m-d",$timestamp)."' ORDER BY newsid DESC LIMIT $pageoffset,$newsperpage"; $result = db_query($sql); $date=strftime("%A, %e. %B",$timestamp); output("`c`b`0Neuigkeiten bei der Expedition am $date".($totaltoday>$newsperpage?" (Meldungen ".($pageoffset+1)." - ".min($pageoffset+$newsperpage,$totaltoday)." von $totaltoday)":"")."`c`b`0`n"); for ($i=0; $isu_check(access_control::SU_RIGHT_EXPEDITION)) { output("[ Del ] ",true); addnav("","superuser.php?op=newsdelete2&newsid=$row[newsid]&return=".URLEncode($_SERVER['REQUEST_URI'])); } output("$row[newstext]`n"); } if (db_num_rows($result)==0) { output("`c`I-=-`y=-=`I-=-`y=-=`I-=-`y=-=`I-=-`y`c"); output("`b`c`I Bislang nichts neues. Ein ruhiger Tag. `c`b`0"); } output("`c`I-=-`y=-=`I-=-`y=-=`I-=-`y=-=`I-=-`y`c"); if ($totaltoday>$newsperpage) { addnav("Heutige Meldungen"); for ($i=0; $i<$totaltoday; $i+=$newsperpage) { addnav("Seite ".($i/$newsperpage+1),"expedition.php?op=news&offset=$offset&page=".($i/$newsperpage+1)); } } addnav("Vorherige Meldungen","expedition.php?op=news&offset=".($offset+1)); if ($offset>0) { addnav("Nächste Meldungen","expedition.php?op=news&offset=".($offset-1)); } break; } case 'about_battle' : //Lagerwache: Info: Über den Kampf { $session['user']['ddl_location'] = 5; page_header('Expedition in die dunklen Lande - Lagerwache'); output('`c`b`IDie Tagesbefehle`0`b`c`nIn der `qEinöde`0 hast du die Möglichkeit, dein Lager gegen annähernden Feind zu schützen oder neues Territorium zu erobern.`n Über den `qFeind`0 ist nicht viel bekannt. Es handelt sich um eine in Kasten gegliederte Kriegerrasse, die stets plötzlich und in großer Zahl angreift.`nDabei tragen diese Wesen `qkeinerlei Rüstung`0, sind sie doch durch eine natürliche, dick ledrige Haut geschützt.`n Als `qWaffe`0 verwenden sie ihre bloßen Fäuste, mit gefährlichen Stacheln versehene Kampfhandschuhe, Speere oder Schwerter.`n`n Sie haben die Eigenart `qWunden`0 zu schlagen, die nur sehr schwer zu behandeln sind.`n Gegen eine derartige Verletzung hilft nur ein Besuch beim `qLagerarzt`0, der `qeinmal pro Tag`0 eine leichte Wunde heilen kann.`nMit einer `qkleinen Wunde`0 wird es noch möglich sein, in der Einöde zu kämpfen, doch mit `qvier`0 dieser Verletzungen, ebenso wie mit einer `qschweren Verwundung`0, welche fünf kleinen Wunden entspricht, ist dies ausgeschlossen.`n`n Eine `qNiederlage im Kampf`0 bedeutet nicht gleich das Ende, da unsere Feldsanitäter den Schwerverletzten sofort aus dem Gefahrengebiet schaffen und versorgen.`n Auch bei einem `qSieg`0 gegen deine Widersacher kannst du leichte Verletzungen davon tragen.`n`n Doch ganz gleich was dir auf der Expedition passiert, es wird dein Leben bei der Rückkehr nach '.getsetting('townname','Atrahor').' kaum beeinträchtigen.`n Auch so schwer verletzt, dass du nicht mehr in der Einöde kämpfen kannst, wirst du immer noch Heldentat vollbringen können. Dazu heilt der Lagerarzt auch die Lebenskraft komplett.`n'); addnav("Zurück","expedition.php?op=guards"); break; } case 'ranks' : //Lagerwache: Info: Mitglieder mit Rängen { $session['user']['ddl_location'] = 5; page_header('Expedition in die dunklen Lande - Lagerwache'); output('`c`IFolgende Helden haben durch tapferen Einsatz im Kampf einen Rang in der Bürgerwehr erhalten :`0`c`n`n'); $sql = "SELECT acctid,name,level,dragonkills,sex,profession, IF(".user_get_online().",'`@Online`0','`4Offline`0') AS loggedin FROM accounts WHERE expedition!=0 AND profession>40 AND profession <50 ORDER BY profession DESC,dragonkills DESC, level DESC LIMIT 50"; $result = db_query($sql); $str_output.=""; $max = db_num_rows($result); for ($i=0; $i<$max; $i++) { $row = db_fetch_assoc($result); $rank=getprofession($row['profession']); $str_output.=""; } output($str_output."
DKs Level Name / Status Rang
 `^$row[dragonkills]`0   `^$row[level]`0   ".jslib_getmenuuserlink( $row, $row, true )."`0  ".($row['sex']?"":"")."  ".$row['loggedin']."   `^".$rank."`0 
",true); jslib_initmenu(); addnav("Zurück","expedition.php?op=guards"); break; } case 'myrank' : //Lagerwache: Info: eigener Rang { $session['user']['ddl_location'] = 5; page_header('Expedition in die dunklen Lande - Lagerwache'); output('`0Du ziehst einen Feldwebel auf Seite und fragst ihn, was er denn so von dir und deinem Rang hält.`n`n `Q"Soso"`0, brummt er,'); switch ($session['user']['profession']) { case 41 : output('`Q"Du bistn Rekrut... Tut mir echt leid. Musst dich von jedem rumscheuchen lassen, hast überhaupt nichts zu sagen und musst für alle die Drecksarbeit erledigen. Und dann ist da noch die Ausbildung... Oh je, wenn ich an meine Zeit zurückdenke, dann wird mir Angst und Bange.`nUnd jetzt geh zurück an die Arbeit und polier die Rüstungen! Ich kontrolliere das gleich..."`n`n'); break; case 42 : output('`Q"Dem Corporal ist wohl langweilig. Dein Job hier ist es den Sergeants beim Terror... äh... beim Ausbilden der Rekruten zu helfen, zu sagen hast du den Frischlingen allerdings nichts. Aber wenn dich das nicht auslastet, dann gibt es auch noch ein paar Schwerter, die unbedingt geschärft werden müssen. Natürlich hast du auch ein wenig Zeit um dich beim Kartenspiel zu entspannen."`n`n'); break; case 43 : output('`Q"Ein Sergeant in der Pause. Du bist mit der Ausbildung der Rekruten betraut, sowie mit der Weiterbildung der Corporals. Beide kannst du rumscheuchen, wie du es willst. Den Zivilisten hast du jedoch nichts zu sagen. Und wenn du mal nicht mit der Ausbildung beschäftigt bist, dann nimmt man dich auch gern für unliebsame Wachschichten her. Oh, ich glaube da hinten stehen ein paar Rekruten rum und haben nichts zu tun... Los, los, oder willst du das tollerieren ?"`n`n'); break; case 44 : output('`Q"Du bistn Feldwebel, so wie ich. Tja... unser Job ist es Fragen aller Art zu beantworten und zu schauen ob die Sergeants unsre neuen Rekruten nicht rumgammeln lassen. Wir können Sergeants, Corporals und Rekruten Befehle erteilen, von Zivilisten haben wir die Finger zu lassen. Schade eigentlich, aber da kann man nix machen. Soweit alles klar?"`n`n'); break; case 45 : output('`Q"Ein Fähnrich! Haha, armes Schwein! Möchte nicht in deiner Haut stecken, denn du hast die Pflichten eines Offiziers und die Rechte eines Rekruten. Zwar kannst du Rekruten, Corporals und Sergeants Befehle erteilen, aber dazu musst du erstmal kommen! Der Fähnricht muss so ziemlich alles tun, wovor sich die Offiziere gern drücken, weil es einfach lästig ist. Noch Fragen?"`n`n'); break; case 46 : output('`Q"Ihr seid Leutnant, ein frisch gebackener Offizier. Seid froh, denn Ihr habt die schlimmste Zeit hinter Euch gebracht, ab sofort kann es nur besser werden. Als Leutnant seid Ihr Stellvertreter für alles und jeden, und wenn über euch niemand mehr ist, so könnt ihr sogar mit der Führung des ganzen Lagers betraut werden. Seid Euch also Eurer Position bewusst und macht ihr alle Ehre!`nBefehlen könnt ihr über Rekruten, Corporals, Sergeants, Feldwebel und Fänriche."`n`n'); break; case 47 : output('`Q"Hauptmann! Freut mich, dass Ihr meinen Rat sucht! Ihr seid vollwertiger Offizier und angesehenes Mitglied der Bürgerwehr. Ihr habt voll Befehlsgewalt über Rekruten, Corporals, Sergeants, Feldwebel, Fänriche und Leutnants. Auch liegt es an Euch neu eingtroffene Zivilisten im Lager herumzuführen und ihnen alles zu zeigen. Zu befehlen habt Ihr ihnen leider dennoch nichts."`n`n'); break; case 48 : output('`Q"Als Major habt Ihr volle Befehlsgewalt über Rekruten, Corporals, Sergeants, Feldwebel, Fähnriche, sowie über die Leutnants und Hauptleute und sogar die Zivilisten! Ihr könnt Beförderungen und Degradierungen durchführen, jedoch nicht, wenn es Offiziere betrifft. Über Euch steht nur noch der Rang Oberst, dem gegenüber Ihr zu Gehorsam verpflichtet seit."`n`n'); break; case 49 : output('`Q"Ihr seid Oberst und habt Euer Laufbahnziel hier erreicht. Als quasi Chef der Lagerwache habt Ihr Befehlgewalt über alle anderen Ränge und die Zivilisten, und könnt bis hin zum Rang des Majors Beförderungen und Degradierungen durchführen. Doch seid vorsichtig mit den Beförderungen. Denn wen wollt Ihr noch herumscheuchen, wenn es hier nur Häuptlinge gibt?"`n`n'); break; default : output('`Q"Du bistn Zivilist. Tolle Sache. Zwar kann dir außer jemandem im Rang Major oder Oberst keiner hier groß was befehlen, jedoch bist du auch ein ziemlicher Außenseiter, was die Wache hier betrifft. Pass bloss auf, dass man dich nicht zum Rekruten macht, dann dann haste ausgelacht!`n`n'); break; } addnav("Zurück","expedition.php?op=guards"); break; } case 'tactics' : //Lagerwache: Info: Lagebericht { $session['user']['ddl_location'] = 5; page_header('Expedition in die dunklen Lande - Lagerwache'); output('`c`b`ILagebericht`0`b`c`nDu begibst dich zu den Lageplänen und Karten, um dir einen groben Überblick über die Situation zu verschaffen.`n`nZur Zeit sieht es folgendermaßen aus :`n Die aktuelle Tagesorder ist `I'.getsetting("DDL_act_order","0").'`0 Tage alt und wird vorraussichtlich bis zum `I'.getsetting("DDL_new_order",3).'.`0 Tag beibehalten.`n Der taktische Fortschritt unserer Kämpfer liegt derzeit bei `I'.getsetting("DDL-balance","0").'`0.`n Vorhaben wie "Angriff" oder "Stellungen halten" gelingen bei einem taktischen Fortschritt von mindestens `I'.getsetting("DDL_balance_win",25).'`0 und scheitern bei `I'.getsetting("DDL_balance_lose",-10).'`0.`n Bei "Warten auf Weiteres" erhöht ein Fortschritt von mindestens `I'.getsetting("DDL_balance_push",40).'`0 die Chance auf einen "Angriff" bei Ausgabe der nächsten Order.`n Ein Fortschritt von `I'.(getsetting("DDL_balance_lose",-10)*2).'`0 oder weniger verschiebt die Tendenz zu "Stellungen halten".`n Jeden Tag verschlechtert sich die Lage um `I'.getsetting("DDL_balance_malus",5).'`0.`n`n'); addnav('Zurück','expedition.php?op=guards'); break; } case 'fight' : //Kampf { page_header('Expedition in die dunklen Lande - Kampf'); $battle = true; break; } case 'wastes' : //RPG mit Kampf: Einöde { $session['user']['ddl_location'] = 7; page_header('Expedition in die dunklen Lande - Einöde'); $sql = "SELECT wounds FROM account_extra_info WHERE acctid=".$session['user']['acctid'].""; $result = db_query($sql); $row = db_fetch_assoc($result); if($row['wounds']>3 && $session['user']['superuser']==0) // Keine Aktionen bei Verletzung { output('`QDeine Verletzungen sind zu stark, du musst dich aus diesem gefährlichen Gebiet zurückziehen.`nSuche den Lagerarzt auf und lass dich behandeln!`n(Du kannst hier noch dein Play beenden, weitere Aktionen sind aber nicht möglich)`n'); $session['user']['ddl_location'] = 0; viewcommentary('expedition_wastes','Röcheln',25,"röchelt"); } else { output('`c`b`IDie Einöde`0`b`c`nImmer weiter entfernst du dich vom Zeltlager und versuchst in der Ferne das Dorf zu erspähen. Doch du siehst es nicht, genauso wenig wie du etwas anderes siehst. Vereinzelt stehen hier und da halb verdorrte Sträucher mitten in der Landschaft. Hier fühlst du dich vollkommen ausgeliefert, denn auf der weiten Ebene kann man alles sehr gut einsehen und Verstecke gibt es kaum.`n`n'); $xstate = getsetting("DDL-state",6); if ($xstate<11) { // Anzahl Anwesender ermitteln $sql = "SELECT acctid FROM accounts WHERE DDL_location=7"; $result2 = db_query($sql); $fighters = db_num_rows($result2); $DDL_opps=getsetting("DDL_opps","0"); // Kommentaraktion von hier nach chat_specials/expedition_wastes.php verlagert output('`4Anwesende: '.$fighters.'`n'); if ($DDL_opps>0) { // output('`$Anzahl der Gegner: '.$DDL_opps.'`n'); addnav('Kämpfen','expedition.php?op=opponent'); } else { // output('`$Posts bis Erscheinen der nächsten Gegnergruppe: '.($amount_req-$amount).'`n`n`&'); } } viewcommentary('expedition_wastes','Sagen',25,"sagt"); } addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=7&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } case 'opponent' : //Gegner erstellen { //auf vielfachen Wunsch stärke der Gegner reduziert. Originalwerte stehen als Kommentar dahinter $session['user']['ddl_location'] = 7; $opponent=e_rand(1,8); if ($opponent<=3) { $name="Späher aus den Dunklen Landen"; $weapon="Fäuste"; $atk=0.7; $def=0.8; //.85 $hp=0.65; //.7 } else if ($opponent>3 && $opponent<=5) { $name="Plünderer aus den Dunklen Landen"; $weapon="Klauenhandschuhe"; $atk=0.8; //.85 $def=0.85; //.9 $hp=0.75; } else if ($opponent>5 && $opponent<=7) { $name="Soldat aus den Dunklen Landen"; $weapon="Kristallspeer"; $atk=1.1; //1.2 $def=1; $hp=0.8; } else if ($opponent==8) { $name="Kommandant aus den Dunklen Landen"; $weapon="Schattenklinge"; $atk=1.2; //1.4 $def=1.1; //1.3 $hp=0.9; } $badguy = array("creaturename"=>$name ,"creaturelevel"=>$session['user']['level'] ,"creatureweapon"=>$weapon ,"creatureattack"=>$session['user']['attack']*$atk ,"creaturedefense"=>$session['user']['defence']*$def ,"creaturehealth"=>$session['user']['maxhitpoints']*$hp ,"diddamage"=>0); $session['user']['badguy']=createstring($badguy); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes',".$session['user']['acctid'].",': `&stellt sich `^".$badguy['creaturename']."`& entgegen.`0')"; db_query($sql); redirect("expedition.php?op=fight"); break; } case 'risestate' : //MOD-Aktion: Zustand erhöhen { $state = getsetting("DDL-state",6); $newstate=$state+=1; if ($newstate>11) { $newstate=11; } savesetting('DDL-state',$newstate); redirect('expedition.php'); break; } case 'lowerstate' : //MOD-Aktion: Zustand senken { $state = getsetting("DDL-state",6); $newstate=$state-=1; if ($newstate<1) { $newstate=1; } savesetting("DDL-state",$newstate); redirect('expedition.php'); break; } case 'order' : //MOD-Aktion: Befehl zum ... { $neworder=$_GET['nbr']; savesetting("DDL-order",$neworder); redirect('expedition.php'); break; } case 'run' : //Kampf: Fliehen { page_header('Expedition in die dunklen Lande - Kampf'); if (e_rand()%3 == 0) { include("battle.php"); addnews_ddl($session['user']['name']." `that heute seine Stellung verlassen und ist feige vor `^".$badguy['creaturename']." `tdavon gelaufen!"); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes',".$session['user']['acctid'].",': `4flüchtet aus der Schlacht!`0')"; db_query($sql); $badguy=array(); $session['user']['badguy']=""; $balance=getsetting("DDL-balance","0"); $balance_lose=getsetting("DDL_balance_lose",-6); $balance-=3; savesetting("DDL-balance",$balance); $order=getsetting("DDL-order",2); if ($balance<=$balance_lose && $order==1) { output('`4`n`nDie Verteidigung ist misslungen! Der Feind ist durchgebrochen!`n'); addnews_ddl("`4Heute wurden wir vom Feind zurück gedrängt!`&`n`&Neuer Tagesbefehl : Warten auf Weiteres!`&"); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes','1','/msg `2Unsere Verteidigung wurde überrant! Der Feind ist durchgebrochen.`0')"; db_query($sql); // Rundmail ? savesetting("DDL-balance","0"); savesetting("DDL-order",2); savesetting("DDL_act_order","0"); savesetting("DDL_opps","0"); $state=getsetting("DDL-state",6); $state--; if($state<=1) // Niederlage ? { output('`4`n`nUnser Lager wurde zerstört!`n'); addnews_ddl("`4Flieht um Euer Leben! Unser Lager wurde zerstört!`&"); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes','1','/msg `4Unser Lager wurde vollständig zerstört.`0')"; db_query($sql); } savesetting("DDL-state",$state); savesetting("DDL_opps","0"); } else if ($balance<=$balance_lose && $order==3) { output('`&`n`nUnser Angriff ist gescheitert! Der Feind hat die Stellungen gehalten!`n'); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes','1','/msg `4Unser Angriff wurde abgewehrt!`0')"; db_query($sql); addnews_ddl("`&Heute wurde unser Angriff abgewehrt!`&`n`&Neuer Tagesbefehl : Warten auf Weiteres!`&"); // Rundmail ? savesetting("DDL-balance","0"); savesetting("DDL-order",2); savesetting("DDL_act_order","0"); savesetting("DDL_opps","0"); $state=getsetting("DDL-state",6); } redirect('expedition.php'); } else { output('`c`b`$Dir ist es nicht gelungen, deinem Gegner zu entkommen!`0`b`c'); $battle = true; } break; } case 'lake': //Forscherpfad { $session['user']['ddl_location'] = 12; page_header('Expedition in die dunklen Lande - Forscherpfad'); output(get_extended_text('exp_lake')); viewcommentary('expedition_lake','Das Gelände erkunden:',25,'sagt',false,true,false,true); addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=12&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Zurück'); addnav('Zum Zeltlager','expedition.php'); break; } default : //Expedition Hauptseite { page_header('Expedition in die dunklen Lande - das Zeltlager'); $state = getsetting("DDL-state",6); $order = getsetting("DDL-order",2); $session['user']['ddl_location'] = 1; $sql = "SELECT accounts.acctid,accounts.login FROM account_extra_info JOIN accounts USING (acctid) WHERE DDL_tent=".$session['user']['acctid']; $resultt = db_query($sql); output("`c`b`IDas Zeltlager der Expedition in die dunklen Lande`0`b`c`nNach langem Ritt, weit hinaus - weg von ".getsetting('townname','Atrahor')." - lässt du dich erschöpft vom Rücken des Reittieres gleiten und kommst sanft auf dem Grasboden auf. Du hast die hölzernen Wälle passiert, die von unzähligen Wachtürmen unterbrochen werden, auf denen Soldaten die Ebene nach Feinden ausspähen. Zwei große, hölzerne Tore ermöglichen es den Kriegern, das Lager zu betreten. Ein Knappe eilt herbei und bringt dein Tier zu einem Unterstand. Endlich hast du Zeit, das Zeltlager näher zu erkunden und näherst dich zuerst der Stelle, von der aus du den meisten Lärm vernimmst: dem Gemeinschaftszelt. Auf dem Weg dorthin gehst du an mehreren Zelten vorbei, deren Eingänge jeweils von zwei Wachen umstellt sind. Aus einem hörst du gedämpfte Gespräche, die anscheinend von den Leitern der Expedition stammen und deshalb nicht für deine Ohren bestimmt sind. Aus einem anderen vernimmst du metallisches Klirren, so als würden Waffen und Rüstungen gestapelt werden. Bevor du das größte Zelt erreichst, betrachtest du kurz die Umgebung, in der das Lager errichtet wurde: Die Zelte sind auf einer Seite umgeben von den Steilklippen eines kleinen Gebirges, von denen sich vereinzelt ein Wasserfall seinen Weg zu einem See am Fuße des Felsens sucht. Als du den Blick zur anderen Seite wendest blickst du auf eine scheinbar endlos weite Ebene. Einzelne Bäume kannst du lediglich am Rande des Sees ausmachen. Doch am meisten verwirrt dich der immer wolkenverhangene, dunkle Himmel, der das ganze Land in einen unheimlichen Schatten hüllt...`n`n"); if($state==11) // Feindliches Lager zerstört { output('`^Anders als sonst fallen dir diesmal viele bunte Flaggen auf, die rund um das Lager gehisst wurden. Auch die Wachen haben ihre Posten verlassen, von überall her ist ausgelassener Gesang und euphorisches Jubeln zu hören - `@Ihr habt das feindliche Lager zerstört und den Sieg davon getragen!`n`^Doch schon bald wird der Feind wiederkehren und ein neues Lager errichten...`n`n'); } $w = Weather::get_weather(); output('`IDas Wetter: `y'.$w['name'].'`0.`n'); switch ($order) { case 1 : $otext=' `4Stellungen halten!`0'; break; case 2 : $otext=' `&Warten auf Weiteres!`0'; break; case 3 : $otext=' `^Angriff!`0'; break; } switch ($state) { case 1 : $text='`4Das Lager wurde zerstört und die Expedition ist gescheitert!`0'; break; case 2 : $text='`$Das Lager wird besetzt und steht unter heftigem Abgriff!`0'; break; case 3 : $text='`$Das Lager wird besetzt!`0'; break; case 4 : $text='`^Die dunklen Scharen rücken auf das Lager vor!`0'; break; case 5 : $text='`^Die dunklen Scharen haben die Grenze passiert!`0'; break; case 6 : $text='`@Alles ist ruhig, es gibt keine feindseligen Kräfte in direkter Nähe zum Lager.`0'; break; case 7 : $text='`@Unsere Späher haben die Grenze passiert.`0'; break; case 8 : $text='`#Unsere Kämpfer rücken auf den Posten der dunklen Scharen vor!`0'; break; case 9; $text='`#Unsere Kämpfer belagern den Posten der dunklen Scharen!`0'; break; case 10 : $text='`#Unsere Kämpfer belagern den Posten der dunklen Scharen und greifen an!`0'; break; case 11 : $text='`2Sieg! Der Posten der dunklen Scharen wurde vernichtet!`0'; break; } output('`ILage: `y'.$text.'`n'); output('`ITagesbefehl:`y'.$otext.'`n'); $sql = "SELECT * FROM ddlnews ORDER BY newsid DESC LIMIT 1"; $result = db_query($sql); $rown = db_fetch_assoc($result); output('`n`c`ILetzte Meldung: `y'.$rown['newstext'].'`0`c`n'); addnav('Aktionen'); addnav('Erkundung','expedition.php?op=explore'); addnav('Schatzsuche','expedition.php?op=search'); addnav('Gelände auskundschaften','expedition.php?op=claim'); addnav('Briefe in die Heimat','expedition.php?op=letter'); addnav('Zelte'); addnav('Expeditionsleiter','expedition.php?op=chief'); addnav('Gemeinschaftszelt','expedition.php?op=inn'); addnav('A?LagerArzt','expedition.php?op=doc'); addnav('w?Lagerwache','expedition.php?op=guards'); addnav('Schmiede','expedition.php?op=smith'); addnav('Dein Zelt','expedition.php?op=mytent'); $max = db_num_rows($resultt); if ($max>0) { for ($i=0; $i<$max; $i++) { $rowt = db_fetch_assoc($resultt); addnav($rowt['login'].'\'s Zelt','expedition.php?op=othertent&who='.$rowt['acctid']); } } if ($access_control->su_check(access_control::SU_RIGHT_EXPEDITION_ADMIN)) { addnav('Mod-Aktionen'); addnav('Zustand erhöhen','expedition.php?op=risestate',false,false,false,false); addnav('Zustand senken','expedition.php?op=lowerstate',false,false,false,false); addnav('Befehl zum Angriff','expedition.php?op=order&nbr=3',false,false,false,false); addnav('Befehl zum Nichtstun','expedition.php?op=order&nbr=2',false,false,false,false); addnav('Befehl zur Verteidigung','expedition.php?op=order&nbr=1',false,false,false,false); } addnav('Besondere Orte'); addnav('p?Antreteplatz','expedition.php?op=milplace'); addnav('Q?Heiße Quellen','expedition.php?op=pools'); addnav('Einöde','expedition.php?op=wastes'); addnav('Tropfsteinhöhle','expedition.php?op=cave'); addnav('Forscherpfad','expedition.php?op=lake'); addnav('Wer ist hier?'); addnav('Umsehen','expedition.php?op=whosthere&where=1&ret='.URLEncode($_SERVER['REQUEST_URI'])); addnav('Reisen'); addnav('Zurück nach '.getsetting('townname','Atrahor'),'village.php'); addnav('#?In die Felder (logout)','login.php?op=logout',true); addnav('','user.php'); addnav('','bios.php'); output('`0Du hörst einige der anderen Teilnehmer dieser Expedition schwatzen:`n'); viewcommentary('expedition_main','Mitreden',25); break; } } if ($battle) //Kampf wie überall { $session['user']['ddl_location'] = 7; include("battle.php"); if ($victory) { output("`n`&Du hast `^".$badguy['creaturename']."`& geschlagen.`0"); $DDL_opps=getsetting("DDL_opps","0"); $DDL_opps--; if ($DDL_opps<0) { $DDL_opps=0; } savesetting("DDL_opps","$DDL_opps"); if (e_rand(1,2)==1) { $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes',".$session['user']['acctid'].",': `@hat `^".$badguy['creaturename']."`@ nieder gestreckt.`0')"; } else { $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes',".$session['user']['acctid'].",': `@gelang es, `^".$badguy['creaturename']."`@ in die Flucht zu schlagen.`0')"; } db_query($sql); addnews_ddl($session['user']['name']." `&hat `#".$badguy['creaturename']." `&im Kampf geschlagen.`0"); switch ($badguy['creaturename']) { case 'Kommandant aus den Dunklen Landen' : $points=3; $wounds=2; break; case 'Soldat aus den Dunklen Landen' : $points=2; $wounds=2; break; default : $points=1; $wounds=1; break; } if ($badguy['diddamage']==0) { output('`n`@Perfekter Kampf!`n'); $points*=2; } else { if (e_rand(1,3)==2) { if ($wounds==1) { $attr="leichte "; } output('`n`^Du gewinnst den Kampf, erleidest aber eine '.$attr.'Verwundung!`0`n'); $sql = "SELECT wounds FROM account_extra_info WHERE acctid=".$session['user']['acctid'].""; $result = db_query($sql); $row = db_fetch_assoc($result); $new_wounds=$row['wounds']+$wounds; if ($new_wounds>5) { $new_wounds=5; } $sql = "UPDATE account_extra_info SET wounds=$new_wounds WHERE acctid=".$session['user']['acctid'].""; db_query($sql); if($new_wounds>=4) // 4x klein verletzt { $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes',".$session['user']['acctid'].",': `&wurde im Kampf schwer verwundet und sollte so schnell wie möglich aus dem Kampfgebiet verschwinden.`0')"; db_query($sql); } } } $badguy=array(); $session['user']['badguy']=""; $balance=getsetting("DDL-balance","0"); $order=getsetting("DDL-order",2); $balance_win=getsetting("DDL_balance_win",25); $balance+=$points; savesetting("DDL-balance","$balance"); if ($balance>=$balance_win && $order==3) { output('`&`n`nDer Angriff ist geglückt! Der Feind wurde zurück gedrängt!`n'); addnews_ddl("`@Heute gelang uns bei unserem Angriff ein Vorstoss!`&`n`&Neuer Tagesbefehl : Warten auf Weiteres!`&"); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes','1','/msg `2Unser Angriff war ein Erfolg! Der Feind wurde zurück geworfen.`0')"; db_query($sql); $medalpoints=getsetting("DDL-medal",10); $medalpoints+=2; savesetting("DDL-medal",$medalpoints); // Rundmail ? savesetting("DDL-balance","0"); savesetting("DDL-order",2); savesetting("DDL_act_order","0"); savesetting("DDL_opps","0"); $state=getsetting("DDL-state",6); $state++; if($state>=11) // Sieg ? { output('`&`n`nDer feindliche Posten wurde zerstört!`n'); addnews_ddl("`@Sieg! Der feindliche Posten wurde zerstört!`&"); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes','1','/msg `^Sieg! Des feindliche Posten wurde zerstört. Von überall her erklingen Fanfaren.`0')"; db_query($sql); $medalpoints=getsetting("DDL-medal",10); $medalpoints+=3; savesetting("DDL-medal",$medalpoints); } savesetting("DDL-state",$state); savesetting("DDL_opps","0"); } else if ($balance>=$balance_win && $order==1) { output('`&`n`nDer feindliche Angriff ist gescheitert! Wir haben die Stellungen gehalten!`n'); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes','1','/msg `2Der Angriff des Feindes wurde erfolgreich abgewehrt!`0')"; db_query($sql); addnews_ddl("`@Heute wurde der Angriff des Feindes abgewehrt!`&`n`&Neuer Tagesbefehl : Warten auf Weiteres!`&"); // Rundmail ? savesetting("DDL-balance","0"); savesetting("DDL-order",2); savesetting("DDL_act_order","0"); savesetting("DDL_opps","0"); $state=getsetting("DDL-state",6); } addnav('Weiter','expedition.php?op=wastes'); } else if ($defeat) { output("`n`4Du verlierst den Kampf und wirst schwer verletzt.`0`n`&Als du aus der Ohnmacht erwachst, stellst du fest, dass du dich beim Lagerarzt befindest.`0`n"); if (e_rand(1,2)==1) { $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes',".$session['user']['acctid'].",': `4wird von `^".$badguy['creaturename']."`4 niedergeschmettert und bleibt regungslos liegen.`0')"; } else { $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes',".$session['user']['acctid'].",': `4geht schwer verletzt zu Boden!`0')"; } db_query($sql); $session['user']['hitpoints']=1; addnews_ddl($session['user']['name']." `4wurde heute im Kampf schwer verwundet!`0"); $sql = "UPDATE account_extra_info SET wounds=5 WHERE acctid=".$session['user']['acctid'].""; db_query($sql); $balance=getsetting("DDL-balance","0"); $balance--; savesetting("DDL-balance",$balance); $order=getsetting("DDL-order",2); $balance_lose=getsetting("DDL_balance_lose",-6); if ($balance<=$balance_lose && $order==1) { output('`4`n`nDie Verteidigung ist misslungen! Der Feind ist durchgebrochen!`n'); addnews_ddl("`4Heute wurden wir vom Feind zurück gedrängt!`&`n`&Neuer Tagesbefehl : Warten auf Weiteres!`&"); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes','1','/msg `2Unsere Verteidigung wurde überrant! Der Feind ist durchgebrochen.`0')"; db_query($sql); // Rundmail ? savesetting("DDL-balance","0"); savesetting("DDL-order",2); savesetting("DDL_act_order","0"); savesetting("DDL_opps","0"); $state=getsetting("DDL-state",6); $state--; if($state<=1) // Niederlage ? { output('`4`n`nUnser Lager wurde zerstört!`n'); addnews_ddl("`4Flieht um Euer Leben! Unser Lager wurde zerstört!`&"); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes','1','/msg `4Unser Lager wurde vollständig zerstört.`0')"; db_query($sql); } savesetting("DDL-state",$state); savesetting("DDL_opps","0"); } else if ($balance<=$balance_lose && $order==3) { output('`&`n`nUnser Angriff ist gescheitert! Der Feind hat die Stellungen gehalten!`n'); $sql="INSERT INTO commentary(postdate,section,author,comment) VALUES(now(),'expedition_wastes','1','/msg `4Unser Angriff wurde abgewehrt!`0')"; db_query($sql); addnews_ddl("`@Heute wurde unser Angriff abgewehrt!`&`n`&Neuer Tagesbefehl : Warten auf Weiteres!`&"); // Rundmail ? savesetting("DDL-balance","0"); savesetting("DDL-order",2); savesetting("DDL_act_order","0"); savesetting("DDL_opps","0"); $state=getsetting("DDL-state",6); } addnav('Weiter','expedition.php?op=doc'); } else { fightnav(); } } } page_footer(); ?>