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/castle.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:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590:
591:
592:
593:
594:
595:
596:
597:
598:
599:
600:
601:
602:
603:
604:
605:
606:
607:
608:
609:
610:
611:
612:
613:
614:
615:
616:
617:
618:
619:
620:
621:
622:
623:
624:
625:
626:
627:
628:
629:
630:
631:
632:
633:
634:
<?php

// 25082004

// originally found at www.lotgd.com
// changes & translation by anpera
// additional changes by nTE

checkday();
page_header("Die Burg");
$session['user']['specialinc']='castle.php';
$runden=$session['user']['turns'];
$castleoptions unserialize($session['user']['specialmisc']);
if (!
is_array($castleoptions) || $castleoptions['castleinit'] != 1)
{
    
$castleoptions = array();
    
$castleoptions['beautyshop_uses'] = 0;
    
$castleoptions['well_uses'] = 0;
    
$castleoptions['castleinit'] = 1;
    
$castleoptions['gems_onenter']=$session['user']['gems'];
    
$castleoptions['navigatorhead']=item_count('tpl_id="navikopf" AND owner='.$session['user']['acctid']); //User hat ein Item "Kopf des Navigators" vom beleidgterpirat-Special
}
$session['user']['specialmisc'] = serialize($castleoptions);

function 
castlenav($what=''$runden=0)
{
    global 
$session;
    switch (
$what)
    {
    case 
'main':
        
addnav('Burghof');
        
//addnav('Schießbude','forest.php?op=bar'); 
        
if ($runden>0)
        {
            
addnav('Übungsraum','forest.php?op=train');
        }
        
addnav('Shops');
        
addnav('Waffenschmied','forest.php?op=blacksmith');
        
addnav('Rüstungsschmied','forest.php?op=armourer');
        
addnav('Sonstige');
        if (
$runden>0)
        {
            
addnav('Katakomben betreten...','forest.php?op=catacombs');
        }
        
addnav('v?Burg verlassen','forest.php?op=leavecastle');
        break;
    case 
'kala'://ACHTUNG: $runden = kalavisits
        
if($runden == -//Chilimaske
        
{
            
castlenav();
            return;
        }
        if(
$runden==-2//Tageslimit erreicht
        

            
addnav('G?Noch eine Gurkenmaske!''forest.php?op=mask2');
        }
        
//fehlendes break; beabsichtigt!
    
case 'return':
        
addnav('Nach draußen','forest.php?op=return');
        break;
    default:
        
$session['user']['specialinc']='';
        
$session['user']['specialmisc']='';
        
forest();
        break;
    }
}

function 
catacombs()
{
    global 
$session,$castleoptions;
    
$where=false;
    if(
$castleoptions['navigatorhead'])
    {
        
output('`n`%Der Kopf des Navigators weist dir den Weg:');
    }
    else
    {
        
output('`n`%Du kannst in folgende Richtungen gehen:');
        switch (
e_rand(1,2))
        {
        case 
1:
            
output('`n<a href="forest.php?op=north">Norden</a>',true);
            
addnav('Norden','forest.php?op=north');
            
addnav('','forest.php?op=north');
            
$where=true;
            break;
        case 
2:
            break;
        }
        switch (
e_rand(1,2))
        {
        case 
1:
            
output('`n<a href="forest.php?op=east">Osten</a>',true);
            
addnav('Osten','forest.php?op=east');
            
addnav('','forest.php?op=east');
            
$where=true;
            break;
        case 
2:
            break;
        }
        switch (
e_rand(1,2))
        {
        case 
1:
            
output('`n<a href="forest.php?op=south">Süden</a>',true);
            
addnav('Süden','forest.php?op=south');
            
addnav('','forest.php?op=south');
            
$where=true;
            break;
        case 
2:
            break;
        }
        switch (
e_rand(1,2))
        {
        case 
1:
            
output('`n<a href="forest.php?op=west">Westen</a>',true);
            
addnav('Westen','forest.php?op=west');
            
addnav('','forest.php?op=west');
            
$where=true;
            break;
        case 
2:
            break;
        }
    }
    if (
$where == false)
    {
        switch (
e_rand(1,5))
        {
        case 
1:
            
output('`n<a href="forest.php?op=north">Norden</a>',true);
            
addnav('Norden','forest.php?op=north');
            
addnav('','forest.php?op=north');
            break;
        case 
2:
            
output('`n<a href="forest.php?op=east">Osten</a>',true);
            
addnav('Osten','forest.php?op=east');
            
addnav('','forest.php?op=east');
            break;
        case 
3:
            
output('`n<a href="forest.php?op=south">Süden</a>',true);
            
addnav('Süden','forest.php?op=south');
            
addnav('','forest.php?op=south');
            break;
        case 
4:
            
output('`n<a href="forest.php?op=west">Westen</a>',true);
            
addnav('Westen','forest.php?op=west');
            
addnav('','forest.php?op=west');
            break;
        case 
5:
            switch (
e_rand(1,5))
            {
            case 
1:
                
addnews($session['user']['name'].' hat große Reichtümer in den Katakomben gefunden!');
                
$gems e_rand(1,3);
                
$gold e_rand($session['user']['level']*11,$session['user']['level']*100);
                
output('`^ Vorwärts!`n`n`%Du erreichst eine verschlossene Tür und drückst sie auf. Dahinter findest du Berge von Reichtümern und du stopfst dir die Taschen voll!`n');
                
output('`n`^Du hast '.$gems.' Edelsteine und '.$gold.' Gold mitgenommen!');
                
$session['user']['gems']+=$gems;
                
$session['user']['gold']+=$gold;
                break;
            case 
2:
                
output('`^ Vorwärts!`n`n`%Du erreichst eine verschlossene Tür und drückst sie auf. Dahinter findest du Berge von Gold und du stopfst dir die Taschen voll!`n');
                
$gold e_rand($session['user']['level']*11,$session['user']['level']*100);
                
output('`n`^Du hast '.$gold.' Gold mitnehmen können!');
                
$session['user']['gold']+=$gold;
                break;
            case 
3:
                
output('`^ Vorwärts!`n`n`%Du erreichst eine verschlossene Tür und drückst sie auf. Dahinter findest du ... `bnichts`b! Ein anderer war wohl schneller als du.`n');
                
output('`nSchwer enttäuscht suchst du einen Ausgang aus den Katakomben.');
                break;
            case 
4:
                
output('`^ Vorwärts!`n`n`%Du erreichst eine verschlossene Tür und drückst sie auf. Dahinter findest du ... `bnichts`b! Ein anderer war wohl schneller als du.`n');
                
output('Schwer enttäuscht suchst du einen Ausgang aus den Katakomben.`n`nWenigstens hast du durch das Herumirren etwas an `^Erfahrung`% gewonnen.');
                
$session['user']['experience']+=$session['user']['experience']*0.02;
                break;
            case 
5:
                
output('`^ Vorwärts!`n`n`%Du erreichst eine verschlossene Tür und drückst sie auf. Dahinter findest du einen besonders schönen Edelstein und steckst ihn ein!`n');
                
output('`n`^Du hast 1 Edelstein gefunden!');
                
$session['user']['gems']+=1;
                break;
            }
            
output('`n`n`n<a href="forest.php?op=exitlab">Katakomben verlassen</a>',true);
            
addnav('Katakomben verlassen','forest.php?op=exitlab');
            
addnav('','forest.php?op=exitlab');
            
$castleoptions['navigatorhead']=false;
            
$session['user']['specialmisc'] = serialize($castleoptions);
            
item_delete('tpl_id="navikopf" AND owner='.$session['user']['acctid'],1);
            break;
        }
    }
}

if (
$_GET['op']=='enter')
{
    
$show_invent true;

    
output('`#Die Wache tritt beiseite und du läufst durch das Tor in die Burg. Die Mitte des Burghofs ist ein großer, mit Gras bewachsener Platz, um den herum viele interessante Stände und Läden sind. Einige davon klingen wirklich verlockend! Du weißt gar nicht, wo du zuerst hingehen sollst, aber auf dem Platz stehen einige Leute, so beschließt du, sie einfach zu fragen.`n');
    
viewcommentary('Courtyard','Rede mit Anderen');
    
castlenav('main'$runden);
}
    
/******Leave Castle******/
else if ($_GET['op']=='leave')
{
    
$session['user']['specialinc']='';
    
$session['user']['specialmisc'] = '';
    
output('`#Du beschließt, dass du keine Zeit für die Burg hast und kehrst um. Du nimmst den selben Pfad zurück in den Wald, den du gekommen bist...');
}
else if (
$_GET['op']=='leavecastle')
{
    
$gems_spent=$castleoptions['gems_onenter']-$session['user']['gems'];
    if(
$gems_spent>0)
    {
        
debuglog($gems_spent.' Edelsteine in der Orkburg gelassen');
    }
    
$session['user']['specialinc']='';
    
$session['user']['specialmisc'] = '';
    
output('`#Du gehst durch das Tor und über den Pfad zurück in den Wald.
    `n`n`^Du vertrödelst einen Waldkampf!'
);
    if (
$session['user']['turns']>0)
    {
        
$session['user']['turns']--;
    }
}
    
/********Return to Courtyard*******/
else if ($_GET['op']=='return')
{
    
$show_invent true;

    
output('`#Du gehst nach draußen. Die Mitte des Burghofs ist ein großer, mit Gras bewachsener Platz, um den herum viele interessante Stände und Läden sind. Einige davon klingen wirklich verlockend! Du weißt gar nicht, wo du zuerst hingehen sollst, aber auf dem Platz stehen einige Leute, so beschließt du, sie einfach zu fragen.`n');
    
viewcommentary('Courtyard','Rede mit Anderen');
    
castlenav('main'$runden);
}
    
/*********catacombs*******/
else if ($_GET['op']=='catacombs')
{
    
output('`#Du betrittst die Katakomben. Ein Schild am Eingang warnt: `%"Große Reichtümer warten im Inneren, aber ebenso großes Leid! Der Weg nach draußen liegt im `^Osten`%... Merk dir das!!"`n');
    
catacombs();
}
else if (
$_GET['op']=='north')
{
    
output('`#Im Inneren der Katakomben gehst du auf der Suche nach Reichtum nach `^Norden`#...`n');
    
catacombs();
}
else if (
$_GET['op']=='east')
{
    
output('`#Im Inneren der Katakomben gehst du auf der Suche nach Reichtum nach `^Osten`#...`n');
    switch (
e_rand(1,5))
    {
    case 
1:
    case 
2:
    case 
3:
    case 
4:
        
catacombs();
        break;
    case 
5:
        
catacombs();
        
output('`n`n`^Du findest einen Ausgang...
        `n<a href="forest.php?op=exitlab">Katakomben verlassen</a>'
);
        
addnav('Ausgang');
        
addnav('Katakomben verlassen','forest.php?op=exitlab');
        
addnav('','forest.php?op=exitlab');
        break;
    }
}
else if (
$_GET['op']=='south')
{
    
output('`#Im Inneren der Katakomben gehst du auf der Suche nach Reichtum nach `^Süden`#...`n');
    
catacombs();
}
else if (
$_GET['op']=='west')
{
    
output('`#Im Inneren der Katakomben gehst du auf der Suche nach Reichtum nach `^Westen`#...`n');
    
catacombs();
}
else if (
$_GET['op']=='exitlab')
{
    
$session['user']['specialmisc'] = 0;
    
$session['user']['specialinc']='';
    
$ff e_rand(1,4);
    if(
$ff>$session['user']['turns'])
    {
        
$ff=$session['user']['turns'];
    }
    
output('`#Du hast es geschafft, einen Ausgang aus den Katakomben zu finden. Allerdings musst du feststellen, dass du wieder im Wald gelandet bist. Dein Abenteuer in den Katakomben hatte seinen Preis...`n
    `n`^Du verlierst '
.$ff.' Waldkämpfe!');
        
$session['user']['turns']-=$ff;
}
    
/*********Bar, wird zur Schießbude umgestaltet und zum Dorffest gesteckt*******/
else if ($_GET['op']=='bar')
{
    
$orkhits=e_rand(0,10);
    if(
$_GET['act']=='stone')
    {
        
output('`#Du entscheidest dich für die Steinschleuder und stellst dein Können mit dieser Waffe unter Beweis: Du triffst '.$orkhits.' Orks, die jedoch keinen größeren Schaden nehmen.');
        
$session['user']['gold']-=5//Scheißegal ob man das auch ohne Gold ewig machen kann
    
}
    elseif(
$_GET['act']=='bow')
    {
        
output('`#Du entscheidest dich für Pfeil und Bogen und stellst dein Können mit dieser Waffe unter Beweis: '.$orkhits.' Orks fallen um.');
        
$session['user']['gold']-=5//Scheißegal ob man das auch ohne Gold ewig machen kann
    
}
    elseif(
$_GET['act']=='catapult')
    {
        
output('`#Du entscheidest dich für das Katapult und stellst dein Können mit dieser Waffe unter Beweis: Du triffst '.$orkhits.' Orks, die durch die Wucht des Aufpralls regelrecht zersplittern.');
        
$session['user']['gold']-=5//Scheißegal ob man das auch ohne Gold ewig machen kann
    
}
    elseif(
$_GET['act']=='machinegun')
    {
        if(
$orkhits==5)
        {
            
output('`#Du entscheidest dich für das RPG2000 und grübelst, wie man damit Orks trifft. Dann findest du den Abzug und schießt dir selbst ins Bein. `$AUTSCH!`# So ein gefährliches Ding! Da bist du froh, dass sowas erst in ein paar hundert Jahren für ein Computerspiel erfunden wird. Was auch immer ein Computer sein mag...');
            
$session['user']['hitpoints']*=0.6;
        }
        else
        {
            
output('`#Du entscheidest dich für das RPG2000 und grübelst, wie man damit Orks trifft. Vielleicht solltest du in ein paar hundert Jahren wiederkommen, wenn Computerspiele erfunden sind. Was auch immer Computerspiele sein mögen...');
        }
        
$session['user']['gold']-=5//Scheißegal ob man das auch ohne Gold ewig machen kann
    
}
    else
    {
        
output("`#Du gehst durch die Tür in die `^'Schießbude'`# und das Erste, was dir auffällt, ist eine endlose Kette von Holz-Orks, welche durch den Raum gezogen werden. Du hast von diesem Ort gehört, die unbegrenzten Möglichkeiten, auf Orks zu schießen, machen ihn zu einem guten Ort zum Entspannen oder Dampf ablassen.`nAuf einer Holztafel steht die Preisliste: 10 Schuss 5 Gold.");

    }
    
output('`n`n');
    
viewcommentary('orcfield','Auch Orks killen',30,'ruft');
    
addnav('Steinschleuder','forest.php?op=bar&act=stone');
    
addnav('Pfeil und Bogen','forest.php?op=bar&act=bow');
    
addnav('Katapult','forest.php?op=bar&act=catapult');
    
addnav('RPG2000','forest.php?op=bar&act=machinegun');
    
castlenav('return'$runden);
}
    
/********Armourer********/
else if ($_GET['op']=='armourer')
{
    if (
strchr($session['user']['armor'],'High-Grade'))
    {
        
output('`#Du betrittst `@Thorics`# Rüstungsladen. Du siehst Thoric in ein Buch vertieft in einer Ecke sitzen. Er schaut auf und wirft sofort einen Blick auf dein `^'.$session['user']['armor'].'`#. `%"Schön zu sehen, dass du meine Handwerkskunst trägst."`# murmelt er, bevor er sich wieder seinem Buch zuwendet.');
    }
    else
    {
        
$newdefence $session['user']['armordef'] + 2;
        
$cost $session['user']['armordef'] * 250;
        
output('`#Du betrittst `@Thorics`# Rüstungsladen. Du siehst Thoric in ein Buch vertieft in einer Ecke sitzen. Er schaut auf und wirft sofort einen Blick auf dein `^'.$session['user']['armor'].'`#. ');
        if (
$cost == 0)
        {
            
output('`%"Sieht nicht so aus, als ob ich aus damit irgendetwas machen könnte."`#, murmelt er, bevor er sich wieder seinem Buch zuwendet.
            `n`n`^Niedergeschlagen machst du dich daran, den Laden zu verlassen...'
);
        }
        else if (
$cost $session['user']['gold'])
        {
            
output('`%"Ich könnte das zu einem `!High-Grade '.$session['user']['armor'].'`% mit `^'.$newdefence.'`% Rüstungsschutz machen, wenn du willst. Und das kostet dich nur `^'.$cost.'`% Gold!"`#, murmelt er, bevor er sich wieder seinem Buch zuwendet.
            `n`n`^Da du aber nicht so viel Gold dabei hast, beschließt du den Laden zu verlassen...'
);
        }
        else
        {
            
output('`%"Ich könnte das zu einem `!High-Grade '.$session['user']['armor'].'`% mit `^'.$newdefence.'`% Rüstungsschutz machen, wenn du willst. Und das kostet dich nur `^'.$cost.'`% Gold!"`#, murmelt er, bevor er sich wieder seinem Buch zuwendet.
            `n`n<a href="forest.php?op=upgradearmour">Rüstung verbessern</a>'
);
            
addnav("","forest.php?op=upgradearmour");
            
addnav("Rüstung verbessern","forest.php?op=upgradearmour");
        }
    }
    
castlenav('return'$runden);
}
else if (
$_GET['op']=='upgradearmour')
{
    
output('`#`@Thoric`# nimmt dein `^'.$session['user']['armor'].'`# und arbeitet eine Weile daran. Bald steht er auf, passt dir die Rüstung an und macht noch ein paar abschließende Änderungen. Die Rüstung fühlt sich jetzt etwas schwerer an, scheint aber tatsächlich von viel höherer Qualität zu sein als vorher. Zufrieden verlässt du den Laden.');
    
$newarmor 'High-Grade '.$session['user']['armor'];
    
$cost $session['user']['armordef'] * 250;
    
$session['user']['gold']-=$cost;

    
item_set_armor($newarmor,$session['user']['armordef']+2,$session['user']['armorvalue']+$cost,0,0,1);

    
castlenav("return"$runden);
}
    
/********Blacksmith********/
else if ($_GET['op']=='blacksmith')
{
    if (
strchr($session['user']['weapon'],'High-Grade'))
    {
        
output('`#Du betrittst die Schmiede. Der Waffenschmied beugt sich über einen Schmelztiegel mit geschmolzenem Metall und betrachtet dein `^'.$session['user']['weapon'].'`#. `%"Das war `ne tolle Arbeit, die ich da für dich gemacht hab, also warum bist du hier?"`#, gibt er an. Etwas enttäuscht verlässt du die Schmiede.');
    }
    else
    {
        
$newattack $session['user']['weapondmg'] + 2;
        
$cost $session['user']['weapondmg'] * 250;
        
output('`#Du betrittst die Schmiede. Der Waffenschmied beugt sich über einen Schmelztiegel mit geschmolzenem Metall und betrachtet dein `^'.$session['user']['weapon'].'`#. ');
        if (
$cost == 0)
        {
            
output('`%"Du erwartest doch nicht, dass ich sowas bearbeite? Komm wieder, wenn du eine ordentliche Waffe hast."
            `n`n`^Niedergeschlagen machst du dich daran, den Laden zu verlassen...'
);
        }
        else if (
$cost $session['user']['gold'])
        {
            
output('`%"Daraus kann ich ein `5High-Grade '.$session['user']['weapon'].'`% mit `5'.$newattack.'`% Schaden machen! Aber das wird dich `5'.$cost.'`% Gold kosten..."
            `n`n`^Da du nicht genug Gold hast, beschließt du den Laden zu verlassen...'
);
        }
        else
        {
            
output('`%"Daraus kann ich ein `5High-Grade '.$session['user']['weapon'].'`% mit `5'.$newattack.'`% Schaden machen! Aber das wird dich `5'.$cost.'`% Gold kosten..."
            `n`n<a href="forest.php?op=upgradeweapon">Waffe verbessern</a>'
);
            
addnav('','forest.php?op=upgradeweapon');
            
addnav('Waffenschmied');
            
addnav('Waffe verbessern','forest.php?op=upgradeweapon');
        }
    }
    
castlenav('return'$runden);
}
else if (
$_GET['op']=='upgradeweapon')
{
    
output('`#Der Waffenschmied nimmt `^'.$session['user']['weapon'].'`# und arbeitet eine Weile daran. Bald steht er auf und gibt dir deine Waffe zurück. Sie wirkt etwas schwerer, aber die Qualität scheint wesentlich besser als vorher zu sein. Zufrieden verlässt du den Laden. ');
    
$newweapon 'High-Grade '.$session['user']['weapon'];
    
$cost $session['user']['weapondmg'] * 250;
    
$session['user']['gold']-=$cost;

    
item_set_weapon($newweapon,$session['user']['weapondmg']+2,$session['user']['weaponvalue']+$cost,0,0,1);

    
castlenav('return'$runden);
}
    
/********Training Room********/
else if ($_GET['op']=='train')
{
    
output('`#Du betrittst den Trainingsraum und schaust dich um. Du siehst diverse Schwerter, Dummies und Trainer. Hier kannst du Zeit zum Trainieren verbringen und gefahrlos deine Erfahrung steigern.`n');
    if (
$session['user']['turns'] < 1)
    {
        
output('`n`n`%Du hast leider keine Waldkämpfe zum Trainieren übrig!');
    }
    else
    {
        
output('`%Wieviele Runden willst du trainieren?`0`n
        <form action="forest.php?op=train2" method="POST">
        <input name="trai" id="trai"><input type="submit" class="button" value="Trainieren">
        </form>
        '
.focus_form_element('trai'));
        
addnav('','forest.php?op=train2');
    }
    
castlenav('return'$runden);
}
else if (
$_GET['op']=="train2")
{
    
$trai abs((int)$_GET['trai'] + (int)$_POST['trai']);
    if (
$session['user']['turns'] <= $trai)
    {
        
$trai $session['user']['turns'];
    }
    if (
$session['user']['turns']<=0)
    {
        
output('`^Du fällst erschöpft um und landest sehr unsanft auf dem rauen Boden, bevor du trainieren konntest. Du verlierst einen Teil deiner Lebensenergie.');
        
$session['user']['hitpoints']=round($session['user']['hitpoints']*0.8);
        if (
$session['user']['hitpoints']<=0)
        {
            
$session['user']['hitpoints']=1;
        }
    }
    else
    {
        
$session['user']['turns']-=$trai;
        
$exp $session['user']['level']*e_rand(5,12)+e_rand(0,9);
        
$totalexp $exp*$trai;
        
$session['user']['experience']+=$totalexp;
        
output('`^Du trainierst '.$trai.' Runden und bekommst '.$totalexp.' Erfahrungspunkte!`n');
    }
    
castlenav('return'$runden);
}
else if (
$_GET['op']=='mask2')
{
    
$k_option 0;
    if (
$session['user']['gems']>=1)
    {
        
$k_vists user_get_aei('kala_visits');
        
$k_vists = (int)$k_vists['kala_visits'];
        
$session['user']['gems']-=1;
        
user_set_aei(array('kala_visits'=>++$k_vists));
        
//debuglog('spent 1 gem for charm in castle');
        
$int_rnd e_rand(0,100);
        
output('`3Du gibst ihr einen Edelstein und setzt dich auf den Stuhl auf den dich Kala heute schon 3 mal gesetzt hat, lehnst dich an und schließt in freudiger Erwartung auf die erneute Wohltat deine Augen.`n
                Nach kurzer Zeit trägt Kala die Maske auf dein Gesicht auf.`n'
);
        if(
$int_rnd<25){
            
output('`4Doch plötzlich brennt dein Gesicht wie Feuer! Kala hat dir ausversehen eine `bChilimaske`b aufgetragen.`nSchnell springst du auf und rennst unter lautem Gelächter der Orkburgbewohner davon!`n
                    Als du an einem Bach vorbeikommst, wäschst du dir die brennende Paste ab und musst mit Erschrecken feststellen, dass dein Gesicht furchtbar aussieht.`n`n
                    `3Du verlierst 3 Charmepunkte!'
);
            
$k_option = -1;
            
$session['user']['charm']-= 3;
        }
        elseif(
$int_rnd<50){
            
output('`3Du genießt die wohltuende Gurkenmaske eine Weile und verlässt dann Kalas Shop.`n`n`^Du erhältst einen Charmepunkt!');    
            
$session['user']['charm']+= 1;
        }
        elseif(
$int_rnd<75){
            
output('`3Du genießt die wohltuende Gurkenmaske eine Weile und verlässt dann Kalas Shop. Doch als du an die frische Luft kommst, fühlst du dich schwach!`n`n
                    `4Du hast eine Gurkenallergie bekommen!'
);
            
$buff = array("name"=>"`JGurkenallergie`!","rounds"=>30,"wearoff"=>"`JDeine Gurkenallergie schwindet!`0","atkmod"=>0.5,"roundmsg"=>"`JDeine Gurkenallergie lässt dich nur mit halber Kraft zuschlagen!`!","activate"=>"offense");
            
$session['bufflist']['gurkenallergie']=$buff;
        }
        elseif(
$int_rnd<100){
            
output('`3Du genießt die wohltuende Gurkenmaske eine Weile und verlässt dann Kalas Shop.`n`n`^Aus irgendeinem Grund hatte die Maske diesmal keine Wirkung!');
        }
        elseif(
$int_rnd==100){
            
output('`3Doch es fühlt sich anders an, als die 3 Masken zuvor! Es ist, als würden kleine Feen über dein Gesicht tänzeln und deine Haut liebkosen.`n
            "`6Oh nein!`3", schreit Kala, "`6Ich habe ausversehen eine Aloha Vera Maske gemacht! Sie hat die fünffache Wirkung.`3"`n`n
            `tDu erhältst 5 Charmepunkte!'
);
            
$session['user']['charm']+= 5;
        }
    }
    else
    {
        
output('`3"`6Also, ohne Edelstein bekommst du hier gar nichts! Verschwinde lieber!`3", raunzt Kala dich an, als sie merkt, dass du keinen Edelstein hast.');
    }
    
$session['user']['specialmisc'] = serialize($castleoptions);
    
castlenav('kala'$k_option);
}
else if (
$_GET['op']=='copfer')
{
    if (
$session['user']['gold']>=100)
    {
        
$session['user']['gold']-=100;
        
//debuglog("spent 100 gold on turning charm into experience");
        
$amt=e_rand(1,5);
        
$exp=20*($session['user']['level']+2*$amt);
        
$session['user']['charm']-=$amt;
        if (
$session['user']['charm']<0)
        {
            
$session['user']['charm']=0;
        }
        
$session['user']['experience']+=$exp;
        
$castleoptions unserialize($session['user']['specialmisc']);
        if (
$castleoptions['beautyshop_uses']>0)
        {
            
$castleoptions['beautyshop_uses']-=1;
        }
        
$session['user']['specialmisc'] = serialize($castleoptions);
        
output("`3Kala nimmt dein Gold und reibt dein Gesicht mit einer übel riechenden Pampe ein. Nach einer Weile wäscht sie dir das Zeug mit Wasser ab - und gibt dir das Wasser mit der Pampe zu trinken!");
        
output(" Noch etwas benommen von dem furchtbaren Anblick im Spiegel, leistest du kaum Widerstand und trinkst.`n`n`^Du VERLIERST ".$amt." Charmepunkte!`nDu bekommst ".$exp." Erfahrungspunkte dafür.");
    }
    else
    {
        
output("`3\"`6Also, ohne Gold bekommst du hier gar nichts! Verschwinde lieber!`3\", raunzt Kala dich an, als sie merkt, dass du keine 100 Gold dabei hast.");
    }
    
castlenav("return"$runden);
}
    
/********Guard Fight********/
else if ($_GET['op']=='guardfight' || $_GET['op'] == 'fight' || $_GET['op'] == 'run')
{
    if (
$_GET['op']=='guardfight')
    {
        
$badguy = array('creaturename'=>'Greifenwache','creaturelevel'=>$session['user']['level'],'creatureweapon'=>'Scharfe Krallen und Schnabel','creatureattack'=>$session['user']['attack'],'creaturedefense'=>$session['user']['defence'],'creaturehealth'=>$session['user']['maxhitpoints'], 'diddamage'=>0);
        
$session['user']['badguy']=createstring($badguy);
        
$fight=true;
    }
    else if (
$_GET['op'] == 'fight')
    {
        
$fight=true;
    }
    else if (
$_GET['op'] == 'run')
    {
        
output('`%Dein Stolz verbietet es dir, vor diesem Kampf davonzulaufen!`n');
        
$fight=true;
    }
    if (
$fight)
    {
        if (
count($session['bufflist'])>&& is_array($session['bufflist']) || $_GET['skill']!='')
        {
            
$_GET['skill']='';
            if (
$_GET['skill']=='')
            {
                
$session['user']['buffbackup']=serialize($session['bufflist']);
            }
            
$session['bufflist']=array();
            
output('`&Dein Stolz verbietet es dir, deine besonderen Fähigkeiten einzusetzen!`0');
        }
        include 
'battle.php';
        if (
$victory)
        {
            
$session['user']['reputation']++;
            
output('`n`#Du hast die Greifenwache besiegt und dir wird der Eintritt zur Burg gewährt!`n
            `n`%Die Wache tritt beiseite und du läufst durch das Tor in die Burg. Die Mitte des Burghofs ist ein großer, mit Gras bewachsener Platz, um den herum viele interessante Stände und Läden sind. Einige davon klingen wirklich verlockend!`n'
);
            
castlenav('main'$runden);
        }
        else if (
$defeat)
        {
            
output('`n`^Kurz vor dem endgültigen Todesstoß fliegt die Greifenwache zurück auf ihren Platz und bewacht wieder das Tor. Du hast nur noch 1 Lebenspunkt und verlierst 3 Waldkämpfe, aber du hast Glück, noch am Leben zu sein !');
            
$session['user']['hitpoints']=1;
            
$session['user']['turns']=max(0,$session['user']['turns']-2);
            
$session['user']['specialinc']="";
        }
        else
        {
            
fightnav(false,true);
        }
    }
}
else
{
    if (
e_rand(1,100) <95)
    {
        if (
$session['user']['turns']<1)
        {
            
$session['user']['specialinc']='';
            
output('`#Eigentlich hast du dich auf das Waldschloss gefreut, aber deine Füße und dein lahmes Pferd freuen sich bereits auf den Feierabend. Du entscheidest, heute doch nicht zum Schloss zu reiten!');
            
addnav('W?Weiter','forest.php');
            
page_footer();
        }
        
output('`#Du folgst einem unbefestigten Pfad und siehst dabei in der Ferne gelegentlich eine große Burg... Könnte `bdas`b die legendäre `^Orkburg`# sein?`n
        `%Du kommst näher und bist dir plötzlich gar nicht mehr so sicher, ob du dich der Burg wirklich weiter nähern oder lieber umkehren solltest.`n`n
        `#Aber du gibst dir einen Ruck, lässt deine Ängste hinter dir und läufst weiter auf die Burg zu. Als du näher kommst, bemerkst du, dass ein Greif vor dem Tor Wache hält. Du kommst dort an und die mystische Kreatur spricht dich an. `%"Willkommen in der Orkburg! Wenn du hier rein willst, musst du deine Tapferkeit entweder schon mit einer Heldentat bewiesen haben oder du musst mich in einem fairen Kampf besiegen!"'
);
        if (
$session['user']['dragonkills']>0)
        {
            
output('`n`n`^Da du bereits eine Heldentat vollbracht hast, darfst du passieren.
            `n`n<a href="forest.php?op=enter">Die Burg betreten</a>`n<a href="forest.php?op=leave">Umkehren</a>'
);
            
addnav('Die Burg betreten','forest.php?op=enter');
            
addnav('','forest.php?op=enter');
        }
        else
        {
            
output('`n`n<a href="forest.php?op=guardfight">Bekämpfe die Wache</a>`n<a href="forest.php?op=leave">Kehre um</a>');
            
addnav('Wache bekämpfen','forest.php?op=guardfight');
            
addnav('','forest.php?op=guardfight');
        }
        
addnav('','forest.php?op=leave');
        
addnav('Umkehren','forest.php?op=leave');
    }
    else
    {
        
$session['user']['specialinc']='';
        
$session['user']['specialmisc'] = '';
        
output('`#Du folgst einem unbefestigten Pfad und verirrst dich total!');
        
output('`n`n`^Beim Versuch, einen Weg zurück zu finden, verlierst du 2 Waldkämpfe!`n`n');
        
$session['user']['turns']=max(0,$session['user']['turns']-2);
        
addnav('Zurück in den Wald','forest.php');
        
//forest();
    
}
}
?>
0.9.7(DS V3) Ithil-Edition