getProfileVillages($session->uid); foreach ($varray as $vil) { $vid = $vil['wref']; // date sat $vdata = $database->getVillage($vid); // ========================================================== // RESURSE & LIMITS // ========================================================== $wood = floor($vdata['wood']); $clay = floor($vdata['clay']); $iron = floor($vdata['iron']); $crop = floor($vdata['crop']); $maxs = $vdata['maxstore']; $maxc = $vdata['maxcrop']; // populație $pop = $vdata['pop']; // ========================================================== // RESOURCE FIELDS // ========================================================== $vresarray = $database->getResourceLevel($vid); $woodholder = $clayholder = $ironholder = $cropholder = []; $sawmill = $claypit = $foundry = $grainmill = $bakery = 0; // scan fields (38) for ($i = 1; $i <= 38; $i++) { $type = $vresarray['f'.$i.'t']; $level = $vresarray['f'.$i]; if ($type == 1) $woodholder[] = 'f'.$i; elseif ($type == 2) $clayholder[] = 'f'.$i; elseif ($type == 3) $ironholder[] = 'f'.$i; elseif ($type == 4) $cropholder[] = 'f'.$i; elseif ($type == 5) $sawmill = $level; elseif ($type == 6) $claypit = $level; elseif ($type == 7) $foundry = $level; elseif ($type == 8) $grainmill = $level; elseif ($type == 9) $bakery = $level; } // ========================================================== // PRODUCTION BASE (FIELDS) // ========================================================== $prod_wood = $prod_clay = $prod_iron = $prod_crop = 0; foreach ($woodholder as $f) $prod_wood += $bid1[$vresarray[$f]]['prod']; foreach ($clayholder as $f) $prod_clay += $bid2[$vresarray[$f]]['prod']; foreach ($ironholder as $f) $prod_iron += $bid3[$vresarray[$f]]['prod']; foreach ($cropholder as $f) $prod_crop += $bid4[$vresarray[$f]]['prod']; // ========================================================== // BONUS BUILDINGS // ========================================================== if ($sawmill >= 1) $prod_wood += ($prod_wood / 100) * $bid5[$sawmill]['attri']; if ($claypit >= 1) $prod_clay += ($prod_clay / 100) * $bid6[$claypit]['attri']; if ($foundry >= 1) $prod_iron += ($prod_iron / 100) * $bid7[$foundry]['attri']; if ($grainmill >= 1 || $bakery >= 1) { $bonus = 0; if (isset($bid8[$grainmill]['attri'])) $bonus += $bid8[$grainmill]['attri']; if (isset($bid9[$bakery]['attri'])) $bonus += $bid9[$bakery]['attri']; $prod_crop += ($prod_crop / 100) * $bonus; } // ========================================================== // OASIS (placeholder logic păstrat) // ========================================================== $oasisowned = $database->getOasis($vid); // ========================================================== // PLUS ACCOUNT BONUS // ========================================================== if ($session->plus) { $prod_wood *= 1.25; $prod_clay *= 1.25; $prod_iron *= 1.25; $prod_crop *= 1.25; } // speed server $prod_wood *= SPEED; $prod_clay *= SPEED; $prod_iron *= SPEED; $prod_crop *= SPEED; // ========================================================== // CONSUMPTION // ========================================================== $prod_crop -= $pop; $prod_crop -= $technology->getUpkeep($technology->getAllUnits($vid), 0); // ========================================================== // STORAGE % // ========================================================== $percentW = floor($wood / ($maxs / 100)); $percentC = floor($clay / ($maxs / 100)); $percentI = floor($iron / ($maxs / 100)); $percentCr = floor($crop / ($maxc / 100)); $class = ($vid == $village->wid) ? 'hl' : ''; // ========================================================== // WARNING LEVEL // ========================================================== $cr = 95; $critW = ($percentW >= $cr) ? 'crit' : ''; $critC = ($percentC >= $cr) ? 'crit' : ''; $critI = ($percentI >= $cr) ? 'crit' : ''; $critCR = ($percentCr >= $cr) ? 'crit' : ''; $critNCR = ''; if ($prod_crop < 0) { $critCR = 'crit'; $critNCR = 'crit'; } // ========================================================== // TIMERS // ========================================================== $timerwood = floor(($maxs - $wood) / $prod_wood * 3600); $timerclay = floor(($maxs - $clay) / $prod_clay * 3600); $timeriron = floor(($maxs - $iron) / $prod_iron * 3600); $timer1 = min($timerwood, $timerclay, $timeriron); $timer2 = floor( ($prod_crop >= 0 ? $maxc - $crop : $crop) / abs($prod_crop) * 3600 ); // session timer (global counter) if ($timer1 > 0) $session->timer++; echo ' '; // crop timer counter if ($timer2 > 0) $session->timer++; echo ' '; } ?>
Warehouse
Village Wood Clay Iron Clock Crop Clock
'.$vdata['name'].' '.$percentW.'% '.$percentC.'% '.$percentI.'% 0 ? 'id="timer'.$session->timer.'"' : '').'> '.($timer1 >= 0 ? $generator->getTimeFormat($timer1) : 'Never').' '.$percentCr.'% 0 ? 'id="timer'.$session->timer.'"' : '').'> '.($timer2 >= 0 ? $generator->getTimeFormat($timer2) : 'Never').'