&$attacke) {
//echo '
attackenstats: '.count($attacke).'
';
$statsCounter = 0;
foreach ($attacke as $attKey => &$stat) {
if(is_array($stat)) {
//echo '
'.print_r($stat);
//echo '
dauer: '.$stat['dauer'].'/'.$stat['maxdauer'];
//echo '
wert: '.$stat['dauer'];
//echo '
operator: ';
//echo '
wert: '.$stat['wert'];
//echo '
attribut: '.getVariableName($stat['attribut'], $stat['char'], $charPos).' ('.$stat['attribut'].')';
//echo '
value: '.$GLOBALS['kampf'][getVariableName($stat['attribut'], $stat['char'], $charPos)][getCharVariable($stat['attribut'], $stat['char'], $charPos)];
//echo '
zAttribut: '.getVariableName($stat['zattribut'], $stat['char'], $charPos).' ('.$stat['zattribut'].')';
// echo '
value: '.$GLOBALS['kampf'][getVariableName($stat['zattribut'], $stat['char'], $charPos)][getCharVariable($stat['zattribut'], $stat['char'], $charPos)];
$statsCounter++;
$attributWert = &$GLOBALS['kampf'][getVariableName($stat['attribut'], $stat['char'], $charPos)][getCharVariable($stat['attribut'], $stat['char'], $charPos)];
if($stat['attribut'] != $stat['zattribut']) {
$zAttributWert = &$GLOBALS['kampf'][getVariableName($stat['zattribut'], $stat['char'], $charPos)][getCharVariable($stat['zattribut'], $stat['char'], $charPos)];
} else {
$zAttributWert = &$attributWert;
}
if(($stat['wirkung'] == 'always' || $stat['dauer'] == $stat['maxdauer']) && ($stat['unblockbar'] || !$GLOBALS['kampf']['aussetzen'])) {
switch ($stat['operator']) {
case '+':
//echo '+
';
$stat['akk_schaden'] += getCalculatedValue($stat['formel'], $stat['wert'], $attributWert);
$zAttributWert += getCalculatedValue($stat['formel'], $stat['wert'], $attributWert);
break;
case '-':
//echo '-
';
$stat['akk_schaden'] -= getCalculatedValue($stat['formel'], $stat['wert'], $attributWert);
$zAttributWert -= getCalculatedValue($stat['formel'], $stat['wert'], $attributWert);
break;
case '*':
//echo '*
';
//vorherigen wert merken um später gegen rechnen zu können
$tmp_wert = $attributWert;
//echo 'tmp_wert: '.$tmp_wert.'
';
$zAttributWert *= getCalculatedValue($stat['formel'], $stat['wert'], $attributWert);
$stat['akk_schaden'] += $attributWert - $tmp_wert;
break;
case '/':
//echo '/
';
//vorherigen wert merken um später gegen rechnen zu können
$tmp_wert = $attributWert;
//echo 'tmp_wert: '.$tmp_wert.'
';
$zAttributWert /= getCalculatedValue($stat['formel'], $stat['wert'], $attributWert);
$stat['akk_schaden'] += $attributWert - $tmp_wert;
break;
}
}
//echo '
ber. value: '.$zAttributWert;
//echo '
akk_schaden: '.$stat['akk_schaden'].'
';
//echo 'Varname: '.getVariableName($stat['attribut'], $stat['char']).'
';
//echo 'Vartyp: '.getCharVariable($stat['attribut'], $stat['attribut']).'
';
//echo 'Schaden: '.getCalculatedValue($stat['schaden'], $stat['wert'], $stat['attribut']).'
';
//echo '
zattribut: '.$stat['zattribut'];
if(getVariableName($stat['zattribut'], $stat['char'], $charPos) == 'tmp_hp') {
//hier extra den weiteren parameter für healkonter setzen
$index = 3;
if($charPos == 1) {
if($stat['char'] == 'self') {
$index = 3;
} else {
$index = 2;
}
} else {
if($stat['char'] == 'self') {
$index = 2;
} else {
$index = 3;
}
}
$GLOBALS['kampf'][getVariableName($stat['zattribut'], $stat['char'], $charPos)][$index] = true;
}
$stat['dauer']--;
if($stat['dauer'] < 1) {
if($stat['wiederherstellbar'] == true) {
//echo 'resette stat '.$stat['attribut'].' um den wert '.$stat['akk_schaden'].'
';
$zAttributWert -= $stat['akk_schaden'];
}
$statsCounter--;
if($charPos == 1) {
$GLOBALS['kampf']['schaden1'] = $attacke['text'];
} else {
$GLOBALS['kampf']['schaden2'] = $attacke['text'];
}
unset($attacke[$attKey]);
}
}
}
//echo 'Statscounter: '.$statsCounter.'
';
//echo 'attackenstats: '.count($attacke).'
';
if($statsCounter == 0) {
unset($statChanges[$statKey]);
}
}
}
}
################### Spieler 1
//char auf der linken Seite
processStatChanges($statChange_Char1, 1);
################### Spieler 2
//char auf der rechten Seite
processStatChanges($statChange_Char2, 2);
?>