mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-08-14 15:21:01 +00:00
Fixed a spy bug
+Fixed a bug that didn't permit to detect upgraded (in the blachsmith) spies +Changed a debug function, from public to public static
This commit is contained in:
+21
-20
@@ -250,7 +250,9 @@ class Battle {
|
|||||||
//dp = Infantry defense points
|
//dp = Infantry defense points
|
||||||
//rap = Result attack points
|
//rap = Result attack points
|
||||||
//rdp = Result defense points
|
//rdp = Result defense points
|
||||||
|
//detected = Detected or not by enemy spies
|
||||||
$cap = $ap = $dp = $cdp = $rap = $rdp = 0;
|
$cap = $ap = $dp = $cdp = $rap = $rdp = 0;
|
||||||
|
$detected = false;
|
||||||
|
|
||||||
//Get involved artifacts
|
//Get involved artifacts
|
||||||
$attacker_artefact = $database->getArtifactsValueInfluence($AttackerID, $AttackerWref, 3, 1, false);
|
$attacker_artefact = $database->getArtifactsValueInfluence($AttackerID, $AttackerWref, 3, 1, false);
|
||||||
@@ -269,7 +271,7 @@ class Battle {
|
|||||||
$dp += $datadefScout['dp'];
|
$dp += $datadefScout['dp'];
|
||||||
$cdp += $datadefScout['cdp'];
|
$cdp += $datadefScout['cdp'];
|
||||||
$involve = $datadefScout['involve'];
|
$involve = $datadefScout['involve'];
|
||||||
if ($datadefScout['detect'] == 1) $detected = 1;
|
if(!$detected && $datadefScout['detect']) $detected = $datadefScout['detect'];
|
||||||
}else{
|
}else{
|
||||||
$datadef = $this->getDataDef($Defender, $def_ab);
|
$datadef = $this->getDataDef($Defender, $def_ab);
|
||||||
$dp += $datadef['dp'];
|
$dp += $datadef['dp'];
|
||||||
@@ -319,7 +321,7 @@ class Battle {
|
|||||||
$dp += $datadefScout['dp'];
|
$dp += $datadefScout['dp'];
|
||||||
$cdp += $datadefScout['cdp'];
|
$cdp += $datadefScout['cdp'];
|
||||||
$involve = $datadefScout['involve'];
|
$involve = $datadefScout['involve'];
|
||||||
if ($datadefScout['detect'] == 1) $detected = 1;
|
if(!$detected && $datadefScout['detect']) $detected = $datadefScout['detect'];
|
||||||
}else{
|
}else{
|
||||||
$datadef = $this->getDataDef($defenders, $def_ab);
|
$datadef = $this->getDataDef($defenders, $def_ab);
|
||||||
$dp += $datadef['dp'];
|
$dp += $datadef['dp'];
|
||||||
@@ -419,7 +421,7 @@ class Battle {
|
|||||||
// Defense infantry = Infantry * Wall (%)
|
// Defense infantry = Infantry * Wall (%)
|
||||||
// Defense calvary calvary = * Wall (%)
|
// Defense calvary calvary = * Wall (%)
|
||||||
if ($dp > 0 || $cdp > 0){
|
if ($dp > 0 || $cdp > 0){
|
||||||
if($type==1) {
|
if($type == 1) {
|
||||||
$dp *= $wallMultiplier;
|
$dp *= $wallMultiplier;
|
||||||
$dp += 10;
|
$dp += 10;
|
||||||
}else{
|
}else{
|
||||||
@@ -486,24 +488,22 @@ class Battle {
|
|||||||
$holder = pow((($rdp * $moralbonus) / $rap), $Mfactor);
|
$holder = pow((($rdp * $moralbonus) / $rap), $Mfactor);
|
||||||
if($holder > 1) $holder = 1;
|
if($holder > 1) $holder = 1;
|
||||||
if ($rdp > $rap) $holder = 1;
|
if ($rdp > $rap) $holder = 1;
|
||||||
|
|
||||||
// Attacker
|
|
||||||
$result[1] = $holder;
|
|
||||||
|
|
||||||
//Birds of Prey cannot die when scouting
|
//Birds of Prey cannot die when scouting
|
||||||
//Spies cannot die if the attacked village has no defending spies
|
//Spies cannot die if the attacked village has no defending spies
|
||||||
if ($att_tribe == 5 || !$detected) $result[1] = 0;
|
//Attacker result
|
||||||
|
$result[1] = ($att_tribe == 5 || !$detected) ? 0 : $holder;
|
||||||
|
|
||||||
// Defender
|
//Defender result
|
||||||
$result[2] = 0;
|
$result[2] = 0;
|
||||||
}else if($type == 2){
|
}else if($type == 2){
|
||||||
|
|
||||||
}else if($type == 4) {
|
}else if($type == 4) {
|
||||||
$holder = ($winner) ? pow((($rdp * $moralbonus) / $rap), $Mfactor) : pow(($rap / ($rdp * $moralbonus)), $Mfactor);
|
$holder = ($winner) ? pow((($rdp * $moralbonus) / $rap), $Mfactor) : pow(($rap / ($rdp * $moralbonus)), $Mfactor);
|
||||||
$holder = $holder / (1 + $holder);
|
$holder = $holder / (1 + $holder);
|
||||||
// Attacker
|
//Attacker result
|
||||||
$result[1] = $winner ? $holder : 1 - $holder;
|
$result[1] = $winner ? $holder : 1 - $holder;
|
||||||
// Defender
|
//Defender result
|
||||||
$result[2] = $winner ? 1 - $holder : $holder;
|
$result[2] = $winner ? 1 - $holder : $holder;
|
||||||
$ram -= round($ram * $result[1] / 100);
|
$ram -= round($ram * $result[1] / 100);
|
||||||
$catp -= round($catp * $result[1] / 100);
|
$catp -= round($catp * $result[1] / 100);
|
||||||
@@ -686,22 +686,23 @@ class Battle {
|
|||||||
|
|
||||||
public function getDataDefScout($defenders, $def_ab, $defender_artefact) {
|
public function getDataDefScout($defenders, $def_ab, $defender_artefact) {
|
||||||
$abcount = 1;
|
$abcount = 1;
|
||||||
$invol = $dp = $cdp = $detected = 0;
|
$invol = $dp = $cdp = 0;
|
||||||
|
$detected = false;
|
||||||
|
|
||||||
for($y = 4; $y <= 54; $y++) {
|
for($y = 4; $y <= 50; $y++) {
|
||||||
if($y == 4 || $y == 14 || $y == 23 || $y == 44){
|
if($y == 4 || $y == 14 || $y == 23 || $y == 44){
|
||||||
global ${'u'.$y};
|
global ${'u'.$y};
|
||||||
|
|
||||||
if($defenders['u'.$y] > 0 && $def_ab[$y] > 0) {
|
if($defenders['u'.$y] > 0 && $def_ab[$y] > 0){
|
||||||
$dp += round(20 + (20 + 300 * ${'u'.$y}['pop'] / 7) * (pow(1.007, $def_ab[$y]) - 1), 4) * $defenders['u'.$y] * $defender_artefact;
|
$dp += round(20 + (20 + 300 * ${'u'.$y}['pop'] / 7) * (pow(1.007, $def_ab[$y]) - 1), 4) * $defenders['u'.$y] * $defender_artefact;
|
||||||
}else {
|
$detected = true;
|
||||||
if($defenders['u'.$y] > 0) {
|
}else{
|
||||||
$dp += $defenders['u'.$y] * 20 * $defender_artefact;
|
if($defenders['u'.$y] > 0){
|
||||||
}
|
$dp += $defenders['u'.$y] * 20 * $defender_artefact;
|
||||||
|
$detected = true;
|
||||||
$units['Def_unit'][$y] = $defenders['u'.$y];
|
}
|
||||||
if($units['Def_unit'][$y] > 0) $detected = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$invol += $defenders['u'.$y]; //total troops
|
$invol += $defenders['u'.$y]; //total troops
|
||||||
$units['Def_unit'][$y] = $defenders['u'.$y];
|
$units['Def_unit'][$y] = $defenders['u'.$y];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ class Logging {
|
|||||||
global $database;
|
global $database;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function debug($debug_info, $time = 0) {
|
public static function debug($debug_info, $time = 0) {
|
||||||
global $database, $generator;
|
global $database, $generator;
|
||||||
list($debug_info) = $database->escape_input($debug_info);
|
list($debug_info) = $database->escape_input($debug_info);
|
||||||
|
|
||||||
@@ -107,5 +107,4 @@ class Logging {
|
|||||||
};
|
};
|
||||||
|
|
||||||
$logging = new Logging;
|
$logging = new Logging;
|
||||||
//$logging->debug(time(),2,'Logging.php loaded');
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
Reference in New Issue
Block a user