// Магия эльфа в обороне
if ($enemy['uRace'] == 4) {
$mg_lev_ == 1;
if ($enemy['uLevel'] > 6) {
$mg_lev_ == 6;
} else {
$mg_lev_ = $enemy['uLevel'];
}
$mg_per_ = ($mg_lev_*3)/100;
$defense = $defense + ($defense * $mg_per_);
$elven_magic="
При обороне враг использовал эльфийскую магию ".$mg_lev_." уровня. ";
}
if ( $offense == $defense ) {
if ( rand( 1, 2 ) == 1 ) {
$offense += 50 * rand( 1, 6 );
} else {
$offense += 50 * rand( 1, 6 );
}
}
echo "
Ваши ".$user['uOffensiveMen']." Мечников и ".$user['uSpriganMen']." Лучников нанесли $offense урона.
";
echo "Стражники и Лучники игрока " .$enemy['uLogin'] . " смогли отбить $defense урона.
У игрока построены следующие укрепления:
[b] ";
if ( $enemy['uCastleSpriganPlace'] == 1){echo'- Площадка для лучников
';}
if ( $enemy['uCastleBalisti'] == 1){echo'- Настенные балисты
';}
if ( $enemy['uCastleBalisti'] == 2){echo'- Настенные катапульты
';}
if ( $enemy['uCastleWoodGate'] == 1){echo'- Сосновые ворота
';}
if ( $enemy['uCastleGatePost'] == 1){echo'- Надвратный пост стражи
';}
if ( $enemy['uCastleBrege'] == 1){echo'- Котлы с кипящей смолой
';}
if ( $enemy['uCastleRovSvodoi'] == 1){echo'- Ров с водой
';}
if ( $enemy['uCastleMagCastle'] == 1){echo'- Сторожевая башня мага
';}
if ( $enemy['uCastleTimber'] == 1){echo'- Деревянный частокол
';}
if ( $enemy['uCastleTimber'] == 2){echo'- Каменная стена с деревянной надстройкой
';}
if ( $enemy['uCastleTimber'] == 3){echo'- Каменная стена с каменной надстройкой';}
if ( $enemy['uCastleTimber'] == 0 && $enemy['uCastleMagCastle'] == 0 && $enemy['uCastleRovSvodoi'] == 0 && $enemy['uCastleBrege'] == 0 && $enemy['uCastleGatePost'] == 0 && $enemy['uCastleWoodGate'] == 0 && $enemy['uCastleBalisti'] == 0 ){echo'- Укреплений нет';}
echo"[/b]
";
$time = time();
if ( $offense > $defense ) {
$gold_gained_work = $enemy['uGold'] / 20;
$gold_gained = $gold_gained_work * $turns;
$exp_gained_work = rand( 1000, 3500 );
$exp_gained_work2 = $exp_gained_work / 10;
$exp_gained = $exp_gained_work2 * $turns;
$msg_attack="";
// потери
if ($offense*5 > $defense) { // полное превосходство
// ваши потери 0-3%, потери врага 20-40%
$msg_attack="Вы с легкостью разгромили войска противника!";
$a1 = 0;
$a2 = 3;
$d1 = 20;
$d2 = 40;
}
else if ($offense*5 < $defense) { // слабая атака, поражение
$msg_attack="Ваши войска попали в засаду и были разбиты!";
$a1 = 40;
$a2 = 60;
$d1 = 0;
$d2 = 5;
}
else { // обычное сражение
$a1 = 15;
$a2 = 25;
$d1 = 15;
$d2 = 25;
}
//подсчет потерей
$attacker_a1 = $user['uOffensiveMen'];
$attacker_a2 = $user['uSpriganMen'];
$attacker_a3 = $user['uDefensiveMen'];
$defender_a1 = $enemy['uOffensiveMen'];
$defender_a2 = $enemy['uSpriganMen'];
$defender_a3 = $enemy['uDefensiveMen'];
$defender_min = $enemy['uMiners'];
$defender_civ = $enemy['uCitizens'];
$attacker_a1_killed = round(($attacker_a1 * rand ($a1,$a2)) / 100);
$attacker_a2_killed = round(($attacker_a2 * rand ($a1,$a2)) / 100);
$attacker_a3_killed = round(($attacker_a3 * rand ($a1,$a2)) / 100);
$defender_a1_killed = round(($defender_a1 * rand ($d1,$d2)) / 100);
$defender_a2_killed = round(($defender_a2 * rand ($d1,$d2)) / 100);
$defender_a3_killed = round(($defender_a3 * rand ($d1,$d2)) / 100);
$defender_min_killed = round(($defender_min * rand ($d1,$d2)) / 100);
$defender_civ_killed = round(($defender_civ * rand ($d1,$d2)) / 100);
$attacker_a1 = $attacker_a1 - $attacker_a1_killed;
$attacker_a2 = $attacker_a2 - $attacker_a2_killed;
$attacker_a3 = $attacker_a3 - $attacker_a3_killed;
$defender_a1 = $attacker_a1 - $attacker_a1_killed;
$defender_a2 = $attacker_a2 - $attacker_a2_killed;
$defender_a3 = $attacker_a3 - $attacker_a3_killed;
$defender_min = $attacker_min - $attacker_min_killed;
$defender_civ = $attacker_civ - $attacker_civ_killed;
$db->query("UPDATE users SET uOffensiveMen='$attacker_a1' WHERE uID='" . $user['uID'] . "'" );
$db->query("UPDATE users SET uSpriganMen='$attacker_a2' WHERE uID='" . $user['uID'] . "'" );
$db->query("UPDATE users SET uDefensiveMen='$attacker_a3' WHERE uID='" . $user['uID'] . "'" );
$db->query("UPDATE users SET uOffensiveMen='$defender_a1' WHERE uID='" . $enemy['uID'] . "'" );
$db->query("UPDATE users SET uSpriganMen='$defender_a2' WHERE uID='" . $enemy['uID'] . "'" );
$db->query("UPDATE users SET uDefensiveMen='$defender_a3' WHERE uID='" . $enemy['uID'] . "'" );
$db->query("UPDATE users SET uMiners='$defender_min' WHERE uID='" . $enemy['uID'] . "'" );
$db->query("UPDATE users SET uCitizens='$defender_civ' WHERE uID='" . $enemy['uID'] . "'" );
echo "Вы победили игрока " . $enemy['uLogin'] . ". " . $msg_attack . "
". $elven_magic ."
Ваши потери: " . $attacker_a1_killed . " мечников, " . $attacker_a2_killed . " лучников, " . $attacker_a3_killed . " стражников. Потери противника: " . $defender_a1_killed . " мечников, " . $defender_a2_killed . " лучников, " . $defender_a3_killed . " стражников, " . $defender_min_killed . " кузнецов, " . $defender_civ_killed . " жителей.
Вы получаете $gold_gained золота а также $exp_gained опыта.
";
$user['uEXP'] = $user['uEXP'] + $exp_gained;
//добавление золота победителю
$db->query( "UPDATE users SET uGold=uGold+'$gold_gained',uEXP=uEXP+'$exp_gained',uWon=uWon+'1',uAttackTurns=uAttackTurns-'$turns' WHERE uID='" . $user['uID'] . "'" );
//отнимание золота у проигравшего
$db->query( "UPDATE users SET uGold=uGold-'$gold_gained',uLost=uLost+'1' WHERE uID='" . $enemy['uID'] . "'" );
$db->query( "INSERT INTO logs (`lType`,`lWinLose`,`lYou`,`lOther`,`lOtherLogin`,`lTurns`,`lGold`,`lEXP`,`lTime`,`lTime2`) VALUES ('2', '1', '" . $user['uID'] . "', '" . $enemy['uID'] . "', '" . $enemy['uLogin'] . "', '$turns', '$gold_gained', '$exp_gained', \"$gamedate\", '$time')" );
$db->query( "INSERT INTO logs (`lType`,`lWinLose`,`lYou`,`lOther`,`lOtherLogin`,`lTurns`,`lGold`,`lEXP`,`lTime`,`lTime2`) VALUES ('1', '2', '" . $enemy['uID'] . "', '" . $user['uID'] . "', '" . $user['uLogin'] . "', '$turns', '-$gold_gained', '0', \"$gamedate\", '$time')" );
if ( $user['uEXP'] > $user['uNextLevel'] ) {
$at = $user['uNextLevel'] / 2;
$add = $user['uNextLevel'] + $at;
echo "
Вы перешли на новый уровень.
";
$db->query( "UPDATE users SET uLevel=uLevel+'1',uNextLevel=uNextLevel+'$add' WHERE uID='" . $user['uID'] . "'" );
}
} elseif ( $offense < $defense ) {
// атакующий не теряет золота при неудачной атаке.
//$gold_lost_work = $user['uGold'] / 40;
//$gold_lost = $gold_lost_work * $turns;
$exp_gained_work = rand( 1000, 3500 );
$exp_gained_work2 = $exp_gained_work / 20;
$exp_gained = $exp_gained_work2 * $turns;
//echo $enemy['uLogin'] . " победил вас. Вы потеряли $gold_lost золота.
";
echo $enemy['uLogin'] . "победил вас.
" . $msg_attack . "
". $elven_magic ."
Ваши потери: " . $attacker_a1_killed . " мечников, " . $attacker_a2_killed . " лучников, " . $attacker_a3_killed . " стражников. Потери противника: " . $defender_a1_killed . " мечников, " . $defender_a2_killed . " лучников, " . $defender_a3_killed . " стражников, " . $defender_min_killed . " кузнецов, " . $defender_civ_killed . " жителей.
Вы получаете $gold_gained золота а также $exp_gained опыта.
";
$enemy['uEXP'] = $enemy['uEXP'] + $exp_gained;
//$db->query( "UPDATE users SET uGold=uGold-'$gold_lost',uLost=uLost+'1',uAttackTurns=uAttackTurns-'$turns' WHERE uID='" . $user['uID'] . "'" );
//$db->query( "UPDATE users SET uGold=uGold+'$gold_lost',uWon=uWon+'1',uEXP=uEXP+'$exp_gained' WHERE uID='" . $enemy['uID'] . "'" );
$db->query( "INSERT INTO logs (`lType`,`lWinLose`,`lYou`,`lOther`,`lOtherLogin`,`lTurns`,`lGold`,`lEXP`,`lTime`,`lTime2`) VALUES ('2', '2', '" . $user['uID'] . "', '" . $enemy['uID'] . "', '" . $enemy['uLogin'] . "', '$turns', '-$gold_lost', '0', \"$gamedate\", '$time')" );
$db->query( "INSERT INTO logs (`lType`,`lWinLose`,`lYou`,`lOther`,`lOtherLogin`,`lTurns`,`lGold`,`lEXP`,`lTime`,`lTime2`) VALUES ('1', '1', '" . $enemy['uID'] . "', '" . $user['uID'] . "', '" . $user['uLogin'] . "', '$turns', '$gold_lost', '$exp_gained', \"$gamedate\", '$time')" );
if ( $enemy['uEXP'] > $enemy['uNextLevel'] ) {
$at = $enemy['uNextLevel'] / 2;
$add = $enemy['uNextLevel'] + $at;
echo "
" . $enemy['uLogin'] . " переходит на новый уровень.
";
$db->query( "UPDATE users SET uLevel=uLevel+'1',uNextLevel=uNextLevel+'$add' WHERE uID='" . $enemy['uID'] . "'" );
}
}
echo "
<a href=index.php>Вернуться в свою крепость</a>
<a href=attack.php>Атаковать кого-то ещё</a>";
}
?>