mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-08-22 02:57:14 +00:00
fix hero in battle (should be 100%, tell me if you found bugs)
This commit is contained in:
@@ -955,7 +955,6 @@ class Automation {
|
|||||||
for($i=1;$i<=50;$i++) {
|
for($i=1;$i<=50;$i++) {
|
||||||
$Defender['u'.$i] += $enforce['u'.$i];
|
$Defender['u'.$i] += $enforce['u'.$i];
|
||||||
}
|
}
|
||||||
$Defender['hero'] += $enforce['hero'];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for($i=1;$i<=50;$i++){
|
for($i=1;$i<=50;$i++){
|
||||||
@@ -1231,6 +1230,12 @@ class Automation {
|
|||||||
$unitssend_att_check=$unitssend_att;
|
$unitssend_att_check=$unitssend_att;
|
||||||
}
|
}
|
||||||
//units defence string for battleraport
|
//units defence string for battleraport
|
||||||
|
$enforcementarray2 = $database->getEnforceVillage($data['to'],0);
|
||||||
|
if(count($enforcementarray2) > 0) {
|
||||||
|
foreach($enforcementarray2 as $enforce2) {
|
||||||
|
$Defender['hero'] += $enforce2['hero'];
|
||||||
|
}
|
||||||
|
}
|
||||||
$unitssend_def[1] = ''.$Defender['u1'].','.$Defender['u2'].','.$Defender['u3'].','.$Defender['u4'].','.$Defender['u5'].','.$Defender['u6'].','.$Defender['u7'].','.$Defender['u8'].','.$Defender['u9'].','.$Defender['u10'].'';
|
$unitssend_def[1] = ''.$Defender['u1'].','.$Defender['u2'].','.$Defender['u3'].','.$Defender['u4'].','.$Defender['u5'].','.$Defender['u6'].','.$Defender['u7'].','.$Defender['u8'].','.$Defender['u9'].','.$Defender['u10'].'';
|
||||||
$unitssend_def[2] = ''.$Defender['u11'].','.$Defender['u12'].','.$Defender['u13'].','.$Defender['u14'].','.$Defender['u15'].','.$Defender['u16'].','.$Defender['u17'].','.$Defender['u18'].','.$Defender['u19'].','.$Defender['u20'].'';
|
$unitssend_def[2] = ''.$Defender['u11'].','.$Defender['u12'].','.$Defender['u13'].','.$Defender['u14'].','.$Defender['u15'].','.$Defender['u16'].','.$Defender['u17'].','.$Defender['u18'].','.$Defender['u19'].','.$Defender['u20'].'';
|
||||||
$unitssend_def[3] = ''.$Defender['u21'].','.$Defender['u22'].','.$Defender['u23'].','.$Defender['u24'].','.$Defender['u25'].','.$Defender['u26'].','.$Defender['u27'].','.$Defender['u28'].','.$Defender['u29'].','.$Defender['u30'].'';
|
$unitssend_def[3] = ''.$Defender['u21'].','.$Defender['u22'].','.$Defender['u23'].','.$Defender['u24'].','.$Defender['u25'].','.$Defender['u26'].','.$Defender['u27'].','.$Defender['u28'].','.$Defender['u29'].','.$Defender['u30'].'';
|
||||||
@@ -1280,7 +1285,7 @@ class Automation {
|
|||||||
}
|
}
|
||||||
$dead['hero']='0';
|
$dead['hero']='0';
|
||||||
if($unitlist){
|
if($unitlist){
|
||||||
$dead['hero']+=$battlepart['deadherodef'];
|
$dead['hero']+=$battlepart['deadherodef'][$DefenderID];
|
||||||
$database->modifyUnit($data['to'],array("hero"),array($battlepart['deadherodef']),array(0));
|
$database->modifyUnit($data['to'],array("hero"),array($battlepart['deadherodef']),array(0));
|
||||||
}
|
}
|
||||||
//kill other defence in village
|
//kill other defence in village
|
||||||
@@ -1302,6 +1307,7 @@ class Automation {
|
|||||||
} else {
|
} else {
|
||||||
$dead[$i]='0';
|
$dead[$i]='0';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if($enforce['hero']>'0'){
|
if($enforce['hero']>'0'){
|
||||||
$database->modifyEnforce($enforce['id'],"hero",$battlepart['deadheroref'][$enforce['id']],0);
|
$database->modifyEnforce($enforce['id'],"hero",$battlepart['deadheroref'][$enforce['id']],0);
|
||||||
$dead['hero']+=$battlepart['deadheroref'][$enforce['id']];
|
$dead['hero']+=$battlepart['deadheroref'][$enforce['id']];
|
||||||
@@ -1309,7 +1315,6 @@ class Automation {
|
|||||||
$wrong='1';
|
$wrong='1';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
$notlife= ''.$dead[$start].','.$dead[$start+1].','.$dead[$start+2].','.$dead[$start+3].','.$dead[$start+4].','.$dead[$start+5].','.$dead[$start+6].','.$dead[$start+7].','.$dead[$start+8].','.$dead[$start+9].'';
|
$notlife= ''.$dead[$start].','.$dead[$start+1].','.$dead[$start+2].','.$dead[$start+3].','.$dead[$start+4].','.$dead[$start+5].','.$dead[$start+6].','.$dead[$start+7].','.$dead[$start+8].','.$dead[$start+9].'';
|
||||||
$notlife1 = $dead[$start]+$dead[$start+1]+$dead[$start+2]+$dead[$start+3]+$dead[$start+4]+$dead[$start+5]+$dead[$start+6]+$dead[$start+7]+$dead[$start+8]+$dead[$start+9];
|
$notlife1 = $dead[$start]+$dead[$start+1]+$dead[$start+2]+$dead[$start+3]+$dead[$start+4]+$dead[$start+5]+$dead[$start+6]+$dead[$start+7]+$dead[$start+8]+$dead[$start+9];
|
||||||
$life= ''.$enforce['u'.$start.''].','.$enforce['u'.($start+1).''].','.$enforce['u'.($start+2).''].','.$enforce['u'.($start+3).''].','.$enforce['u'.($start+4).''].','.$enforce['u'.($start+5).''].','.$enforce['u'.($start+6).''].','.$enforce['u'.($start+7).''].','.$enforce['u'.($start+8).''].','.$enforce['u'.($start+9).''].'';
|
$life= ''.$enforce['u'.$start.''].','.$enforce['u'.($start+1).''].','.$enforce['u'.($start+2).''].','.$enforce['u'.($start+3).''].','.$enforce['u'.($start+4).''].','.$enforce['u'.($start+5).''].','.$enforce['u'.($start+6).''].','.$enforce['u'.($start+7).''].','.$enforce['u'.($start+8).''].','.$enforce['u'.($start+9).''].'';
|
||||||
|
|||||||
+43
-17
@@ -223,17 +223,26 @@ class Battle {
|
|||||||
|
|
||||||
//exit($type);
|
//exit($type);
|
||||||
|
|
||||||
if ($Attacker['uhero'] != 0)
|
if($Attacker['uhero'] != 0)
|
||||||
{
|
{
|
||||||
//exit($AttackerID);
|
//exit($AttackerID);
|
||||||
$atkhero= $this->getBattleHero($AttackerID);
|
$atkhero = $this->getBattleHero($AttackerID);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($Defender['hero'] != 0)
|
if($Defender['hero'] != 0)
|
||||||
{
|
{
|
||||||
//exit($DefenderID);
|
//exit($DefenderID);
|
||||||
$defhero= $this->getBattleHero($DefenderID);
|
$defhero[$DefenderWref] = $this->getBattleHero($DefenderID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$DefendersAll = $database->getEnforceVillage($DefenderWref,0);
|
||||||
|
if(!empty($DefendersAll)){
|
||||||
|
foreach($DefendersAll as $defenders) {
|
||||||
|
$fromvillage = $defenders['from'];
|
||||||
|
$reinfowner = $database->getVillageField($fromvillage,"owner");
|
||||||
|
$defhero[$fromvillage] = $this->getBattleHero($reinfowner);
|
||||||
|
}
|
||||||
|
}
|
||||||
// Berekenen het totaal aantal punten van Aanvaller
|
// Berekenen het totaal aantal punten van Aanvaller
|
||||||
$start = ($att_tribe-1)*10+1;
|
$start = ($att_tribe-1)*10+1;
|
||||||
$end = ($att_tribe*10);
|
$end = ($att_tribe*10);
|
||||||
@@ -335,8 +344,16 @@ class Battle {
|
|||||||
$units['Def_unit'][$y] = $Defender['u'.$y];
|
$units['Def_unit'][$y] = $Defender['u'.$y];
|
||||||
}
|
}
|
||||||
if ($Defender['hero'] != 0){
|
if ($Defender['hero'] != 0){
|
||||||
$dp += $defhero['di'] * 35;
|
$dp += $defhero[$DefenderWref]['di'] * 35;
|
||||||
$dp = $dp * $defhero['db'];
|
$dp = $dp * $defhero[$DefenderWref]['db'];
|
||||||
|
}
|
||||||
|
$DefendersAll = $database->getEnforceVillage($DefenderWref,0);
|
||||||
|
if(!empty($DefendersAll)){
|
||||||
|
foreach($DefendersAll as $defenders) {
|
||||||
|
$fromvillage = $defenders['from'];
|
||||||
|
$dp += $defhero[$fromvillage]['di'] * 35;
|
||||||
|
$dp = $dp * $defhero[$fromvillage]['db'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -357,14 +374,24 @@ class Battle {
|
|||||||
$involve += $Defender['u'.$y];
|
$involve += $Defender['u'.$y];
|
||||||
$units['Def_unit'][$y] = $Defender['u'.$y];
|
$units['Def_unit'][$y] = $Defender['u'.$y];
|
||||||
}
|
}
|
||||||
if ($Defender['hero'] != 0)
|
if($Defender['hero'] != 0)
|
||||||
{
|
{
|
||||||
$units['Def_unit']['hero'] = $Defender['hero'];
|
$units['Def_unit']['hero'] = $Defender['hero'];
|
||||||
$cdp += $Defender['hero']*$defhero['dc'];
|
$cdp += $defhero[$DefenderWref]['dc'];
|
||||||
$dp += $Defender['hero']*$defhero['di'];
|
$dp += $defhero[$DefenderWref]['di'];
|
||||||
$dp = $dp * $defhero['db'];
|
$dp = $dp * $defhero[$DefenderWref]['db'];
|
||||||
$cdp = $cdp * $defhero['db'];
|
$cdp = $cdp * $defhero[$DefenderWref]['db'];
|
||||||
}
|
}
|
||||||
|
$DefendersAll = $database->getEnforceVillage($DefenderWref,0);
|
||||||
|
if(!empty($DefendersAll)){
|
||||||
|
foreach($DefendersAll as $defenders) {
|
||||||
|
$fromvillage = $defenders['from'];
|
||||||
|
$cdp += $defhero[$fromvillage]['dc'];
|
||||||
|
$dp += $defhero[$fromvillage]['di'];
|
||||||
|
$dp = $dp * $defhero[$fromvillage]['db'];
|
||||||
|
$cdp = $cdp * $defhero[$fromvillage]['db'];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -600,7 +627,7 @@ class Battle {
|
|||||||
if ($units['Def_unit']['hero']>0)
|
if ($units['Def_unit']['hero']>0)
|
||||||
{
|
{
|
||||||
|
|
||||||
$_result=mysql_query("select * from " . TB_PREFIX . "hero where `dead`='0' and `heroid`='".$defhero['heroid']."'");
|
$_result=mysql_query("select * from " . TB_PREFIX . "hero where `dead`='0' and `heroid`='".$defhero[$DefenderWref]['heroid']."'");
|
||||||
$fdb = mysql_fetch_array($_result);
|
$fdb = mysql_fetch_array($_result);
|
||||||
$hero_id=$fdb['heroid'];
|
$hero_id=$fdb['heroid'];
|
||||||
$hero_health=$fdb['health'];
|
$hero_health=$fdb['health'];
|
||||||
@@ -608,21 +635,22 @@ class Battle {
|
|||||||
if ($hero_health<=$damage_health or $damage_health>90)
|
if ($hero_health<=$damage_health or $damage_health>90)
|
||||||
{
|
{
|
||||||
//hero die
|
//hero die
|
||||||
$result['deadherodef'] = 1;
|
$result['deadherodef'][$defhero[$DefenderWref]['uid']] = 1;
|
||||||
mysql_query("update " . TB_PREFIX . "hero set `dead`='1' where `heroid`='".$hero_id."'");
|
mysql_query("update " . TB_PREFIX . "hero set `dead`='1' where `heroid`='".$hero_id."'");
|
||||||
mysql_query("update " . TB_PREFIX . "hero set `health`='0' where `heroid`='".$hero_id."'");
|
mysql_query("update " . TB_PREFIX . "hero set `health`='0' where `heroid`='".$hero_id."'");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$result['deadherodef'] = 0;
|
$result['deadherodef'][$defhero[$DefenderWref]['uid']] = 0;
|
||||||
mysql_query("update " . TB_PREFIX . "hero set `health`=`health`-".$damage_health." where `heroid`='".$hero_id."'");
|
mysql_query("update " . TB_PREFIX . "hero set `health`=`health`-".$damage_health." where `heroid`='".$hero_id."'");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
unset($_result,$fdb,$hero_id,$hero_health,$damage_health);
|
unset($_result,$fdb,$hero_id,$hero_health,$damage_health);
|
||||||
|
|
||||||
$DefendersAll = $database->getEnforceVillage($DefenderWref,0);
|
$DefendersAll = $database->getEnforceVillage($DefenderWref,0);
|
||||||
if(!empty($DefendersAll)){
|
if(!empty($DefendersAll)){
|
||||||
foreach($DefendersAll as $defenders) {
|
foreach($DefendersAll as $defenders) {
|
||||||
if($defenders['hero'] == 1) {
|
if($defenders['hero']>0) {
|
||||||
if(!empty($heroarray)) { reset($heroarray); }
|
if(!empty($heroarray)) { reset($heroarray); }
|
||||||
$ReinforcerData = $database->getVillageBattleData($defenders['from']);
|
$ReinforcerData = $database->getVillageBattleData($defenders['from']);
|
||||||
$heroarraydefender = $this->getBattleHero($ReinforcerData['id']);
|
$heroarraydefender = $this->getBattleHero($ReinforcerData['id']);
|
||||||
@@ -645,8 +673,6 @@ class Battle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
unset($_result,$fdb,$hero_id,$hero_health,$damage_health);
|
unset($_result,$fdb,$hero_id,$hero_health,$damage_health);
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ class Units {
|
|||||||
if($post['x']!="" && $post['y']!=""){
|
if($post['x']!="" && $post['y']!=""){
|
||||||
$oid = $database->getVilWref($post['x'],$post['y']);
|
$oid = $database->getVilWref($post['x'],$post['y']);
|
||||||
}else if($post['dname']!=""){
|
}else if($post['dname']!=""){
|
||||||
$oid = $database->getVillageByName($post['dname']);
|
$oid = $database->getVillageByName(stripslashes($post['dname']));
|
||||||
}
|
}
|
||||||
if($database->isVillageOases($oid) != 0){
|
if($database->isVillageOases($oid) != 0){
|
||||||
$too = $database->getOasisField($oid,"conqured");
|
$too = $database->getOasisField($oid,"conqured");
|
||||||
|
|||||||
Reference in New Issue
Block a user