LoGD Standardrelease steht hier zum Download zur Verfügung!
Home-Adresse dieser Version: anpera.net/logd
Anfragen nach dieser Version bitte an: logd@anpera.de
<?php
// Major MAJOR revamps by JT from logd.dragoncat.net Frankly I threw out my code and used his.
if($_GET['auto']=="full") $count=100;
elseif($_GET['auto']=="five") $count=5;
else $count=1;
$bo=(@file_exists("battle_texte.php"))?true:false;
if($bo)require_once "battle_texte.php";
function activate_buffs($tag){
global $session,$badguy,$bo;
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;
if($activate && !$buff[used]){
$session[bufflist][$key][used]=1;
if(isset($buff[roundmsg])){
$msg=$buff[roundmsg];
$msg=str_replace("{badguy}",$badguy[creaturename],$msg);
output("`g$msg`0`n");
}
}
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];
if($hpdiff<0)$hpdiff=0;
if($hpdiff<$hptoregen)$hptoregen=$hpdiff;
$session[user][hitpoints]+=$hptoregen;
$hptoregen=abs($hptoregen);
if($bo)$buff=regen_text($buff);
if($hptoregen==0)$msg=$buff[effectnodmgmsg];
else $msg=$buff[effectmsg];
$msg=str_replace("{badguy}",$badguy[creaturename],$msg);
$msg=str_replace("{damage}",$hptoregen,$msg);
if($msg!="")output("`g$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>=0 && $i<$buff[minioncount];$i++){
$damage=e_rand($min,$max);
if($who==0)$badguy[creaturehealth]-=$damage;
elseif($who==1)$session[user][hitpoints]-=$damage;
if($damage<0)$msg=$buff[effectfailmsg];
elseif($damage==0)$msg=$buff[effectnodmgmsg];
elseif($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("`g$msg`0`n");
}
}
}
}
return $result;
}
function process_lifetaps($ltaps,$damage){
global $session,$badguy,$bo;
reset($ltaps);
while(list($key,$buff)=each($ltaps)){
if($bo)$buff=life_text($buff);
$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];
elseif($damage==0)$msg=$buff[effectfailmsg];
elseif($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("`g$msg`n");
}
}
function process_dmgshield($dshield,$damage){
global $session,$badguy,$bo;
reset($dshield);
while(list($key,$buff)=each($dshield)){
if($bo)$buff=dmg_text($buff);
$realdamage=$damage*$buff[damageshield];
if($realdamage<0)$realdamage=0;
if($realdamage>0)$msg=$buff[effectmsg];
elseif($realdamage==0)$msg=$buff[effectnodmgmsg];
elseif($realdamage<0)$msg=$buff[effectfailmsg];
$badguy[creaturehealth]-=$realdamage;
$msg=str_replace("{badguy}",$badguy[creaturename],$msg);
$msg=str_replace("{damage}",$realdamage,$msg);
if($msg>"")output("`g$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);
if($msg!="")output("`g$msg`n");
}
unset($session[bufflist][$key]);
}
}
}
}
$badguy=createarray($session[user][badguy]);
// Aprilscherz 2
if(date("m-d")=="04-01" && !strpos($badguy[creaturename],"bork bork")){
$badguy[creaturename]=$badguy[creaturename]." bork bork";
}
if($badguy[creaturelevel]<1)$badguy[creaturelevel]=1;
$adjustment=($session[user][level]/$badguy[creaturelevel]);
if($badguy['pvp'])$adjustment=1;
if($_GET['op']=="fight"){
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");
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}`0 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}`0 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");
}
}
if($_GET[skill]=="DA"){
if($session[user][darkartuses]>=$_GET[l]){
$creaturedmg=0;
switch($_GET[l]){
case 1:$session[bufflist][da1]=array(
"startmsg"=>"`n`\$Du rufst die Geister der Toten und skelettartige Hände zerren an {badguy} aus den Tiefen ihrer Gräber.`n`n",
"name"=>"`\$Skelettdiener",
"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 `\$TRIFFT NICHT`)!",
"activate"=>"roundstart");
break;
case 2:$session[bufflist][da2]=array(
"startmsg"=>"`n`\$Du holst eine winzige Puppe, die aussieht wie {badguy}, 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`\$Du sprichst einen Fluch auf die Ahnen von {badguy}.`n`n",
"name"=>"`\$Geist 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`\$Du streckst Deine Hand aus und {badguy} fängt an aus den Ohren zu bluten.`n`n",
"name"=>"`\$Seele 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");
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");
}
}
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");
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üsse.`n`n",
"rounds"=>1,
"activate"=>"roundstart");
}
}
}
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0){
output ("`\$`c`b~ ~ ~ Kampf ~ ~ ~`b`c`0");
output("`@Du hast den Gegner `^$badguy[creaturename]`@ entdeckt, der sich mit seiner Waffe `%$badguy[creatureweapon]`@ auf Dich stürzt!`0`n`n");
if($session[user][alive])output("`2Level: `6$badguy[creaturelevel]`0`n");
else output("`2Level: `6Untoter`0`n");
output("`2`bBeginn der Runde:`b`n");
output("`2$badguy[creaturename]`2's ".($session[user][alive]?"Lebenspunkte":"Seelenpunkte").": `6$badguy[creaturehealth]`0`n");
output("`2DEINE ".($session[user][alive]?"Lebenspunkte":"Seelenpunkte").": `6".$session[user][hitpoints]."`0`n");
}
// weather mod
if($session[user][alive] && $session[user][buffbackup]==""){
if(e_rand(1,5)==2){
if(getsetting("weather","0")=="Starker Wind mit vereinzelten Regenschauern"){
if(e_rand(1,2)==1)$session[bufflist][weather] = array("name"=>"`6Sturm","rounds"=>1,"wearoff"=>"","atkmod"=>0,"roundmsg"=>"`6Ein starker Windstoß lässt Dich dein Ziel verfehlen.","activate"=>"offense");
else $session[bufflist][weather] = array("name"=>"`6Sturm","rounds"=>1,"wearoff"=>"","badguyatkmod"=>0,"roundmsg"=>"`6Ein starker Windstoß hindert {badguy} daran, Dich zu treffen.","activate"=>"defense");
}
}
}
// end weather mod
reset($session[bufflist]);
while(list($key,$buff)=each($session[bufflist]))$buff[used]=0; // reset the 'used this round state'
if($badguy[pvp] && count($session[bufflist])>0 && 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`\${$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 `\${damage}`7 Schadenspunkten.",
"effectnodmgmsg"=>"`7{badguy}'s Leibwächter versucht Dich zu treffen, aber `\$TRIFFT NICHT`7!",
"activate"=>"roundstart");
}
if($_GET[bg]==2){
$session[bufflist][heimvorteil]=array(
"startmsg"=>"`n`\${$badguy[creaturename]} `\$hat einen gewaltigen Heimvorteil!`n`n",
"name"=>"`\$Nachteil",
"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 `\${damage}`7 Schadenspunkte.",
"effectnodmgmsg"=>"",
"activate"=>"roundstart");
}
}
}
// Run the beginning of round buffs (this also calculates all modifiers)
for($count=$count;$count>0;$count--){
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0){
$buffset=activate_buffs("roundstart");
$creaturedefmod=$buffset[badguydefmod];
$creatureatkmod=$buffset[badguyatkmod];
$atkmod=$buffset[atkmod];
$defmod=$buffset[defmod];
}
if($badguy[creaturehealth]>0 && $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==0 && $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)==1 && ($_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`\$Dein Können erlaubt Dir den ersten Angriff!`0`b`n`n");
$surprised=false;
}
if($_GET[op]=="fight" || $_GET[op]=="run"){
if($_GET[op]=="fight"){
if($badguy[creaturehealth]>0 && $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("`&`bDu holst zu einem kleinen Powerschlag aus!`b`0`n");
}
}
if($creaturedmg==0){
output("`4Du versuchst `^$badguy[creaturename]`4 zu treffen, aber `\$TRIFFST NICHT!`n");
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_dmgshield($buffset[dmgshield],0);
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_lifetaps($buffset[lifetap],0);
}elseif($creaturedmg<0){
output("`4Du versuchst `^$badguy[creaturename]`4 zu treffen, aber der `\$ABWEHRSCHLAG `4trifft Dich mit `\$".(0-$creaturedmg)."`4 Schadenspunkten!`n");
$badguy[diddamage]=1;
$session[user][hitpoints]+=$creaturedmg;
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_dmgshield($buffset[dmgshield],-$creaturedmg);
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_lifetaps($buffset[lifetap],$creaturedmg);
}else{
output("`4Du triffst `^$badguy[creaturename]`4 mit `^$creaturedmg`4 Schadenspunkten!`n");
$badguy[creaturehealth]-=$creaturedmg;
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_dmgshield($buffset[dmgshield],-$creaturedmg);
if($badguy[creaturehealth]>0 && $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");
}
}
}elseif($_GET[op]=="run" && !$surprised){
output("`4Du bist zu beschäftigt damit, wegzulaufen wie ein feiger Hund und kannst nicht gegen `^$badguy[creaturename]`4 kämpfen.`n");
}
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0){
$buffset=activate_buffs("defense");
if($selfdmg==0){
output("`^$badguy[creaturename]`4 versucht Dich zu treffen, aber `\$TRIFFT NICHT!`n");
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_dmgshield($buffset[dmgshield],0);
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_lifetaps($buffset[lifetap],0);
}elseif($selfdmg<0){
output("`^$badguy[creaturename]`4 versucht Dich zu treffen, aber Dein `^ABWEHRSCHLAG`4 trifft mit `^".(0-$selfdmg)."`4 Schadenspunkten!`n");
$badguy[creaturehealth]+=$selfdmg;
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_lifetaps($buffset[lifetap],-$selfdmg);
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_dmgshield($buffset[dmgshield],$selfdmg);
}else{
output("`^$badguy[creaturename]`4 trifft Dich mit `\$$selfdmg`4 Schadenspunkten!`n");
$session[user][hitpoints]-=$selfdmg;
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_dmgshield($buffset[dmgshield], $selfdmg);
if($badguy[creaturehealth]>0 && $session[user][hitpoints]>0)process_lifetaps($buffset[lifetap], -$selfdmg);
$badguy[diddamage]=1;
}
}
}
expire_buffs();
$creaturedmg=0;
$selfdmg=0;
if($count>1 && $session[user][hitpoints]>0 && $badguy[creaturehealth]>0)output("`2`bNächste Runde:`b`n");
if($session[user][hitpoints]<=0 || $badguy[creaturehealth]<=0)$count=-1;
if($badguy[creaturehealth]<=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]>0 && $badguy[creaturehealth]>0 && ($_GET[op]=="fight" || $_GET[op]=="run")){
output("`2`bEnde der Runde:`b`n");
output("`2$badguy[creaturename]`2's ".($session[user][alive]?"Lebenspunkte":"Seelenpunkte").": `6$badguy[creaturehealth]`0`n");
output("`2DEINE ".($session[user][alive]?"Lebenspunkte":"Seelenpunkte").": `6".$session[user][hitpoints]."`0`n");
}
if($victory || $defeat){
if(isset($session[bufflist][bodyguard]))unset($session[bufflist][bodyguard]);
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])>0 && $badguy[pvp])output("`&Die Götter gewähren Dir wieder alle deine speziellen Fähigkeiten.`n`n");
}else{
$session[bufflist] = array();
}
}elseif(is_array($session[bufflist]) && count($session[bufflist])>0 && $session[user][buffbackup]!=''){
$backup=unserialize($session[user][buffbackup]);
if(is_array($backup))foreach($backup AS $key => $value)$session[bufflist][$key]=$value;
}
$session[user][buffbackup] = "";
}
$session[user][badguy]=createstring($badguy);
?>