Файл: www/battle.php
Строк: 1437
<?php
include 'inc/mysql.php';
include 'inc/check.php';
include 'inc/functions.php';
top();
include 'inc/account.php';
include 'inc/interface.php';
if (isset($_SESSION['auth']) && $_SESSION['auth']==1){
if ($account['battle']){
if (isset($_GET['target_type']) AND isset($_GET['target']) AND is_numeric($_GET['target'])){
$target=intval($_GET['target']);
if ($_GET['target_type']=='mob'){
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `mobs`
WHERE `id`='".$target."'
AND `battle`='".$account['battle']."'"),0)){
mysql_query("UPDATE `account` SET
`battle_attack`='".$target."',
`battle_target_type`='mob'
WHERE
`id`='".$account['id']."'");
header("Location: ?");
exit;
}else{
header("Location: ?");
exit;
}
}elseif($_GET['target_type']=='user'){
}
}
if ($account['battle_target_type']=='mob'){
$mob=mysql_fetch_array(mysql_query("SELECT * FROM `mobs` WHERE
`id`='".$account['battle_attack']."'"));
}
/*************Обнуляем характеристики************/
//Сложение
$mob['adding'] = 0;
//Воля
$mob['will'] = 0;
//Реакция
$mob['reaction'] = 0;
//Защита от ударов
$mob['feature_armor_weapon']=0;
//Защита от стрел
$mob['feature_armor_arrow']=0;
//Защита от магии
$mob['feature_armor_magic']=0;
//Урон от ударов
$mob['feature_attack_weapon']=0;
//Урон от стрел
$mob['feature_attack_arrow']=0;
//Урон от магии
$mob['feature_attack_magic']=0;
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`debaph`='1'
AND `target_type`='mob'
AND `target`='".$mob['id']."'"),0)){
$qdb=mysql_query("SELECT * FROM `effect` WHERE
`debaph`='1'
AND `target_type`='mob'
AND `target`='".$mob['id']."'");
while($resultdb=mysql_fetch_assoc($qdb)){
if (time()-$resultdb['time']>=$resultdb['effect_time']){
mysql_query("DELETE FROM `effect` WHERE `id`='".$resultdb['id']."'");
header("Location: ?");
exit;
}
//Сложение
$mob['adding']-=$resultdb['baph_adding'];
//Воля
$mob['will']-=$resultdb['baph_will'];
//Реакция
$mob['reaction']-=$resultdb['baph_reaction'];
//Очки здоровья
$mob['max_hp']-=$resultdb['baph_max_hp'];
//Очки маны
$mob['max_mp']-=$resultdb['baph_max_mp'];
//Защита от ударов
$mob['feature_armor_weapon']-=$resultdb['baph_feature_armor_weapon'];
//Защита от стрел
$mob['feature_armor_arrow']-=$resultdb['baph_feature_armor_arrow'];
//Защита от магии
$mob['feature_armor_magic']-=$resultdb['baph_feature_armor_magic'];
//Урон от ударов
$mob['feature_attack_weapon']-=$resultdb['baph_feature_attack_weapon'];
//Урон от стрел
$mob['feature_attack_arrow']-=$resultdb['baph_feature_attack_arrow'];
//Урон от магии
$mob['feature_attack_magic']-=$resultdb['baph_feature_attack_magic'];
//Восстановление жизни
$mob['hp_regen']-=$resultdb['baph_hp_regen'];
//Восстановление маны
$mob['mp_regen']-=$resultdb['baph_mp_regen'];
//Power
$mob['power']-=$resultdb['baph_power'];
//Wit
$mob['wit']-=$resultdb['baph_wit'];
//Dexterity
$mob['dexterity']-=$resultdb['baph_dexterity'];
//Vitality
$mob['vitality']-=$resultdb['baph_vitality'];
//Spirit
$mob['spirit']-=$resultdb['baph_spirit'];
foreach($mob as $key=>$value){
if (is_numeric($value)){
if ($value<0){
$mob[$key]=0;
}
}
}
}
}
/*************************************************************************************
************************Характеристики*************************************************
****************************************************************************************/
//Сложение
$addingmin=0.02*$mob['power'];
$mob['adding'] += ceil($mob['power']-$addingmin);
//Воля
$willmin=0.02*$mob['wit'];
$mob['will'] += ceil($mob['wit']-$willmin);
//Реакция
$reactionmin=0.02*$mob['dexterity'];
$mob['reaction'] += ceil($mob['dexterity']-$reactionmin);
//Защита от ударов
$armorweaponmin=floor($mob['power']/2)*0.01;
$mob['feature_armor_weapon']+=($mob['power']*0.55)-$armorweaponmin;
//Защита от стрел
$armorarrowmin=floor($mob['dexterity']/2)*0.01;
$mob['feature_armor_arrow']+=($mob['dexterity']*0.55)-$armorarrowmin;
//Защита от магии
$armormagicmin=floor($mob['wit']/2)*0.01;
$mob['feature_armor_magic']+=($mob['wit']*0.55)-$armormagicmin;
//Урон от ударов
$mob['feature_attack_weapon']+=floor($mob['power']/2)*1;
//Урон от стрел
$mob['feature_attack_arrow']+=floor($mob['dexterity']/2)*1;
//Урон от магии
$mob['feature_attack_magic']+=floor($mob['wit']/2)*1;
//атака моба
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`stun`='1'
OR `paralich`='1'
OR `fear`='1'
OR `sleep`='1'
AND `target_type`='mob'
AND `target`='".$mob['id']."'"),0)){
$querystun=mysql_query("SELECT * FROM `effect` WHERE
`stun`='1'
OR `paralich`='1'
OR `fear`='1'
OR `sleep`='1'
AND (`target_type`='mob' AND `target`='".$mob['id']."')");
while($resultstun=mysql_fetch_assoc($querystun)){
if ($resultstun['stun']){
if (time()-$resultstun['time']>=$resultstun['effect_time']){
mysql_query("DELETE FROM `effect`
WHERE `id`='".$resultstun['id']."'");
}else{
mysql_query("UPDATE `mobs` SET
`last_damag`='".time()."'
WHERE
`id`='".$mob['id']."'");
}
}elseif($resultstun['paralich']){
if (time()-$resultstun['time']>=$resultstun['effect_time']){
mysql_query("DELETE FROM `effect` WHERE
`id`='".$resultstun['id']."'");
}else{
mysql_query("UPDATE `mobs` SET
`last_damag`='".time()."'
WHERE
`id`='".$mob['id']."'");
}
}elseif($resultstun['sleep']){
if (time()-$resultstun['time']>=$resultstun['effect_time']){
mysql_query("DELETE FROM `effect` WHERE
`id`='".$resultstun['id']."'");
}else{
mysql_query("UPDATE `mobs` SET
`last_damag`='".time()."'
WHERE
`id`='".$mob['id']."'");
}
}elseif($resultstun['fear']){
if (time()-$resultstun['time']>=$resultstun['effect_time']){
mysql_query("DELETE FROM `effect`
WHERE
`id`='".$resultstun['id']."'");
}else{
mysql_query("UPDATE `mobs` SET
`last_damag`='".time()."'
WHERE
`id`='".$mob['id']."'");
}
}
$mob['last_damag']=mysql_result(mysql_query("SELECT `last_damag` FROM `mobs`
WHERE
`id`='".$mob['id']."'"),0);
}
}
$battlemobs=mysql_query("SELECT * FROM `mobs` WHERE `battle`='".$account['battle']."'");
while($resmob=mysql_fetch_assoc($battlemobs)){
$attackcol=floor((time()-$resmob['last_damag'])/$resmob['damag_every_sec']);
for ($i=1;$i<=$attackcol;$i++){
$damagmob=rand($resmob['min_damag'],$resmob['max_damag']);
$damagmob=(floor($damagmob/100)*$resmob['feature_attack_weapon'])+$damagmob;
$damagmob=$damagmob-(floor($damagmob/100)*$account['feature_armor_weapon']);
if ($damagmob<=0){
$damagmob=1;
}
$damagmob+=rand(1,3);
$kritpower=$resmob['power']-20;
if ($kritpower<=0){
$kritpower=1;
}
$kritdexterity=$resmob['dexterity']-15;
if ($kritdexterity<=0){
$kritdexterity=2;
}
$kritwit=$resmob['wit']-10;
if ($kritwit<=0){
$kritwit=2;
}
$krit=$kritdexterity+$kritpower+$kritwit;
if ($krit>65){
$krit=65;
}
$start=100-$krit;
$start=rand(1,$krit);
$end=$start+$krit;
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$damagmob=$damagmob*rand(1.5,1.9);
}
$hpdm=$account['hp']-$damagmob;
if ($hpdm<0){
$hpdm=0;
mysql_query("DELETE FROM `effect` WHERE
`target_type`='mob'
AND `target`='".$resmob['id']."'");
mysql_query("DELETE FROM `battle` WHERE
`id`='".$account['battle']."'");
mysql_query("UPDATE `account` SET
`battle`='',
`battle_attack`='' WHERE `id`='".$account['id']."'");
mysql_query("UPDATE `mobs` SET
`hp`='".$resmob['max_hp']."',
`mp`='".$resmob['max_mp']."',
`last_death`='".time()."',
`last_damag`='',
`battle`=''
WHERE `id`='".$resmob['id']."'");
echo '<font color="#3d060c">Бой окончен. Вы проиграли...</font>';
down();
exit;
}
mysql_query("UPDATE `account` SET
`hp`='".$hpdm."'
WHERE
`id`='".$account['id']."'");
mysql_query("INSERT INTO `battle_log`(
`account`,
`mess`)VALUES(
'".$account['id']."',
'<img src="/data/img/skill/attack.jpg" width="10px" height="10px"><font color="#3d060c">".$resmob['name']." наносит вам ".$damagmob." урона!</font>')");
mysql_query("UPDATE `mobs` SET
`last_damag`='".time()."'
WHERE
`id`='".$resmob['id']."'");
$account['hp']=mysql_result(mysql_query("SELECT `hp` FROM `account` WHERE
`id`='".$account['id']."'"),0);
}
}
//echo time();
//Доты
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`target_type`='mob'
AND `account`='".$account['id']."'
AND `dota`='1'"),0)){
//echo mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE `target_type`='mob' AND `account`='".$account['id']."'"),0);
$qd=mysql_query("SELECT * FROM `effect` WHERE
`target_type`='mob'
AND `account`='".$account['id']."'
AND `dota`='1'");
while($resultd=mysql_fetch_assoc($qd)){
$mobe=mysql_fetch_array(mysql_query("SELECT * FROM `mobs` WHERE
`id`='".$resultd['target']."'"));
if ($resultd['last_cast']-$resultd['time']>=$resultd['effect_time']){
mysql_query("DELETE FROM `effect` WHERE `id`='".$resultd['id']."'");
header("Location: ?");
exit;
}
$col_hp_damaged=time()-$resultd['last_cast'];
$col_hp_damaged=floor($col_hp_damaged/$resultd['effect_every_sec']);
if ($col_hp_damaged){
for($i=1; $i<=$col_hp_damaged; $i++){
$hpd=$mobe['hp']-$resultd['effect_damage'];
if ($hpd<=0){
$hpd=0;
mysql_query("DELETE FROM `effect` WHERE
`target_type`='mob'
AND `target`='".$mobe['id']."'");
mysql_query("UPDATE `mobs` SET
`hp`='".$mobe['max_hp']."',
`mp`='".$mobe['max_mp']."',
`last_death`='".time()."',
`battle`=''
WHERE
`id`='".$mobe['id']."'");
$levl=mysql_fetch_assoc(mysql_query("SELECT * FROM `lvl` WHERE `id`='".$account['lvl']."'"));
mysql_query("UPDATE `account` SET `exp`='".($account['exp']+$mobe['exp'])."' WHERE `id`='".$account['id']."'");
echo 'Получено опыта: '.$mobe['exp'].'<br />';
$account['exp']=mysql_result(mysql_query("SELECT `exp` FROM `account` WHERE `id`='".$account['id']."'"),0);
if ($account['exp']>$levl['exp']){
$expe=$account['exp']-$levl['exp'];
mysql_query("UPDATE `account` SET `lvl`='".($account['lvl']+1)."',`exp`='".$expe."' WHERE `id`='".$account['id']."'");
echo 'Уровень повышен!<br />';
}
if ($mobe['drop_gold']){
mysql_query("UPDATE `account` SET
`gold`='".$account['gold']+$mobe['drop_gold']."' WHERE `id`='".$account['id']."'");
}
if ($mobe['drop_items']){
$drop=explode(',',$mobe['drop_items']);
foreach($drop as $value){
$item=explode(':',$value);
$start=100-$item[1];
$start=rand(1,$start);
$end=$start+$item[1];
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$iteme=mysql_fetch_assoc(mysql_query("SELECT * FROM `items` WHERE
`id`='".$item[0]."'"));
if ($iteme['type']=='eat_bootle' OR $iteme['type']=='eat_eat' OR $iteme['type']=='resourse'){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `inventory` WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'"),0)){
if (isset($item[2])){
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '".$item[2]."'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '1'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$item[2]."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$iteme['amount']."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}
unset($chanse);
unset($start);
unset($end);
unset($iteme);
unset($item);
}
}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`=''
AND `kill_mob`='".$mobe['ident_id']."'"),0)){
$quests=mysql_query("SELECT * FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`='0'
AND `kill_mob`='".$mobe['ident_id']."'");
while($resul=mysql_fetch_array($quests)){
mysql_query("UPDATE `quests` SET
`kill_mob_col_kill`='".($resul['kill_mob_col_kill']+1)."'
WHERE
`account`='".$account['id']."'
AND `id`='".$resul['id']."'");
echo $mobe['name'].' - убито '.($resul['kill_mob_col_kill']+1).'/'.$resul['kill_mob_col'].'<br />';
if ($resul['kill_mob_col_kill']+1==$resul['kill_mob_col'] && $resul['res_need']==$resul['res_need_col']){
echo 'Цель достигнута<br />';
mysql_query("UPDATE `quests` SET
`completed`='1'
WHERE
`id`='".$resul['id']."'");
}
}
}
if (!mysql_result(mysql_query("SELECT COUNT(*) FROM `mobs` WHERE `battle`='".$account['battle']."'"),0)){
mysql_query("DELETE FROM `battle` WHERE
`id`='".$account['battle']."'");
mysql_query("UPDATE `account` SET
`battle`='',
`battle_attack`='' WHERE `id`='".$account['id']."'");
echo '<font color="#3d8e2f">Бой окончен. Вы победили!</font>';
down();
exit;
}else{
$nextmob=mysql_result(mysql_query("SELECT `id` FROM `mobs` WHERE `battle`='".$account['battle']."' LIMIT 1"),0);
mysql_query("UPDATE `account` SET `battle_attack`='".$nextmob."' WHERE `id`='".$account['id']."'");
header("Location: ?");
exit;
}
}
mysql_query("UPDATE `mobs` SET
`hp`='".$hpd."'
WHERE `id`='".$mobe['id']."'");
mysql_query("INSERT INTO `battle_log`(
`account`,
`mess`)VALUES(
'".$account['id']."',
'<img src="/data/img/skill/".mysql_result(mysql_query("SELECT `icon` FROM `skill` WHERE `id`='".$resultd['skill']."'"),0).".jpg" width="10px" height="10px"><font color="#8e8171">Вы наносите ".$resultd['effect_damage']." урона</font>')");
mysql_query("UPDATE `effect` SET
`last_cast`='".($resultd['last_cast']+$resultd['effect_every_sec'])."'
WHERE `id`='".$resultd['id']."'");
$resultd['last_cast']=mysql_result(mysql_query("SELECT `last_cast` FROM `effect` WHERE
`id`='".$resultd['id']."'"),0);
if ($resultd['last_cast']-$resultd['time']>=$resultd['effect_time']){
mysql_query("DELETE FROM `effect` WHERE
`id`='".$resultd['id']."'");
header("Location: ?");
exit;
}
$mobe['hp']=mysql_result(mysql_query("SELECT `hp` FROM `mobs`
WHERE `id`='".$mobe['id']."'"),0);
}
}
}
}
if (isset($_GET['skill']) && is_numeric($_GET['skill'])){
$_GET['skill']=intval($_GET['skill']);
if (!mysql_result(mysql_query("SELECT * FROM `skill` WHERE
`id`='".$_GET['skill']."'
AND `account`='".$account['id']."'"),0)){
header("Location: ?");
exit;
}
$skill=mysql_fetch_assoc(mysql_query("SELECT * FROM `skill` WHERE
`id`='".$_GET['skill']."'
AND `account`='".$account['id']."'"));
if (time()-$skill['last_cast']<$skill['res_time']){
header("Location: ?");
exit;
}
if (time()-$account['battle_last_attack']<2){
header("Location: ?");
exit;
}
if ($account['mp']<$skill['mp_need_from_cast']){
header("Location: ?");
exit;
}
if (mysql_result(mysql_query("SElECT COUNT(*) FROM `effect` WHERE
`skill`='".$skill['id']."'"),0)){
mysql_query("UPDATE `effect` SET
`last_cast`='".time()."',
`time`='".time()."'
WHERE
`skill`='".$skill['id']."'");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`id`='".$skill['id']."'");
header("Location: ?");
exit;
}
/*******************************************************************
**********************DAMAG******************************************
**********************************************************************/
if ($skill['type']=='phisical'){
if ($skill['damage']){
$damag=$skill['damage'] + rand(-3,3);
$damag=(ceil($damag/100)*$account['feature_attack_weapon'])+$damag;
$damag=$damag-(ceil($damag/100)*$mob['feature_armor_weapon']);
if ($damag<=0){
$damag=1;
}
$damag+=rand(1,3);
$kritpower=$account['power']-20;
if ($kritpower<=0){
$kritpower=1;
}
$kritdexterity=$account['dexterity']-15;
if ($kritdexterity<=0){
$kritdexterity=2;
}
$kritwit=$account['wit']-10;
if ($kritwit<=0){
$kritwit=2;
}
$krit=$kritdexterity+$kritpower+$kritwit;
if ($krit>65){
$krit=65;
}
$start=100-$krit;
$start=rand(1,$krit);
$end=$start+$krit;
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$damag=$damag*rand(1.5,1.9);
}
$hp=$mob['hp']-$damag;
if ($hp<0){
$hp=0;
mysql_query("DELETE FROM `effect` WHERE
`target_type`='mob'
AND `target`='".$mob['id']."'");
mysql_query("UPDATE `mobs` SET
`hp`='".$mob['max_hp']."',
`mp`='".$mob['max_mp']."',
`last_death`='".time()."',
`battle`=''
WHERE
`id`='".$mob['id']."'");
$levl=mysql_fetch_assoc(mysql_query("SELECT * FROM `lvl` WHERE `id`='".$account['lvl']."'"));
mysql_query("UPDATE `account` SET `exp`='".($account['exp']+$mob['exp'])."' WHERE `id`='".$account['id']."'");
echo 'Получено опыта: '.$mob['exp'].'<br />';
$account['exp']=mysql_result(mysql_query("SELECT `exp` FROM `account` WHERE `id`='".$account['id']."'"),0);
if ($account['exp']>$levl['exp']){
$expe=$account['exp']-$levl['exp'];
mysql_query("UPDATE `account` SET `lvl`='".($account['lvl']+1)."',`exp`='".$expe."' WHERE `id`='".$account['id']."'");
echo 'Уровень повышен!<br />';
}
if ($mob['drop_gold']){
mysql_query("UPDATE `account` SET
`gold`='".$account['gold']+$mob['drop_gold']."' WHERE `id`='".$account['id']."'");
}
if ($mob['drop_items']){
$drop=explode(',',$mob['drop_items']);
foreach($drop as $value){
$item=explode(':',$value);
$start=100-$item[1];
$start=rand(1,$start);
$end=$start+$item[1];
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$iteme=mysql_fetch_assoc(mysql_query("SELECT * FROM `items` WHERE
`id`='".$item[0]."'"));
if ($iteme['type']=='eat_bootle' OR $iteme['type']=='eat_eat' OR $iteme['type']=='resourse'){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `inventory` WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'"),0)){
if (isset($item[2])){
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '".$item[2]."'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '1'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$item[2]."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$iteme['amount']."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}
unset($chanse);
unset($start);
unset($end);
unset($iteme);
unset($item);
}
}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`=''
AND `kill_mob`='".$mob['ident_id']."'"),0)){
$quests=mysql_query("SELECT * FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`='0'
AND `kill_mob`='".$mob['ident_id']."'");
while($resul=mysql_fetch_array($quests)){
mysql_query("UPDATE `quests` SET
`kill_mob_col_kill`='".($resul['kill_mob_col_kill']+1)."'
WHERE
`account`='".$account['id']."'
AND `id`='".$resul['id']."'");
echo $mob['name'].' - убито '.($resul['kill_mob_col_kill']+1).'/'.$resul['kill_mob_col'].'<br />';
if ($resul['kill_mob_col_kill']+1==$resul['kill_mob_col'] && $resul['res_need']==$resul['res_need_col']){
echo 'Цель достигнута<br />';
mysql_query("UPDATE `quests` SET
`completed`='1'
WHERE
`id`='".$resul['id']."'");
}
}
}
if (!mysql_result(mysql_query("SELECT COUNT(*) FROM `mobs` WHERE `battle`='".$account['battle']."'"),0)){
mysql_query("DELETE FROM `battle` WHERE
`id`='".$account['battle']."'");
mysql_query("UPDATE `account` SET
`battle`='',
`battle_attack`='' WHERE `id`='".$account['id']."'");
echo '<font color="#3d8e2f">Бой окончен. Вы победили!</font>';
down();
exit;
}else{
$nextmob=mysql_result(mysql_query("SELECT `id` FROM `mobs` WHERE `battle`='".$account['battle']."' LIMIT 1"),0);
mysql_query("UPDATE `account` SET `battle_attack`='".$nextmob."' WHERE `id`='".$account['id']."'");
header("Location: ?");
exit;
}
}
}
if ($skill['stun'] OR $skill['paralich'] OR $skill['sleep'] OR $skill['fear']){
if ($account['battle_target_type']='mob'){
mysql_query("INSERT INTO `effect`(
`effect_time`,
`skill`,
`account`,
`target_type`,
`target`,
`fear`,
`sleep`,
`paralich`,
`stun`,
`time`)VALUES(
'".$skill['effect_time']."',
'".$skill['id']."',
'".$account['id']."',
'mob','".$mob['id']."',
'".$skill['fear']."',
'".$skill['sleep']."',
'".$skill['paralich']."',
'".$skill['stun']."',
'".time()."')");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`id`='".$skill['id']."'");
}else{
}
}
if ($skill['debaph']){
if ($account['battle_target_type']=='mob'){
//Сложение
$adding=0+$skill['baph_adding'];
//Воля
$will=0+$skill['baph_will'];
//Реакция
$reaction=0+$skill['baph_reaction'];
//Очки здоровья
$max_hp=0+$skill['baph_max_hp'];
//Очки маны
$max_mp=0+$skill['baph_max_mp'];
//Защита от ударов
$feature_armor_weapon=0+$skill['baph_feature_armor_weapon'];
//Защита от стрел
$feature_armor_arrow=0+$skill['baph_feature_armor_arrow'];
//Защита от магии
$feature_armor_magic=0+$skill['baph_feature_armor_magic'];
//Урон от ударов
$feature_attack_weapon=0+$skill['baph_feature_attack_weapon'];
//Урон от стрел
$feature_attack_arrow=0+$skill['baph_feature_attack_arrow'];
//Урон от магии
$feature_attack_magic=0+$skill['baph_feature_attack_magic'];
//Восстановление жизни
$hp_regen=0+$skill['baph_hp_regen'];
//Восстановление маны
$mp_regen=0+$skill['baph_mp_regen'];
//Power
$power=0+$skill['baph_power'];
//Wit
$wit=0+$skill['baph_wit'];
//Dexterity
$dexterity=0+$skill['baph_dexterity'];
//Vitality
$vitality=0+$skill['baph_vitality'];
//Spirit
$spirit=0+$skill['baph_spirit'];
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect`
WHERE `skill`='".$skill['id']."'
AND `account`='".$account['id']."'
AND `target_type`='mob'"),0)){
mysql_query("UPDATE `effect` SET
`debaph`='1',
`effect_time`='".$skill['effect_time']."',
`target_type`='mob',
`target`='".$mob['id']."',
`time`='".time()."',
`last_cast`='".time()."',
`baph_adding`='".$adding."',
`baph_will`='".$will."',
`baph_reaction`='".$reaction."',
`baph_max_hp`='".$max_hp."',
`baph_max_mp`='".$max_mp."',
`baph_feature_armor_weapon`='".$feature_armor_weapon."',
`baph_feature_armor_arrow`='".$feature_armor_arrow."',
`baph_feature_armor_magic`='".$feature_armor_magic."',
`baph_feature_attack_weapon`='".$feature_attack_weapon."',
`baph_feature_attack_arrow`='".$feature_attack_arrow."',
`baph_feature_attack_weapon`='".$feature_attack_magic."',
`baph_hp_regen`='".$hp_regen."',
`baph_mp_regen`='".$mp_regen."',
`baph_power`='".$power."',
`baph_wit`='".$wit."',
`baph_dexterity`='".$dexterity."',
`baph_spirit`='".$spirit."'
WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`debaph`,
`account`,
`time`,
`last_cast`,
`effect_time`,
`skill`,
`target_type`,
`target`,
`baph_adding`,
`baph_will`,
`baph_reaction`,
`baph_max_hp`,
`baph_max_mp`,
`baph_feature_armor_weapon`,
`baph_feature_armor_arrow`,
`baph_feature_armor_magic`,
`baph_feature_attack_weapon`,
`baph_feature_attack_arrow`,
`baph_feature_attack_magic`,
`baph_hp_regen`,
`baph_mp_regen`,
`baph_power`,
`baph_wit`,
`baph_dexterity`,
`baph_spirit`
)VALUES(
'1',
'".$account['id']."',
'".time()."',
'".time()."',
'".$skill['effect_time']."',
'".$skill['id']."',
'mob',
'".$mob['id']."',
'".$adding."',
'".$will."',
'".$reaction."',
'".$max_hp."',
'".$max_mp."',
'".$feature_armor_weapon."',
'".$feature_armor_arrow."',
'".$feature_armor_magic."',
'".$feature_attack_weapon."',
'".$feature_attack_arrow."',
'".$feature_attack_magic."',
'".$hp_regen."',
'".$mp_regen."',
'".$power."',
'".$wit."',
'".$dexterity."',
'".$spirit."'
)");
}
}else{
}
}
if($skill['heal']){
if ($account['battle_target_type']=='mob'){
$damag=$skill['heal'] + 1;
$damag=(ceil($damag/100)*$account['feature_attack_magic'])+$damag;
if ($damag<=0){
$damag=1;
}
$damag+=rand(1,3);
$kritpower=$account['power']-20;
if ($kritpower<=0){
$kritpower=1;
}
$kritdexterity=$account['dexterity']-15;
if ($kritdexterity<=0){
$kritdexterity=2;
}
$kritwit=$account['wit']-10;
if ($kritwit<=0){
$kritwit=2;
}
$krit=$kritdexterity+$kritpower+$kritwit;
if ($krit>65){
$krit=65;
}
$start=100-$krit;
$start=rand(1,$krit);
$end=$start+$krit;
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$damag=$damag*rand(1.5,1.9);
}
$hpheal=$account['hp']+$damag;
if ($account['max_hp']<$hpheal){
$hpheal=$account['max_hp'];
}
mysql_query("UPDATE `account` SET
`hp`='".$hpheal."'
WHERE
`id`='".$account['id']."'");
mysql_query("INSERT INTO `battle_log`(
`account`,
`mess`)VALUES(
'".$account['id']."',
'<img src="/data/img/skill/".$skill['icon'].".jpg" width="10px" height="10px"><font color="#3d8e2f">Вы исцелились на ".$damag." единиц</font>')");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`id`='".$skill['id']."'");
mysql_query("UPDATE `account` SET
`battle_last_attack`='".time()."'
WHERE
`id`='".$account['id']."'");
}else{
//если цель союзник
}
}
if ($skill['baph']){
if ($account['battle_target_type']){
//Сложение
$adding=0+$skill['baph_adding'];
//Воля
$will=0+$skill['baph_will'];
//Реакция
$reaction=0+$skill['baph_reaction'];
//Очки здоровья
$max_hp=0+$skill['baph_max_hp'];
//Очки маны
$max_mp=0+$skill['baph_max_mp'];
//Защита от ударов
$feature_armor_weapon=0+$skill['baph_feature_armor_weapon'];
//Защита от стрел
$feature_armor_arrow=0+$skill['baph_feature_armor_arrow'];
//Защита от магии
$feature_armor_magic=0+$skill['baph_feature_armor_magic'];
//Урон от ударов
$feature_attack_weapon=0+$skill['baph_feature_attack_weapon'];
//Урон от стрел
$feature_attack_arrow=0+$skill['baph_feature_attack_arrow'];
//Урон от магии
$feature_attack_magic=0+$skill['baph_feature_attack_magic'];
//Восстановление жизни
$hp_regen=0+$skill['baph_hp_regen'];
//Восстановление маны
$mp_regen=0+$skill['baph_mp_regen'];
//Power
$power=0+$skill['baph_power'];
//Wit
$wit=0+$skill['baph_wit'];
//Dexterity
$dexterity=0+$skill['baph_dexterity'];
//Vitality
$vitality=0+$skill['baph_vitality'];
//Spirit
$spirit=0+$skill['baph_spirit'];
if (mysql_result("SELECT COUNT(*) FROM `effect` WHERE
`account`='".$account['id']."'
AND `skill`='".$skill['id']."'")){
mysql_query("UPDATE `effect` SET
`time`='".time()."',
`last_cast`='".time()."',
`baph_adding`='".$adding."',
`baph_will`='".$will."',
`baph_reaction`='".$reaction."',
`baph_max_hp`='".$max_hp."',
`baph_max_mp`='".$max_mp."',
`baph_feature_armor_weapon`='".$feature_armor_weapon."',
`baph_feature_armor_arrow`='".$feature_armor_arrow."',
`baph_feature_armor_magic`='".$feature_armor_magic."',
`baph_feature_attack_weapon`='".$feature_attack_weapon."',
`baph_feature_attack_arrow`='".$feature_attack_arrow."',
`baph_feature_attack_weapon`='".$feature_attack_magic."',
`baph_hp_regen`='".$hp_regen."',
`baph_mp_regen`='".$mp_regen."',
`baph_power`='".$power."',
`baph_wit`='".$wit."',
`baph_dexterity`='".$dexterity."',
`baph_spirit`='".$spirit."'
WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`baph`,
`account`,
`time`,
`last_cast`,
`effect_time`,
`skill`,
`baph_adding`,
`baph_will`,
`baph_reaction`,
`baph_max_hp`,
`baph_max_mp`,
`baph_feature_armor_weapon`,
`baph_feature_armor_arrow`,
`baph_feature_armor_magic`,
`baph_feature_attack_weapon`,
`baph_feature_attack_arrow`,
`baph_feature_attack_magic`,
`baph_hp_regen`,
`baph_mp_regen`,
`baph_power`,
`baph_wit`,
`baph_dexterity`,
`baph_spirit`
)VALUES(
'1',
'".$account['id']."',
'".time()."',
'".time()."',
'".$skill['effect_time']."',
'".$skill['id']."',
'".$adding."',
'".$will."',
'".$reaction."',
'".$max_hp."',
'".$max_mp."',
'".$feature_armor_weapon."',
'".$feature_armor_arrow."',
'".$feature_armor_magic."',
'".$feature_attack_weapon."',
'".$feature_attack_arrow."',
'".$feature_attack_magic."',
'".$hp_regen."',
'".$mp_regen."',
'".$power."',
'".$wit."',
'".$dexterity."',
'".$spirit."'
)");
}
}else{
}
}
if ($skill['effect_damage']){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'
AND `target_type`='mob'
AND `target`='".$mob['id']."'"),0)){
mysql_query("UPDATE `effect` SET
`time`='".time()."',
`last_cast`='".time()."',
`effect_damage`='".$skill['effect_damage']."',
`effect_time`='".$skill['effect_time']."',
`effect_every_sec`='".$skill['effect_every']."',
`target_type`='mob',
`target`='".$mob['id']."',
`dota`='1',
WHERE `skill`='".$skill['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`effect_damage`,
`time`,
`effect_time`,
`effect_every_sec`,
`account`,
`target_type`,
`target`,
`skill`,
`last_cast`,
`dota`)VALUES(
'".$skill['effect_damage']."',
'".time()."',
'".$skill['effect_time']."',
'".$skill['effect_every_sec']."',
'".$account['id']."',
'mob',
'".$mob['id']."',
'".$skill['id']."',
'".time()."',
'1')");
}
}
if($skill['effect_hp_regen'] || $skill['effect_hp_regen_percent']){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'"),0)){
mysql_query("UPDATE `effect` SET
`time`='".time()."',
`last_cast`='".time()."',
`effect_hp_regen`='".$skill['effect_hp_regen']."',
`effect_hp_regen_percent`='".$skill['effect_hp_regen_percent']."',
`effect_time`='".$skill['effect_time']."',
`effect_every_sec`='".$skill['effect_every_sec']."'
WHERE `skill`='".$skill['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`time`,
`last_cast`,
`skill`,
`effect_hp_regen`,
`effect_hp_regen_percent`,
`effect_time`,
`effect_every_sec`,
`account`)VALUES(
'".time()."',
'".time()."',
'".$skill['id']."',
'".$skill['effect_hp_regen']."',
'".$skill['effect_hp_regen_percent']."',
'".$skill['effect_time']."',
'".$skill['effect_every_sec']."',
'".$account['id']."')");
}
}
if($skill['damage']){
mysql_query("UPDATE `mobs` SET
`hp`='".$hp."'
WHERE `id`='".$mob['id']."'");
mysql_query("INSERT INTO `battle_log`(
`account`,
`mess`)VALUES(
'".$account['id']."',
'<img src="/data/img/skill/".$skill['icon'].".jpg" width="10px" height="10px"><font color="#8e8171">Вы наносите ".$damag." урона</font>')");
}
mysql_query("UPDATE `account` SET
`mp`='".($account['mp']-$skill['mp_need_from_cast'])."'
WHERE
`id`='".$account['id']."'");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`account`='".$account['id']."'
AND `id`='".$skill['id']."'");
mysql_query("UPDATE `account` SET
`battle_last_attack`='".time()."'
WHERE
`id`='".$account['id']."'");
header("Location: ?");
exit;
}elseif($skill['type']=='magic'){
if ($skill['damage']){
$damag=$skill['damage'] + rand(-3,3);
$damag=(ceil($damag/100)*$account['feature_attack_magic'])+$damag;
$damag=$damag-(ceil($damag/100)*$mob['feature_armor_magic']);
if ($damag<=0){
$damag=1;
}
$damag+=rand(1,3);
$kritpower=$account['power']-20;
if ($kritpower<=0){
$kritpower=1;
}
$kritdexterity=$account['dexterity']-15;
if ($kritdexterity<=0){
$kritdexterity=2;
}
$kritwit=$account['wit']-10;
if ($kritwit<=0){
$kritwit=2;
}
$krit=$kritdexterity+$kritpower+$kritwit;
if ($krit>65){
$krit=65;
}
$start=100-$krit;
$start=rand(1,$krit);
$end=$start+$krit;
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$damag=$damag*rand(1.5,1.9);
}
$hp=$mob['hp']-$damag;
if ($hp<0){
$hp=0;
mysql_query("DELETE FROM `effect` WHERE
`target_type`='mob'
AND `target`='".$mob['id']."'");
mysql_query("UPDATE `mobs` SET
`hp`='".$mob['max_hp']."',
`mp`='".$mob['max_mp']."',
`last_death`='".time()."',
`battle`=''
WHERE
`id`='".$mob['id']."'");
$levl=mysql_fetch_assoc(mysql_query("SELECT * FROM `lvl` WHERE `id`='".$account['lvl']."'"));
mysql_query("UPDATE `account` SET `exp`='".($account['exp']+$mob['exp'])."' WHERE `id`='".$account['id']."'");
echo 'Получено опыта: '.$mob['exp'].'<br />';
$account['exp']=mysql_result(mysql_query("SELECT `exp` FROM `account` WHERE `id`='".$account['id']."'"),0);
if ($account['exp']>$levl['exp']){
$expe=$account['exp']-$levl['exp'];
mysql_query("UPDATE `account` SET `lvl`='".($account['lvl']+1)."',`exp`='".$expe."' WHERE `id`='".$account['id']."'");
echo 'Уровень повышен!<br />';
}
if ($mob['drop_gold']){
mysql_query("UPDATE `account` SET
`gold`='".$account['gold']+$mob['drop_gold']."' WHERE `id`='".$account['id']."'");
}
if ($mob['drop_items']){
$drop=explode(',',$mob['drop_items']);
foreach($drop as $value){
$item=explode(':',$value);
$start=100-$item[1];
$start=rand(1,$start);
$end=$start+$item[1];
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$iteme=mysql_fetch_assoc(mysql_query("SELECT * FROM `items` WHERE
`id`='".$item[0]."'"));
if ($iteme['type']=='eat_bootle' OR $iteme['type']=='eat_eat' OR $iteme['type']=='resourse'){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `inventory` WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'"),0)){
if (isset($item[2])){
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '".$item[2]."'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '1'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$item[2]."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$iteme['amount']."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}
unset($chanse);
unset($start);
unset($end);
unset($iteme);
unset($item);
}
}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`=''
AND `kill_mob`='".$mob['ident_id']."'"),0)){
$quests=mysql_query("SELECT * FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`='0'
AND `kill_mob`='".$mob['ident_id']."'");
while($resul=mysql_fetch_array($quests)){
mysql_query("UPDATE `quests` SET
`kill_mob_col_kill`='".($resul['kill_mob_col_kill']+1)."'
WHERE
`account`='".$account['id']."'
AND `id`='".$resul['id']."'");
echo $mob['name'].' - убито '.($resul['kill_mob_col_kill']+1).'/'.$resul['kill_mob_col'].'<br />';
if ($resul['kill_mob_col_kill']+1==$resul['kill_mob_col'] && $resul['res_need']==$resul['res_need_col']){
echo 'Цель достигнута<br />';
mysql_query("UPDATE `quests` SET
`completed`='1'
WHERE
`id`='".$resul['id']."'");
}
}
}
if (!mysql_result(mysql_query("SELECT COUNT(*) FROM `mobs` WHERE `battle`='".$account['battle']."'"),0)){
mysql_query("DELETE FROM `battle` WHERE
`id`='".$account['battle']."'");
mysql_query("UPDATE `account` SET
`battle`='',
`battle_attack`='' WHERE `id`='".$account['id']."'");
echo '<font color="#3d8e2f">Бой окончен. Вы победили!</font>';
down();
exit;
}else{
$nextmob=mysql_result(mysql_query("SELECT `id` FROM `mobs` WHERE `battle`='".$account['battle']."' LIMIT 1"),0);
mysql_query("UPDATE `account` SET `battle_attack`='".$nextmob."' WHERE `id`='".$account['id']."'");
header("Location: ?");
exit;
}
}
}
if ($skill['stun'] OR $skill['paralich'] OR $skill['sleep'] OR $skill['fear']){
mysql_query("INSERT INTO `effect`(
`skill`,
`account`,
`target_type`,
`target`,
`fear`,
`sleep`,
`paralich`,
`stun`,
`time`)VALUES(
'".$skill['id']."',
'".$account['id']."',
'mob',
'".$mob['id']."',
'".$skill['fear']."',
'".$skill['sleep']."',
'".$skill['paralich']."',
'".$skill['stun']."',
'".time()."')");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`id`='".$skill['id']."'");
}
if ($skill['debaph']){
if ($account['battle_target_type']=='mob'){
//Сложение
$adding=0+$skill['baph_adding'];
//Воля
$will=0+$skill['baph_will'];
//Реакция
$reaction=0+$skill['baph_reaction'];
//Очки здоровья
$max_hp=0+$skill['baph_max_hp'];
//Очки маны
$max_mp=0+$skill['baph_max_mp'];
//Защита от ударов
$feature_armor_weapon=0+$skill['baph_feature_armor_weapon'];
//Защита от стрел
$feature_armor_arrow=0+$skill['baph_feature_armor_arrow'];
//Защита от магии
$feature_armor_magic=0+$skill['baph_feature_armor_magic'];
//Урон от ударов
$feature_attack_weapon=0+$skill['baph_feature_attack_weapon'];
//Урон от стрел
$feature_attack_arrow=0+$skill['baph_feature_attack_arrow'];
//Урон от магии
$feature_attack_magic=0+$skill['baph_feature_attack_magic'];
//Восстановление жизни
$hp_regen=0+$skill['baph_hp_regen'];
//Восстановление маны
$mp_regen=0+$skill['baph_mp_regen'];
//Power
$power=0+$skill['baph_power'];
//Wit
$wit=0+$skill['baph_wit'];
//Dexterity
$dexterity=0+$skill['baph_dexterity'];
//Vitality
$vitality=0+$skill['baph_vitality'];
//Spirit
$spirit=0+$skill['baph_spirit'];
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'
AND `target_type`='mob'"),0)){
mysql_query("UPDATE `effect` SET
`debaph`='1',
`effect_time`='".$skill['effect_time']."',
`target_type`='mob',
`target`='".$mob['id']."',
`time`='".time()."',
`last_cast`='".time()."',
`baph_adding`='".$adding."',
`baph_will`='".$will."',
`baph_reaction`='".$reaction."',
`baph_max_hp`='".$max_hp."',
`baph_max_mp`='".$max_mp."',
`baph_feature_armor_weapon`='".$feature_armor_weapon."',
`baph_feature_armor_arrow`='".$feature_armor_arrow."',
`baph_feature_armor_magic`='".$feature_armor_magic."',
`baph_feature_attack_weapon`='".$feature_attack_weapon."',
`baph_feature_attack_arrow`='".$feature_attack_arrow."',
`baph_feature_attack_weapon`='".$feature_attack_magic."',
`baph_hp_regen`='".$hp_regen."',
`baph_mp_regen`='".$mp_regen."',
`baph_power`='".$power."',
`baph_wit`='".$wit."',
`baph_dexterity`='".$dexterity."',
`baph_spirit`='".$spirit."'
WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`debaph`,
`account`,
`time`,
`last_cast`,
`effect_time`,
`skill`,
`target_type`,
`target`,
`baph_adding`,
`baph_will`,
`baph_reaction`,
`baph_max_hp`,
`baph_max_mp`,
`baph_feature_armor_weapon`,
`baph_feature_armor_arrow`,
`baph_feature_armor_magic`,
`baph_feature_attack_weapon`,
`baph_feature_attack_arrow`,
`baph_feature_attack_magic`,
`baph_hp_regen`,
`baph_mp_regen`,
`baph_power`,
`baph_wit`,
`baph_dexterity`,
`baph_spirit`
)VALUES(
'1',
'".$account['id']."',
'".time()."',
'".time()."',
'".$skill['effect_time']."',
'".$skill['id']."',
'mob',
'".$mob['id']."',
'".$adding."',
'".$will."',
'".$reaction."',
'".$max_hp."',
'".$max_mp."',
'".$feature_armor_weapon."',
'".$feature_armor_arrow."',
'".$feature_armor_magic."',
'".$feature_attack_weapon."',
'".$feature_attack_arrow."',
'".$feature_attack_magic."',
'".$hp_regen."',
'".$mp_regen."',
'".$power."',
'".$wit."',
'".$dexterity."',
'".$spirit."'
)");
}
}else{
}
}
if($skill['heal']){
if ($account['battle_target_type']=='mob'){
$damag=$skill['heal'] + 1;
$damag=(ceil($damag/100)*$account['feature_attack_magic'])+$damag;
if ($damag<=0){
$damag=1;
}
$damag+=rand(1,3);
$kritpower=$account['power']-20;
if ($kritpower<=0){
$kritpower=1;
}
$kritdexterity=$account['dexterity']-15;
if ($kritdexterity<=0){
$kritdexterity=2;
}
$kritwit=$account['wit']-10;
if ($kritwit<=0){
$kritwit=2;
}
$krit=$kritdexterity+$kritpower+$kritwit;
if ($krit>65){
$krit=65;
}
$start=100-$krit;
$start=rand(1,$krit);
$end=$start+$krit;
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$damag=$damag*rand(1.5,1.9);
}
$hpheal=$account['hp']+$damag;
if ($account['max_hp']<$hpheal){
$hpheal=$account['max_hp'];
}
mysql_query("UPDATE `account` SET
`hp`='".$hpheal."'
WHERE
`id`='".$account['id']."'");
mysql_query("INSERT INTO `battle_log`(
`account`,
`mess`)VALUES(
'".$account['id']."',
'<img src="/data/img/skill/".$skill['icon'].".jpg" width="10px" height="10px"><font color="#3d8e2f">Вы исцеляетесь на ".$damag." урона</font>')");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`id`='".$skill['id']."'");
mysql_query("UPDATE `account` SET
`battle_last_attack`='".time()."'
WHERE
`id`='".$account['id']."'");
}else{
//если цель союзник
}
}
if ($skill['baph']){
if ($account['battle_target_type']){
//Сложение
$adding=0+$skill['baph_adding'];
//Воля
$will=0+$skill['baph_will'];
//Реакция
$reaction=0+$skill['baph_reaction'];
//Очки здоровья
$max_hp=0+$skill['baph_max_hp'];
//Очки маны
$max_mp=0+$skill['baph_max_mp'];
//Защита от ударов
$feature_armor_weapon=0+$skill['baph_feature_armor_weapon'];
//Защита от стрел
$feature_armor_arrow=0+$skill['baph_feature_armor_arrow'];
//Защита от магии
$feature_armor_magic=0+$skill['baph_feature_armor_magic'];
//Урон от ударов
$feature_attack_weapon=0+$skill['baph_feature_attack_weapon'];
//Урон от стрел
$feature_attack_arrow=0+$skill['baph_feature_attack_arrow'];
//Урон от магии
$feature_attack_magic=0+$skill['baph_feature_attack_magic'];
//Восстановление жизни
$hp_regen=0+$skill['baph_hp_regen'];
//Восстановление маны
$mp_regen=0+$skill['baph_mp_regen'];
//Power
$power=0+$skill['baph_power'];
//Wit
$wit=0+$skill['baph_wit'];
//Dexterity
$dexterity=0+$skill['baph_dexterity'];
//Vitality
$vitality=0+$skill['baph_vitality'];
//Spirit
$spirit=0+$skill['baph_spirit'];
if (mysql_result("SELECT COUNT(*) FROM `effect` WHERE
`account`='".$account['id']."'
AND `skill`='".$skill['id']."'")){
mysql_query("UPDATE `effect` SET `time`='".time()."',
`last_cast`='".time()."',
`baph_adding`='".$adding."',
`baph_will`='".$will."',
`baph_reaction`='".$reaction."',
`baph_max_hp`='".$max_hp."',
`baph_max_mp`='".$max_mp."',
`baph_feature_armor_weapon`='".$feature_armor_weapon."',
`baph_feature_armor_arrow`='".$feature_armor_arrow."',
`baph_feature_armor_magic`='".$feature_armor_magic."',
`baph_feature_attack_weapon`='".$feature_attack_weapon."',
`baph_feature_attack_arrow`='".$feature_attack_arrow."',
`baph_feature_attack_weapon`='".$feature_attack_magic."',
`baph_hp_regen`='".$hp_regen."',
`baph_mp_regen`='".$mp_regen."',
`baph_power`='".$power."',
`baph_wit`='".$wit."',
`baph_dexterity`='".$dexterity."',
`baph_spirit`='".$spirit."'
WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`baph`,
`account`,
`time`,
`last_cast`,
`effect_time`,
`skill`,
`baph_adding`,
`baph_will`,
`baph_reaction`,
`baph_max_hp`,
`baph_max_mp`,
`baph_feature_armor_weapon`,
`baph_feature_armor_arrow`,
`baph_feature_armor_magic`,
`baph_feature_attack_weapon`,
`baph_feature_attack_arrow`,
`baph_feature_attack_magic`,
`baph_hp_regen`,
`baph_mp_regen`,
`baph_power`,
`baph_wit`,
`baph_dexterity`,
`baph_spirit`
)VALUES(
'1',
'".$account['id']."',
'".time()."',
'".time()."',
'".$skill['effect_time']."',
'".$skill['id']."',
'".$adding."',
'".$will."',
'".$reaction."',
'".$max_hp."',
'".$max_mp."',
'".$feature_armor_weapon."',
'".$feature_armor_arrow."',
'".$feature_armor_magic."',
'".$feature_attack_weapon."',
'".$feature_attack_arrow."',
'".$feature_attack_magic."',
'".$hp_regen."',
'".$mp_regen."',
'".$power."',
'".$wit."',
'".$dexterity."',
'".$spirit."'
)");
}
}else{
}
}
if ($skill['effect_damage']){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'
AND `target_type`='mob'
AND `target`='".$mob['id']."'"),0)){
mysql_query("UPDATE `effect` SET
`time`='".time()."',
`last_cast`='".time()."',
`effect_damage`='".$skill['effect_damage']."',
`effect_time`='".$skill['effect_time']."',
`effect_every_sec`='".$skill['effect_every']."',
`target_type`='mob',
`target`='".$mob['id']."',
`dota`='1',
WHERE `skill`='".$skill['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`effect_damage`,
`time`,
`effect_time`,
`effect_every_sec`,
`account`,
`target_type`,
`target`,
`skill`,
`last_cast`,
`dota`
)VALUES(
'".$skill['effect_damage']."',
'".time()."',
'".$skill['effect_time']."',
'".$skill['effect_every_sec']."',
'".$account['id']."',
'mob',
'".$mob['id']."',
'".$skill['id']."',
'".time()."',
'1')");
}
}
if($skill['effect_hp_regen'] || $skill['effect_hp_regen_percent']){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'"),0)){
mysql_query("UPDATE `effect` SET
`time`='".time()."',
`last_cast`='".time()."',
`effect_hp_regen`='".$skill['effect_hp_regen']."',
`effect_hp_regen_percent`='".$skill['effect_hp_regen_percent']."',
`effect_time`='".$skill['effect_time']."',
`effect_every_sec`='".$skill['effect_every_sec']."'
WHERE
`skill`='".$skill['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`time`,
`last_cast`,
`skill`,
`effect_hp_regen`,
`effect_hp_regen_percent`,
`effect_time`,
`effect_every_sec`,
`account`)VALUES(
'".time()."',
'".time()."',
'".$skill['id']."',
'".$skill['effect_hp_regen']."',
'".$skill['effect_hp_regen_percent']."',
'".$skill['effect_time']."',
'".$skill['effect_every_sec']."',
'".$account['id']."')");
}
}
if ($skill['damage']){
mysql_query("UPDATE `mobs` SET
`hp`='".$hp."'
WHERE
`id`='".$mob['id']."'");
mysql_query("INSERT INTO `battle_log`(
`account`,
`mess`)VALUES(
'".$account['id']."',
'<img src="/data/img/skill/".$skill['icon'].".jpg" width="10px" height="10px"><font color="#8e8171">Вы наносите ".$damag." урона</font>')");
}
mysql_query("UPDATE `account` SET
`mp`='".($account['mp']-$skill['mp_need_from_cast'])."'
WHERE
`id`='".$account['id']."'");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`account`='".$account['id']."'
AND `id`='".$skill['id']."'");
mysql_query("UPDATE `account` SET
`battle_last_attack`='".time()."'
WHERE
`id`='".$account['id']."'");
header("Location: ?");
exit;
}elseif($skill['type']=='arrow'){
if ($skill['damage']){
$damag=$skill['damage'] + rand(-3,3);
$damag=(ceil($damag/100)*$account['feature_attack_magic'])+$damag;
$damag=$damag-(ceil($damag/100)*$mob['feature_armor_magic']);
if ($damag<=0){
$damag=1;
}
$damag+=rand(1,3);
$kritpower=$account['power']-20;
if ($kritpower<=0){
$kritpower=1;
}
$kritdexterity=$account['dexterity']-15;
if ($kritdexterity<=0){
$kritdexterity=2;
}
$kritwit=$account['wit']-10;
if ($kritwit<=0){
$kritwit=2;
}
$krit=$kritdexterity+$kritpower+$kritwit;
if ($krit>65){
$krit=65;
}
$start=100-$krit;
$start=rand(1,$krit);
$end=$start+$krit;
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$damag=$damag*rand(1.5,1.9);
}
$hp=$mob['hp']-$damag;
if ($hp<0){
$hp=0;
mysql_query("DELETE FROM `effect` WHERE
`target_type`='mob'
AND `target`='".$mob['id']."'");
mysql_query("UPDATE `mobs` SET
`hp`='".$mob['max_hp']."',
`mp`='".$mob['max_mp']."',
`last_death`='".time()."',
`battle`=''
WHERE
`id`='".$mob['id']."'");
$levl=mysql_fetch_assoc(mysql_query("SELECT * FROM `lvl` WHERE `id`='".$account['lvl']."'"));
mysql_query("UPDATE `account` SET `exp`='".($account['exp']+$mob['exp'])."' WHERE `id`='".$account['id']."'");
echo 'Получено опыта: '.$mob['exp'].'<br />';
$account['exp']=mysql_result(mysql_query("SELECT `exp` FROM `account` WHERE `id`='".$account['id']."'"),0);
if ($account['exp']>$levl['exp']){
$expe=$account['exp']-$levl['exp'];
mysql_query("UPDATE `account` SET `lvl`='".($account['lvl']+1)."',`exp`='".$expe."' WHERE `id`='".$account['id']."'");
echo 'Уровень повышен!<br />';
}
if ($mob['drop_gold']){
mysql_query("UPDATE `account` SET
`gold`='".$account['gold']+$mob['drop_gold']."' WHERE `id`='".$account['id']."'");
}
if ($mob['drop_items']){
$drop=explode(',',$mob['drop_items']);
foreach($drop as $value){
$item=explode(':',$value);
$start=100-$item[1];
$start=rand(1,$start);
$end=$start+$item[1];
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$iteme=mysql_fetch_assoc(mysql_query("SELECT * FROM `items` WHERE
`id`='".$item[0]."'"));
if ($iteme['type']=='eat_bootle' OR $iteme['type']=='eat_eat' OR $iteme['type']=='resourse'){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `inventory` WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'"),0)){
if (isset($item[2])){
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '".$item[2]."'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '1'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$item[2]."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$iteme['amount']."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}
unset($chanse);
unset($start);
unset($end);
unset($iteme);
unset($item);
}
}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`=''
AND `kill_mob`='".$mob['ident_id']."'"),0)){
$quests=mysql_query("SELECT * FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`='0'
AND `kill_mob`='".$mob['ident_id']."'");
while($resul=mysql_fetch_array($quests)){
mysql_query("UPDATE `quests` SET
`kill_mob_col_kill`='".($resul['kill_mob_col_kill']+1)."'
WHERE
`account`='".$account['id']."'
AND `id`='".$resul['id']."'");
echo $mob['name'].' - убито '.($resul['kill_mob_col_kill']+1).'/'.$resul['kill_mob_col'].'<br />';
if ($resul['kill_mob_col_kill']+1==$resul['kill_mob_col'] && $resul['res_need']==$resul['res_need_col']){
echo 'Цель достигнута<br />';
mysql_query("UPDATE `quests` SET
`completed`='1'
WHERE
`id`='".$resul['id']."'");
}
}
}
if (!mysql_result(mysql_query("SELECT COUNT(*) FROM `mobs` WHERE `battle`='".$account['battle']."'"),0)){
mysql_query("DELETE FROM `battle` WHERE
`id`='".$account['battle']."'");
mysql_query("UPDATE `account` SET
`battle`='',
`battle_attack`='' WHERE `id`='".$account['id']."'");
echo '<font color="#3d8e2f">Бой окончен. Вы победили!</font>';
down();
exit;
}else{
$nextmob=mysql_result(mysql_query("SELECT `id` FROM `mobs` WHERE `battle`='".$account['battle']."' LIMIT 1"),0);
mysql_query("UPDATE `account` SET `battle_attack`='".$nextmob."' WHERE `id`='".$account['id']."'");
header("Location: ?");
exit;
}
}
}
if ($skill['stun'] OR $skill['paralich'] OR $skill['sleep'] OR $skill['fear']){
mysql_query("INSERT INTO `effect`(
`skill`,
`account`,
`target_type`,
`target`,
`fear`,
`sleep`,
`paralich`,
`stun`,
`time`)VALUES(
'".$skill['id']."',
'".$account['id']."',
'mob',
'".$mob['id']."',
'".$skill['fear']."',
'".$skill['sleep']."',
'".$skill['paralich']."',
'".$skill['stun']."',
'".time()."')");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`id`='".$skill['id']."'");
}
if ($skill['debaph']){
if ($account['battle_target_type']=='mob'){
//Сложение
$adding=0+$skill['baph_adding'];
//Воля
$will=0+$skill['baph_will'];
//Реакция
$reaction=0+$skill['baph_reaction'];
//Очки здоровья
$max_hp=0+$skill['baph_max_hp'];
//Очки маны
$max_mp=0+$skill['baph_max_mp'];
//Защита от ударов
$feature_armor_weapon=0+$skill['baph_feature_armor_weapon'];
//Защита от стрел
$feature_armor_arrow=0+$skill['baph_feature_armor_arrow'];
//Защита от магии
$feature_armor_magic=0+$skill['baph_feature_armor_magic'];
//Урон от ударов
$feature_attack_weapon=0+$skill['baph_feature_attack_weapon'];
//Урон от стрел
$feature_attack_arrow=0+$skill['baph_feature_attack_arrow'];
//Урон от магии
$feature_attack_magic=0+$skill['baph_feature_attack_magic'];
//Восстановление жизни
$hp_regen=0+$skill['baph_hp_regen'];
//Восстановление маны
$mp_regen=0+$skill['baph_mp_regen'];
//Power
$power=0+$skill['baph_power'];
//Wit
$wit=0+$skill['baph_wit'];
//Dexterity
$dexterity=0+$skill['baph_dexterity'];
//Vitality
$vitality=0+$skill['baph_vitality'];
//Spirit
$spirit=0+$skill['baph_spirit'];
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'
AND `target_type`='mob'"),0)){
mysql_query("UPDATE `effect` SET
`debaph`='1',
`effect_time`='".$skill['effect_time']."',
`target_type`='mob',
`target`='".$mob['id']."',
`time`='".time()."',
`last_cast`='".time()."',
`baph_adding`='".$adding."',
`baph_will`='".$will."',
`baph_reaction`='".$reaction."',
`baph_max_hp`='".$max_hp."',
`baph_max_mp`='".$max_mp."',
`baph_feature_armor_weapon`='".$feature_armor_weapon."',
`baph_feature_armor_arrow`='".$feature_armor_arrow."',
`baph_feature_armor_magic`='".$feature_armor_magic."',
`baph_feature_attack_weapon`='".$feature_attack_weapon."',
`baph_feature_attack_arrow`='".$feature_attack_arrow."',
`baph_feature_attack_weapon`='".$feature_attack_magic."',
`baph_hp_regen`='".$hp_regen."',
`baph_mp_regen`='".$mp_regen."',
`baph_power`='".$power."',
`baph_wit`='".$wit."',
`baph_dexterity`='".$dexterity."',
`baph_spirit`='".$spirit."'
WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`debaph`,
`account`,
`time`,
`last_cast`,
`effect_time`,
`skill`,
`target_type`,
`target`,
`baph_adding`,
`baph_will`,
`baph_reaction`,
`baph_max_hp`,
`baph_max_mp`,
`baph_feature_armor_weapon`,
`baph_feature_armor_arrow`,
`baph_feature_armor_magic`,
`baph_feature_attack_weapon`,
`baph_feature_attack_arrow`,
`baph_feature_attack_magic`,
`baph_hp_regen`,
`baph_mp_regen`,
`baph_power`,
`baph_wit`,
`baph_dexterity`,
`baph_spirit`
)VALUES(
'1',
'".$account['id']."',
'".time()."',
'".time()."',
'".$skill['effect_time']."',
'".$skill['id']."',
'mob',
'".$mob['id']."',
'".$adding."',
'".$will."',
'".$reaction."',
'".$max_hp."',
'".$max_mp."',
'".$feature_armor_weapon."',
'".$feature_armor_arrow."',
'".$feature_armor_magic."',
'".$feature_attack_weapon."',
'".$feature_attack_arrow."',
'".$feature_attack_magic."',
'".$hp_regen."',
'".$mp_regen."',
'".$power."',
'".$wit."',
'".$dexterity."',
'".$spirit."'
)");
}
}else{
}
}
if($skill['heal']){
if ($account['battle_target_type']=='mob'){
$damag=$skill['heal'] + 1;
$damag=(ceil($damag/100)*$account['feature_attack_arrow'])+$damag;
if ($damag<=0){
$damag=1;
}
$damag+=rand(1,3);
$kritpower=$account['power']-20;
if ($kritpower<=0){
$kritpower=1;
}
$kritdexterity=$account['dexterity']-15;
if ($kritdexterity<=0){
$kritdexterity=2;
}
$kritwit=$account['wit']-10;
if ($kritwit<=0){
$kritwit=2;
}
$krit=$kritdexterity+$kritpower+$kritwit;
if ($krit>65){
$krit=65;
}
$start=100-$krit;
$start=rand(1,$krit);
$end=$start+$krit;
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$damag=$damag*rand(1.5,1.9);
}
$hpheal=$account['hp']+$damag;
if ($account['max_hp']<$hpheal){
$hpheal=$account['max_hp'];
}
mysql_query("UPDATE `account` SET
`hp`='".$hpheal."'
WHERE
`id`='".$account['id']."'");
mysql_query("INSERT INTO `battle_log`(
`account`,
`mess`)VALUES(
'".$account['id']."',
'<img src="/data/img/skill/".$skill['icon'].".jpg" width="10px" height="10px"><font color="#3d8e2f">Вы исцеляетесь на ".$damag." урона</font>')");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`id`='".$skill['id']."'");
mysql_query("UPDATE `account` SET
`battle_last_attack`='".time()."'
WHERE
`id`='".$account['id']."'");
}else{
//если цель союзник
}
}
if ($skill['baph']){
if ($account['battle_target_type']){
//Сложение
$adding=0+$skill['baph_adding'];
//Воля
$will=0+$skill['baph_will'];
//Реакция
$reaction=0+$skill['baph_reaction'];
//Очки здоровья
$max_hp=0+$skill['baph_max_hp'];
//Очки маны
$max_mp=0+$skill['baph_max_mp'];
//Защита от ударов
$feature_armor_weapon=0+$skill['baph_feature_armor_weapon'];
//Защита от стрел
$feature_armor_arrow=0+$skill['baph_feature_armor_arrow'];
//Защита от магии
$feature_armor_magic=0+$skill['baph_feature_armor_magic'];
//Урон от ударов
$feature_attack_weapon=0+$skill['baph_feature_attack_weapon'];
//Урон от стрел
$feature_attack_arrow=0+$skill['baph_feature_attack_arrow'];
//Урон от магии
$feature_attack_magic=0+$skill['baph_feature_attack_magic'];
//Восстановление жизни
$hp_regen=0+$skill['baph_hp_regen'];
//Восстановление маны
$mp_regen=0+$skill['baph_mp_regen'];
//Power
$power=0+$skill['baph_power'];
//Wit
$wit=0+$skill['baph_wit'];
//Dexterity
$dexterity=0+$skill['baph_dexterity'];
//Vitality
$vitality=0+$skill['baph_vitality'];
//Spirit
$spirit=0+$skill['baph_spirit'];
if (mysql_result("SELECT COUNT(*) FROM `effect` WHERE
`account`='".$account['id']."'
AND `skill`='".$skill['id']."'")){
mysql_query("UPDATE `effect` SET `time`='".time()."',
`last_cast`='".time()."',
`baph_adding`='".$adding."',
`baph_will`='".$will."',
`baph_reaction`='".$reaction."',
`baph_max_hp`='".$max_hp."',
`baph_max_mp`='".$max_mp."',
`baph_feature_armor_weapon`='".$feature_armor_weapon."',
`baph_feature_armor_arrow`='".$feature_armor_arrow."',
`baph_feature_armor_magic`='".$feature_armor_magic."',
`baph_feature_attack_weapon`='".$feature_attack_weapon."',
`baph_feature_attack_arrow`='".$feature_attack_arrow."',
`baph_feature_attack_weapon`='".$feature_attack_magic."',
`baph_hp_regen`='".$hp_regen."',
`baph_mp_regen`='".$mp_regen."',
`baph_power`='".$power."',
`baph_wit`='".$wit."',
`baph_dexterity`='".$dexterity."',
`baph_spirit`='".$spirit."'
WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`baph`,
`account`,
`time`,
`last_cast`,
`effect_time`,
`skill`,
`baph_adding`,
`baph_will`,
`baph_reaction`,
`baph_max_hp`,
`baph_max_mp`,
`baph_feature_armor_weapon`,
`baph_feature_armor_arrow`,
`baph_feature_armor_magic`,
`baph_feature_attack_weapon`,
`baph_feature_attack_arrow`,
`baph_feature_attack_magic`,
`baph_hp_regen`,
`baph_mp_regen`,
`baph_power`,
`baph_wit`,
`baph_dexterity`,
`baph_spirit`
)VALUES(
'1',
'".$account['id']."',
'".time()."',
'".time()."',
'".$skill['effect_time']."',
'".$skill['id']."',
'".$adding."',
'".$will."',
'".$reaction."',
'".$max_hp."',
'".$max_mp."',
'".$feature_armor_weapon."',
'".$feature_armor_arrow."',
'".$feature_armor_magic."',
'".$feature_attack_weapon."',
'".$feature_attack_arrow."',
'".$feature_attack_magic."',
'".$hp_regen."',
'".$mp_regen."',
'".$power."',
'".$wit."',
'".$dexterity."',
'".$spirit."'
)");
}
}else{
}
}
if ($skill['effect_damage']){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'
AND `target_type`='mob'
AND `target`='".$mob['id']."'"),0)){
mysql_query("UPDATE `effect` SET
`time`='".time()."',
`last_cast`='".time()."',
`effect_damage`='".$skill['effect_damage']."',
`effect_time`='".$skill['effect_time']."',
`effect_every_sec`='".$skill['effect_every']."',
`target_type`='mob',
`target`='".$mob['id']."',
`dota`='1',
WHERE `skill`='".$skill['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`effect_damage`,
`time`,
`effect_time`,
`effect_every_sec`,
`account`,
`target_type`,
`target`,
`skill`,
`last_cast`,
`dota`
)VALUES(
'".$skill['effect_damage']."',
'".time()."',
'".$skill['effect_time']."',
'".$skill['effect_every_sec']."',
'".$account['id']."',
'mob',
'".$mob['id']."',
'".$skill['id']."',
'".time()."',
'1')");
}
}
if($skill['effect_hp_regen'] || $skill['effect_hp_regen_percent']){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`skill`='".$skill['id']."'
AND `account`='".$account['id']."'"),0)){
mysql_query("UPDATE `effect` SET
`time`='".time()."',
`last_cast`='".time()."',
`effect_hp_regen`='".$skill['effect_hp_regen']."',
`effect_hp_regen_percent`='".$skill['effect_hp_regen_percent']."',
`effect_time`='".$skill['effect_time']."',
`effect_every_sec`='".$skill['effect_every_sec']."'
WHERE
`skill`='".$skill['id']."'");
}else{
mysql_query("INSERT INTO `effect`(
`time`,
`last_cast`,
`skill`,
`effect_hp_regen`,
`effect_hp_regen_percent`,
`effect_time`,
`effect_every_sec`,
`account`)VALUES(
'".time()."',
'".time()."',
'".$skill['id']."',
'".$skill['effect_hp_regen']."',
'".$skill['effect_hp_regen_percent']."',
'".$skill['effect_time']."',
'".$skill['effect_every_sec']."',
'".$account['id']."')");
}
}
if ($skill['damage']){
mysql_query("UPDATE `mobs` SET
`hp`='".$hp."'
WHERE
`id`='".$mob['id']."'");
mysql_query("INSERT INTO `battle_log`(
`account`,
`mess`)VALUES(
'".$account['id']."',
'<img src="/data/img/skill/".$skill['icon'].".jpg" width="10px" height="10px"><font color="#8e8171">Вы наносите ".$damag." урона</font>')");
}
mysql_query("UPDATE `account` SET
`mp`='".($account['mp']-$skill['mp_need_from_cast'])."'
WHERE
`id`='".$account['id']."'");
mysql_query("UPDATE `skill` SET
`last_cast`='".time()."'
WHERE
`account`='".$account['id']."'
AND `id`='".$skill['id']."'");
mysql_query("UPDATE `account` SET
`battle_last_attack`='".time()."'
WHERE
`id`='".$account['id']."'");
header("Location: ?");
exit;
}
}
if (isset($_GET['attack'])){
if (time()-$account['battle_last_attack']<2){
header("Location: ?");
exit;
}
/*************Обнуляем характеристики************/
//Сложение
$mob['adding'] = 0;
//Воля
$mob['will'] = 0;
//Реакция
$mob['reaction'] = 0;
//Защита от ударов
$mob['feature_armor_weapon']=0;
//Защита от стрел
$mob['feature_armor_arrow']=0;
//Защита от магии
$mob['feature_armor_magic']=0;
//Урон от ударов
$mob['feature_attack_weapon']=0;
//Урон от стрел
$mob['feature_attack_arrow']=0;
//Урон от магии
$mob['feature_attack_magic']=0;
//Минимальный урон(оружие)
$mob['min_damag']=0;
//Максимальный урон(оружие)
$mob['max_damag']=0;
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`debaph`='1'
AND `target_type`='mob'
AND `target`='".$mob['id']."'"),0)){
$qdb=mysql_query("SELECT * FROM `effect` WHERE
`debaph`='1'
AND `target_type`='mob'
AND `target`='".$mob['id']."'");
while($resultdb=mysql_fetch_assoc($qdb)){
if (time()-$resultdb['time']>=$resultdb['effect_time']){
mysql_query("DELETE FROM `effect` WHERE
`id`='".$resultdb['id']."'");
header("Location: ?");
exit;
}
//Сложение
$mob['adding']-=$resultdb['baph_adding'];
//Воля
$mob['will']-=$resultdb['baph_will'];
//Реакция
$mob['reaction']-=$resultdb['baph_reaction'];
//Очки здоровья
$mob['max_hp']-=$resultdb['baph_max_hp'];
//Очки маны
$mob['max_mp']-=$resultdb['baph_max_mp'];
//Защита от ударов
$mob['feature_armor_weapon']-=$resultdb['baph_feature_armor_weapon'];
//Защита от стрел
$mob['feature_armor_arrow']-=$resultdb['baph_feature_armor_arrow'];
//Защита от магии
$mob['feature_armor_magic']-=$resultdb['baph_feature_armor_magic'];
//Урон от ударов
$mob['feature_attack_weapon']-=$resultdb['baph_feature_attack_weapon'];
//Урон от стрел
$mob['feature_attack_arrow']-=$resultdb['baph_feature_attack_arrow'];
//Урон от магии
$mob['feature_attack_magic']-=$resultdb['baph_feature_attack_magic'];
//Восстановление жизни
$mob['hp_regen']-=$resultdb['baph_hp_regen'];
//Восстановление маны
$mob['mp_regen']-=$resultdb['baph_mp_regen'];
//Power
$mob['power']-=$resultdb['baph_power'];
//Wit
$mob['wit']-=$resultdb['baph_wit'];
//Dexterity
$mob['dexterity']-=$resultdb['baph_dexterity'];
//Vitality
$mob['vitality']-=$resultdb['baph_vitality'];
//Spirit
$mob['spirit']-=$resultdb['baph_spirit'];
foreach($mob as $key=>$value){
if (is_numeric($value)){
if ($value<0){
$mob[$key]=0;
}
}
}
}
}
/*************************************************************************************
************************Характеристики*************************************************
****************************************************************************************/
//Сложение
$addingmin=0.02*$mob['power'];
$mob['adding'] += ceil($mob['power']-$addingmin);
//Воля
$willmin=0.02*$mob['wit'];
$mob['will'] += ceil($mob['wit']-$willmin);
//Реакция
$reactionmin=0.02*$mob['dexterity'];
$mob['reaction'] += ceil($mob['dexterity']-$reactionmin);
//Защита от ударов
$armorweaponmin=floor($mob['power']/2)*0.01;
$mob['feature_armor_weapon']+=($mob['power']*0.55)-$armorweaponmin;
//Защита от стрел
$armorarrowmin=floor($mob['dexterity']/2)*0.01;
$mob['feature_armor_arrow']+=($mob['dexterity']*0.55)-$armorarrowmin;
//Защита от магии
$armormagicmin=floor($mob['wit']/2)*0.01;
$mob['feature_armor_magic']+=($mob['wit']*0.55)-$armormagicmin;
//Урон от ударов
$mob['feature_attack_weapon']+=floor($mob['power']/2)*1;
//Урон от стрел
$mob['feature_attack_arrow']+=floor($mob['dexterity']/2)*1;
//Урон от магии
$mob['feature_attack_magic']+=floor($mob['wit']/2)*1;
/*******************************************************************
**********************DAMAG******************************************
**********************************************************************/
$damag=rand($account['min_damag'],$account['max_damag']);
$damag=(ceil($damag/100)*$account['feature_attack_weapon'])+$damag;
$damag=$damag-(ceil($damag/100)*$mob['feature_armor_weapon']);
if ($damag<=0){
$damag=1;
}
$damag+=rand(1,3);
$kritpower=$account['power']-20;
if ($kritpower<=0){
$kritpower=1;
}
$kritdexterity=$account['dexterity']-15;
if ($kritdexterity<=0){
$kritdexterity=2;
}
$kritwit=$account['wit']-10;
if ($kritwit<=0){
$kritwit=2;
}
$krit=$kritdexterity+$kritpower+$kritwit;
if ($krit>65){
$krit=65;
}
$start=100-$krit;
$start=rand(1,$krit);
$end=$start+$krit;
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$damag=$damag*rand(1.5,1.9);
}
$hp=$mob['hp']-$damag;
if ($hp<0){
$hp=0;
mysql_query("DELETE FROM `effect` WHERE
`target_type`='mob'
AND `target`='".$mob['id']."'");
mysql_query("UPDATE `mobs` SET
`hp`='".$mob['max_hp']."',
`mp`='".$mob['max_mp']."',
`last_death`='".time()."',
`battle`=''
WHERE
`id`='".$mob['id']."'");
$levl=mysql_fetch_assoc(mysql_query("SELECT * FROM `lvl` WHERE `id`='".$account['lvl']."'"));
mysql_query("UPDATE `account` SET `exp`='".($account['exp']+$mob['exp'])."' WHERE `id`='".$account['id']."'");
echo 'Получено опыта: '.$mob['exp'].'<br />';
$account['exp']=mysql_result(mysql_query("SELECT `exp` FROM `account` WHERE `id`='".$account['id']."'"),0);
if ($account['exp']>$levl['exp']){
$expe=$account['exp']-$levl['exp'];
mysql_query("UPDATE `account` SET `lvl`='".($account['lvl']+1)."',`exp`='".$expe."' WHERE `id`='".$account['id']."'");
echo 'Уровень повышен!<br />';
}
if ($mob['drop_gold']){
mysql_query("UPDATE `account` SET
`gold`='".$account['gold']+$mob['drop_gold']."' WHERE `id`='".$account['id']."'");
}
if ($mob['drop_items']){
$drop=explode(',',$mob['drop_items']);
foreach($drop as $value){
$item=explode(':',$value);
$start=100-$item[1];
$start=rand(1,$start);
$end=$start+$item[1];
$chanse=rand(1,100);
if ($chanse>=$start && $chanse<=$end){
$iteme=mysql_fetch_assoc(mysql_query("SELECT * FROM `items` WHERE
`id`='".$item[0]."'"));
if ($iteme['type']=='eat_bootle' OR $iteme['type']=='eat_eat' OR $iteme['type']=='resourse'){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `inventory` WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'"),0)){
if (isset($item[2])){
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '".$item[2]."'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}else{
mysql_query("UPDATE `inventory` SET
`amount`=`amount` + '1'
WHERE
`ident_id`='".$iteme['id']."'
AND `account`='".$account['id']."'");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$item[2]."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}else{
mysql_query("INSERT INTO `inventory`(
`name`,
`type`,
`feature_pover`,
`feature_vitality`,
`feature_dexterity`,
`feature_wit`,
`feature_spirit`,
`feature_armor_arrow`,
`feature_armor_weapon`,
`feature_armor_magic`,
`feature_attack_arrow`,
`feature_attack_weapon`,
`feature_attack_magic`,
`feature_hp_regen`,
`feature_mp_regen`,
`cast_hp_regen`,
`cast_mp_regen`,
`min_lvl`,
`amount`,
`coast`,
`cast_add_skill`,
`cast_add_feature`,
`about`,
`icon`,
`attack_min_damag`,
`attack_max_damag`,
`account`,
`twohands`,
`subtype`,
`ident_id`) VALUES (
'".$iteme['name']."',
'".$iteme['type']."',
'".$iteme['feature_pover']."',
'".$iteme['feature_vitality']."',
'".$iteme['feature_dexterity']."',
'".$iteme['feature_wit']."',
'".$iteme['feature_spirit']."',
'".$iteme['feature_armor_arrow']."',
'".$iteme['feature_armor_weapon']."',
'".$iteme['feature_armor_magic']."',
'".$iteme['feature_attack_arrow']."',
'".$iteme['feature_attack_weapon']."',
'".$iteme['feature_attack_magic']."',
'".$iteme['feature_hp_regen']."',
'".$iteme['feature_mp_regen']."',
'".$iteme['cast_hp_regen']."',
'".$iteme['cast_mp_regen']."',
'".$iteme['min_lvl']."',
'".$iteme['amount']."',
'".$iteme['coast']."',
'".$iteme['cast_add_skill']."',
'".$iteme['cast_add_feature']."',
'".$iteme['about']."',
'".$iteme['icon']."',
'".$iteme['attack_min_damag']."',
'".$iteme['attack_max_damag']."',
'".$account['id']."',
'".$iteme['twohands']."',
'".$iteme['subtype']."',
'".$iteme['id']."')");
}
}
unset($chanse);
unset($start);
unset($end);
unset($iteme);
unset($item);
}
}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`=''
AND `kill_mob`='".$mob['ident_id']."'"),0)){
$quests=mysql_query("SELECT * FROM `quests` WHERE
`account`='".$account['id']."'
AND `completed`='0'
AND `kill_mob`='".$mob['ident_id']."'");
while($resul=mysql_fetch_array($quests)){
mysql_query("UPDATE `quests` SET
`kill_mob_col_kill`='".($resul['kill_mob_col_kill']+1)."'
WHERE
`account`='".$account['id']."'
AND `id`='".$resul['id']."'");
echo $mob['name'].' - убито '.($resul['kill_mob_col_kill']+1).'/'.$resul['kill_mob_col'].'<br />';
if ($resul['kill_mob_col_kill']+1==$resul['kill_mob_col'] && $resul['res_need']==$resul['res_need_col']){
echo 'Цель достигнута<br />';
mysql_query("UPDATE `quests` SET
`completed`='1'
WHERE
`id`='".$resul['id']."'");
}
}
}
if (!mysql_result(mysql_query("SELECT COUNT(*) FROM `mobs` WHERE `battle`='".$account['battle']."'"),0)){
mysql_query("DELETE FROM `battle` WHERE
`id`='".$account['battle']."'");
mysql_query("UPDATE `account` SET
`battle`='',
`battle_attack`='' WHERE `id`='".$account['id']."'");
echo '<font color="#3d8e2f">Бой окончен. Вы победили!</font>';
down();
exit;
}else{
$nextmob=mysql_result(mysql_query("SELECT `id` FROM `mobs` WHERE `battle`='".$account['battle']."' LIMIT 1"),0);
mysql_query("UPDATE `account` SET `battle_attack`='".$nextmob."' WHERE `id`='".$account['id']."'");
header("Location: ?");
exit;
}
}
mysql_query("UPDATE `mobs` SET
`hp`='".$hp."'
WHERE
`id`='".$mob['id']."'");
mysql_query("INSERT INTO `battle_log`(
`account`,
`mess`)VALUES(
'".$account['id']."',
'<img src="/data/img/skill/attack.jpg" width="10px" height="10px"><font color="#8e8171">Вы наносите ".$damag." урона</font>')");
mysql_query("UPDATE `account` SET
`battle_last_attack`='".time()."'
WHERE
`id`='".$account['id']."'");
header("Location: ?");
exit;
}
$hpe['width']=100/($account['max_hp']/$account['hp']);
$mpe['width']=100/($account['max_mp']/$account['mp']);
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect` WHERE
`account`='".$account['id']."'"),0)){
$qrea=mysql_query("SELECT * FROM `effect` WHERE
`account`='".$account['id']."'");
while($resea=mysql_fetch_assoc($qrea)){
if (!$resea['target_type'] && !$resea['target']){
$skillea=mysql_fetch_assoc(mysql_query("SELECT * FROM `skill` WHERE
`id`='".$resea['skill']."'"));
echo '<img src="/data/img/skill/'.$skillea['icon'].'.jpg" height="10px" width="10px" title="'.$skillea['name'].'">';
}
}
}
echo '
<table width="100%">
<tr>
<td valign="top" width="50%">
<div style="height:13px;background:#5FA566;margin-bottom:2px;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;">
<div style="height:13px;padding-left:10px;float:left;font-size:11px;color:white;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;">'.$account['hp'].'/'.$account['max_hp'].'</div>
<div style="height:13px;width:'.$hpe['width'].'%;background:#339D45;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;"></div></div>
</td><td valign="top" width="50%">
<div style="height:13px;background:#5B5BB5;margin-bottom:2px;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;">
<div style="height:13px;padding-left:10px;float:left;font-size:11px;color:white;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;">'.$account['mp'].'/'.$account['max_mp'].'</div>
<div style="height:13px;width:'.$mpe['width'].'%;background:#4249CE;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;"></div></div>
</td>
</tr>
</table>
<div class="title">';
if ($mob['hp']){
$mob_hp['hp']=100/($mob['max_hp']/$mob['hp']);
}else{
$mob_hp['hp']=1;
}
if ($mob['mp']){
$mob_mp['mp']=100/($mob['max_mp']/$mob['mp']);
}else{
$mob_mp['mp']=1;
}
echo $mob['name'].' ';
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `effect`
WHERE `target_type`='mob'
AND `target`='".$mob['id']."'"),0)){
$queryeffects=mysql_query("SELECT * FROM `effect`
WHERE `target_type`='mob'
AND `target`='".$mob['id']."'");
while($resulteffects=mysql_fetch_assoc($queryeffects)){
$skilll=mysql_fetch_array(mysql_query("SELECT * FROM `skill` WHERE
`id`='".$resulteffects['skill']."'"));
echo '<img src="/data/img/skill/'.$skilll['icon'].'.jpg" height="10px" width="10px" title="'.$skilll['name'].'">';
}
}
echo '<table width="100%">
<tr>
<td valign="top" width="50%">
<div style="height:13px;background:#5FA566;margin-bottom:2px;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;">
<div style="height:13px;padding-left:10px;float:left;font-size:11px;color:white;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;">'.$mob['hp'].'/'.$mob['max_hp'].'</div>
<div style="height:13px;width:'.$mob_hp['hp'].'%;background:#339D45;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;"></div></div>
</td><td valign="top" width="50%">
<div style="height:13px;background:#5B5BB5;margin-bottom:2px;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;">
<div style="height:13px;padding-left:10px;float:left;font-size:11px;color:white;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;">'.$mob['mp'].'/'.$mob['max_mp'].'</div>
<div style="height:13px;width:'.$mob_mp['mp'].'%;background:#4249CE;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;"></div></div>
</td>
</tr>
</table>';
echo 'Враги: ';
$vrag=mysql_query("SELECT * FROM `mobs` WHERE
`battle`='".$account['battle']."'");
$cnt=1;
while($resvrag=mysql_fetch_array($vrag)){
if ($cnt>1){
echo ', ';
}
if($account['battle_target_type']=='mob' && $account['battle_attack']==$resvrag['id']){
echo '<font color="gray">'.$resvrag['name'].'</font>';
}else{
echo '<a href="?target_type=mob&target='.$resvrag['id'].'">'.$resvrag['name'].'</a>';
}
echo ' ('.(ceil($resvrag['hp']/($resvrag['max_hp']/100))).'%)';
$cnt++;
}
echo '<div class="line"></div>';
echo '<a href="?attack" title="Удар оружием"><img src="/data/img/skill/attack.jpg"></a>';
$q=mysql_query("SELECT * FROM `skill` WHERE
`account`='".$account['id']."'");
while($result=mysql_fetch_array($q)){
if (time()-$result['last_cast']<$result['res_time']){
echo '<img src="/data/img/skill/'.$result['icon'].'.jpg" style="opacity:0.5;" title="'.$result['name'].' ('.floor($result['res_time']-(time()-$result['last_cast'])).')"></a>';
}else{
echo '<a href="?skill='.$result['id'].'" title="'.$result['name'].'"><img src="/data/img/skill/'.$result['icon'].'.jpg"></a>';
}
}
echo '<div class="line"></div>';
echo 'Лог боя:<br />';
$ql=mysql_query("SELECT * FROM `battle_log` WHERE `account`='".$account['id']."' ORDER BY `id` DESC LIMIT 5");
while($resultl=mysql_fetch_assoc($ql)){
echo $resultl['mess'].'<br />';
}
}else{
header("Location: location.php?");
exit;
}
}else{
header("Location: /?");
exit;
}
?>