fix recruit numbers

This commit is contained in:
2026-05-05 21:29:21 +03:00
parent 781a2b92de
commit 2a20ca11b4

View File

@@ -376,6 +376,9 @@ window.openUnitModal = function() {
let costStr = '';
let clickable = false;
let maxBuild = 0;
let currentCount = town.units ? (town.units[key] || 0) : 0;
const requiredGod = window.UNIT_GODS ? window.UNIT_GODS[key] : null;
const isWrongGod = requiredGod && town.god !== requiredGod;
const isNoGod = key === 'godsent' && !town.god;
@@ -396,6 +399,19 @@ window.openUnitModal = function() {
const i = window.fmt(data.iron || 0);
const pop = data.pop || 0;
// Calculate max buildable
if (!isLocked) {
const tRes = town.resources || {};
const mWood = data.wood ? Math.floor((tRes.wood || 0) / data.wood) : Infinity;
const mStone = data.stone ? Math.floor((tRes.stone || 0) / data.stone) : Infinity;
const mIron = data.iron ? Math.floor((tRes.iron || 0) / data.iron) : Infinity;
const mPop = data.pop ? Math.floor((tRes.population || 0) / data.pop) : Infinity;
const mFavor = data.favor ? Math.floor((tRes.favor || 0) / data.favor) : Infinity;
maxBuild = Math.min(mWood, mStone, mIron, mPop, mFavor);
if (maxBuild === Infinity) maxBuild = 0;
}
let t = data.build_time || 0;
let tStr = `${t}s`;
if (t > 60) {
@@ -410,7 +426,7 @@ window.openUnitModal = function() {
if (isLocked) {
statusClass = 'locked'; statusLabel = '🔒 Κλειδωμένο'; cardClass = 'bld-locked';
} else if (data.enough_resources === false) {
} else if (maxBuild <= 0) {
statusClass = 'no-resources'; statusLabel = '❌ Λείπουν Πόροι';
} else {
statusClass = 'can-build'; statusLabel = '✅ Διαθέσιμο';
@@ -423,11 +439,13 @@ window.openUnitModal = function() {
const onclick = clickable ? `onclick="window.selectUnit('${key}', '${nameGr}')"` : '';
catHtml += `<div class="bld-card ${cardClass}${isSelected ? ' bld-selected' : ''}" ${onclick} style="width:140px; justify-content:flex-start;">
<span class="bld-icon">${icon}</span>
<span class="bld-name" style="margin-top:6px; font-size:0.85rem;">${nameGr}</span>
<span class="bld-status ${statusClass}">${statusLabel}</span>
<span class="bld-cost" style="font-size:0.65rem;">${costStr}</span>
catHtml += `<div class="bld-card ${cardClass}${isSelected ? ' bld-selected' : ''}" ${onclick} style="width:140px; justify-content:flex-start; position:relative;">
<span class="bld-icon" style="font-size:2rem; margin-bottom: 2px;">${icon}</span>
<div style="position:absolute; top:4px; right:6px; font-weight:bold; font-size:1.1rem; text-shadow: 1px 1px 2px #000; color:#fff;">${currentCount}</div>
<div style="position:absolute; top:24px; right:6px; font-weight:bold; font-size:0.85rem; color:#c8a44a; text-shadow: 1px 1px 2px #000;">+${maxBuild}</div>
<span class="bld-name" style="margin-top:2px; font-size:0.85rem;">${nameGr}</span>
<span class="bld-status ${statusClass}" style="margin:2px 0;">${statusLabel}</span>
<span class="bld-cost" style="font-size:0.65rem; color:#bbb; text-align:center;">${costStr}</span>
</div>`;
}