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!


./special/cairn.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:
<?php
// Das Grab
// Hier lassen sich die Idole finden.
// Sollte sich ein Idol bereits im Besitz eines Spielers befinden, so ist das Grab leer.
// Plünderer werden u.U. bestraft
//
// by Maris (Maraxxus [-[at]-] gmx.de)

if (!isset($session))
{
    exit();
}
$session['user']['specialinc']='cairn.php';

if (
$_GET['op']=='')
{
    
output('`7Du bemerkst abseits des Weges eines manngroßen, mit Moos bewachsenen Stein.
    `nAls du einen weiteren flüchtigen Blick darauf wirfst, entdeckst du kleine Gravuren auf dem Stein.
    `nNeugierig trittst du näher, um dir das ganze etwas genauer anzuschauen.
    `nDann erkennst du, dass es sich hierbei um ein altes, halb überwuchertes Grab handelt.`n'
);

    
//Typ bestimmen
    
$typ=e_rand(1,5);
    switch(
$typ)
    {
        case 
1:
            
$name='`^Waldläufers';
            break;
        case 
2:
            
$name='`!Genies';
            break;
        case 
3:
            
$name='`4Kriegers';
            break;
        case 
4:
            
$name='`2Anglers';
            break;
        case 
5:
            
$name='`&Totenbeschwörers';
            break;
    }

    
output('Die sterblichen Überreste eines '.$name.' `7scheinen hier zur Ruhe gelegt worden zu sein, wie du es nach genauerer Prüfung der Gravuren und Grabbeigaben vermuten kannst.
    `n`nWas gedenkst du zu tun?`n`n'
);
    
addnav('Das Grab öffnen','forest.php?op=open&typ='.$typ);
    if (
$session['user']['turns'] > 2)
    {
        
addnav('Beten (3 Waldkämpfe)','forest.php?op=pray&typ='.$typ);
    }
    
addnav('Weitergehen','forest.php?op=leave');

}
elseif (
$_GET['op']=='pray')
{
    
$typ=$_GET['typ'];
    
$session['user']['turns']-=3;
    
output('`7Du kniest vor dem Grab nieder und widmest der Seele des Toten eine Reihe von Gebeten, die du von irgendwoher kennst. Dabei merkst du gar nicht wie die Zeit vergeht.`n`n');

    
$chance e_rand(1,2);
    switch (
$chance)
    {
        
// Umsonst - Ansehen zum Trost
        
case 1:
            
output('`7Du erhebst dich, nachdem du fertig mit beten bist und ziehst weiter deines Weges.
            `nEin zufälliger Wanderer, der dich dabei beobachtet hat, erzählt voller Verwunderung wilde Geschichten über deine Frömmigkeit im Dorf.
            `nDadurch steigt dein Ansehen bei den Bürgern um 10 Punkte!`n'
);
            
$session['user']['reputation']+=10;
            
$session['user']['specialinc']='';
            
addnews($session['user']['name'].'`7 wurde beim frommen Gebet an einem Grab im Wald beobachtet.');
            break;
            
// Chance auf ein Idol
        
case 2:
            
output('`7Nachdem du deine Gebete zuende geführt hast fällt plötzlich ein heller Lichtstrahl direkt vom Himmel auf den Stein!
            `nAlsbald beginnt die Erde unter deinen Füßen leicht wackeln und sich zu bewegen, so als würde sich etwas seinen Weg zu dir nach oben graben.
            `nWas nun?'
);
            
addnav('In der Erde graben','forest.php?op=search&typ='.$typ);
            
addnav('Abwarten','forest.php?op=wait&typ='.$typ);
            
addnav('Schnell verschwinden','forest.php?op=leave');
            break;
    }
}

elseif (
$_GET['op']=='leave'// Weglaufen
{
    
output('`7Dir ist das alles hier langsam etwas zu unheimlich geworden, und so siehst du zu, dass du schnell davon kommst.`n`n ');
    
$session['user']['specialinc']='';
}

elseif (
$_GET['op']=='open'// Plünderer werden evtl. bestraft
{
    
$typ=$_GET['typ'];
    
$session['user']['turns']=max(0,$session['user']['turns']-1);
    
output('`7Du streckst deine Hände in den lockeren Waldboden und gräbst nach Reichtümern.`n');
    switch (
e_rand(1,3)) {
        case 
1:
        case 
2:
            
output('`7Doch das, was du herausziehst, ist sicherlich etwas anderes, als das, was du zu finden erwartet hast.
            `nEin furchterregender Gruftschrecken steigt aus dem Grab heraus um dich für seine Schändung zu bestrafen!`n`n'
);
            
$badguy = array(
            
'creaturename'=>'`7Gruftschrecken`0',
            
'creaturelevel'=>$session['user']['level']+2,
            
'creatureweapon'=>'Eiskalte Berührung',
            
'creatureattack'=>$session['user']['attack']+2,
            
'creaturedefense'=>$session['user']['defence']+2,
            
'creaturehealth'=>round($session['user']['maxhitpoints']*1.25,0),
            
'diddamage'=>0);
            
$session['user']['badguy']=createstring($badguy);
            
$_GET['op']='fight';
            break;
        case 
3:
            
output('`7Kurz darauf beginnt der Boden leicht zu wackeln, so als würde sich etwas seinen Weg zu dir nach oben graben!`n');
            
addnav('Weitergraben','forest.php?op=search&typ='.$typ);
            
addnav('Abwarten','forest.php?op=wait&typ='.$typ);
            
addnav('Schnell verschwinden','forest.php?op=leave');
            break;
    }
}

elseif (
$_GET['op']=='wait'// Abwarten
{
    
output('`7Du wartest ein Weile, doch es geschieht weiter nichts.
    `nAuch das Wackeln und Beben legt sich wieder.`n'
);
    
$typ=$_GET['typ'];
    
addnav('Weitergraben','forest.php?op=open&typ='.$typ);
    
addnav('Lieber verschwinden','forest.php?op=leave');
}

elseif (
$_GET['op']=='search')
{
    
$typ=$_GET['typ'];
    switch(
$typ)
    {
        case 
1:
            
$name='`^Idol des Waldläufers';
            
$id='idolrnds';
            break;
        case 
2:
            
$name='`!Idol des Genies';
            
$id='idolgnie';
            break;
        case 
3:
            
$name='`4Idol des Kriegers';
            
$id='idolkmpf';
            break;
        case 
4:
            
$name='`2Idol des Anglers';
            
$id='idolfish';
            break;
        case 
5:
            
$name='`&Idol des Totenbeschwörers';
            
$id='idoldead';
            break;
    }

    
$sql "SELECT ac.name AS name FROM items it LEFT JOIN accounts ac ON it.owner=ac.acctid WHERE it.tpl_id='$id'";
    
$result db_query($sql);
    
$amount=db_num_rows($result);

    if (
$amount>0)
    {
        
$rown db_fetch_assoc($result);
        
output('`7Es scheint, als sei alles vergebens gewesen.
        `nDieses Grab wurde wohl bereits geplündert. Da scheint jemand schneller gewesen zu sein als du!
        `n`nDer Wind flüstert dir einen Namen zu: '
.$rown['name']);
    }
    else
    {
        
output('`7Du bekommst etwas Festes zu fassen und ziehst es aus dem Boden heraus.
        `n`nDU HAST SOEBEN DAS '
.$name.'`7 ERLANGT!');
        
$res item_tpl_list_get"tpl_id='$id' LIMIT 1" );
        if( 
db_num_rows($res) )
        {
            
$itemnew db_fetch_assoc($res);
            
item_add$session['user']['acctid'], 0$itemnew);
            
addnews($session['user']['name'].'`7 hat heute das '.$name.'`7 gefunden!');
        }
    }
    
$session['user']['specialinc']='';
}

if (
$_GET['op']=='fight')
{
    
$battle=true;
}

if (
$battle)
{
    include(
'battle.php');
    if (
$victory)
    {
        
$badguy=array();
        
$session['user']['badguy']='';
        
output('`n`7Du hast den Gruftschrecken bezwungen und kannst dich nun nach Herzenslust der Plünderung des Grabes hingeben.`n`n');
        
$exp_gain=($session['user']['level']+1)*15;
        
output("`7Du bekommst $exp_gain Erfahrungspunkte und findest `@2 Edelsteine und 2500 Gold`7.`n`n");
        
$session['user']['experience']+=$exp_gain;
        
$session['user']['gems']+=2;
        
$session['user']['gold']+=2500;
        
$session['user']['specialinc']='';
    }
    elseif (
$defeat)
    {
        
$badguy=array();
        
$session['user']['badguy']='';
        
$session['user']['specialinc']='';
        
output('`n`7Der Gruftschrecken saugt dir das Leben aus und bannt dich zur Strafe in das Totenreich.
        `n`n`7Außerdem nimmt er dir `4einen permanenten Lebenspunkt`7!`n'
);
        
$session['user']['maxhitpoints']--;
        
addnews('`7Die Grabschänderkarriere von '.$session['user']['name'].'`7 nahm heute ein jähes Ende.');
        
killplayer(0,0,0,'shades.php','Na dann');
    }
    else
    {
        
fightnav(true,false);
    }
}
?>
0.9.7(DS V3) Ithil-Edition