Sieges: reinforcements log in for registered clans and log out after, walls excluded, siege state/skills set for bots; bots count as online clan members (clan skills); dashboard telemetry panel

This commit is contained in:
2026-09-03 20:57:06 +02:00
parent 97ce6ae2af
commit 5fc54be523
4 changed files with 137 additions and 8 deletions
@@ -38,6 +38,8 @@ canvas{width:100%;height:100%;display:block;background:#0d1014}
<div class="sub">живой срез мира, обновление каждые 5 сек</div>
<div class="lbl">Итого</div>
<div id="stats"></div>
<div class="lbl">Что реально сделали</div>
<div id="telemetry" class="sub"></div>
<div class="lbl">Фильтр</div>
<input id="q" placeholder="поиск по нику...">
<div style="margin-top:6px">
@@ -180,6 +182,17 @@ document.getElementById('pGo').onclick=()=>{
})};
refresh();setInterval(refresh,5000);
function telemetry(){
fetch('/api/stats').then(r=>r.json()).then(t=>{
const keys=['kills','exp','loot','itemsSold','adenaEarned','adenaSpent','stores','skillsCast','rests','lines','replies','parties','migrations','professions','sieges','pvpKills','deaths'];
let h='';
keys.forEach(k=>{h+='<div class="stat"><span>'+k+'</span><b>'+(t[k]??0)+'</b></div>';});
h+='<div class="stat"><span>сейчас</span><b>бой '+t.fighting+' · сидят '+t.sitting+' · торгуют '+t.trading+' · в пати '+t.inParty+' · на осаде '+t.besieging+'</b></div>';
h+='<div class="stat"><span>аптайм</span><b>'+t.uptimeMin+' мин</b></div>';
document.getElementById('telemetry').innerHTML=h;
}).catch(()=>{});
}
telemetry();setInterval(telemetry,10000);
window.addEventListener('resize',draw);
</script>
</body>