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/weather.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:
323:
324:
325:
326:
327:
<?
// idea of gargamel @ www.rabenthal.de
// Anregungen für die neuen Wetter von Gloin

if (!isset($session))
{
    exit();
}

if (
$_GET['op']=="")
{
    
$w Weather::get_weather();
    
output('Sag mal, '.$session['user']['name'].', hast Du eigentlich heute schon zum
    Himmel geschaut? Das Wetter ist "`^'
.$w['name'].'`0"!!`n`0');
    
    switch (
$settings['weather'])
    {
        case 
Weather::WEATHER_COLD :
        {
            
output('"Könnte besser sein" denkst du dir und gehst weiter.`0');
            break;
        }

        case 
Weather::WEATHER_WARM :
        {
            
output('Du bist hier ganz in der Nähe von einem kleinen Waldsee. Und so wundert es nicht, dass bei diesem Wetter eine wahre Mückenplage herrscht.`n`0');
            
$case e_rand(1,2);
            switch (
$case )
            {
            case 
1:
                
output('Du musst die Plagegeister ständig wegscheuchen, was dich etwas Aufmerksamkeit im nächsten Kampf kostet.
                `n`^Deine Verteidigung wird schwächer.`n`0'
);
                
$session['bufflist']['muecken'] = array('name'=>'`4Mücken',
                
'rounds'=>10,
                
'wearoff'=>'Die Mücken haben sich verzogen.',
                
'defmod'=>0.92,
                
'atkmod'=>1,
                
'roundmsg'=>'Die Mücken behindern Dich.',
                
'activate'=>'defense');
                break;
                
            case 
2:
                
output('Bei dem ständigen Geschwirre kannst du dich kaum auf den nächsten Kampf konzentrieren.
                `n`^Deine Angriffsfähigkeit ist daher eingeschränkt.`0'
);
                
$session['bufflist']['muecken'] = array('name'=>'`4Mücken',
                
'rounds'=>10,
                
'wearoff'=>'Die Mücken haben sich verzogen.',
                
'defmod'=>1,
                
'atkmod'=>0.92,
                
'roundmsg'=>'Die Mücken behindern Dich.',
                
'activate'=>'offense');
                break;
            }
            break;
        }

        case 
Weather::WEATHER_RAINY :
        {
            if (
$session['user']['specialty'] == )
            {
                
output('Als du nun bei dem miesen Wetter durch den Wald stapfst, wird deine Stimmung nochmal schlechter.
                `nDeinen Fähigkeiten tut dies jedoch gut und `^du steigst eine Stufe auf.`0'
);
                
increment_specialty();
            }
            else
            {
                
output('Als nun ein weiterer Schauer niedergeht, ziehst du dir erstmal schnell deinen Regenschutz über.
                `n`^Leider behindert er dich etwas beim Kämpfen...`0'
);
                
$session['bufflist']['regenjacke'] = array('name'=>'`4Regenschutz',
                
'rounds'=>25,
                
'wearoff'=>'Gut! Der Regenschauer ist vorbei.',
                
'defmod'=>0.96,
                
'atkmod'=>0.92,
                
'roundmsg'=>'Der Regenschutz behindert dich.',
                
'activate'=>'defense');
            }
            break;
        }

        case 
Weather::WEATHER_FOGGY :
        {
            if (
$session['user']['specialty'] == )
            {
                
output('Das kommt dir mit deinen Diebesfähigkeiten natürlich entgegen.
                `^Du erhältst einen zusätzlichen Waldkampf!`0'
);
                
$session['user']['turns']++;
            }
            else
            {
                
output('Da ist es noch schwieriger, sich im Wald zurechtzufinden. Und prompt nimmst du einen falschen Abzweig vom Waldweg.
                `n`^Du verlierst einen Waldkampf.`0'
);
                
$session['user']['turns']--;
            }
            break;
        }

        case 
Weather::WEATHER_COLDCLEAR :
        {
            
output('Meinst Du wirklich, '.$session['user']['armor'].'`0 ist da die richtige Kleidung?`n`0');
            
$case e_rand(1,2);
            switch (
$case )
            {
            case 
1:
                
output('`^Du handelst Dir einen Schnupfen ein und verlierst ein paar Lebenspunkte.`0');
                
$session['user']['hitpoints']=round($session['user']['hitpoints']*0.95);
                break;
                
            case 
2:
                
output('Du sammelst etwas Reisig im Unterholz und wärmst dich erstmal an einem kleinen Feuerchen.
                `n`^Die Pause kostet dich einen Waldkampf.`0'
);
                
$session['user']['turns']--;
            }
            break;
        }

        case 
Weather::WEATHER_HOT :
        {
            
output('Im Dorf hast du es sogar als schwül empfunden und geniesst daher die Zeit im schattigen, kühlen Wald.
            `n`^Du bekommst einen Waldkampf.`0'
);
            
$session['user']['turns']++;
            break;
        }

        case 
Weather::WEATHER_WINDY :
        {
            
output('Die großen alten Bäume hier biegen sich unter der Wucht einzelner Windböen.
            Ein großer Ast kann dem Wind nicht mehr standhalten und kracht zu Boden.`0'
);
            
$case e_rand(1,2);
            switch (
$case )
            {
            case 
1:
                
output('Du hast mehr Glück als Verstand! Der mächtige Ast schlägt nur wenige Schritte von dir entfernt auf. Dir ist nichts passiert.
                `n`^Etwas eingeschüchtert gehst du weiter.`0'
);
                break;
                
            case 
2:
                
output('Zum Glück schlägt der Ast neben dir ein, aber ein paar kleinere Äste treffen dich doch.
                `^Du büßt Lebenspunkte ein!`0'
);
                
$hp e_rand(1,$session['user']['hitpoints']);
                
$session['user']['hitpoints']=$hp;
                break;
            }
            break;
        }

        case 
Weather::WEATHER_TSTORM :
        {
            if (
$session['user']['specialty'] == )
            {
                
output('Um dich herum zucken die Blitze durch den verdunkelten Himmel.
                Genau richtig, um die magischen Kräfte aufzuladen.`n
                `^Du kannst Deine Fähigkeiten wieder einsetzen.`0'
);
                
//-> fähigkeiten aktivieren
                
restore_specialty();
            }
            else
            {
                
output('Gerade im Wald ist das nicht ungefährlich!`n`n
                Um dich vor Blitzschlag zu schützen stellst du dich in einer Höhle unter.`n
                `^Du verlierst einen Waldkampf.`0'
);
                
$session['user']['turns']--;
            }
            break;
        }

        
//neue Wetter:
        
case Weather::WEATHER_SNOWRAIN :
        {
            
output('Du schaust also zum Himmel, was in diesem Moment keine gute Idee war.
            Prompt rutscht du aus und fällst auf die Nase.'
);
            if (
$session['user']['hitpoints']>20 )
            {
                
output('`n`^Du verlierst 5 Lebenspunkte.`0');
                
$session['user']['hitpoints']-=5;
            }
            break;
        }

        case 
Weather::WEATHER_SNOW :
        {
            
output('Du schaust also zum Himmel - vielleicht einen Moment zu lange. ');
            if (
$session['user']['hashorse']>)
            {
                
output('Als du dich umsiehst ist dein '.$playermount['mountname'].' verschwunden.
                Und wo kommt der Schneeberg neben dir her?`n
                `^Du verlierst einen Waldkampf während du dein Tier wieder ausgräbst.`0'
);
                
$session['user']['turns']--;
            }
            else
            {
                
output('Als du weitergehen willst merkst du, daß du bis zur Hüfte eingeschneit bist.');
            }
            break;
        }

        case 
Weather::WEATHER_STORM :
        {
            
//Code aus specialty.lib.php modifiziert, geht Anwendung wegnehmen vielleicht auch einfacher?
            
$int_specid $session['user']['specialty'];
            
$sql 'SELECT * FROM specialty WHERE specid='.$int_specid;
            
$row db_fetch_assoc(db_query($sql));
            
            
$skillnames = array($row['specid']=>$row['specname']);
            
$skills = array($row['specid']=>$row['usename']);
            
$skillpoints = array($row['specid']=>$row['usename']."uses");
            
            
output('Und es kommt wie es kommen muß, ein starker Windstoß reißt dir '.$session['user']['armor'].'`0 vom Leib. ');
            if (
$session['user']['specialtyuses'][$skillpoints[$int_specid]]>0)
            {
                
output('Geistesgegenwärtig besinnst du dich auf deine Fähigkeiten in '.$skillnames[$int_specid].'`0 und zauberst deine Rüstung zurück.
                `n`^Du verlierst eine Anwendung in '
.$skillnames[$int_specid].'`^.`0');
                
$session['user']['specialtyuses'][$skillpoints[$int_specid]]--;
            }
            else
            {
                
output('Es dauert eine ganze Weile bis du deine Rüstung wiedergefunden hast. Wie peinlich!
                `n`^Du verlierst einen Charmepunkt.`0'
);
                if (
$session['user']['charm']>0)
                {
                    
$session['user']['charm']--;
                }
            }
            break;
        }

        case 
Weather::WEATHER_HEAVY_RAIN :
        {
            
output('Du ziehst dir erstmal schnell deinen Regenschutz über.`n
            `^Leider behindert er dich etwas beim Kämpfen. Wer geht bei so einem Mistwetter auch in den Wald???`0'
);
            
$dk $session['user']['dragonkills']+1;
            if (
$dk 40)
            {
                
$dk 40;
            }
            
$rounds round(sqrt($dk)*$session['user']['level'])+20;
            if (
$session['user']['race'] == 'ecs')
            {
                
$rounds int($rounds/2);
            }
            
$session['bufflist']['regenjacke'] = array('name'=>'`4Regenschutz',
            
'rounds'=>$rounds,
            
'wearoff'=>'Gut! Der heftige Regen ist vorbei.',
            
'defmod'=>0.96,
            
'atkmod'=>0.92,
            
'roundmsg'=>'Der Regenschutz behindert dich.',
            
'activate'=>'defense');
            break;
        }

        case 
Weather::WEATHER_FROSTY :
        {
            
output('Zähneklappernd ziehst du weiter. Jetzt, wo man dich darauf aufmerksam gemacht hat, kommt es dir noch viel kälter vor.
            `n`^Du kannst kaum deine Waffe ruhig halten.`0'
);
            
$session['bufflist']['zittern'] = array('name'=>'`4zitternde Hände',
            
'rounds'=>25,
            
'wearoff'=>'Du hast dich warm gekämpft.',
            
'atkmod'=>0.9,
            
'roundmsg'=>'Vor Kälte kannst du deine Waffe nicht ruhig führen.',
            
'activate'=>'offense');
            break;
        }

        case 
Weather::WEATHER_HAIL :
        {
            
output('Meinst Du wirklich, '.$session['user']['armor'].'`0 ist da die richtige Kleidung?
            `n`0`^Prompt trifft dich ein taubeneigroßes Hagelkorn und du verlierst ein paar Lebenspunkte.`0'
);
            
$session['user']['hitpoints']=round($session['user']['hitpoints']*0.95);
            break;
        }

        case 
Weather::WEATHER_FLAMES :
        case 
Weather::WEATHER_BOREALIS :
        {
            
output('Ein faszinierender Anblick. Du beschließt, heute etwas länger draußen zu bleiben.`n
            `^Du bekommst einen Waldkampf.`0'
);
            
$session['user']['turns']++;
            break;
        }

        case 
Weather::WEATHER_ECLIPSE :
        {
            
output('Du fühlst, daß heute ein ganz besonderer Tag ist.`n');
            
increment_specialty();
            
output('`0Vielleicht solltest du ja in den Tempel oder zur Waldlichtung gehen um mit den anderen Dorfbewohnern zu meditieren.
            Bestimmt sind auch Priester/Hexen anwesend um eine Zeremonie abzuhalten.
            `n`^Was du jetzt tust ist allein deine Entscheidung.`0'
);
            break;
        }

        case 
Weather::WEATHER_CLOUDLESS :
        {
            if (
$session['user']['race']=='vmp' || $session['user']['race']=='wwf' || $session['user']['race']=='dkl')
            {
                
output('Als Schattenwesen findest du das jedoch nicht so toll und beeilst dich, wieder in deine Behausung zu kommen.');
            }
            else
            {
                
output('Da macht das Kämpfen doch gleich doppelt Spaß.`n`^Du erhältst 2 Waldkämpfe`0');
                
$session['user']['turns']+=2;
            }
            break;
        }

        case 
Weather::WEATHER_CLOUDY_LIGHT :
        {
            if (
$session['user']['race']=='vmp' || $session['user']['race']=='wwf' || $session['user']['race']=='dkl')
            {
                
output('Genau das richtige Wetter für dich als Schattenwesen.`n`^Du erhältst 2 Waldkämpfe`0');
                
$session['user']['turns']+=2;
            }
            else
            {
                
output('Aber du wirst schon deine Gründe haben, jetzt durch den Wald zu laufen.`0');
            }
            break;
        }
        default: {
            
output('Du denkst dir, schon ganz andere Sachen erlebt zu haben, und ziehst weiter.');
        }
    }
}

else
{
    
output('Du befindest dich in unerforschtem Gebiet. Die Götter allein wissen wie Du hier hingekommen bist.');
}
?>
0.9.7(DS V3) Ithil-Edition