back lässt sich die Navigation vereinfachen define('KINDER',(bool) getsetting("kindermod",false)); // Wenn Kindermod installiert ist bitte in der nhmaster auf aktiv stellen! define('COMMENTARY',(bool) getsetting("commentarymio",false)); class zimmer { // MASTER-KLASSE - NUR VERÄNDERN WENN IHR EUCH WIRKLICH SICHER SEID!!! var $id, $name, $level, $label, $linker, $aktiv; var $gold = 0; var $gems = 0; function einlesen($daten) { $this->id = $daten['zimmerid']; $this->name = $daten['name']; $this->linker = $daten['link']; $this->label = $daten['label']; $this->level = $daten['level']; $this->aktiv = $daten['aktiv']; $this->gold = $daten['gold']; $this->gems = $daten['gems']; if(empty($this->level)) $this->level = 0; } // Ende Funktion function finddata($id) { $sql = "SELECT * FROM `zimmer` WHERE zimmerid = ".$id." LIMIT 1"; $result = db_query($sql) or die(db_error(LINK)); $this->einlesen(db_fetch_assoc($result)); } // Ende Funktion function adminausgabe() { $ausgabe = "
\n"; $ausgabe .= ""; $ausgabe .= "\n"; $ausgabe .= "\n"; $ausgabe .= "\n"; $ausgabe .= "\n"; $ausgabe .= "\n"; $ausgabe .= "\n"; $ausgabe .= "\n"; $ausgabe .= "\n"; $ausgabe .= "\n"; $ausgabe .= "
EigenschaftWert/Inhalt
ID - Unveränderbar!
".$this->id."
Name - Unveränderbar!
".$this->name."
Link
Label
Level
Aktiv
Gold-Baukosten
Gems-Baukosten
\n"; addnav("","nhmaster.php?op=zimmerweiter&zimmer=".$this->id); return $ausgabe; } function speichern() { $sql = "UPDATE `zimmer` SET `link` = '".$_POST['linker']."', `label` = '".$_POST['label']."', `level` = ". ((int) $_POST['level']).", `aktiv` = ".((int) $_POST['aktiv']).", `gold` = ".((int) $_POST['gold']).", `gems` = ". ((int) $_POST['gems']). " WHERE `zimmerid` = ".((int) $_GET['zimmer']); db_query($sql) or die(db_error(LINK)); if($this->aktiv == false && $_POST['aktiv'] == true) $this->installieren(); elseif($this->aktiv == true && $_POST['aktiv'] == false) $this->deinstallieren(); } function installieren($child=false) { if($child == false) { $name = "".$this->name.""; $modul = new $name(); $modul->installieren(true); } } function deinstallieren($child=false) { if($child == false) { $name = "".$this->name.""; $modul = new $name(); $modul->deinstallieren(true); } } } // Ende Klasse class office extends zimmer { // Büro zur Überwachung der Schlüssel etc. // Basismodul! var $back; // Konstruktor function office() { $this->back ="nhouses.php?op=drin&go=".$_GET['go']; switch($_GET['act']) { case "upgrade": $this->upgrade(); break; case "goupgrade": $this->goupgrade(); break; case "takekey": $this->takekey(); break; case "givekey": $this->givekey(); break; case "rename": $this->benennen(); break; case "desc": $this->desc(); break; case "zimmerdrin":$this->zimmerdrin(); break; case "zimmerbau": $this->zimmerbau(); break; case "abbau": $this->abbau(); break; case "verkauf": redirect("nhouses.php?op=verkaufen"); break; default: $this->basis(); } // Ende Switch } // Ende Konstruktor // Methoden function basis() { global $session, $haus; if ($session['user']['acctid']==$haus->besitzerid){ output("`2`b`c".$haus->name."`b, `&ein ".$haus->level->name."`&`n `bDein Arbeitszimmer`b `c`"); output("`@Du gehst in dein Arbeitszimmer. Ein großer Schreibtisch steht inmitten des Raumes. Dahinter ein großer bequemer Sessel.`n"); output("Sogleich setzt du dich hinein, siehst die Post durch und erledigst sonstige Verwaltungangelegenheiten des Hauses`n`n"); output("`b`&Schatzübersicht:`b `^Gold: ".$haus->gold." `2vorhanden, noch Platz für `^".schatz::goldleft()."`2;"); output("`#Edelsteine: ".$haus->gems." `2vorhanden, noch Platz für `#".schatz::gemsleft()."`2`n`n"); output("`2In deinem Haus befinden sich insgesammt `^".count($haus->ausbauten)."`2 zusätzliche Zimmer - auf der aktuellen Stufe kannst du also noch `^"); output($haus->level->zimmer - (count($haus->ausbauten))."`2 weitere Zimmer anbauen. `i`6(".count($haus->ausbauten)." von ".$haus->level->zimmer.")`i`0`n`n"); $chat="Mit deinen Mietern besprechen"; addnav("Das Haus"); addnav("Haus ausbauen",$this->back."&act=upgrade"); addnav("Haus umbenennen",$this->back."&act=rename"); addnav("Beschreibung ändern",$this->back."&act=desc"); addnav("Haus verkaufen",$this->back."&act=verkauf"); addnav("Die Zimmer"); if(count($haus->ausbauten) > 0) addnav("Angebaute Zimmer",$this->back."&act=zimmerdrin"); if(count($haus->ausbauten) < $haus->level->zimmer) addnav("Zimmer anbauen",$this->back."&act=zimmerbau"); addnav("Die Bewohner"); addnav("Einladen",$this->back."&act=givekey"); addnav("n?Herauswerfen",$this->back."&act=takekey"); }else{ output("`2`b`c".$haus->name."`b, `&ein ".$haus->level->name."`&`n `bDas Arbeitszimmer des Hausbesitzers.`b `c`"); output("`@Du gehst in dein Arbeitszimmer. Ein großer Schreibtisch steht inmitten des Raumes. Dahinter ein großer bequemer Sessel.`n"); output("Mit Neid siehst du dich um. Dein Vermieter sitzt auf dem Sessel hinter dem Schreibtisch und sieht von einem Pergament auf, das er gerade gelesen hat"); $chat="Mit dem Hausbesitzer besprechen"; } viewcommentary("office-".$haus->id,"$chat:",30,"meint"); output("`n`n`n
`2`bDie Schlüssel:`b `0
",true); $sql = "SELECT items.*,accounts.acctid AS aid,accounts.name AS besitzer FROM items LEFT JOIN accounts ON accounts.acctid=items.owner WHERE value1=".$haus->id." AND class='Schlüssel' ORDER BY id ASC"; $result = db_query($sql) or die(db_error(LINK)); for ($i=1;$i<=db_num_rows($result);$i++){ $item = db_fetch_assoc($result); if ($item['besitzer']==""){ output("`n`2".$i.": `4`iVerloren`i`0"); }else{ output("`n`2$i: `&".$item['besitzer']."`0"); } if ($item['aid']==$haus->besitzerid) output(" (der Eigentümer) "); if ($item['hvalue']>0 && $item['owner']>0) output(" `ischläft hier`i"); } output("
",true); addnav("Im Haus"); addnav("Zurück zum Flur","nhouses.php?op=drin"); } // Ende Funktion function zimmerdrin() { global $haus; output("`2In deinem Haus befinden sich `^".count($haus->ausbauten)."`2 zusätzliche Zimmer - auf der aktuellen Stufe kannst du also noch `^"); output($haus->level->zimmer - (count($haus->ausbauten))."`2 weitere Zimmer anbauen. `i`6(".count($haus->ausbauten)." von ".$haus->level->zimmer.")`i`0`n"); output("`^Folgende Zimmer sind bereits in diesem Haus gebaut:`0`n`n"); output("",true); foreach($haus->ausbauten as $key=>$val) { $zimmer = new zimmer; $zimmer->finddata($val); $b = ($key%2==0?"trlight":"trdark"); $c = ($key%2==0?"`9":"`^"); output("",true); addnav("",$this->back."&act=abbau&zid=".$zimmer->id); } output("
NrNameAb LevelGoldGemsops
$c".$val."$c".$zimmer->label."$c".$zimmer->level."$c".$zimmer->gold."$c" .$zimmer->gems."entfernen
",true); if(count($haus->ausbauten) < $haus->level->zimmer) addnav("Zimmer anbauen",$this->back."&act=zimmerbau"); addnav("Zurück ins Arbeitszimmer",$this->back); } // Ende Funktion function zimmerbau() { global $haus, $session; if(empty($_GET['bau'])) { $sql = "SELECT * FROM `zimmer` WHERE aktiv = 1 "; for($i=0;$i< count($haus->ausbauten);$i++) { $sql .= "AND `zimmerid` <> ".$haus->ausbauten[$i]." "; } // Ende FOR $result = db_query($sql) or die(db_error(LINK)); if(db_num_rows($result) > 0) { output("`^Folgende Zimmer können noch angebaut werden:`n`n`0"); output("",true); //output("
NrNameGoldGemsOps
",true); for($i=0;$i < db_num_rows($result);$i++) { $row = db_fetch_assoc($result); $zimmer = new zimmer; $zimmer->einlesen($row); $b = ($i%2==0?"trlight":"trdark"); $c = ($i%2==0?"`9":"`^"); output("",true); //output("",true); addnav("",$this->back."&act=zimmerbau&bau=true&zid=".$zimmer->id); } // Ende FOR output("
NrNameOps
$c".$zimmer->id."$c".$zimmer->label."$c".$zimmer->gold."$c".$zimmer->gems."Bau
$c".$zimmer->id."$c".$zimmer->label."Bau
",true); } else { output("Es stehen keine weiteren Ausbauten zur Verfügung."); } // Ende ELSE } else { $zimmer = new zimmer; $zimmer->finddata($_GET['zid']); if($session['user']['gold'] >= $zimmer->gold && $session['user']['gems'] >= $zimmer->gems) { output("`@Du baust das Zimmer ".$zimmer->label." in dein Haus ein!`n"); if($zimmer->gold == 0 && $zimmer->gems == 0) { output("Da dieses Zimmer kostenlos ist, musst du nichts bezahlen!"); } else { output("Dafür bezahlst du `^".$zimmer->gold." Goldstücke`@ und `#".$zimmer->gems." Edelsteine`0`n"); $session['user']['gold'] -= $zimmer->gold; $session['user']['gems'] -= $zimmer->gems; } $haus->ausbauten[(count($haus->ausbauten)+1)] = $zimmer->id; } else { output("`4Du hast leider nicht genügend Gold und/oder Edelsteine, um dieses Zimmer zu bauen!`0"); } // Ende ELSE } // Ende ELSE addnav("Zurück ins Arbeitszimmer",$this->back); } // Ende Funktion function abbau() { global $haus; if(empty($_GET['zid'])) redirect($this->back); if($_GET['validate'] == 'ja') { $zimmer = new zimmer; $zimmer->finddata($_GET['zid']); output("Das Zimmer `#\"".$zimmer->label."\" `6wird nun entfernt."); $key = array_search($_GET['zid'],$haus->ausbauten); unset($haus->ausbauten[$key]); } else { $zimmer = new zimmer; $zimmer->finddata($_GET['zid']); output("`6Möchtest du das Zimmmer `#\"".$zimmer->label."\" `6wirklich aus deinem Haus entfernen? Alle investierten Mittel gehen dann verloren!"); addnav("Aktionen"); addnav("Ja, entfernen!",$this->back."&act=abbau&zid=".$_GET['zid']."&validate=ja"); } addnav("Zurück"); addnav("Arbeitszimmer",$this->back); } // Ende Funktion function desc() { global $haus; if (!$_POST['desc']){ output("`2Hier kannst du die Beschreibung für dein Haus ändern.`n`nDie aktuelle Beschreibung lautet:`0".$haus->text."`0`n"); output("`0
",true); output("`n`2Gebe eine Beschreibung für dein Haus ein:`n`n",true); output("",true); addnav("",$this->back."&act=desc"); }else{ output("`2Die Beschreibung wurde geändert.`n`0".stripslashes($_POST['desc'])."`2."); $haus->text = $_POST['desc']; } addnav("Zurück ins Arbeitszimmer",$this->back); } // Ende Funktion function benennen() { global $session, $haus; if (!$_POST['housename']){ output("`2Das Haus umbenennen kostet `^1000`2 Gold und `#1`2 Edelstein.`n`n"); output("`0",true); output("`nGebe einen neuen Namen für dein Haus ein: `n",true); output("",true); addnav("",$this->back."&act=rename"); }else{ if ($session['user']['gold']<1000 || $session['user']['gems']<1){ output("`2Das kannst du nicht bezahlen."); }else{ output("`2Dein Haus `@".$haus->name."`2 heißt jetzt `@".stripslashes($_POST['housename'])."`2."); $haus->name = $_POST['housename']; $session['user']['gold']-=1000; $session['user']['gems']-=1; } } addnav("Zurück zum Arbeitszimmer",$this->back); } // Ende Funktion function upgrade() { global $session, $haus; output("`c`b`@Hausausbau`b`c`n"); output("`2Dein Haus hat das Level:`$ ".$haus->level->level."`2, damit ist es ein ".$haus->level->name."!`n"); if($haus->level->level < ausbaustufe::levels()) { $next = new ausbaustufe($haus->level->level + 1); output("`6Der nächste Ausbau würde also`$ ".$next->gold."`^ Gold`6 und `$ ".$next->gems." `^Edelsteine`6 kosten.`n"); if($session['user']['gold']>=$next->gold && $session['user']['gems']>=$next->gems) { output("`@Du Hast genug `^Gold `@und `^Edelsteine`@ dabei, um dein Haus auf Stufe`$ ".$next->name." `@auszubauen!"); addnav("Ausbau auf Stufe ".$next->level,$this->back."&act=goupgrade&von=user"); } else { output("`4Aber leider hast du nicht genug dabei."); } if($haus->gold >= $next->gold && $haus->gems >= $next->gems) { output("`n`n`@Des weiteren wären im Haus genügend Goldstücke und Edelsteine, um den Ausbau zu finanzieren.`n"); addnav("Ausbau auf Stufe".$next->level." aus dem Hausschatz",$this->back."&act=goupgrade&von=haus"); } else { output("`n`n`4Des weiteren wären im Haus leider nicht genügend Goldstücke und Edelsteine.`n"); } } else { output("`$ `bDamit hat es bis auf weiteres das maximale Level erreicht!`b"); } addnav("Zurück ins Arbeitszimmer",$this->back); } // Ende Funktion function goupgrade() { global $session, $haus; $next = new ausbaustufe($haus->level->level + 1); $addkeys=$next->keys - $haus->level->keys; output("`9Dein Haus wurde auf die Stufe`$ ".$next->name." `9Ausgebaut.`nEs hat jetzt neue Funktionen!`n"); output("`9Nun kannst du zusätzlich ".($next->zimmer - $haus->level->zimmer)." weitere Zimmer anbauen!`n`n"); output("`^Außerdem bekommst du`$ ".$addkeys." `^neue Schlüssel!`n"); if($_GET['von']=="haus") { output("Du bezahlst die Kosten direkt aus dem Hausschatz."); $haus->gold -= $next->gold; $haus->gems -= $next->gems; } else { output("Du bezahlst die Kosten von dem Vermögen, das du bei dir trägst."); $session['user']['gold']-=$next->gold; $session['user']['gems']-=$next->gems; } for ($i=$haus->level->keys+1;$i < $next->keys;$i++){ $sql = "INSERT INTO items (name,owner,class,value1,value2,gold,gems,description) VALUES ('Hausschlüssel',".$haus->besitzerid.",'Schlüssel',".$haus->id.",".$i.",0,0,'Schlüssel für Haus Nummer ".$haus->id."')"; db_query($sql); if (db_affected_rows(LINK)<=0) output("`\$Fehler`^: Dein Inventar konnte nicht aktualisiert werden! Bitte benachrichtige den Admin. "); } $haus->levelup(); addnav("Zurück ins Arbeitszimmer",$this->back); } // Ende Funktion function takekey() { global $session; global $haus; if (!$_POST['ziel']){ $sql = "SELECT items.*,accounts.acctid AS aid,accounts.login AS itembesitzer FROM items LEFT JOIN accounts ON accounts.acctid=items.owner WHERE value1=".$haus->id." AND class='Schlüssel' ORDER BY id ASC"; $amt = ""; // $sql = "SELECT owner FROM items WHERE value1=".$haus->id." AND class='Schlüssel' ORDER BY value2 ASC"; $result = db_query($sql) or die(db_error(LINK)); output("",true); output("`2Wem willst du den Schlüssel wegnehmen? `n`n",true); output("
",true); addnav("",$this->back."&act=takekey"); }else{ $sql = "SELECT acctid,name,login,gold,gems FROM accounts WHERE login='".$_POST['ziel']."' AND locked=0"; $result = db_query($sql); $row = db_fetch_assoc($result); output("`2Du verlangst den Schlüssel von `&".$row['name']."`2 zurück.`n"); //$sql = "SELECT owner FROM items WHERE value1=".$haus->id." AND class='Schlüssel' AND owner<>.".$haus->besitzer." ORDER BY id ASC"; //$result = db_query($sql) or die(db_error(LINK)); $goldgive=round($haus->gold/(db_num_rows($result)+1)); $gemsgive=round($haus->gems/(db_num_rows($result)+1)); systemmail($row['acctid'],"`@Schlüssel zurückverlangt!`0","`&".$session['user']['name']."`2 hat den Schlüssel zu Haus Nummer `b".$haus->id."`b (".$haus->name."`2) zurückverlangt. Du bekommst `^".$goldgive."`2 Gold auf die Bank und `#".$gemsgive."`2 Edelsteine aus dem gemeinsamen Schatz ausbezahlt!"); output($row['name']."`2 bekommt `^".$goldgive."`2 Gold und `#".$gemsgive."`2 Edelsteine aus dem gemeinsamen Schatz."); $sql = "UPDATE items SET owner=".$haus->besitzerid.",hvalue=0 WHERE owner=".$row['acctid']." AND class='Schlüssel' AND value1=".$haus->id; db_query($sql); $sql = "UPDATE accounts SET goldinbank=goldinbank+$goldgive,gems=gems+$gemsgive WHERE acctid=".$row['acctid']; db_query($sql); $haus->gold -= $goldgive; $haus->gems -= $gemsgive; $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'office-".$haus->id."',".$session['user']['acctid'].",'/me `^nimmt ".$row['name']."`^ einen Schlüssel ab. ".$row['name']."`^ bekommt einen Teil aus dem Schatz.')"; db_query($sql) or die(db_error(LINK)); } addnav("Zurück zum Arbeitszimmer",$this->back); } // Ende Funktion function givekey() { global $session, $haus; if (!$_POST['ziel']) { output("`2Einen Schlüssel für dieses Haus hat:`n`n"); $sql = "SELECT items.*,accounts.name AS besitzer FROM items LEFT JOIN accounts ON accounts.acctid=items.owner WHERE value1=".$haus->id." AND class='Schlüssel' AND owner<>".$session['user']['acctid']." ORDER BY value2 ASC"; $result = db_query($sql) or die(db_error(LINK)); for ($i=0;$i < db_num_rows($result);$i++){ $item = db_fetch_assoc($result); output("`c`& ".$item['besitzer']."`0`c"); } $sql = "SELECT value2 FROM items WHERE value1=".$haus->id." AND class='Schlüssel' AND owner=".$haus->besitzerid." ORDER BY id ASC"; $result = db_query($sql) or die(db_error(LINK)); if (db_num_rows($result)>0) { output("`n`2Du kannst noch `b".db_num_rows($result)."`b Schlüssel vergeben."); output("
",true); output("An wen willst du einen Schlüssel übergeben? `n", true); output("
",true); output("`n`nWenn du einen Schlüssel vergibst, wird der Schatz des Hauses gemeinsam genutzt. Du kannst einem Mitbewohner zwar jederzeit den Schlüssel wieder wegnehmen, "); output("aber er wird dann einen gerechten Anteil aus dem gemeinsamen Schatz bekommen."); addnav("",$this->back."&act=givekey"); }else{ output("`n`2Du hast keine Schlüssel mehr übrig. Vielleicht kannst du in der Jägerhütte noch einen nachmachen lassen?"); } } else { if ($_GET['subfinal']==1){ $sql = "SELECT acctid,name,login,lastip,emailaddress,dragonkills,level,sex FROM accounts WHERE name='".addslashes(rawurldecode(stripslashes($_POST['ziel'])))."' AND locked=0"; } else { $ziel = stripslashes(rawurldecode($_POST['ziel'])); $name="%"; for ($x=0;$x < strlen($ziel);$x++){ $name.=substr($ziel,$x,1)."%"; } $sql = "SELECT acctid,name,login,lastip,emailaddress,dragonkills,level,sex FROM accounts WHERE name LIKE '".addslashes($name)."' AND locked=0"; } $result = db_query($sql); if (db_num_rows($result) == 0) { output("`2Es gibt niemanden mit einem solchen Namen. Versuchs nochmal."); } elseif(db_num_rows($result) > 100) { output("`2Es gibt über 100 Krieger mit einem ähnlichen Namen. Bitte sei etwas genauer."); } elseif(db_num_rows($result) > 1) { output("`2Es gibt mehrere mögliche Krieger, denen du einen Schlüssel übergeben kannst.`n"); output("
",true); output("`2Wen genau meinst du? `n`n",true); output("
",true); addnav("",$this->back."&act=givekey&subfinal=1"); } else { $row = db_fetch_assoc($result); $sql = "SELECT owner FROM items WHERE owner=".$row['acctid']." AND value1=".$haus->id." AND class='Schlüssel' ORDER BY id ASC"; $result = db_query($sql) or die(db_error(LINK)); $item = db_fetch_assoc($result); if ($row['login'] == $session['user']['login']) { output("`2Du kannst dir nicht selbst einen Schlüssel geben."); } elseif ($item['owner']==$haus->besitzerid) { output("`2".$row['name']."`2 hat bereits einen Schlüssel!"); } elseif ($row['level']<5 && $row['dragonkills']<1){ output("`2".$row['name']."`2 ist noch nicht lange genug um Dorf, als dass du ".($row['sex']?"ihr":"ihm")." vertrauen könntest. Also beschließt du, noch eine Weile zu beobachten."); } else { $sql = "SELECT value2 FROM items WHERE value1=".$haus->id." AND class='Schlüssel' AND owner=".$haus->besitzerid." ORDER BY id ASC LIMIT 1"; $result = db_query($sql) or die(db_error(LINK)); $knr = db_fetch_assoc($result); $knr=$knr['value2']; output("`2Du übergibst `&".$row['name']."`2 einen Schlüssel für dein Haus. Du kannst den Schlüssel zum Haus jederzeit wieder wegnehmen, aber ".$row['name']."`2 wird dann "); output("einen gerechten Anteil aus dem gemeinsamen Schatz des Hauses bekommen.`n"); systemmail($row['acctid'],"`@Schlüssel erhalten!`0","`&".$session['user']['name']."`2 hat dir einen Schlüssel zu Haus Nummer `b".$haus->id."`b (".$haus->name."`2) gegeben!"); $sql = "UPDATE items SET owner=".$row['acctid'].",hvalue=0 WHERE owner=".$haus->besitzerid." AND class='Schlüssel' AND value1=".$haus->id." AND value2=$knr"; db_query($sql); $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'office-".$haus->id."',".$session['user']['acctid'].",'/me `^gibt ".$row['name']."`^ einen Schlüssel.')"; db_query($sql) or die(db_error(LINK)); } } } addnav("Zurück zum Arbeitszimmer",$this->back); } // Ende Funktion } // Ende Klasse class schlafzimmer extends zimmer { // Das Schlafzimmer - verbinge Zeit mit einem Partner oder logge dich einfach sicher aus. // Basisklasse! var $back; // Konstruktor function schlafzimmer() { $this->back ="nhouses.php?op=drin&go=".$_GET['go']; switch($_GET['act']) { case 'logout': $this->logout(); break; default: $this->basis(); break; } // Ende Switch } // Ende Funktion function logout() { global $session; if ($session['user']['housekey']!=$session['housekey']){ $sql = "UPDATE items SET hvalue=".$session['housekey']." WHERE value1=".(int)$session['housekey']." AND owner=".$session['user']['acctid']." AND class='Schlüssel'"; db_query($sql) or die(sql_error($sql)); } debuglog("logged out in a house"); $session['user']['location']=2; $session['user']['loggedin']=0; $sql = "UPDATE accounts SET loggedin=0,location=2 WHERE acctid = ".$session['user']['acctid']; db_query($sql) or die(sql_error($sql)); $session=array(); redirect("index.php"); } // Ende Funktion function basis() { global $haus, $session; output("`2`b`c".$haus->name."`b, `&ein ".$haus->level->name."`&`n `bDein Schlafzimmer`b`c`n"); if($session['user']['marriedto']>0){ $lover = lover('name`, `acctid`, `login'); output("`2Du betrittst das Schlafzimmer von `^".$lover['name']."`2 und dir.`n Ein großes Bett steht im Raum, sowie einige Schränke und andere Alltagsgegenstände."); output("Aber im allgemeinen ist diese Zimmer gemütlicher eingerichtet, als der Rest des Hauses, um ein paar schöne Stunden zu zweit verbringen zu können"); if($session['user']['sex']==0) { $male=$session['user']['acctid']; $female=$lover['acctid']; } else { $male=$lover['acctid']; $female=$session['user']['acctid']; } $gesammt="haus-".$haus->id."privat-".$male."_".$female; //############################## Kindermod-Bereich ##############################// if(KINDER===true) { // Entsprechende Konstante wird ganz oben definiert! switch($_GET['act']) { case 'geschuetzt': $lover = lover('name`, `sex'); output("`nAls ".$lover['name']. "`q, eigentlich nur für kurz, in euren Schlafgemächern vorbei schaut ziehst Du ".($lover['sex']?'sie':'ihn')." ins Bett und ihr liebt euch den ganzen restlichen Tag heiss und innig."); output("`nIhr bleibt schmussend noch ein wenig liegen...`n`n"); break; case 'kind': $lover = lover('*'); if($session['user']['sex'] != $lover['sex']) $kindokay = true; else $kindokay = false; if($session['user']['superuser'] >= 2) $session['user']['sexheute'] = 0; // Superuser-Sonderregelung if($session['user']['sexheute'] + $lover['sexheute'] < 6) { // Wenn noch nicht zu oft geliebt... debuglog("hatte mit " . $lover['acctid'] . "-" . $lover['name'] . " sex."); if($lover['acctid'] < $session['user']['acctid']) { // IDs Sortieren $spielera = $lover['acctid']; $spielerb = $session['user']['acctid']; } else { $spielera = $session['user']['acctid']; $spielerb = $lover['acctid']; } # Liste hochzählen $sqlsex = "SELECT * FROM sexwermitwem WHERE spielera = $spielera AND spielerb = $spielerb"; $resultsex = db_query($sqlsex) or die(db_error(LINK)); if($rowsex = db_fetch_assoc($resultsex)) $sqlsex = "UPDATE sexwermitwem SET sexzahl = sexzahl + 1 WHERE spielera = ".$spielera." AND spielerb = ".$spielerb; else $sqlsex = "INSERT INTO sexwermitwem VALUES($spielera, $spielerb, 1)"; db_query($sqlsex) or die(db_error(LINK)); if($kindokay) { // Wenn Kind möglich... if($session['user']['sex']) //je nach geschlecht empf wählen $empf = $session['user']['ssempf']; else $empf = $lover['ssempf']; $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$gesammt', ".$session['user']['acctid'].",'/me `&hat mit ".$lover[name]." `&geschlafen.')"; $result = db_query($sql) or die(db_error(LINK)); // Chattext eingeben if($session['user'][ssstatus] == 0 && $lover[ssstatus] == 0) { $zahl1 = e_rand(); $zahl2 = e_rand(); $text = "versuchte ".$lover['login']." zu schwängern: Zahl1:".$zahl1."(".($zahl1%9)."); Zahl2:".$zahl2."(".($zahl2%9).");"; debuglog($text); if($zahl1%9 == $empf) $schwanger = true; else if($zahl2%9 == $empf) $schwanger = true; else $schwanger = false; } } else { $sql = "INSERT INTO commentary values(0, 'inn-" . $_GET[sop] . "', " . $session['user']['acctid'] . ", '/me `&hat mit " . $lover[name] . " `&geschlafen',now())"; $result = db_query($sql) or die(db_error(LINK)); } $session['user']['sexheute']++; $session['user']['charm'] += 1; $sql2 = "UPDATE accounts set charm = charm + 1, sexheute = sexheute + 1 WHERE acctid ='".$lover['acctid']."'"; db_query($sql2) or die(db_error(LINK)); if($schwanger) { if($session['user']['sex']) { // frau debuglog("ist von " . $lover['acctid'] . "-" . $lover['name'] . " schawanger"); $session['user']['ssstatus'] = 1; $session['user']['sstritte'] = 0; $session['user']['ssmonat'] = 19; $session['user']['sserzeug'] = $lover['acctid']; $sql2 = "UPDATE accounts set charm = charm + 10 WHERE acctid=".$lover['acctid']; db_query($sql2) or die(db_error(LINK)); $session['user']['charm'] += 10; } else { debuglog("hat " . $lover['acctid'] . "-" . $lover['name'] . " geschwängert"); $sql2 = "UPDATE accounts set charm = charm + 10, ssstatus = 1, ssmonat = 19, sstritte = 0, sserzeug = " . $session['user']['acctid'] . " WHERE acctid='".$lover['acctid']."'"; db_query($sql2) or die(db_error(LINK)); $session['user']['charm'] += 10; } } if($session['user']['superuser'] > 2) { $bufflist = unserialize(stripslashes($lover['bufflist'])); $bufflist['goettlichersex'] = array("name"=>"`%Göttliches Andenken","rounds"=>100,"wearoff"=>"Die Errinerung verfliegt für heute!","atkmod"=>1.75,"roundmsg"=>"Du denkst immer noch an den göttlich intimen Stunden...","activate"=>"offense"); $sql2 = "update accounts set sexgoettlich = 100, bufflist = '" . addslashes(serialize($bufflist)) . "' WHERE acctid='".$lover['acctid']."'"; db_query($sql2) or die(db_error(LINK)); } if($lover['superuser'] > 2) { $session['user']['sexgoettlich'] = 100; $session['bufflist']['goettlichersex'] = array("name"=>"`%Göttliches Andenken","rounds"=>100,"wearoff"=>"Die Errinerung verfliegt für heute!","atkmod"=>1.75,"roundmsg"=>"Du denkst immer noch an den göttlich intimen Stunden...","activate"=>"offense"); } } else { output("`n`nIrgendwie seit ihr nicht in der Stimmung dazu...`n"); } if($session['user']['superuser'] >= 2) { output("`n`nDebug`n"); output("Sex heute: " . $session['user']['sexheute'] . "`n"); output("Sex gesamt: " . $session['user'][sexgesamt] . "`n"); output("Empfängnis: " . $empf . "`n"); } break; default: addnav("Sich Lieben"); addnav("Geschützt",$this->back."&act=geschuetzt"); addnav("Ungeschützt",$this->back."&act=kind"); break; } // Ende Switch output("`n"); } // Ende IF //############################# /Kindermod-Bereich ##############################// viewcommentary($gesammt,"Hinzufügen",25); } else { output("`@Du betrittst dein Schlafzimmer. Ein gemütlicher Raum mit einem Bett nur für dich!"); } addnav("Schlafzimmer"); addnav("Log Out",$this->back."&act=logout"); addnav("Im Haus"); addnav("Zurück zum Flur","nhouses.php?op=drin"); } // Ende Funktion } // Ende Klasse class schatz extends zimmer { // Die Schatzkammer, hie rlagern Gold und Edelsteine! // Basisklasse! var $back, $goldleft, $gemsleft, $maxtotake; // Konstruktor function schatz() { global $haus, $session; $this->back ="nhouses.php?op=drin&go=".$_GET['go']; $this->goldleft = $this->goldleft(); $this->gemsleft = $this->gemsleft(); $this->maxtotake = (getsetting("transferreceive",3) - $session['user']['transferredtoday']) * ($session['user']['level']*getsetting("transferperlevel",25)); switch($_GET['act']) { case 'gebegold': $this->gebegold(); break; case 'nehmegold': $this->nehmegold(); break; case 'gebegems': $this->gebegems(); break; case 'nehmegems': $this->nehmegems(); break; case 'allesnehmen': $this->allesnehmen(); break; default: $this->basis(); break; } // Ende Switch } // Ende Funktion function gemsleft() { global $haus; return $haus->level->gemschest - $haus->gems; } // Ende Funktion function goldleft() { global $haus; return $haus->level->goldchest - $haus->gold; } // Ende Funktion function basis() { global $haus, $session; output("`2`b`c".$haus->name."`b, `&ein ".$haus->level->name."`&`n `bDie Schatzkammer`b `c`"); if ($haus->text) output("`0`c".$haus->text."`c`n"); output("`2Du und deine Mitbewohner haben `^".$haus->gold."`2 Goldstücke und `#".$haus->gems."`2 Edelsteine im Haus gelagert.`n"); output("`2Damit ist in der Schatztuhe noch platz für `^".$this->goldleft." `2Goldstücke und `#".$this->gemsleft."`2 Edelsteine.`n"); viewcommentary("schatz-".$haus->id,"Ins Hausbuch eintragen:",30,"merkt an"); addnav("Gold"); addnav("Deponieren",$this->back."&act=gebegold"); addnav("Mitnehmen",$this->back."&act=nehmegold"); addnav("Edelsteine"); addnav("Deponieren",$this->back."&act=gebegems"); addnav("Mitnehmen",$this->back."&act=nehmegems"); addnav("Im Haus"); addnav("Zurück in den Flur","nhouses.php?op=drin"); } // Ende Funktion function gebegold() { global $haus, $session; $maxout = $session['user']['level']*getsetting("maxtransferout",25); if (!$_POST['gold']){ $transleft = $maxout - $session['user']['amountouttoday']; output("`2Du darfst heute noch `^$transleft`2 Gold deponieren und in der Schatztruhe ist noch Platz für weitere `^".($haus->level->goldchest - $haus->gold)."`2 Gold.`n"); output("`2
",true); output("`nWieviel Gold deponieren? `n`n",true); output("",true); addnav("",$this->back."&act=gebegold"); }else{ $amt=abs((int)$_POST['gold']); if ($amt>$session['user']['gold']){ output("`2So viel Gold hast du nicht dabei."); }else if(($haus->level->goldchest - $haus->gold)==0){ output("`2Der Schatz ist voll."); }else if($amt>($haus->level->goldchest - $haus->gold)){ output("`2Du gibst alles, aber du bekommst beim besten Willen nicht so viel in den Schatz."); }else if ($amt<0){ output("`2Wenn du etwas aus dem Schatz nehmen willst, versuche nicht, etwas negatives hineinzutun."); }else if ($session['user']['amountouttoday']+$amt > $maxout) { output("`2Du darfst nicht mehr als `^$maxout`2 Gold pro Tag deponieren."); }else{ $haus->gold+=$amt; $session['user']['gold']-=$amt; $session['user']['amountouttoday']+= $amt; output("`2Du hast `^$amt`2 Gold deponiert. Insgesamt befinden sich jetzt `^".$haus->gold."`2 Gold im Haus."); $sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `@deponiert `^$amt`@ Gold.')"; db_query($sql) or die(db_error(LINK)); } } addnav("Zurück zur Schatzkammer",$this->back."&go=schatz"); } // Ende Funktion function nehmegold() { global $haus, $session; $maxtfer = $session['user']['level']*getsetting("transferperlevel",25); if (empty($_POST['gold'])){ $transleft = getsetting("transferreceive",3) - $session['user']['transferredtoday']; output("`2Es befindet sich `^".$haus->gold."`2 Gold in der Schatztruhe des Hauses.`nDu darfst heute noch $transleft x bis zu `^$maxtfer`2 Gold mitnehmen.`n"); output("`@Du kannst auch all dein heute noch aufnehmbares Gold in einem Rutsch mitnehmen. Das wären dann: `^".$this->maxtotake." `2Goldstücke.`n"); output("`2",true); output("`nWieviel Gold mitnehmen? `n`n",true); output("",true); addnav("",$this->back."&act=nehmegold"); addnav("Alles Gold nehmen (`^".$this->maxtotake."`9)",$this->back."&act=allesnehmen"); }else{ $amt=abs((int)$_POST['gold']); if ($amt>$haus->gold){ output("`2So viel Gold ist nicht mehr da."); }else if ($maxtfer<$amt){ output("`2Du darfst maximal `^$maxtfer`2 Gold auf einmal nehmen."); }else if ($amt<0){ output("`2Wenn du etwas in den Schatz legen willst, versuche nicht, etwas negatives herauszunehmen."); }else if($session['user']['transferredtoday']>=getsetting("transferreceive",3)){ output("`2Du hast heute schon genug Gold bekommen. Du wirst bis morgen warten müssen."); }else{ $haus->gold-=$amt; $session['user']['gold']+=$amt; $session['user']['transferredtoday']++; output("`2Du hast `^$amt`2 Gold genommen. Insgesamt befindet sich jetzt noch `^".$haus->gold."`2 Gold im Haus."); $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `\$nimmt `^$amt`\$ Gold.')"; db_query($sql) or die(db_error(LINK)); } } addnav("Zurück zur Schatzkammer",$this->back."&go=schatz"); } // Ende Funktion function gebegems() { global $haus, $session; if (!$_POST['gems']){ output("`2In der Schatztruhe ist noch Platz für weitere `^".($haus->level->gemschest - $haus->gems)."`2 Edelsteine.`n"); output("`2",true); output("`nWieviele Edelsteine deponieren? `n`n",true); output("",true); addnav("",$this->back."&act=gebegems"); }else{ $amt=abs((int)$_POST['gems']); if ($amt>$session['user']['gems']){ output("`2So viele Edelsteine hast du nicht."); }else if(($haus->level->gemschest - $haus->gems)==0){ output("`2Der Schatz ist voll."); }else if($amt>($haus->level->gemschest - $haus->gems)){ output("`2Du gibst alles, aber du bekommst beim besten Willen nicht so viel in den Schatz."); }else if ($amt<0){ output("`2Wenn du etwas aus dem Schatz nehmen willst, versuche nicht, etwas negatives hineinzutun."); }else{ $haus->gems+=$amt; $session['user']['gems']-=$amt; output("`2Du hast `#$amt`2 Edelsteine deponiert. Insgesamt befinden sich jetzt `#".$haus->gems."`2 Edelsteine im Haus."); $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `@deponiert `#$amt`@ Edelsteine.')"; db_query($sql) or die(db_error(LINK)); } } addnav("Zurück zur Schatzkammer",$this->back."&go=schatz"); } // Ende Funktion function nehmegems() { global $haus, $session; if (!$_POST['gems']){ output("`2Es befinden sich `#".$haus->gems."`2 Edelsteine in der Schatztruhe des Hauses.`n`n"); output("`2",true); output("`nWieviele Edelsteine mitnehmen? `n`n",true); output("",true); addnav("",$this->back."&act=nehmegems"); }else{ $amt=abs((int)$_POST['gems']); if ($amt>$haus->gems){ output("`2So viele Edelsteine sind nicht mehr da."); }else if ($amt<0){ output("`2Wenn du etwas in den Schatz legen willst, versuche nicht, etwas negatives herauszunehmen."); }else{ $haus->gems-=$amt; $session['user']['gems']+=$amt; output("`2Du hast `#$amt`2 Edelsteine genommen. Insgesamt befinden sich jetzt noch `#".$haus->gems."`2 Edelsteine im Haus."); $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `\$nimmt `#$amt`\$ Edelsteine.')"; db_query($sql) or die(db_error(LINK)); } } addnav("Zurück zur Schatzkammer",$this->back."&go=schatz"); } // Ende Funktion function allesnehmen() { global $haus, $session; if($this->maxtotake > $haus->gold) $this->maxtotake = $haus->gold; if($this->maxtotake <= 0) $this->maxtotake = 0; $session['user']['gold'] += $this->maxtotake; $saetze = ceil($this->maxtotake / ($session['user']['level']*getsetting("transferperlevel",25))); $haus->gold -= $this->maxtotake; output("`2Du nimmst dir alles noch aufzunehmende Gold: `^".$this->maxtotake." `2Taler.`n Damit verbrauchst du `^ $saetze Sätze an Gold, die du nehmen darfst!"); $session['user']['transferredtoday'] += $saetze; addnav("Zurück zum Schatzkammer",$this->back); $sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `\$nimmt sich seinen Tagessatz von `^".$this->maxtotake." Goldstücken.')"; db_query($sql) or die(db_error(LINK)); } // Ende Funktion } // Ende Klasse class gemeinschaftsraum extends zimmer { // Konstruktor function gemeinschaftsraum() { $this->basis(); } // Ende Funktion function basis() { global $haus; output("`2`b`c".$haus->name."`b, `&ein ".$haus->level->name."`&`n `bDer Gemeindschaftsraum`b `c`n"); output("`2Du betrittst den Gemeindschaftsraum des Hauses. Hier können sich die Bewohner in Ruhe unterhalten."); output("In der Ecke prasselt ein warme Kaminfeuer und einige bequeme Sessel laden dazu ein, hier ein wenig zu verweilen...`n`n"); viewcommentary("gem_raum-".$haus->id,"Mit deinen Mitbewohnen unterhalten",25); addnav("Zurück zum Flur","nhouses.php?op=drin"); } // Ende Funtion } // Ende Klasse class kueche extends zimmer { var $back; // Konstruktor function kueche() { $this->back ="nhouses.php?op=drin&go=".$_GET['go']; $this->basis(); } // Ende Funktion function basis() { global $haus, $session; output("`2`b`c".$haus->name."`b, `&ein ".$haus->level->name."`&`n `bDie Küche`b `c`n"); output("`2Du betrittst die Küche des Hauses, schaust dich um und durchsuchst sogleich die Schränke nach etwas essbarem."); output("Ein kleiner Ofen spendet die nötige Wärme in der Küche und dient ebenso als 'Backofen'... `n Du setzt dich davor und geniest deine mahlzeit... `n`n"); output("`2`b`cIn der Küche`c`b`n`n"); output("`2Es ist jetzt `^".getgametime()."`2 Uhr, und du befindest dich in der Küche.`n"); output("Und es ziemlich still in der Küche, du siehst dich ein wenig um und genießt die ruhige Atmosphäre...`n`n`n"); $kitchen = "kitchen-".$haus->id; $link = $this->back; switch($_GET['act']){ // drinks case "saft": $saft = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&holt eine Karaffe voller Orangensaft hervor und schüttet ein.')"; db_query($saft) or die(db_error(LINK)); redirect($link); break; case "tee": $tee = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&hat einen Kessel Tee zubereitet.')"; db_query($tee) or die(db_error(LINK)); redirect($link); break; case "kaffe": $kaffe = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&hat vor, noch eine Weile wach zu bleiben, und sich deshalb eine Kanne Kaffee zubereitet.')"; db_query($kaffe) or die(db_error(LINK)); redirect($link); break; case "ale": if($session['user']['drunkenness']<=66) { $ale = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&ist in Partystimmung und sticht ein Fäßchen Ale an!')"; db_query($ale) or die(db_error(LINK)); $session['user']['drunkenness']+=33; redirect($link); } else { output("`qDu hast für heute genug Getrunken, schlafe erstmal deinen Rausch aus!"); } break; case "wein": if($session['user']['drunkenness']<=76) { $wein = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&möchte etwas feiern und entkorkt eine Flasche leckeren Rotweines.')"; db_query($wein) or die(db_error(LINK)); $session['user']['drunkenness']+=38; redirect($link); } else{ output("`qDu hast für heute genug Getrunken, schlafe erstmal deinen Rausch aus!"); } break; // end of drinks // meals case "frustuck": $frustuck = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&hat Brötchen geholt und Eier gekocht. Sobald jemand den Tisch deckt, gibt es Frühstück!')"; db_query($frustuck) or die(db_error(LINK)); redirect($link); break; case "mittagessen": $mittagessen = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&hat Hunger bekommen und einen kurzen Mittagssnack zubereitet.')"; db_query($mittagessen) or die(db_error(LINK)); redirect($link); break; case "abendessen": $abendessen = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&stellt sich für zwei Stunden in die Küche und kocht für alle ein herrliches Mahl!')"; db_query($abendessen) or die(db_error(LINK)); redirect($link); break; case "snack": $snack = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&braucht mal was für zwischendurch.')"; db_query($snack) or die(db_error(LINK)); redirect($link); break; // end of meals } // Ende SWITCH viewcommentary($kitchen,"Mit deinen Mitbewohnen unterhalten",25); // kitchen nav addnav("Getränke"); addnav("Saft",$this->back."&act=saft"); addnav("Tee",$this->back."&act=tee"); addnav("Kaffee",$this->back."&act=kaffe"); addnav("Ale",$this->back."&act=ale"); addnav("Wein",$this->back."&act=wein"); addnav("Mahlzeiten"); addnav("Frühstück",$this->back."&act=frustuck"); addnav("Mittagessen",$this->back."&act=mittagessen"); addnav("Abendessen",$this->back."&act=abendessen"); addnav("Snack",$this->back."&act=snack"); addnav("Zurück"); addnav("Zurück zum Flur","nhouses.php?op=drin"); } // Ende Funtion } // Ende Klasse class lagune extends zimmer { var $back; // Konstruktor function lagune() { $this->back ="nhouses.php?op=drin&go=".$_GET['go']; $this->basis(); } // Ende Funktion function basis() { global $haus, $session; addcommentary(); // Verheiratet? if($session['user']['marriedto']==$haus->besitzerid || $session['user']['acctid']==$haus->besitzerid && $session['user']['marriedto']){ output('`qDu trittst durch eine unscheinbare Tür auf den Weg zur blauen Lagune. '.'Es ist angenehm warm, kein Wunder, denn in dem schön verstecktem Ort scheint die '.'Sonne immerfort. Der Sand ist weich und warm, und das Wasser hell und klar. Es wirkt '.'einladend.`n'); output('Am anderen Ufer siehst Du die hellen Wasserfälle, alles ist in '.'liebevolles Licht getaucht und Du spürst, hier kannst Du Dich hingeben, '.'denn keiner stört Euch hier.`n'); $lagune = "lagune-".$haus->id; switch($_GET['act']) { case "soap": $soap = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&cremt Dir zärtlich den Rücken ein.')"; db_query($soap) or die(db_error(LINK)); redirect($this->back); break; case "shampoo": $shampoo = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&wäscht sich die Haare um Dir zu gefallen.')"; db_query($shampoo) or die(db_error(LINK)); redirect($this->back); break; case "stroke": $stroke = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&streichelt zärtlich über Deine duftende Haut.')"; db_query($stroke) or die(db_error(LINK)); redirect($this->back); break; case "love": $love = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&zieht Dich zärtlich zu sich ins Wasser um Dich zu fühlen!')"; db_query($love) or die(db_error(LINK)); redirect($this->back); break; case "duft": $duft = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&macht Kerzen und Duftöl ins Wasser, um Dich "."zu verwöhnen.')"; db_query($duft) or die(db_error(LINK)); redirect($this->back); break; } // Ende Switch viewcommentary($lagune,"sich gegenseitig verwöhnen:",20,"flüstert zärtlich"); // lagune nav addnav("Aktionen"); addnav("Eincremen",$this->back."&act=soap"); addnav("Haarewaschen",$this->back."&act=shampoo"); addnav("Streicheln",$this->back."&act=stroke"); addnav("Lieben (Geschützt)",$this->back."&act=love"); addnav("Duftkerzen",$this->back."&act=duft"); }else{ output("Du rüttelst ein wenig an der Tür - verschlossen.`n"); output("Tja, in der privaten Lagune hast du eben nichts zu suchen."); } // Ende ELSE addnav("Zurück zum Flur","nhouses.php?op=drin"); } // Ende Funktion } // Ende Klasse class kinderzimmer extends zimmer { var $back; // Buffs: var $buffA = array("name" => "`2Kinderfreude" ,"roundmsg" => "Die Freude über dein Kind gibt dir Kaft" ,"wearoff" => "Die starke Freude verblasst." ,"rounds" => "75" ,"atkmod" => "1.10" ,"survivenewday" => "0" ,"activate" => "roundstart"); var $buffB = array("name" => "`2Kinderglück" ,"roundmsg" => "Das glückliche Lächelnd deines Kindes macht dich aufmerksamer" ,"wearoff" => "Die Erinnerung an das Lächeln deines Kinder verblasst" ,"rounds" => "75" ,"defmod" => "1.10" ,"survivenewday" => "0" ,"activate" => "roundstart"); var $buffC = array("name" => "`4Angst ums Kind" ,"roundmsg" => "Die Angst um dein Kind lässt dich unaufmerksamer Kämpfen" ,"wearoff" => "Du bist dir nun sicher, das es deinem Kind gut geht" ,"rounds" => "75" ,"atkmod" => "0.95" ,"defmod" => "0.95" ,"survivenewday" => "0" ,"activate" => "roundstart"); function kinderzimmer() { $this->back = "nhouses.php?op=drin&go=".$_GET['go']; $this->basis(); } // Ende Funktion function basis() { global $session; // Maximal ein eigenes Kind abrufen, nur zur bestimmung ob Elter oder nicht. if(KINDER) { $kinder = (bool) db_num_rows(db_query("SELECT id FROM `kinder` WHERE mama=".$session['user']['acctid']." OR papa=".$session['user']['acctid']." LIMIT 1")); if($_GET['machen']=="kind") { output("Du gehtst zu deinem Kind uns beschäftigst dich eine Weile mit ihm.`n"); switch(e_rand(0,5)) { case 0: output("`2Dir bleibt noch einige Zeit im Gedächtnis hängen, wie sher sich dein Kind über deinen Besuch freute."); $session['bufflist']['kind'] = $this->buffB; break; case 1: output("`3Du spielst eine Weile mit deinem Kind unf fühlst dich danach ebenso gut, wie dein Sprössling selbst."); $session['bufflist']['kind'] = $this->buffA; break; case 2: output("`4Zwar beschäftigst du dich eine Weile mit deinem Kind, aber irgendwie wirst du danach das gefühl nicht los, das es sich gerade nicht wohl fühlt..."); $session['bufflist']['kind'] = $this->buffC; break; default: output("Du kümmerst dich eine Weile um dein Kind und bemerkst dabei gar nicht, wie schnell die Zeit vergeht."); $session['user']['turns']--; } // Ende SWITCH } elseif($kinder==true) { output("Du betrittst das Kinderzimmer und entdeckst sofort dein Kind, das friedlich vor sich hin spielt.`n"); output("Möchtest du dich nicht ein wenig mit ihm beschäftigen?"); addnav("Mit Kind Spielen",$this->back."&machen=kind"); } else { output("Da du keine Kinder hast, siehst du auch keinen Sinn darin, ins Kinderzimmer zu gehen."); } } else { output("Da es in dieser Welt keine Kinder gibt, braucht man auch keine Kinderzimmer...."); } addnav("Zurück zum Flur","nhouses.php?op=drin"); } // Ende Funktion } // Ende Klasse class balkon extends zimmer { var $back; function balkon() { $this->back ="nhouses.php?op=drin&go=".$_GET['go']; $this->basis(); } function basis() { global $haus; output("`2`b`c".$haus->name."`b, `&ein ".$haus->level->name."`&`n `bDer Balkon`b `c`n"); output("`2Du trittst auf den Balkon heraus und atmest die kühle, frische Luft ein, die hier, auf Höhe der Dächer des Wohnviertels herrscht.`n"); output("Als du dich umsiehst, dentdekst du noch einige weitere Bewohner des Dorfes, die es dir gleich tun, und auf ihren Bakonen die Aussicht genießen."); output("Wenn du nur laut genug sprichst, könnten sie dich sicher hören...`n"); viewcommentary("balkon","Zu den Anderen herüberrufen",20,"ruft von seinem Balkon"); addnav("Zurück ins Haus","nhouses.php?op=drin"); } } // Ende Klasse ?>