Quellcode der Dragonslayer-Edition
Quellcode der Dragonslayer-Edition: 0.9.7(DS V3) Ithil-Edition


Anmerkung: Dies ist nur ein Auszug aus dem Source. Ein etwas älteres, abgespecktes Release der Dragonslayer-Edition ist für jeden Interessenten frei zum Download verfügbar. Was wir uns unbedingt verbitten, ist Diebstahl unserer Arbeit ohne Nennung des Copyrights.
Falls beim Lesen des Source ein Bug entdeckt werden sollte, bitten wir um sofortige Meldung per Anfrage!


./shades.php

zurück
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
<?php
/**
 * shades.php: Die Unterwelt - Hauport für die Toten.
 * @author LOGD-Core
 * @version DS-E V/2
*/

require_once('common.php');
$op=$_GET['option'];


if (
$session['user']['imprisoned']>0) {
    
redirect("prison.php");
}

page_header('Land der Schatten');
addcommentary();
checkday();

music_set('unterwelt');

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

/**
 * @ TODO: Talion - sinnvollere Lösung finden, z.B. generelles Flag für Buffs, das die Nutzung im Totenreich erlaubt.
 * Salator - Das mal etwas umgestellt um mehr als den Knappen wiederzuholen
 */
$buffsave=$session['bufflist'];
$session['bufflist']=array();
if(isset(
$buffsave['decbuff']) && ($buffsave['decbuff']['state'] == 20 || $buffsave['decbuff']['state'] == 21) && $buffsave['decbuff']['rounds'] > 0) {    // untoter+besessener Knappe
    
$session['bufflist']['decbuff']=$buffsave['decbuff'];
}
if(isset(
$buffsave['headache'])) {    // Malus-Buff vom Totsaufen
    
$session['bufflist']['headache']=$buffsave['headache'];
}
// Änderung für Unterscheidung von Himmel und Hölle in der Unterwelt
// Erweiterung von Shaiya (www.ithil-lotgd.de)
// Nötige Änderungen dafür
// in SQL
// alter table accounts add place_underworld int after alive

if($op=='hell')
{
    
$session['user']['place_underworld']=4
}    
if(
$op=='heaven')
    
$session['user']['place_underworld']=3;

if(
$session['user']['reputation']< -25 && $session['user']['place_underworld']==&& $session['user']['place_underworld']==2// egal was übergeben wird wenn ansehen zu schlecht = Hölle
    
$session['user']['place_underworld']=2;


if(
$session['user']['place_underworld']==0||$session['user']['place_underworld']==1||$session['user']['place_underworld']==2)
{
    
output('`c`bIm Totenreich`b`c`n
    `TVerdammt wie konnte dir das nur passieren? Gerade dir? fragst du dich und erhebst dich langsam. Du bist recht unsanft gelandet doch es besteht kein Zweifel du bist tot. Du siehst dich näher um und kickst einen `7S`)t`(e`)i`7n`T oder so was in der Art zumindest weg. Um dich herum ist es ziemlich trostlos und gerade willst du dich entscheiden einfach zu Schlafen, als vor dir jemand erscheint. Du erkennst nicht viel, da er eine `(schwarze`T Kutte trägt und die Kapuze tief im Gesicht hat.`n`n'
);
}
switch(
$session['user']['place_underworld'])
{
//
// Wahl zwischen Himmel und Hölle
//
    
case 0// noch nicht festgelegt selbst Wahlmöglichkeit
    
{
        
page_header('Im Totenreich');
        
output('`uEine Weile nur mustert er dich dann erhebt er die Stimme: `A"Hat es dich also ins Reich der Toten verschlagen, nun gut." `udonnert er und du ahnst das du vor `AI`4l`$y`4a`As`u dem Gott der Toten stehst. `A"Da dein Gegner dich weder in den Himmel noch in die Hölle geschickt hat, so überlasse ich dir die Wahl.... Entscheide rasch HIMMEL oder HÖLLE!"');
        
addnav('Himmel','shades.php?option=heaven');
        
addnav('Hölle','shades.php?option=hell&supop=own');
        break;
    }
//
// Himmel
// 
    
case 1// Himmel 1. Aufruf
    
{
        
page_header('Himmel');
        
output('`fEr überlegt nicht lange und spricht. `A"Ich bin `AI`4l`$y`4a`As`f, Gott der Toten und dir wird die Ehre zu teil im Himmel zu verweilen." `fGanz anders als erwartet ist die Stimme zwar kalt, aber doch als noch freundlich zu bezeichnen. `A"Folge mir, ich werde dich zu meiner Schwester `wM`#e`Fl`*y`Fn`#i`wa`f, der Himmelsgöttin bringen." `fLangsam geht er voran und du folgst ihm.');
        
addnav('Weiter','shades.php?option=heaven');
        
//$session['user']['place_underworld']=3;
        
break;
    }
//
// Hölle
// 
    
case 2// Hölle 1. Aufruf
    
{
        
page_header('Hölle');
        
output('`(Eine Weile nur mustert er dich, dann fängt er höhnisch an zu lachen.`A" Willkommen im Totenreich, Unwürdiger!" `(Schnell erkennst du wenn du da vor dir hast. `AI`4l`$y`4a`As`(, der Gott des Totenreiches. Er packt dich am Kragen.`A" Folge mir ich werde dich zu meinem Bruder Meron bringen. Er soll über dich richten." `(Er schleift dich mit und bringt dich in die `AH`4ö`$l`4l`Ae`(.');
        
addnav('Weiter','shades.php?option=hell');
        
//$session['user']['place_underworld']=4;
        
break;
    }
    case 
3// Himmel
    
{
        
page_header('Himmel');
        
output('`c`bHimmel`b`c`n
        `fIrgendwas musst du in deinem Leben richtig gemacht haben, denn jetzt stehst du auf `&Wolken`f. Ersteinmal schaust du dich noch ein bisschen um, da kommt auch schon eine wunderschöne Frau auf dich zu. `*"Seid gegrüßt, mein Name ist `wM`#e`Fl`*y`Fn`#i`wa`f und ich darf euch hier in meinem Reich begrüßen, ich hoffe ihr werdet die Zeit bei mir genießen." `f entgegnet sie dir mit einer sanften Stimme, wie du sie noch nie in deinem Leben gehört hast.`n
        `fIm Dorf dürfte es jetzt etwa `^'
.getgametime(true).' `fUhr sein, aber hier Zeit ohne hin irrelevant.`n`n');
        
viewcommentary('heaven','Freuen',5,'freut sich');
        
addnav('Himmel');
        
//addnav('irgendwas','');
        
break;
    }
    case 
4// Hölle
    
{
        
page_header('Hölle');
        
output('`c`bHölle`b`c`n
        `(Du bist tot und offensichtlich hast du kein gutes Leben geführt, sonst wärst du obwohl nicht in der Hölle gelandet. Nur gut, dass dein `&Geist`( nicht mehr atmen muss, noch besser wäre es allerdings wenn du nicht das Gefühl hättest zu ersticken oder bewusstlos umzukippen wegen des Schwefelgeruchs.`n
`(Vor dir erstreckt sich eine vollkommen tote, rein aus `7F`)e`(ls`)e`7n`( bestehende, Landschaft. Der Boden kocht und die Luft flackert von der aufsteigenden Hitze und macht es dir unmöglich weiter als ein paar Meter zu sehen, außerdem hast du auf dem Weg hier her deine Schuhe verloren, was jeden Schritt zu einer Qual macht. Kaum angekommen begrüßt dich  `7M`)e`(r`)o`7n`( mit einem höhnischen Lachen. Er starrt dich nur an und du verspürst unglaubliche Schmerzen, es dauert nicht lange bis du nicht mehr stehen kannst und dich nur noch vor schmerzen auf dem Boden kringelst.`n
`(Auf einmal steht  `7M`)e`(r`)o`7n`( vor dir und hilft dir auf, `4"Ich hoffe es wird euch hier gefallen" `(schallt seine Stimme unangenehm laut über die gesamte Ebene und lässt dich Schlimmes ahnen.`n
`(Im Dorf dürfte es jetzt etwa `^'
.getgametime(true).' `(Uhr sein, aber hier unten dauert eine Minute eine Ewigkeit und so bleibt dir nur zu hoffen das du die Zeit irgendwie überstehen wirst.`n`n');
        
        if(
$_GET['supop']=='own'// Freiwillig Hölle gewählt
        
{
            
output('`7M`)e`(r`)o`7n `(erkennt dir aber positiv an, das du freiwillig zu ihm gekommen bist und gewährt dir 2 Grabkämpfe mehr, allerdings gibt er dir auch unmissverständlich zu verstehen das du ansonsten mit keiner Sonderbehandlung zu rechnen hast.');
            
$session['user']['gravefights']= $session['user']['gravefights']+2;
        }
        
viewcommentary('hell','Verzweifeln',5,'jammert');
        
addnav('Hölle');
        
        break;
    }
    case 
5// Marterpfahl Flucht aus Himmel
    
{
        
output('`c`bMarterpfahl`b`c`n
        `TDu hast sowohl `wM`#e`Fl`*y`Fn`#i`wa`T als auch `7M`)e`(r`)o`7n`T verärgert und darfst das nun an einem Pfahl gefesselt bereuen. Doch die Fesseln sind dein kleinstes Problem, immer wieder kommt `7M`)e`(r`)o`7n`T vorbei und hat seinen Spaß daran dich zu Quälen. Aber auch wenn er nicht anwesend ist hast du keine Ruhe, denn dann darf sich jede Seele an dir vergreifen, die in `7M`)e`(r`)o`7ns`T Gunst steigen möchte. Sehnsüchtig erwartest du die Rettung durch `AI`4l`$y`4a`As`T, dass er dich endlich wieder ins Reich der Lebenden lässt und von all dem befreit, nur leider hast du jegliches Zeitgefühl verloren und damit absolut keine Ahnung wie lang du das noch durchstehen musst.'
);
        
addnav('Einwohnerliste','list.php');
        
addnav('Aktuallisieren','shades.php');
        
addnav('Logout');
        
addnav('#?Qualen ertragen','login.php?op=logout',true);
        break;
    }
    case 
6// Marterpfahl Flucht aus Hölle
    
{
        
output('`c`bMarterpfahl`b`c`n
        `TDu hast `7M`)e`(r`)o`7n `Tverärgert und darfst das nun an einem Pfahl gefesselt bereuen. Doch die Fesseln sind dein kleinstes Problem, immer wieder kommt Meron vorbei und hat seinen Spaß daran dich zu Quälen. Aber auch wenn er nicht anwesend ist hast du keine Ruhe, denn dann darf sich jede Seele an dir vergreifen, die in `7M`)e`(r`)o`7ns`T Gunst steigen möchte. Sehnsüchtig erwartest du die Rettung durch `AI`4l`$y`4a`As`T, dass er dich endlich wieder ins Reich der Lebenden lässt und von all dem befreit, nur leider hast du jegliches Zeitgefühl verloren und damit absolut keine Ahnung wie lang du das noch durchstehen musst.'
);
        
addnav('Einwohnerliste','list.php');
        
addnav('Aktuallisieren','shades.php');
        
addnav('Logout');
        
addnav('#?Qualen ertragen','login.php?op=logout',true);
        break;
    }
    
    
//
// Alte Unterwelt
//
    
case 99// bis lang nicht verwendet
    
{
        
$str_output .= '`c`b`$Die Schatten`0`b`c
        `n`$Du wandelst jetzt unter den Toten, du bist nur noch ein Schatten. Überall um dich herum sind die Seelen der in alten Schlachten und bei
        gelegentlichen Unfällen gefallenen Kämpfer. Jede trägt Anzeichen der Niedertracht, durch welche sie ihr Ende gefunden haben.`n`n
        Im Dorf dürfte es jetzt etwa `^'
.getgametime(true).'`$ sein, aber hier herrscht die Ewigkeit und Zeit gibt es mehr als genug.`n`n';

        
// Asgarath - Ab sofort wird im Totenreich eine Statue der untoten Knappen angezeigt
        
$sql 'SELECT disciples.name AS name,disciples.level AS level ,accounts.name AS master FROM disciples LEFT JOIN accounts ON accounts.acctid=disciples.master WHERE best_one=2 LIMIT 1';
        
$result db_query($sql);
        if (
db_num_rows($result)>0) {
            
$rowk db_fetch_assoc($result);

            
$str_output .='`$Eine kleine verfallene Statue ehrt `q'.$rowk['name'].'`$, einen untoten Knappen der '.$rowk['level'].'. Stufe, der zusammen mit '.$rowk['master'].'`$ eine Heldentat vollbrachte.`n`n';
        }
        
$str_output .='`$Die verlorenen Seelen flüstern ihre Qualen und plagen deinen Geist mit ihrer Verzweiflung.`n`n`0';

        
output($str_output);
        
viewcommentary('shade','Verzweifeln',25,'jammert');
        
addnav('Das Totenreich');
        
addnav('Der Friedhof','graveyard.php');
        break;
    }
}
//
// Nav die alle haben sollen
// 
if($session['user']['place_underworld']==|| $session['user']['place_underworld']==4// Nur bei normaler Hölle und bei normalem Himmel
{    
    
addnav('Der Friedhof','graveyard.php');
    
addnav('Halle der Geister','halle_der_geister.php');
    if(
$session['user']['place_underworld']==4// Hölle
        
addnav('Baum des Todes''treeofdeath.php');

    
//RUNEN MOD
    //wenn man eine eiwazrune hat, kommt man wieder nach oben
    
if( item_count('tpl_id="r_eiwaz" AND owner='.$session['user']['acctid']) > ){
        
addnav('Runenkraft');
        
addnav('Benutze eine Eiwaz-Rune','newday.php?resurrection=rune',false,false,false,false,'Willst du wirklich eine Eiwaz-Rune dafür verwenden, in die Welt der Lebenden zurückzukehren?');
    }
    
//RUNEN END


    
if ($session['user']['acctid']==getsetting('hasegg',0)){
        
addnav('Das goldene Ei');
        
addnav('Benutze das goldene Ei','newday.php?resurrection=egg');
    }

    
addnav('Sonstiges');
    
addnav('b?`^Drachenbücherei`0','library.php');
    
//addnav('In Diskussionsräume geistern','ooc.php?op=ooc');
    
addnav('Einwohnerliste','list.php');
    
addnav('R?In Ruhmeshalle spuken','hof.php');
    
addnav('Zurück');
    
addnav('Neuigkeiten','news.php');
    
addnav('Forum','http://forum.ithil-lotgd.de',false,false,true,$bool_hotkeys);

    if (
$access_control->su_check(access_control::SU_RIGHT_LIVE_DIE))
    {
        
addnav('Back to Life','superuser.php?op=iwilldie',false,false,false,false,'Willst du wirklich hinter dem Rücken von Ilyas wieder in die Welt der Lebenden klettern?');
    }

    
addnav('Logout');
    
addnav('#?Schlaf der Schlaflosen','login.php?op=logout',true);
}


/*
Änderunge für Himmel Hölle unterscheidung außerhalb dieser Datei:

in newday.php

nach
        $session['user']['resurrections']++;
        $str_output .= '`@Du bist wiedererweckt worden! Dies ist deine '.$session['user']['resurrections'].'te Wiederauferstehung.`0`n';

        $session['user']['alive']=true;
        
das        
        if($session['user']['place_underworld']==2 || $session['user']['place_underworld']==4) // Hölle und Hölle 1.Aufruf
        {
            $str_output .= '`$Da du aus der Hölle kommst und das absolut keine Erholung war verlierst du 3 Runden.`0`n';
            $from_hell=true;;
        }
        if($session['user']['place_underworld']==5 || $session['user']['place_underworld']==6) // Marterpfahl Flucht Himmel/Hölle
        {
            $str_output .= '`$Du deine Zeit in der Unterwelt am Marterpfahl verbracht und bist entsprechend neben der Spur für den heutigen Tag.';
            $from_hell=true;
            $from_marterpfahl_hell=true;
        }
        $session['user']['place_underworld']=0;

nach
    $session['user']['turns'] = $turnsperday;
das
    if($from_hell==true)
        $session['user']['turns'] = $session['user']['turns']-3;

nach
if(count($changes)>0)
    {
        user_set_aei($changes);
    }
        
das
    // Ergänzung Himmel Hölle 
    if($from_marterpfahl_hell==true)
    {
        $session['bufflist']['hell'] = array('name'=>'`$Höllen Qualen','rounds'=>100,'wearoff'=>'`$Du hast es endlich geschaft die Erinnerung an die Folter zu vergessen!`0','defmod'=>0.8,'atkmod'=>0.8,'roundmsg'=>'`4Die Erinnerung an die schrecklichen Qualen aus der Hölle hindern dich am Kämpfen!','activate'=>'defense');
    }
    // ENDE Ergänzung Himmel Hölle
in forest.php

nach
        addnews('`%'.$session['user']['name'].'`5 wurde im Wald von '.$badguy['creaturename'].'`5 niedergemetzelt.`n'.get_taunt());
        // END Gegnerspott, News

das
        if($session['user']['level']>$creaturelevel)  //schwächerer gegner => Hölle
            $session['user']['place_underworld']=2;
        
        if($session['user']['level']<$creaturelevel)  // stärkerere gegner => Himmel
            $session['user']['place_underworld']=1;

in graveyard.php

ersetzte
if ($session['user']['gravefights']>0)
durch
if ($session['user']['gravefights']>0 && $session['user']['place_underworld']==4) // 4=Hölle

und
if ($session['user']['gravefights']>0)
durch
if ($session['user']['gravefights']>0 && $session['user']['place_underworld']==3) // 3=Himmel


und
        $str_output .= '`b`$Du hast '.$badguy['creaturename'].' erniedrigt!`0`b`n';
        $str_output .= '`#Du bekommst `^'.$badguy['creatureexp'].'`# Gefallen bei `AI`4l`$y`4a`As`#!`n`0';
durch
        // Erweiterung Himmel Hölle unterscheidung (Shaiya 12.03.11)
        if($session['user']['place_underworld']==4) // Hölle
        {
            $str_output .= '`b`$Du hast '.$badguy['creaturename'].' erniedrigt!`0`b`n';
            $str_output .= '`#Meros legt ein gutes Wort für dich bei AI`4l`$y`4a`As`# ein und du erhälst `^'.$badguy['creatureexp'].'`# Gefallen`n`0';
        }
        if($session['user']['place_underworld']==3) // Himmel
        {
            $str_output .= '`b`^Du hast '.$badguy['creaturename'].' befreit!`0`b`n';
            $str_output .= '`#Melynia legt ein gutes Wort für dich bei AI`4l`$y`4a`As`# ein und du erhälst `^'.$badguy['creatureexp'].'`# Gefallen`n`0';
        }        
        // ENDE Erweiterung Himmel Hölle unterscheidung

und
        $str_output .= 'Du kannst heute keine weiteren Seelen mehr quälen.`n';
durch
        // Erweiterung Himmel Hölle unterscheidung (Shaiya 12.03.11)
        if($session['user']['place_underworld']==4) // Hölle
            $str_output .= 'Du kannst heute keine weiteren Seelen mehr quälen.`n';
        if($session['user']['place_underworld']==3) // Himmel
            $str_output .= 'Du kannst heute keine weiteren Seelen mehr befreien.`n';
        // ENDE Erweiterung Himmel Hölle unterscheidung
        
        
Außerdem sind Texte in Folgenden Dateien angepasst worden:
styx.php
halle_der_geister.php

*/
page_footer();
?>
0.9.7(DS V3) Ithil-Edition