Quellcodeviewer der Dragonslayer-Edition
Quellcodeviewer der Dragonslayer-Edition : 0.9.7+jt ext (GER)


Anmerkung: Dies ist nur ein Auszug aus dem Source. Um das jeweils aktuelle, vollständige Release zu erhalten, ist eine Anfrage mit gültiger Email-Adresse erforderlich. Ebenso sollte darin die Serveradresse bzw. sonstiger Verwendungszweck aufgeführt sein. 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!


./battle.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:
635:
636:
637:
638:
639:
640:
641:
642:
643:
644:
645:
646:
647:
648:
649:
650:
651:
652:
653:
654:
655:
656:
657:
658:
659:
660:
661:
662:
663:
664:
665:
666:
667:
668:
669:
670:
671:
672:
673:
674:
675:
676:
677:
678:
679:
680:
681:
682:
683:
684:
685:
686:
687:
688:
689:
690:
691:
692:
693:
694:
695:
696:
697:
698:
699:
700:
701:
702:
703:
704:
705:
706:
707:
708:
709:
710:
711:
712:
713:
714:
715:
716:
717:
718:
719:
720:
721:
722:
723:
724:
725:
726:
727:
728:
729:
730:
731:
732:
733:
734:
735:
736:
737:
738:
739:
740:
741:
742:
743:
744:
745:
746:
747:
748:
749:
750:
751:
752:
753:
754:
755:
756:
757:
758:
759:
760:
761:
762:
763:
764:
765:
766:
767:
768:
769:
770:
771:
772:
773:
774:
775:
776:
777:
778:
779:
780:
781:
782:
783:
784:
785:
786:
787:
788:
789:
790:
791:
792:
793:
794:
795:
796:
797:
798:
799:
800:
801:
802:
803:
804:
805:
806:
807:
808:
809:
810:
811:
812:
813:
814:
815:
816:
817:
818:
819:
820:
821:
822:
823:
824:
825:
826:
827:
828:
829:
830:
831:
832:
833:
834:
835:
836:
837:
838:
839:
840:
841:
842:
843:
844:
845:
846:
847:
848:
849:
850:
851:
852:
853:
854:
855:
856:
857:
858:
859:
860:
861:
862:
863:
864:
865:
866:
867:
868:
869:
870:
871:
872:
873:
874:
875:
876:
877:
878:
879:
880:
881:
882:
883:
884:
885:
886:
887:
888:
889:
890:
891:
892:
893:
894:
895:
896:
897:
898:
899:
900:
901:
902:
903:
904:
905:
906:
907:
908:
909:
910:
911:
912:
913:
914:
915:
916:
917:
918:
919:
920:
921:
922:
923:
924:
925:
926:
927:
928:
929:
930:
931:
932:
933:
934:
935:
936:
937:
938:
939:
940:
941:
942:
943:
944:
945:
946:
947:
948:
949:
950:
951:
952:
953:
954:
955:
956:
957:
958:
959:
960:
961:
962:
963:
964:
965:
966:
967:
968:
969:
970:
971:
972:
973:
974:
975:
976:
977:
978:
979:
980:
981:
982:
983:
984:
985:
986:
987:
988:
989:
990:
991:
992:
993:
994:
995:
996:
997:
998:
999:
1000:
1001:
1002:
1003:
1004:
1005:
1006:
1007:
1008:
1009:
1010:
1011:
1012:
1013:
1014:
1015:
1016:
1017:
1018:
1019:
1020:
1021:
1022:
1023:
1024:
1025:
1026:
1027:
1028:
1029:
1030:
1031:
1032:
1033:
1034:
1035:
1036:
1037:
1038:
1039:
1040:
1041:
1042:
1043:
1044:
1045:
1046:
1047:
1048:
1049:
1050:
1051:
1052:
1053:
1054:
1055:
1056:
1057:
1058:
1059:
1060:
1061:
1062:
1063:
1064:
1065:
1066:
1067:
1068:
1069:
1070:
1071:
1072:
1073:
1074:
1075:
1076:
1077:
1078:
1079:
1080:
1081:
1082:
1083:
1084:
1085:
1086:
1087:
1088:
1089:
1090:
1091:
1092:
1093:
1094:
1095:
1096:
1097:
1098:
1099:
1100:
1101:
1102:
1103:
1104:
1105:
1106:
1107:
1108:
1109:
1110:
1111:
1112:
1113:
1114:
1115:
1116:
1117:
1118:
1119:
1120:
1121:
1122:
1123:
1124:
1125:
1126:
1127:
1128:
1129:
1130:
1131:
1132:
1133:
1134:
1135:
1136:
1137:
1138:
1139:
1140:
1141:
1142:
1143:
1144:
1145:
1146:
1147:
1148:
1149:
1150:
1151:
1152:
1153:
1154:
1155:
1156:
<?php

/* Major MAJOR revamps by JT from logd.dragoncat.net  Frankly I threw out my code and used his. */

/*********************************************************************
 * MODIFIZIERT DURCH
 * Admin @ Dreythal
 * Dezember 2015
*********************************************************************/

require_once 'common.php';

if (
$_GET['auto']=='full')
{
$count=100;}

else if (
$_GET['auto']=='five')
{
$count=5;}

else
{
$count=1;}

function 
activate_buffs($tag
{
    global 
$session$badguy;
    
reset($session['bufflist']);
    
$result = array();
    
$result['invulnerable'] = 0;
    
$result['dmgmod'] = 1;
    
$result['badguydmgmod'] = 1;
    
$result['atkmod'] = 1;
    
$result['badguyatkmod'] = 1;
    
$result['defmod'] = 1;
    
$result['badguydefmod'] = 1;
    
$result['lifetap'] = array();
    
$result['dmgshield'] = array();

    while(list(
$key,$buff) = each($session['bufflist'])) 
    {
        if (isset(
$buff['startmsg'])) 
        {
            
$msg $buff['startmsg'];
            
$msg str_replace('{badguy}'$badguy['creaturename'], $msg);
            
            
output('`%'.$msg.'`0');
            
            unset(
$session['bufflist'][$key]['startmsg']);
        }
        
        
$activate strpos($buff['activate'], $tag);
        
        if (
$activate !== false
        
$activate true// handle strpos == 0;

        // If this should activate now and it hasn't already activated,
        // do the round message and mark it.
        
if ($activate && !$buff['used']) 
        {
            
// mark it used.
            
$session['bufflist'][$key]['used'] = 1;
            
// if it has a 'round message', run it.
            
if (isset($buff['roundmsg'])) 
            {
                
$msg $buff['roundmsg'];
                
$msg str_replace('{badguy}'$badguy['creaturename'], $msg);
                
output('`)'.$msg.'`0`n');
            }
        }

        
// Now, calculate any effects and run them if needed.
        
if (isset($buff['invulnerable'])) 
        {
$result['invulnerable'] = 1;}
        
        if (isset(
$buff['atkmod'])) 
        {
$result['atkmod'] *= $buff['atkmod'];}
        
        if (isset(
$buff['badguyatkmod'])) 
        {
$result['badguyatkmod'] *= $buff['badguyatkmod'];}
        
        if (isset(
$buff['defmod'])) 
        {
$result['defmod'] *= $buff['defmod'];}
        
        if (isset(
$buff['badguydefmod'])) 
        {
$result['badguydefmod'] *= $buff['badguydefmod'];}
        
        if (isset(
$buff['dmgmod'])) 
        {
$result['dmgmod'] *= $buff['dmgmod'];}
        
        if (isset(
$buff['badguydmgmod'])) 
        {
$result['badguydmgmod'] *= $buff['badguydmgmod'];}
        
        if (isset(
$buff['lifetap']))
        {
array_push($result['lifetap'], $buff);}
        
        if (isset(
$buff['damageshield'])) 
        {
array_push($result['dmgshield'], $buff);}
        
        if (isset(
$buff['regen']) && $activate
        {
            
$hptoregen = (int)$buff['regen'];
            
$hpdiff $session['user']['maxhitpoints'] -
            
$session['user']['hitpoints'];
            
// Don't regen if we are above max hp
            
            
if ($hpdiff 0
            
$hpdiff 0;
            
            if (
$hpdiff $hptoregen
            
$hptoregen $hpdiff;
            
            
$session['user']['hitpoints'] += $hptoregen;
            
// Now, take abs value just incase this was a damaging buff
            
$hptoregen abs($hptoregen);
            
            if (
$hptoregen == 0
            
$msg $buff['effectnodmgmsg'];
            
            else 
            
$msg $buff['effectmsg'];
            
            
$msg str_replace('{badguy}'$badguy['creaturename'], $msg);
            
$msg str_replace('{damage}'$hptoregen$msg);
            
            
output('`)'.$msg.'`0`n');
        }
        
        if (isset(
$buff['minioncount']) && $activate
        {
            
$who = -1;
            
            if (isset(
$buff['maxbadguydamage'])) 
            {
                if (isset(
$buff['maxbadguydamage'])) 
                {
                    
$buff['maxbadguydamage'] = stripslashes($buff['maxbadguydamage']);
                    eval(
''.$buff['maxbadguydamage'].' = '.$buff['maxbadguydamage'].';');
                }
                
                
$max $buff['maxbadguydamage'];

                if (isset(
$buff['minbadguydamage'])) 
                {
                    
$buff['minbadguydamage'] = stripslashes($buff['minbadguydamage']);
                    eval(
''.$buff['minbadguydamage'].' = '.$buff['minbadguydamage'].';');
                }
                
                
$min $buff['minbadguydamage'];
                
$who 0;
            } 
            
            else 
            {
                
$max $buff['maxgoodguydamage'];
                
$min $buff['mingoodguydamage'];
                
$who 1;
            }
            
            for (
$i 0$who >= && $i $buff['minioncount']; $i++) 
            {
                
$damage e_rand($min$max);
                
                if (
$who == 0
                {
$badguy['creaturehealth'] -= $damage;} 
                
                else if (
$who == 1
                {
$session['user']['hitpoints'] -= $damage;}
                
                if (
$damage 0
                {
$msg $buff['effectfailmsg'];} 
                
                else if (
$damage == 0
                {
$msg $buff['effectnodmgmsg'];} 
                
                else if (
$damage 0
                {
$msg $buff['effectmsg'];}
                
                if (
$msg>''
                {
                    
$msg str_replace('{badguy}'$badguy['creaturename'], $msg);
                    
$msg str_replace('{goodguy}'$session['user']['name'], $msg);
                    
$msg str_replace('{damage}'$damage$msg);
                    
output('`)'.$msg.'`0`n');
                }
            }
        }
    }
    
    return 
$result;
}

function 
process_lifetaps($ltaps$damage)
{
    global 
$session$badguy;
    
reset($ltaps);
    
    while(list(
$key,$buff) = each($ltaps)) 
    {
        
$healhp $session['user']['maxhitpoints'] - $session['user']['hitpoints'];
        
        if (
$healhp 0
        
$healhp 0;
        
        if (
$healhp == 0
        {
$msg $buff['effectnodmgmsg'];} 
        
        else 
        {
            if (
$healhp $damage $buff['lifetap'])
            
$healhp $damage $buff['lifetap'];
            
            if (
$healhp 0
            
$healhp 0;
            
            if (
$damage 0
            {
$msg $buff['effectmsg'];} 
            
            else if (
$damage == 0
            {
$msg $buff['effectfailmsg'];} 
            
            else if (
$damage 0
            {
$msg $buff['effectfailmsg'];}
        }
        
        
$session['user']['hitpoints'] += $healhp;
        
$msg str_replace('{badguy}',$badguy['creaturename'], $msg);
        
$msg str_replace('{damage}',$healhp$msg);
        
        if (
$msg ''
        
output('`)'.$msg.'`n');
    }
}

function 
process_dmgshield($dshield$damage
{
    global 
$session$badguy;
    
reset($dshield);
    
    while(list(
$key,$buff) = each($dshield)) 
    {
        
$realdamage $damage $buff['damageshield'];
        
        if (
$realdamage 0
        
$realdamage 0;
        
        if (
$realdamage 0
        {
$msg $buff['effectmsg'];} 
        
        else if (
$realdamage == 0
        {
$msg $buff['effectnodmgmsg'];} 
        
        else if (
$realdamage 0
        {
$msg $buff['effectfailmsg'];}
        
        
$badguy['creaturehealth'] -= $realdamage;
        
$msg str_replace('{badguy}',$badguy['creaturename'], $msg);
        
$msg str_replace('{damage}',$realdamage$msg);
        
        if (
$msg ''
        
output('`)'.$msg.'`n');
    }
}

function 
expire_buffs() 
{
    global 
$session$badguy;
    
reset($session['bufflist']);
    
    while (list(
$key$buff) = each($session['bufflist']))
    {
        if (
$buff['used']) 
        {
            
$session['bufflist'][$key]['used'] = 0;
            
$session['bufflist'][$key]['rounds']--;
            
            if (
$session['bufflist'][$key]['rounds'] <= 0
            {
                if (
$buff['wearoff']) 
                {
                    
$msg $buff['wearoff'];
                    
$msg str_replace('{badguy}'$badguy['creaturename'], $msg);
                    
                    
output('`)'.$msg.'`n');
                }
                
                unset(
$session['bufflist'][$key]);
            }
        }
    }
}

$badguy createarray($session['user']['badguy']);

$adjustment = ($session['user']['level']/$badguy['creaturelevel']);

if (
$badguy['pvp']) 
$adjustment=1;

if (
$_GET['op']=='fight')
{
    if (
$_GET['skill']=='zauber')
    {
        
$resultz=db_query('SELECT * FROM items WHERE id="'.$_GET['itemid'].'"') or die(db_error(LINK));
        
$zauber db_fetch_assoc($resultz);
        
$spellbuff=unserialize($zauber['buff']);
        
$session['bufflist'][$spellbuff['name']]=$spellbuff;
        
$zauber['gold']=round($zauber['gold']*($zauber['value1']/($zauber['value2']+1)));
        
$zauber['gems']=round($zauber['gems']*($zauber['value1']/($zauber['value2']+1)));
        
$zauber['value1']--;
        
        if (
$zauber['value1']<=&& $zauber['hvalue']<=0)
        {
db_query('DELETE FROM items WHERE id="'.$_GET['itemid'].'"');}
        
        else
        {
            
db_query('UPDATE items SET value1="'.$zauber['value1'].'", gems="'.$zauber['gems'].'", gold="'.$zauber['gold'].'" WHERE id="'.$_GET['itemid'].'"');
        }
    }

    if (
$_GET['skill']=='godmode')
    {
        
$session['bufflist']['godmode']=array(
            
'name'=>'`&GOD MODE',
            
'rounds'=>1,
            
'wearoff'=>'Du bist wieder sterblich.',
            
'atkmod'=>25,
            
'defmod'=>25,
            
'invulnerable'=>1,
            
'startmsg'=>'`n`&Du fühlst dich gottgleich`n`n',
            
'activate'=>'roundstart'
        
);
    }
    
    if (
$_GET['skill']=='MP')
    {    
        if (
$session['user']['magicuses'] >= $_GET['l'])
        {
            
$creaturedmg 0;
            switch(
$_GET['l'])
            {
                case 
1:
                    
$session['bufflist']['mp1'] = array(
                    
'startmsg'=>'`n`%Du fängst an zu regenerieren!`n`n',
                    
'name'=>'`%Regeneration',
                    
'rounds'=>5,
                    
'wearoff'=>'Deine Regeneration hat aufgehört',
                    
'regen'=>$session['user']['level'],
                    
'effectmsg'=>'Du regenerierst um {damage} Punkte.',
                    
'effectnodmgmsg'=>'Du bist völlig gesund.',
                    
'activate'=>'roundstart');
                    
                    
//$session['user']['reputation']--;
                    
break;

                case 
2:
                       
$session['bufflist']['mp2'] = array(
                    
'startmsg'=>'`n`%{badguy}`% wird von einer Klaue aus Erde gepackt und auf den Boden geschleudert!`n`n',
                    
'name'=>'`%Erdenfaust',
                    
'rounds'=>5,
                    
'wearoff'=>'Die erdene Faust zerfällt zu staub.',
                    
'minioncount'=>1,
                    
'effectmsg'=>'Eine gewaltige Faust aus Erde trifft {badguy} mit `%{damage}`) Schadenspunkten.',
                    
'minbadguydamage'=>1,
                    
'maxbadguydamage'=>$session['user']['level']*3,
                    
'activate'=>'roundstart');
                    break;

                case 
3:
                    
$session['bufflist']['mp3'] = array(
                    
'startmsg'=>'`n`%Deine Waffe glüht in einem überirdischen Schein.`n`n',
                    
'name'=>'`%Leben absaugen',
                    
'rounds'=>5,
                    
'wearoff'=>'Die Aura deiner Waffe verschwindet.',
                    
'lifetap'=>1//ratio of damage healed to damage dealt
                    
'effectmsg'=>'Du wirst um {damage} Punkte geheilt.',
                    
'effectnodmgmsg'=>'Du fühlst ein Prickeln, als deine Waffe versucht, deinen vollständig gesunden Körper zu heilen.',
                    
'effectfailmsg'=>'Deine Waffe scheint zu jammern, als du deinem Gegner keinen Schaden machst.',
                    
'activate'=>'offense,defense',);
                    break;

                case 
5:
                    
$session['bufflist']['mp5'] = array(
                    
'startmsg'=>'`n`%Deine Haut glitzert, als du dir eine Aura aus Blitzen zulegst`n`n',
                    
'name'=>'`%Blitzaura',
                    
'rounds'=>5,
                    
'wearoff'=>'Mit einem Zischen wird deine Haut wieder normal.',
                    
'damageshield'=>2,
                    
'effectmsg'=>'{badguy}wird von einem Blitzbogen aus deiner Haut mit `%{damage}`) Schadenspunkten zurückgeworfen.',
                    
'effectnodmg'=>'{badguy} ist von deinen Blitzen leicht geblendet, ansonsten aber unverletzt.',
                    
'effectfailmsg'=>'{badguy} ist von deinen Blitzen leicht geblendet, ansonsten aber unverletzt.',
                    
'activate'=>'offense,defense');
                    break;
            }
            
            
$session['user']['magicuses']-=$_GET['l'];
        }
        
        else
        {
            
$session['bufflist']['mp0'] = array(
                
'startmsg'=>'`nDu legst deine Stirn in Falten und beschwörst die Elemente.  Eine kleine Flamme erscheint. {badguy} zündet sich eine Zigarette daran an, dankt dir und stürzt sich wieder auf dich.`n`n',
                
'rounds'=>1,
                
'activate'=>'roundstart');
            
            
$session['user']['reputation']--;
        }
    }
    
    if (
$_GET['skill']=='DA')
    {
        if (
$session['user']['darkartuses'] >= $_GET['l']){
            
$creaturedmg 0;
            switch(
$_GET['l']){
            case 
1:
                
$session['bufflist']['da1']=array(
                    
'startmsg'=>'`n`xDu rufst die Geister der Toten und skelettartige Hände zerren an {badguy} aus den Tiefen ihrer Gräber.`n`n',
                    
'name'=>'`xSkelettdiener',
                    
'rounds'=>5,
                    
'wearoff'=>'Deine Skelettdiener zerbröckeln zu staub.',
                    
'minioncount'=>round($session['user']['level']/3)+1,
                    
'maxbadguydamage'=>round($session['user']['level']/2,0)+1,
                    
'effectmsg'=>'`)Ein untoter Diener trifft {badguy} mit `%{damage}`) Schadenspunkten.',
                    
'effectnodmgmsg'=>'`)Ein untoter Diener versucht {badguy} zu treffen, aber `xTRIFFT NICHT`)!',
                    
'activate'=>'roundstart'
                    
);
                break;
            case 
2:
                
$session['bufflist']['da2']=array(
                    
'startmsg'=>'`n`xDu holst eine winzige Puppe, die wie {badguy} aussieht, hervor.`n`n',
                    
'effectmsg'=>'Du stößt eine Nadel in die {badguy}-Puppe und machst damit `%{damage}`) Schadenspunkte!',
                    
'minioncount'=>1,
                    
'maxbadguydamage'=>round($session['user']['attack']*3,0),
                    
'minbadguydamage'=>round($session['user']['attack']*1.5,0),
                    
'activate'=>'roundstart'
                    
);
                break;
            case 
3:
                
$session['bufflist']['da3']=array(
                    
'startmsg'=>'`n`xDu sprichst einen Fluch auf die Ahnen von {badguy}.`n`n',
                    
'name'=>'`xGeist verfluchen',
                    
'rounds'=>5,
                    
'wearoff'=>'Dein Fluch ist gewichen.',
                    
'badguydmgmod'=>0.5,
                    
'roundmsg'=>'{badguy} taumelt unter der Gewalt deines Fluchs und macht nur halben Schaden.',
                    
'activate'=>'defense'
                    
);
                break;
            case 
5:
                
$session['bufflist']['da5']=array(
                    
'startmsg'=>'`n`xDu streckst deine Hand aus und {badguy} fängt an aus den Ohren zu bluten.`n`n',
                    
'name'=>'`xSeele verdorren',
                    
'rounds'=>5,
                    
'wearoff'=>'Die Seele deines Opfers hat sich erholt.',
                    
'badguyatkmod'=>0,
                    
'badguydefmod'=>0,
                    
'roundmsg'=>'{badguy} kratzt sich beim Versuch, die eigene Seele zu befreien, fast die Augen aus und kann nicht angreifen oder sich verteidigen.',
                    
'activate'=>'offense,defense'
                    
);
                
$session['user']['reputation']--;
                break;
            }
            
$session['user']['darkartuses']-=$_GET['l'];
        }else{
            
$session['bufflist']['da0'] = array(
                
'startmsg'=>'`nErschöpft versuchst du deine dunkelste Magie: einen schlechten Witz.  {badguy} schaut dich nachdenklich eine Minute lang an. Endlich versteht er den Witz und stürzt sich lachend wieder auf dich.`n`n',
                
'rounds'=>1,
                
'activate'=>'roundstart'
                
);
            
$session['user']['reputation']--;
        }
    }
    
    if (
$_GET['skill']=='TS'){
        if (
$session['user']['thieveryuses'] >= $_GET['l']){
            
$creaturedmg 0;
            switch(
$_GET['l']){
            case 
1:
                
$session['bufflist']['ts1']=array(
                    
'startmsg'=>'`n`%Du gibst deinem Gegner einen schlimmen Namen und bringst {badguy} zum Weinen.`n`n',
                    
'name'=>'`%Beleidigung',
                    
'rounds'=>5,
                    
'wearoff'=>'Dein Gegner putzt sich die Nase und hört auf zu weinen.',
                    
'roundmsg'=>'{badguy} ist deprimiert und kann nicht so gut angreifen.',
                    
'badguyatkmod'=>0.5,
                    
'activate'=>'defense'
                    
);
                break;
            case 
2:
                
$session['bufflist']['ts2']=array(
                    
'startmsg'=>'`n`%Du reibst Gift auf dein(e/n) '.$session['user']['weapon'].'.`n`n',
                    
'name'=>'`%Vergiftete Waffe',
                    
'rounds'=>5,
                    
'wearoff'=>'Das Blut deines Gegners hat das Gift von deiner Waffe gewaschen.',
                    
'atkmod'=>2,
                    
'roundmsg'=>'Dein Angriffswert vervielfacht sich!',
                    
'activate'=>'offense'
                    
);
                
$session['user']['reputation']--;
                break;
            case 
3:
                
$session['bufflist']['ts3'] = array(
                    
'startmsg'=>'`n`%Mit dem Geschick eines erfahrenen Diebs scheinst du zu verschwinden und kannst {badguy} aus einer günstigeren und sichereren Position angreifen.`n`n',
                    
'name'=>'`%Versteckter Angriff',
                    
'rounds'=>5,
                    
'wearoff'=>'Dein Opfer hat dich gefunden.',
                    
'roundmsg'=>'{badguy} kann dich nicht finden.',
                    
'badguyatkmod'=>0,
                    
'activate'=>'defense'
                    
);
                break;
            case 
5:
                
$session['bufflist']['ts5']=array(
                    
'startmsg'=>'`n`%Mit deinen Fähigkeiten als Dieb verschwindest du und schiebst {badguy} von hinten eine dünne Klinge zwischen die Rückenwirbel!`n`n',
                    
'name'=>'`%Angriff von hinten',
                    
'rounds'=>5,
                    
'wearoff'=>'Dein Opfer ist nicht mehr so nett, dich hinter sich zu lassen!',
                    
'atkmod'=>3,
                    
'defmod'=>3,
                    
'roundmsg'=>'Dein Angriffswert und deine Verteidigung vervielfachen sich!',
                    
'activate'=>'offense,defense'
                    
);
                break;
            }
            
            
$session['user']['thieveryuses']-=$_GET[l];
        }
        
        else
        {
            
$session['bufflist']['ts0'] = array(
                
'startmsg'=>'`nDu versuchst, {badguy} anzugreifen, indem du deine besten Diebeskünste in die Praxis umsetzt - aber du stolperst über deine eigenen Füße.`n`n',
                
'rounds'=>1,
                
'activate'=>'roundstart'
                
);
            
$session['user']['reputation']--;
        }
    }
    
    if (
$_GET[skill]=="FI"){
        if (
$session[user][fireuses] >= $_GET[l]){
            
$creaturedmg 0;
            switch(
$_GET[l]){
            case 
1:
                
$session[bufflist]['fi1']=array(
                    
"startmsg"=>"`n`\$Du spielst mit dem Feuer und fügst {badguy} eine Menge brandwunden zu.`n`n",
                    
"name"=>"`^Feuertanz",
                    
"rounds"=>5,
                    
"wearoff"=>"Dein Feuertanz hält nicht ewig und das Feuer erlischt.",
                    
"minioncount"=>round($session[user][level]/3)+1,
                    
"maxbadguydamage"=>round($session[user][level]/2,0)+1,
                    
"effectmsg"=>"`)Etwas Feuer verbrennt{badguy} und verletzt ihn mit `^{damage}`) Schadenspunkten.",
                    
"effectnodmgmsg"=>"`)Das Feuer schließt {badguy} ein, aber `\$VERLETZT IHN NICHT`)!",
                    
"activate"=>"roundstart"
                    
);
                break;
            case 
2:
                
$session[bufflist]['fi2']=array(
                    
"startmsg"=>"`n`^Du reibst Spiritus auf dein(e/n) ".$session[user][weapon].".`n`n",
                    
"name"=>"`^Feuer Waffe",
                    
"rounds"=>5,
                    
"wearoff"=>"Das Blut deines Gegners hat das Feuer deiner Waffe gelöscht.",
                    
"atkmod"=>2,
                    
"roundmsg"=>"Dein Angriffswert vervielfacht sich!",
                    
"activate"=>"offense"
                    
);
                
$session['user']['reputation']--;
                break;
            case 
3:
                
$session[bufflist]['fi3']=array(
                    
"startmsg"=>"`n`\$Du pfeifst auf zwei Fingern und ein Drache steht vor {badguy}.`n`n",
                    
"name"=>"`\$Feuer Drache",
                    
"rounds"=>5,
                    
"wearoff"=>"Dein Feuer erlischt darunter strahlt die gewohnt funkelnde Klinge.",
                    
"badguydmgmod"=>0.5,
                    
"roundmsg"=>"{badguy} taumelt vor Schmerzen der Verbrennung hin und her und trifft dich nur mit halben Schaden.",
                    
"activate"=>"defense"
                    
);
                break;
            case 
5:
                
$session[bufflist]['fi5']=array(
                    
"startmsg"=>"`n`\$Du streckst deine Hand aus und {badguy} fängt an zu glühen.`n`n",
                    
"name"=>"`\$Seele verbrennen",
                    
"rounds"=>5,
                    
"wearoff"=>"Die Seele deines Opfers hat sich erholt.",
                    
"badguyatkmod"=>0,
                    
"badguydefmod"=>0,
                    
"roundmsg"=>"{badguy} kratzt sich beim Versuch, die eigene Seele zu befreien, fast die Augen aus und kann nicht angreifen oder sich verteidigen.",
                    
"activate"=>"offense,defense"
                    
);
                
$session['user']['reputation']--;
                break;
            }
            
$session[user][fireuses]-=$_GET[l];
        }else{
            
$session[bufflist]['fi0'] = array(
                
"startmsg"=>"`nErschöpft versuchst du deine beste Feuerkunst: einen schlechten Witz.  {badguy} schaut dich nachdenklich eine Minute lang an. Endlich versteht er den Witz und stürzt sich lachend wieder auf dich.`n`n",
                
"rounds"=>1,
                
"activate"=>"roundstart"
                
);
            
$session['user']['reputation']--;
        }
    }

    if (
$_GET['skill']=='DR')
    {
        if (
$session['user']['druiduses'] >= $_GET['l'])
        {
            
$creaturedmg 0;

            switch(
$_GET['l'])
            {
                case 
1:
                    
$session['bufflist']['dr1']=array(
                        
'startmsg'      => '`^Du beschwörst mächtige Ranken, die deinen Gegner festhalten!`n`n',
                        
'name'          => '`@Ranken',
                        
'rounds'        => 5,
                        
'wearoff'       => 'Die Ranken ziehen sich ins Erdreich zurück.',
                        
'badguyatkmod'  => 0.75,
                        
'badguydefmod'  => 0.75,
                        
'roundmsg'      => '{badguy} wird von Ranken festgehalten. Er wird in Angriff und Verteidigung behindert.',
                        
'activate'      => 'offense,defense');
                    break;

                case 
2:
                    
$session['bufflist']['dr2']=array(
                        
'startmsg'          => '`^Du legst deine Hand auf eine deiner Wunden, woraufhin sie sich schließt.`n`n',
                        
'name'              => '`@Wundheilung',
                        
'rounds'            => 1,
                        
'regen'             => $session['user']['level']*10,
                        
'effectmsg'         => 'Du heilst um {damage} Punkte.',
                        
'effectnodmgmsg'    => 'Du bist völlig gesund.',
                        
'activate'          => 'roundstart');
                    break;

                case 
3:
                    
$session['bufflist']['dr3']=array(
                        
'startmsg'          => '`^Deinem Ruf folgend eilen dir '.$amount.' Krähen zu Hilfe.`n`n',
                        
'name'              => '`@Krähenruf',
                        
'rounds'            => 5,
                        
'wearoff'           => 'Die Krähen lassen von {badguy} ab.',
                        
'minioncount'       => $session['user']['level'],
                        
'maxbadguydamage'   => round($session['user']['level']/2,0)+4,
                        
'effectmsg'         => '`)Eine Krähe trifft {badguy} mit `^{damage}`) Schadenspunkten.',
                        
'effectnodmgmsg'    => '`)Eine Krähe sinkt im Sturzflug auf {badguy} zu, `+VERFEHLT `)aber.',
                        
'activate'          => 'roundstart');
                    break;

                case 
5:
                    
$session['bufflist']['dr5']=array(
                        
'startmsg'          => '`^Du holst tief Luft zu einem ohrenbetäubenden Schrei und schleuderst fast deine gesamte Lebenskraft in einem gewaltigen Blitz gegen deinen Gegner.`n`n',
                        
'name'              => '`@Druidenrache',
                        
'rounds'            => 1,
                        
'minioncount'       => 1,
                        
'minbadguydamage'   => round($session['user']['attack']+5)*3,
                        
'maxbadguydamage'   => round(($session['user']['attack']+5)*15,0)-2,
                        
'effectmsg'         => '{badguy} wird von deinem Blitz mit `^{damage}`) Schadenspunkten getroffen.',
                        
'effectnodmgmsg'    => '{badguy} wird von deinem Blitz zurückgeschleudert, ist ansonsten aber unverletzt.',
                        
'effectfailmsg'     => '{badguy} konnte gerade noch deinem Blitz ausweichen.',
                        
'activate'          => 'roundstart');
                    break;
            }

            
$session['user']['druiduses']-=$_GET['l'];
        }

        else
        {
            
$session['bufflist']['dr0'] = array(
                
'startmsg'=>'Du rufst alle Tiere des Waldes zum Sturm auf {badguy}. Doch nicht mal ein Regenwurm folgt deinem Ruf...`n`n',
                
'rounds'=>1,
                
'activate'=>'roundstart');
        }
    }

/*********************************************************************
 * LUFTMAGIE
*********************************************************************/    
    
if ($_GET['skill']=='LU')
    {
        if (
$session['user']['luftuses'] >= $_GET['l'])
        {
            
$creaturedmg 0;

            switch(
$_GET['l'])
            {
                case 
1:
                    
$session['bufflist']['lu1']=array(
                    
'startmsg'      => 'Du konzentrierst dich und sammelst den Staub aus der Luft.`n`n',
                    
'name'          => 'Staubwind',
                    
'rounds'        => 5,
                    
'wearoff'       => 'Der Staub hat sich gelegt.',
                    
'badguyatkmod'  => 0.75,
                    
'badguydefmod'  => 0.75,
                    
'roundmsg'      => '`lEine starke Windbö schleudert {badguy} den Staub ins Gesicht. Weil er kurzfristig nichts mehr sieht, ist er etwas schwächer in Angriff und Verteidigung.`0',
                    
'activate'      => 'offense,defense');
                    break;

                case 
2:
                    
$session['bufflist']['lu2']=array(
                    
'startmsg'          => 'Du schleuderst {badguy} eine Faust aus geballter Luft entgegen.`n`n',
                    
'name'              => 'Windschlag',
                    
'rounds'            => 1,
                    
'atkmod'            => 3,
                    
'roundmsg'          => '{badguy} erleidet zusätzlichen Schaden.',
                    
'activate'          => 'offense');
                    break;

                case 
3:
                    
$session['bufflist']['lu3']=array(
                    
'startmsg'          => '`lDu konzentrierst die Luft um dich herum und materialisierst einen Schutzschild.`0`n`n',
                    
'name'              => 'Luftschild',
                    
'rounds'            => 5,
                    
'wearoff'           => '`lDein Luftschild löst sich auf.`0',
                    
'roundmsg'          => '`lDein Luftschild stärkt deine Verteidigung.`0',
                    
'defmod'            => 3,
                    
'activate'          => 'defense');
                    break;

                case 
5:
                    
$session['bufflist']['lu5']=array(
                    
'startmsg'          => '`lDu beschwörst einen Wirbelwind, der {badguy} wild hin- und herreißt.`0`n`n',
                    
'name'              => 'Wirbelwind',
                    
'rounds'            => 5,
                    
'wearoff'           => '`lDer Wirbelwind löst sich in Luft auf...`0',
                    
'badguyatkmod'      => 0,
                    
'badguydefmod'      => 0,
                    
'roundmsg'          => '`l{badguy} konzentriert sich gerade voll und ganz darauf, auf den Füßen zu bleiben.`0',
                    
'activate'          => 'offense,defense');
                    break;
            }

            
$session['user']['luftuses']-=$_GET['l'];
        }

        else
        {
            
$session['bufflist']['lu0'] = array(
            
'startmsg'   => 'Deine Kräfte sind erschöpft. Nicht mal mehr einen Windhauch kannst du beschwören...`n`n',
            
'rounds'     => 1,
            
'activate'   => 'roundstart');
        }
    }
}

if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
{
    
output ('`n`c`b`y~ ~ ~ Kampfgetümmel ~ ~ ~`b`n`n
            `1Du hast den Gegner `%'
.$badguy['creaturename'].'`1 entdeckt, der sich mit seiner Waffe `%'.$badguy['creatureweapon'].'`1 auf dich stürzt!`n`n`0');

    if (
$session['user']['alive'])
    {
output('`2Gegner-Level: `6'.$badguy['creaturelevel'].'`c`n`0');}

    else
    {
output('`2Level: `6Untoter`c`n`0');}

    
output('`%`bBeginn der Runde`b`n');
    
output('`2'.$badguy['creaturename'].'`2\'s '.($session['user']['alive']?'Lebenspunkte':'Seelenpunkte').': `%'.$badguy['creaturehealth'].'`0`n');
    
output('`2Deine '.($session['user']['alive']?'Lebenspunkte':'Seelenpunkte').': `%'.$session['user']['hitpoints'].'`n`n`0');
}

reset($session['bufflist']);
while (list(
$key,$buff)=each($session['bufflist']))
{
$buff['used']=0;}

if (
$badguy[pvp] && count($session['bufflist'])>&& is_array($session['bufflist']))
{
    if (
$session['user']['buffbackup']>'')
    {}

    else
    {
        
output('`&Die Götter verbieten den Einsatz jeder Spezialfähigkeit!`n');

        
$session['user']['buffbackup']=serialize($session['bufflist']);
        
$session['bufflist']=array();

        if (
$_GET['bg']==1)
        {
            
$session['bufflist']['bodyguard'] = array(
                
'startmsg'=>'`n`x'.$badguy['creaturename'].' ist durch einen Leibwächter geschützt!`n`n',
                
'name'=>'`&Leibwächter',
                
'rounds'=>5,
                
'wearoff'=>'Der Leibwächter scheint eingeschlafen zu sein.',
                
'minioncount'=>1,
                
'maxgoodguydamage'=> round($session['user']['level']/2,0) +1,
                
'effectmsg'=>'`7{badguy}\'s Leibwächter trifft dich mit `x{damage}`7 Schadenspunkten.',
                
'effectnodmgmsg'=>'`7{badguy}\'s Leibwächter versucht dich zu treffen, aber `xTRIFFT NICHT`7!',
                
'activate'=>'roundstart'
                
);
        }

        if (
$_GET['bg']==2)
        {
            
$session['bufflist']['heimvorteil'] = array(
                
'startmsg'=>'`n`x'.$badguy['creaturename'].' `xhat einen gewaltigen Heimvorteil!`n`n',
                
'name'=>'`xNachteil',
                
'rounds'=>20,
                
'wearoff'=>'Der Heimvorteil ist deinem Gegner nicht mehr von Vorteil.',
                
'minioncount'=>1,
                
'maxgoodguydamage'=> round($session['user']['level']+5),
                
'effectmsg'=>'`7Durch {badguy}`7\'s Heimvorteil bekommst du zusätzlich `x{damage}`7 Schadenspunkte.',
                
'effectnodmgmsg'=>'',
                
'activate'=>'roundstart');
        }
    }
}

for (
$count=$count;$count>0;$count--)
{
    if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
    {   
// weather mod
        
if ($session['user']['alive'] && $session['user']['buffbackup']=='')
        {
            if (
e_rand(1,6)==2)
            {
                
$wetter=getsetting('weather','0');

                if (
$wetter=='Starker Wind mit vereinzelten Regenschauern')
                {
                    if (
e_rand(1,2)==1)
                    {
                        
$session['bufflist']['weather'] = array('name'=>'`6Wetter',
                                                                
'rounds'=>1,
                                                                
'wearoff'=>'',
                                                                
'atkmod'=>0,
                                                                
'roundmsg'=>'`6Ein starker Windstoß lässt dich dein Ziel verfehlen.',
                                                                
'activate'=>'offense');
                    }

                    else
                    {
                        
$session['bufflist']['weather'] = array('name'=>'`6Wetter',
                                                                
'rounds'=>1,
                                                                
'wearoff'=>'',
                                                                
'badguyatkmod'=>0,
                                                                
'roundmsg'=>'`6Ein starker Windstoß hindert {badguy} daran, dich zu treffen.',
                                                                
'activate'=>'defense');
                    }
                }

                else if (
$wetter=='Schneeregen')
                {
                    if (
e_rand(1,2)==1)
                    {
                        
$session['bufflist']['weather'] = array('name'=>'`6Wetter',
                                                                
'rounds'=>1,
                                                                
'wearoff'=>'',
                                                                
'defmod'=>0,
                                                                
'roundmsg'=>'`6Durch den Schneeregen siehst du den Schlag deines Gegners nicht kommen.',
                                                                
'activate'=>'defense');
                    }

                    else
                    {
                        
$session['bufflist']['weather'] = array('name'=>'`6Wetter',
                                                                
'rounds'=>1,
                                                                
'wearoff'=>'',
                                                                
'badguydefmod'=>0,
                                                                
'roundmsg'=>'`6Durch den Schneeregen sieht dein Gegner deinen Schlag nicht kommen.',
                                                                
'activate'=>'offense');
                    }
                }
            }
        } 
// end weather mod

        
$buffset activate_buffs('roundstart');
        
$creaturedefmod=$buffset['badguydefmod'];
        
$creatureatkmod=$buffset['badguyatkmod'];
        
$atkmod=$buffset['atkmod'];
        
$defmod=$buffset['defmod'];
    }

    if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
    {
        if (
$badguy['pvp'])
        {
$adjustedcreaturedefense $badguy['creaturedefense'];}

        else
        {
$adjustedcreaturedefense = ($creaturedefmod*$badguy['creaturedefense'] / ($adjustment*$adjustment));}

        
$creatureattack $badguy['creatureattack']*$creatureatkmod;
        
$adjustedselfdefense = ($session['user']['defence'] * $adjustment $defmod);

        while(
$creaturedmg==&& $selfdmg==0)
        {
            
$atk $session['user']['attack']*$atkmod;

            if (
e_rand(1,20)==1)
            
$atk*=3;

            
$patkroll e_rand(0,$atk);
            
$catkroll e_rand(0,$adjustedcreaturedefense);
            
$creaturedmg 0-(int)($catkroll $patkroll);

            if (
$creaturedmg<0)
            {
                
$creaturedmg = (int)($creaturedmg/2);
                
$creaturedmg round($buffset['badguydmgmod']*$creaturedmg,0);
            }

            if (
$creaturedmg 0)
            {
$creaturedmg round($buffset['dmgmod']*$creaturedmg,0);}

            
$pdefroll e_rand(0,$adjustedselfdefense);
               
$catkroll e_rand(0,$creatureattack);
            
$selfdmg 0-(int)($pdefroll $catkroll);

            if (
$selfdmg<0)
            {
                
$selfdmg=(int)($selfdmg/2);
                
$selfdmg round($selfdmg*$buffset['dmgmod'], 0);
            }

            if (
$selfdmg 0)
            {
$selfdmg round($selfdmg*$buffset['badguydmgmod'], 0);}
        }
    }

    else
    {
        
$creaturedmg=0;
        
$selfdmg=0;
        
$count=0;
    }

    
// Handle god mode's invulnerability
    
if ($buffset['invulnerable'])
    {
        
$creaturedmg abs($creaturedmg);
        
$selfdmg = -abs($selfdmg);
    }



    if (
e_rand(1,3)==&& ($_GET['op']=='search' || ($badguy['pvp'] && $_GET['act']=='attack')))
    {
        if (
$badguy['pvp'])
        {
output('`b`%'.$badguy['creaturename'].'\'s Fähigkeiten erlauben deinem Gegner den ersten Schlag!`0`b`n`n');}

        else
        {
output('`b`%'.$badguy['creaturename'].' überrascht dich und hat den ersten Schlag!`0`b`n`n');}

        
$_GET['op']='run';
        
$surprised=true;
    }

    else
    {
        if (
$_GET['op']=='search')
        
output('`b`xDein Können erlaubt dir den ersten Angriff!`0`b`n`n');

        
$surprised=false;
    }

    if (
$_GET['op']=='fight' || $_GET['op']=='run')
    {
        
output('`lSchlagabtausch:`n`0');
        
            if (
$_GET['op']=='fight')
        {
            if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
            {
                
$buffset activate_buffs('offense');

                if (
$atk $session['user']['attack'])
                {
                    if (
$atk $session['user']['attack']*3)
                    {
                        if (
$atk>$session['user']['attack']*4)
                        {
output('`&`bDu holst zu einem <font size="+1">MEGA</font>-Powerschlag aus!`b`n',true);}

                        else
                        {
output('`&`bDu holst zu einem DOPPELTEN Powerschlag aus!`b`n');}

                    }

                    else
                    {
                        if (
$atk>$session['user']['attack']*2)
                        {
output('`&`bDu holst zu einem Powerschlag aus!`b`0`n');}

                        elseif (
$atk>$session['user']['attack']*1.25)
                        {
output('`7`bDu holst zu einem kleinen Powerschlag aus!`b`0`n');}
                    }
                }

                if (
$creaturedmg==0)
                {
                    
output('`2Du versuchst, `%'.$badguy['creaturename'].'`2 zu treffen, `xVERFEHLST `2aber!`n');

                    if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                    
process_dmgshield($buffset['dmgshield'], 0);

                    if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                    
process_lifetaps($buffset['lifetap'], 0);
                }

                else if (
$creaturedmg<0)
                {
                    
output('`2Du versuchst `%'.$badguy['creaturename'].'`2 zu treffen, aber der `xABWEHRSCHLAG `2trifft dich mit `x'.(0-$creaturedmg).'`2 Schadenspunkten!`n');

                    
$badguy['diddamage']=1;
                    
$session['user']['hitpoints']+=$creaturedmg;

                    if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                    
process_dmgshield($buffset['dmgshield'],-$creaturedmg);

                    if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                    
process_lifetaps($buffset['lifetap'],$creaturedmg);
                }

                else
                {
                    
output('`2Du triffst `%'.$badguy['creaturename'].'`2 mit `%'.$creaturedmg.'`2 Schadenspunkten!`n');
                    
$badguy['creaturehealth']-=$creaturedmg;

                    if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                    
process_dmgshield($buffset['dmgshield'],-$creaturedmg);

                    if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                    
process_lifetaps($buffset['lifetap'],$creaturedmg);
                }

                if (
$creaturedmg>$session['user']['punch'])
                {
                    
$session['user']['punch']=$creaturedmg;
                    
output('`@`b`c--- DAS WAR DEIN BISHER HÄRTESTER SCHLAG! ---`c`b`n');
                }
            }
        }

        else if(
$_GET['op']=='run' && !$surprised)
        {
            
output('`2Du bist zu beschäftigt damit, wegzulaufen wie ein feiger Hund und kannst nicht gegen `%'.$badguy['creaturename'].'`2 kämpfen.`n');
        }

        
// We need to check both user health and creature health. Otherwise the user
        // can win a battle by a RIPOSTE after he has gone <= 0 HP.
        //-- Gunnar Kreitz
        
if ($badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
        {
            
$buffset activate_buffs('defense');
            if (
$selfdmg==0)
            {
                
output('`%'.$badguy['creaturename'].'`2 versucht dich zu treffen, `xVERFEHLT `2aber!`n');

                if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                
process_dmgshield($buffset['dmgshield'], 0);

                if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                
process_lifetaps($buffset['lifetap'], 0);
            }

            else if (
$selfdmg<0)
            {
                
output('`%'.$badguy['creaturename'].'`2 versucht dich zu treffen, aber dein `%ABWEHRSCHLAG`2 trifft mit `%'.(0-$selfdmg).'`2 Schadenspunkten!`n');

                
$badguy['creaturehealth']+=$selfdmg;

                if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                
process_lifetaps($buffset['lifetap'], -$selfdmg);

                if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                
process_dmgshield($buffset['dmgshield'], $selfdmg);

            }

            else
            {
                
output('`%'.$badguy['creaturename'].'`2 trifft dich mit `x'.$selfdmg.'`2 Schadenspunkten!`n');
                
$session['user']['hitpoints']-=$selfdmg;

                if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                
process_dmgshield($buffset['dmgshield'], $selfdmg);

                if (
$badguy['creaturehealth']>&& $session['user']['hitpoints']>0)
                
process_lifetaps($buffset['lifetap'], -$selfdmg);

                
$badguy['diddamage']=1;
            }
        }
    }

    
expire_buffs();

    
$creaturedmg=0;
    
$selfdmg=0;

    if (
$count>&& $session['user']['hitpoints']>&& $badguy['creaturehealth']>0)
    
output('`n`%`bNächste Runde`b`n`0');

    if (
$session['user']['hitpoints']<=|| $badguy['creaturehealth']<=0)
    
$count=-1;

    if (
$badguy['creaturehealth']<=&& $session['user']['hitpoints']>0)
    {
        
$victory=true;
        
$defeat=false;
        
$count=0;
    }

    else
    {
        if (
$session['user']['hitpoints']<=0)
        {
            
$defeat=true;
            
$victory=false;
            
$count=0;
        }

        else
        {
            
$defeat=false;
            
$victory=false;
        }
    }
}

if (
$session['user']['hitpoints']>&& $badguy['creaturehealth']>&& ($_GET['op']=='fight' || $_GET['op']=='run'))
{
    
output('`n`%`bEnde der Runde`b`n');
    
output('`2'.$badguy['creaturename'].'`2\'s '.($session['user']['alive']?'Lebenspunkte':'Seelenpunkte').': `%'.$badguy['creaturehealth'].'`0`n');
    
output('`2Deine '.($session['user']['alive']?'Lebenspunkte':'Seelenpunkte').': `%'.$session['user']['hitpoints'].'`0`n');
}

if (
$victory || $defeat)
{
    
// Unset the bodyguard buff at the end of the fight.
    // Without this, the bodyguard persists *and* the older buffs are held
    // off for a while! :/
    
if (isset($session['bufflist']['bodyguard']))
    unset(
$session['bufflist']['bodyguard']);

    if (isset(
$session['bufflist']['weather']))
    unset(
$session['bufflist']['weather']);

    if (isset(
$session['bufflist']['heimvorteil']))
    unset(
$session['bufflist']['heimvorteil']);

    if (!
is_array($session['bufflist']) || count($session['bufflist']) <= 0)
    {
        
$session['bufflist'] = unserialize($session['user']['buffbackup']);

        if (
is_array($session['bufflist']))
        {
            if (
count($session['bufflist'])>&& $badguy['pvp'])
            
output('`&Die Götter gewähren dir wieder alle deine speziellen Fähigkeiten.`n`n');
        }

        else
        {
$session['bufflist'] = array();}
    }

    
$session['user']['buffbackup'] = '';
}

$session['user']['badguy']=createstring($badguy);
?>
0.9.7+jt ext (GER)