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/donation.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:
<?php
/**
 * Waldspecial donation.php
 * Obskure Spendensammler treiben sich im Wald herum. Man kann etwas spenden und Segen bekommen, oder die Kreatur bekämpfen, oder gar nichts tun.
 * lauffähig getestet auf DS-Edition ab 3.42, mit geringen Änderungen sicher auch auf Standard-LotgD portierbar
 * Autor: Salator (salator [-[at]-] gmx.de) an einem öden Sonntagnachmittag im November des Jahres 2008
 */

if(!isset($session)) exit;

//Spendensammler
$collectors=array(
    
1=> array('name'=>'Zeuge des Sofas','payfor'=>'den Aufbau einer wundervollen Welt, in der alle Menschen und Tiere in Frieden leben')
    ,array(
'name'=>'Karl Ranseier','nameextra'=>', der wohl erfolgloseste Drachentöter aller Zeiten','payfor'=>'den Kauf einer neuen Drachentöter-Ausrüstung')
    ,array(
'name'=>'Televoting-Agent','payfor'=>'eine Million Goldstücke für den Einmillionsten Spender')
    ,array(
'name'=>'Arthur Dent','payfor'=>'die Planungsänderung einer Umgehungsstraße')
    ,array(
'name'=>'Ritter der Kokosnuss','payfor'=>'neue Kokosnüsse')
    ,array(
'name'=>'Bewohner von Gooncity','payfor'=>'die Vergrößerung von Gooncity')
    ,array(
'name'=>'Gunther von Hagens','payfor'=>'eine Körperwelt')
    ,array(
'name'=>'Dolly Buster','payfor'=>'eine Brustvergrößerung','sex'=>1)
    ,array(
'name'=>'Edentulos','nameextra'=>', der zahnlose Vampir','payfor'=>'Zahnersatz')
    ,array(
'name'=>'Psygnosis','nameextra'=>', König der Lemminge','payfor'=>'den Erwerb von Gefallen bei `AI`4l`$y`4a`As`0')
    ,array(
'name'=>'Jürgen Schneider','payfor'=>'die Modernisierung des Wohnviertels')
    ,array(
'name'=>'Pfadfinderin','payfor'=>'Backzutaten für Pfadfinderinnen-Kekse','sex'=>1)
    ,array(
'name'=>'`AI`4l`$y`4a`As\' Mechaniker`0','payfor'=>'eine neue Höllenmaschine zum Seelen foltern')
);

if(
$_GET['op']=='donate'//etwas spenden
{
    
$who=(int)$_GET['who'];
    
$don=(int)$_GET['don']*100;
    
output('Du findest, dass eine `7Spende für '.$collectors[$who]['payfor'].'`0 wirklich eine gute und unterstützenswerte Sache ist und gibst '.$don.' Goldstücke.
    `n`7'
.$collectors[$who]['name'].'`0 ist sichtlich erfreut ob deiner Barmherzigkeit und dankt dir wortreich für deine Spende. Bevor sich eure Wege wieder trennen, spricht '.($collectors[$who]['sex']?'sie':'er').' noch einen Segen über dich.');
    
$session['user']['gold']-=$don;
    if(
$don>=2000)
    {
        
addnews('`5'.$session['user']['name'].'`2 wurde beobachtet, wie '.($session['user']['sex']?'sie':'er').' ein halbes Vermögen für "`7'.$collectors[$who]['payfor'].'`2" spendete.'); 
    }
    
$buffrounds=$_GET['don']*4+15;
    if(
$session['bufflist']['donator']['rounds']>0)
    {
        
$buffrounds+=$session['bufflist']['donator']['rounds'];
    }
    
$buff = array('name'=>'`^Spenden-Segen','rounds'=>$buffrounds,'wearoff'=>'`!Der erkaufte Segen wirkt nicht mehr.`0','defmod'=>1.2,'roundmsg'=>'`7Der Segen von `f'.$collectors[$who]['name'].'`7 schützt dich.','activate'=>'roundstart');
    
$session['bufflist']['donator']=$buff;
    
$session['user']['specialinc']='';
}

elseif(
$_GET['op']=='fuckup'//nichts spenden
{
    
$who=(int)$_GET['who'];
    
$session['user']['specialinc']='';
    
output('Du erklärst `7'.$collectors[$who]['name'].'`0, dass du kein Gold spenden kannst, weil ');
    switch(
e_rand(1,10))
    {
    case 
1:
        
output('du gerade von einem alten Mann ausgeraubt wurdest.');
        break;
    case 
2:
        
output('du gerade von einer Diebesbande ausgeraubt wurdest.');
        break;
    case 
3:
        
output('du deinen Goldbeutel irgendwo im Gestrüpp verloren hast.');
        break;
    case 
4:
        
output('es dir deine Gesinnung verbietet, Geschäfte im Wald zu tätigen.');
        break;
    case 
5:
        
output('du schottischer Abstammung bist und schon in frühester Jugend zur Sparsamkeit erzogen wurdest.');
        break;
    case 
6:
        
output('zu Hause 7 hungrige Bambinis warten.');
        break;
    default:
        
output('das Leben in '.getsetting('townname','Atrahor').' so teuer ist.');
        break;
    }
    if(
$session['user']['gold']<($session['user']['level']*20) && $session['user']['goldinbank']<getsetting('maxinbank','10000'))
    {
        
output('`n'.$collectors[$who]['name'].'`0 ist von deiner Armut tief berührt und steckt dir ein paar Goldstücke zu.');
        
$session['user']['gold']+=($session['user']['level']*20);
    }
    
//den chronisch vollen Bettelstein etwas reduzieren
    
$beggar=getsetting('paidgold','0');
    if(
$beggar>(getsetting('beggarmax','20000')/2))
    {
        
savesetting('paidgold',($beggar-300));
    }
}

elseif(
$_GET['op']=='kill'//die Kreatur bekämpfen
{
    
$who=(int)$_GET['who'];
    
$targetlevel $session['user']['level'];
    
//alter uncached Query
    //$sql = 'SELECT * FROM creatures WHERE creaturelevel = '.$targetlevel.' ORDER BY rand('.e_rand().') LIMIT 1';
    //$result = db_query($sql);
    //$badguy = db_fetch_assoc($result);
    //cached Query
    
$sql 'SELECT * FROM creatures WHERE creaturelevel = '.$targetlevel;
    
$arr_creatures=cached_query($sql,'forestcreatures'.$targetlevel,false,86400);
    
$badguy=$arr_creatures[e_rand(0,sizeof($arr_creatures)-1)];
    
    
$badguy['creaturename']=$collectors[$who]['name'];
    
$badguy['creatureweapon']='Spenden-Beutel';
    
$badguy['creaturewin']='%w`5 hätte doch nur sagen brauchen, dass %o nichts spenden will...';
    
$badguy['creaturelose']='Da könnte ja jeder kommen und betteln!';
    
$session['user']['badguy']=createstring($badguy);
    
$session['user']['turns']--;
    
$session['user']['specialinc']='';
    
redirect('forest.php?op=fight');
}

else 
//Startbild
{
    
$who=e_rand(1,count($collectors));
    
output('Auf deiner Suche nach Monstern begegnest du einem gar seltsam aussehenden Kauz. Bereit für den Kampf packst du dein '.$session['user']['weapon'].'`0 fester.
    `nDoch '
.($collectors[$who]['sex']?'die':'der').' seltsame Fremde hebt '.($collectors[$who]['sex']?'ihre':'seine').' Hand zum Gruß und bedeutet dir auf diese Weise, dass '.($collectors[$who]['sex']?'sie':'er').' keine feindlichen Absichten hat. '.($collectors[$who]['sex']?'Sie':'Er').' stellt sich als `@'.$collectors[$who]['name'].$collectors[$who]['nameextra'].'`0 vor und erzählt dir, dass '.($collectors[$who]['sex']?'sie':'er').' `^Spenden für '.$collectors[$who]['payfor'].'`0 sammelt.
    `nUnd so fragt '
.($collectors[$who]['sex']?'sie':'er').' auch dich, ob du ein paar Goldstücke für eine gute Sache übrig hast.
    `n`nWas wirst du tun?'
);
    
$session['user']['specialinc']='donation.php';
    
addnav('Armer Schlucker');
    
addnav('Nichts spenden','forest.php?op=fuckup&who='.$who);
    
addnav('Wohltäter');
    for(
$i=1;$i<10;$i++)
    {
        if((
$i*100)>$session['user']['gold']) break;
        
addnav($i.'?Spende '.$i.'00 Gold','forest.php?op=donate&who='.$who.'&don='.$i);
    }
    if(
$session['user']['gold']>1000)
    {
        
addnav('Spende 1000 Gold','forest.php?op=donate&who='.$who.'&don=10');
        if(
$session['user']['gold']>2000)
        {
            
addnav('Proll');
            
addnav('Spende 2000 Gold','forest.php?op=donate&who='.$who.'&don=20');
            if(
$session['user']['gold']>5000)
            {
                
addnav('Spende 5000 Gold','forest.php?op=donate&who='.$who.'&don=50');
            }
        }
    }
    
addnav('Krieger');
    
addnav('b?Die Kreatur bekämpfen','forest.php?op=kill&who='.$who);
}
?>
0.9.7(DS V3) Ithil-Edition