fix dashboard

This commit is contained in:
2026-04-20 12:58:08 +03:00
parent b1cb321cb0
commit 484ea9dc0f
2 changed files with 7 additions and 27 deletions

View File

@@ -1,7 +1,7 @@
// ==UserScript== // ==UserScript==
// @name Grepolis Remote Control // @name Grepolis Remote Control
// @namespace http://tampermonkey.net/ // @namespace http://tampermonkey.net/
// @version 1.4 // @version 1.5
// @description Polls grepo.haunter-pets.top for remote commands and executes them in-game // @description Polls grepo.haunter-pets.top for remote commands and executes them in-game
// @author Dimitrios // @author Dimitrios
// @match https://*.grepolis.com/game/* // @match https://*.grepolis.com/game/*
@@ -74,17 +74,6 @@
const total_points = uw.Game?.player_points ?? 0; const total_points = uw.Game?.player_points ?? 0;
const world = uw.Game?.world_id || ''; const world = uw.Game?.world_id || '';
// ---- Debug: Game-level fields (logged once on first push) ---------------
if (!gatherState._debugDone) {
gatherState._debugDone = true;
console.group('[GRC Debug] Game-level fields');
console.log('player_id :', uw.Game?.player_id, '→', player_id ?? '❌ MISSING');
console.log('alliance_id :', uw.Game?.alliance_id, '→', alliance_id ?? '❌ MISSING');
console.log('player_points:', uw.Game?.player_points, '→', total_points || '❌ ZERO/MISSING');
console.log('world_id :', uw.Game?.world_id, '→', world || '❌ MISSING');
console.groupEnd();
}
const townList = Object.values(towns).map(town => { const townList = Object.values(towns).map(town => {
const res = town.resources(); const res = town.resources();
const buildings = town.buildings()?.attributes ?? {}; const buildings = town.buildings()?.attributes ?? {};
@@ -164,7 +153,6 @@
try { try {
const r = town.researches?.(); const r = town.researches?.();
if (r) researches = r.attributes ?? (typeof r === 'object' ? r : {}); if (r) researches = r.attributes ?? (typeof r === 'object' ? r : {});
if (!Object.keys(researches).length) log(`[Debug] researches empty for town ${town.name} — raw: ${JSON.stringify(r)}`);
} catch (e) { log(`[Debug] town.researches() failed: ${e}`); } } catch (e) { log(`[Debug] town.researches() failed: ${e}`); }
// ---- Extra town flags ----------------------------------------------- // ---- Extra town flags -----------------------------------------------
@@ -172,19 +160,9 @@
let bonuses = {}; let bonuses = {};
let wonder_points = 0; let wonder_points = 0;
try { try {
const hp = town.hasPremium?.(); // Proper premium check for Admin/Curator
has_premium = hp || false; has_premium = uw.GameDataPremium?.isAdvisorActivated?.('curator') || false;
if (hp === undefined || hp === null) log(`[Debug] town.hasPremium() = ${hp} (missing or undefined) for ${town.name}`); } catch (e) { }
} catch (e) { log(`[Debug] town.hasPremium() threw: ${e}`); }
try {
const gb = town.getBonus?.();
bonuses = gb || {};
if (!gb || !Object.keys(gb).length) log(`[Debug] town.getBonus() = ${JSON.stringify(gb)} (empty/missing) for ${town.name}`);
} catch (e) { log(`[Debug] town.getBonus() threw: ${e}`); }
try {
wonder_points = town.wonder_points || 0;
if (!town.wonder_points) log(`[Debug] town.wonder_points = ${town.wonder_points} (zero/missing) for ${town.name}`);
} catch (e) { log(`[Debug] town.wonder_points threw: ${e}`); }
return { return {
town_id: town.id, town_id: town.id,

View File

@@ -549,7 +549,9 @@ function renderTownDetails() {
// ---- Researches ---- // ---- Researches ----
const researchObj = t.researches || {}; const researchObj = t.researches || {};
const researchEntries = Object.entries(researchObj).filter(([, v]) => v === true || v === 1 || Number(v) > 0); const researchEntries = Object.entries(researchObj).filter(([k, v]) =>
k !== 'id' && k !== 'town_id' && (v === true || v === 1 || Number(v) > 0)
);
let resHtml = ''; let resHtml = '';
if (researchEntries.length) { if (researchEntries.length) {
resHtml = researchEntries.map(([k]) => resHtml = researchEntries.map(([k]) =>