Guia de Farming: Difference between revisions
Tag: Undo |
m (Reverted edits by Admin (talk) to last revision by 45.179.28.214) Tag: Rollback |
||
| Line 61: | Line 61: | ||
<div style="position:absolute;bottom:60px;right:180px;width:60px;height:60px;border-radius:50%;border:2px solid rgba(249,197,0,0.08);pointer-events:none;"></div> | <div style="position:absolute;bottom:60px;right:180px;width:60px;height:60px;border-radius:50%;border:2px solid rgba(249,197,0,0.08);pointer-events:none;"></div> | ||
<div style="position:relative;z-index:1;max-width:900px | <div style="position:relative;z-index:1;max-width:900px;"> | ||
<!-- Breadcrumb --> | <!-- Breadcrumb --> | ||
<div style="display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:0.78rem;color:rgba(122,144,176,0.60);"> | |||
[[Main_Page|<span style="color:rgba(249,197,0,0.65);">TimeRO Wiki</span>]] | |||
<span style="opacity:0.4;">›</span> | |||
[[Guides|<span style="color:rgba(122,144,176,0.60);">Guias</span>]] | |||
<span style="opacity:0.4;">›</span> | |||
<span style="color:#e8eef8;">Farming de Zeny</span> | |||
</div> | |||
<!-- Category pills --> | <!-- Category pills --> | ||
| Line 85: | Line 91: | ||
<div style="display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:rgba(0,0,0,0.35);border:1px solid rgba(249,197,0,0.18);"> | <div style="display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:rgba(0,0,0,0.35);border:1px solid rgba(249,197,0,0.18);"> | ||
<span style="font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Melhor método:</span> | <span style="font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Melhor método:</span> | ||
<span style="font-size:0.92rem;font-weight:900;color:#f9c500;"> | <span style="font-size:0.92rem;font-weight:900;color:#f9c500;">Substituir com dado real</span> | ||
</div> | </div> | ||
<div style="display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:rgba(0,0,0,0.35);border:1px solid rgba(0,255,136,0.14);"> | <div style="display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:rgba(0,0,0,0.35);border:1px solid rgba(0,255,136,0.14);"> | ||
<span style="font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Nível mínimo:</span> | <span style="font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Nível mínimo:</span> | ||
<span style="font-size:0.92rem;font-weight:900;color:#00ff88;">Lv. | <span style="font-size:0.92rem;font-weight:900;color:#00ff88;">Lv. ???+</span> | ||
</div> | </div> | ||
<div style="display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:rgba(0,0,0,0.35);border:1px solid rgba(0,212,255,0.14);"> | <div style="display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:rgba(0,0,0,0.35);border:1px solid rgba(0,212,255,0.14);"> | ||
| Line 134: | Line 140: | ||
FARMING METHODS — 3-TAB SWITCHER | FARMING METHODS — 3-TAB SWITCHER | ||
═══════════════════════════════════════════════════════════ --> | ═══════════════════════════════════════════════════════════ --> | ||
<div id="methods-section" style="background:#07080f;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05); | <div id="methods-section" style="background:#07080f;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);"> | ||
<div style="max-width:1080px;margin:0 auto;"> | <div style="max-width:1080px;margin:0 auto;"> | ||
| Line 147: | Line 153: | ||
<!-- Method tab buttons --> | <!-- Method tab buttons --> | ||
<div style="display:flex;gap:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.07);margin-bottom:24px;background:rgba(0,0,0,0.30);"> | <div style="display:flex;gap:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.07);margin-bottom:24px;background:rgba(0,0,0,0.30);"> | ||
< | <button id="mtab-grind" onclick="switchMethod('grind')" style="flex:1;padding:16px 20px;border:none;background:linear-gradient(135deg,rgba(249,197,0,0.18),rgba(249,197,0,0.07));color:#f9c500;font-size:0.92rem;font-weight:900;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);transition:all 0.18s;"> | ||
< | ⚔️ Grind Ativo | ||
< | </button> | ||
<button id="mtab-market" onclick="switchMethod('market')" style="flex:1;padding:16px 20px;border:none;background:transparent;color:rgba(0,212,255,0.60);font-size:0.92rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);transition:all 0.18s;"> | |||
🏪 Mercado | |||
</button> | |||
<button id="mtab-passive" onclick="switchMethod('passive')" style="flex:1;padding:16px 20px;border:none;background:transparent;color:rgba(176,108,255,0.60);font-size:0.92rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:all 0.18s;"> | |||
💤 Renda Passiva | |||
</button> | |||
</div> | </div> | ||
| Line 155: | Line 167: | ||
<div id="method-grind" class="method-panel" style="display:grid;grid-template-columns:1fr 1fr;gap:20px;"> | <div id="method-grind" class="method-panel" style="display:grid;grid-template-columns:1fr 1fr;gap:20px;"> | ||
<!-- Left: description --> | |||
<div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.14);border-radius:16px;padding:24px 22px;"> | <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.14);border-radius:16px;padding:24px 22px;"> | ||
<div style="display:flex;align-items:center;gap:12px;margin-bottom:16px;"> | <div style="display:flex;align-items:center;gap:12px;margin-bottom:16px;"> | ||
| Line 165: | Line 178: | ||
<p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 16px;">O método mais direto: você mata monstros, coleta os drops e vende no mercado. O lucro depende da eficiência de kills e do valor dos drops do mapa escolhido.</p> | <p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 16px;">O método mais direto: você mata monstros, coleta os drops e vende no mercado. O lucro depende da eficiência de kills e do valor dos drops do mapa escolhido.</p> | ||
<p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com as melhores rotas de grind ativo do servidor. Mencione quais classes têm vantagem, quais monstros dropar os itens mais valiosos e qual é o range ideal de nível.</p> | <p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com as melhores rotas de grind ativo do servidor. Mencione quais classes têm vantagem, quais monstros dropar os itens mais valiosos e qual é o range ideal de nível.</p> | ||
<!-- Pros/cons --> | |||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;"> | <div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;"> | ||
<div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);"> | <div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);"> | ||
| Line 186: | Line 199: | ||
</div> | </div> | ||
<!-- Right: quick metrics --> | |||
<div style="display:flex;flex-direction:column;gap:12px;"> | <div style="display:flex;flex-direction:column;gap:12px;"> | ||
<div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);border-radius:14px;padding:18px 20px;"> | <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);border-radius:14px;padding:18px 20px;"> | ||
| Line 213: | Line 227: | ||
</div> | </div> | ||
</div> | </div> | ||
<div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);border-radius:14px;padding:16px 20px;"> | <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);border-radius:14px;padding:16px 20px;"> | ||
<div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div> | <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div> | ||
| Line 233: | Line 246: | ||
<p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 14px;">O mercado é uma mina de ouro para quem conhece os preços. Compre itens sub-valorizados de outros jogadores e revenda com margem. Requer conhecimento profundo de preços.</p> | <p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 14px;">O mercado é uma mina de ouro para quem conhece os preços. Compre itens sub-valorizados de outros jogadores e revenda com margem. Requer conhecimento profundo de preços.</p> | ||
<p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com estratégias reais de trading do TimeRO: itens que oscilam bastante, horários de pico de oferta/demanda, quais itens de quest têm alta rotatividade.</p> | <p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com estratégias reais de trading do TimeRO: itens que oscilam bastante, horários de pico de oferta/demanda, quais itens de quest têm alta rotatividade.</p> | ||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;"> | <div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;"> | ||
<div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);"> | <div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);"> | ||
| Line 253: | Line 265: | ||
</div> | </div> | ||
</div> | </div> | ||
<div style="display:flex;flex-direction:column;gap:12px;"> | <div style="display:flex;flex-direction:column;gap:12px;"> | ||
<div style="background:rgba(0,0,0,0.28);border:1px solid rgba(0,212,255,0.12);border-radius:14px;padding:18px 20px;"> | <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(0,212,255,0.12);border-radius:14px;padding:18px 20px;"> | ||
| Line 263: | Line 274: | ||
</div> | </div> | ||
</div> | </div> | ||
<div style="background:rgba(0,0,0,0.28);border:1px solid rgba(0,212,255,0.12);border-radius:14px;padding:16px 20px;"> | <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(0,212,255,0.12);border-radius:14px;padding:16px 20px;"> | ||
<div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div> | <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div> | ||
| Line 279: | Line 289: | ||
<div style="display:flex;align-items:center;gap:12px;margin-bottom:16px;"> | <div style="display:flex;align-items:center;gap:12px;margin-bottom:16px;"> | ||
<div style="width:44px;height:44px;border-radius:12px;background:rgba(176,108,255,0.14);border:1px solid rgba(176,108,255,0.26);display:flex;align-items:center;justify-content:center;font-size:1.3rem;">💤</div> | <div style="width:44px;height:44px;border-radius:12px;background:rgba(176,108,255,0.14);border:1px solid rgba(176,108,255,0.26);display:flex;align-items:center;justify-content:center;font-size:1.3rem;">💤</div> | ||
<div><div style="font-size:1.05rem;font-weight:900;color:#fff;">Renda Passiva</div><div style="font-size:0.72rem;color:rgba(122,144,176,0.60);">Quests · Vendor shop · | <div><div style="font-size:1.05rem;font-weight:900;color:#fff;">Renda Passiva</div><div style="font-size:0.72rem;color:rgba(122,144,176,0.60);">Quests · Vendor shop · Producção</div></div> | ||
</div> | </div> | ||
<p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 14px;">Fontes de Zeny que geram renda enquanto você não está ativamente grindando: quests diárias, open shop, produção de itens e sistemas automáticos do servidor.</p> | <p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 14px;">Fontes de Zeny que geram renda enquanto você não está ativamente grindando: quests diárias, open shop, produção de itens (Alchemist/Blacksmith), e sistemas automáticos do servidor.</p> | ||
<p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com detalhes reais do TimeRO: existe sistema de venda automática? Quests diárias com recompensa em Zeny? Quais profissões são mais lucrativas passivamente?</p> | <p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com detalhes reais do TimeRO: existe sistema de venda automática? Quests diárias com recompensa em Zeny? Quais profissões são mais lucrativas passivamente?</p> | ||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;"> | <div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;"> | ||
<div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);"> | <div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);"> | ||
<div style="font-size:0.62rem;font-weight:800;color:#00ff88;letter-spacing:0.10em;text-transform:uppercase;margin-bottom:5px;">Vantagens</div> | <div style="font-size:0.62rem;font-weight:800;color:#00ff88;letter-spacing:0.10em;text-transform:uppercase;margin-bottom:5px;">Vantagens</div> | ||
<ul style="margin:0;padding-left:14px;font-size:0.80rem;color:rgba(176,192,224,0.75);line-height:1.7;"> | <ul style="margin:0;padding-left:14px;font-size:0.80rem;color:rgba(176,192,224,0.75);line-height:1.7;"><li>Renda sem esforço constante</li><li>Combinável com grind</li></ul> | ||
</div> | </div> | ||
<div style="padding:10px 12px;border-radius:8px;background:rgba(255,61,90,0.04);border:1px solid rgba(255,61,90,0.10);"> | <div style="padding:10px 12px;border-radius:8px;background:rgba(255,61,90,0.04);border:1px solid rgba(255,61,90,0.10);"> | ||
<div style="font-size:0.62rem;font-weight:800;color:#ff3d5a;letter-spacing:0.10em;text-transform:uppercase;margin-bottom:5px;">Desvantagens</div> | <div style="font-size:0.62rem;font-weight:800;color:#ff3d5a;letter-spacing:0.10em;text-transform:uppercase;margin-bottom:5px;">Desvantagens</div> | ||
<ul style="margin:0;padding-left:14px;font-size:0.80rem;color:rgba(176,192,224,0.75);line-height:1.7;"> | <ul style="margin:0;padding-left:14px;font-size:0.80rem;color:rgba(176,192,224,0.75);line-height:1.7;"><li>Menor volume de Zeny</li><li>Setup inicial necessário</li></ul> | ||
</div> | </div> | ||
</div> | </div> | ||
</div> | </div> | ||
<div style="display:flex;flex-direction:column;gap:12px;"> | <div style="display:flex;flex-direction:column;gap:12px;"> | ||
<div style="background:rgba(0,0,0,0.28);border:1px solid rgba(176,108,255,0.12);border-radius:14px;padding:18px 20px;"> | <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(176,108,255,0.12);border-radius:14px;padding:18px 20px;"> | ||
| Line 310: | Line 312: | ||
</div> | </div> | ||
</div> | </div> | ||
<div style="background:rgba(0,0,0,0.28);border:1px solid rgba(176,108,255,0.12);border-radius:14px;padding:16px 20px;"> | <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(176,108,255,0.12);border-radius:14px;padding:16px 20px;"> | ||
<div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div> | <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div> | ||
| Line 329: | Line 330: | ||
TOP FARMING SPOTS — ROUTE VIEWER | TOP FARMING SPOTS — ROUTE VIEWER | ||
═══════════════════════════════════════════════════════════ --> | ═══════════════════════════════════════════════════════════ --> | ||
<div id="routes-section" style="background:#04060d;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05); | <div id="routes-section" style="background:#04060d;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);"> | ||
<div style="max-width:1080px;margin:0 auto;"> | <div style="max-width:1080px;margin:0 auto;"> | ||
<div style="text-align:center;margin-bottom:32px;"> | <div style="text-align:center;margin-bottom:32px;"> | ||
<div style="display:inline-flex;align-items | <div style="display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.20);margin-bottom:12px;"> | ||
<span style="font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#00ff88;font-weight: | <span style="font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#00ff88;font-weight:700;">// Rotas de Farm</span> | ||
</div> | </div> | ||
<h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 | <h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 8px;border:none;">Melhores locais de farming</h2> | ||
<p style="color:rgba(122,144,176,0.70);font-size:0.92rem;margin:0;">Clique em uma localização para ver a rota completa e estratégia.</p> | <p style="color:rgba(122,144,176,0.70);font-size:0.92rem;margin:0;">Clique em uma localização para ver a rota completa e estratégia.</p> | ||
</div> | </div> | ||
<!-- Location pill grid --> | <!-- Location pill grid --> | ||
<div style="display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:28px;"> | |||
<div style="display:flex;flex-wrap: | |||
< | <button onclick="expandRoute('route-a')" class="route-pill" id="pill-route-a" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(249,197,0,0.20);background:rgba(249,197,0,0.07);color:rgba(249,197,0,0.80);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;"> | ||
<span style="font-size:1rem;">🗺️</span> Rota A — Lv.??+ | |||
</button> | |||
<button onclick="expandRoute('route-b')" class="route-pill" id="pill-route-b" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,212,255,0.18);background:rgba(0,212,255,0.06);color:rgba(0,212,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;"> | |||
<span style="font-size:1rem;">🗺️</span> Rota B — Lv.??+ | |||
</button> | |||
< | <button onclick="expandRoute('route-c')" class="route-pill" id="pill-route-c" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,255,136,0.18);background:rgba(0,255,136,0.06);color:rgba(0,255,136,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;"> | ||
<span style="font-size:1rem;">🗺️</span> Rota C — Lv.??+ | |||
</button> | |||
<button onclick="expandRoute('route-d')" class="route-pill" id="pill-route-d" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(255,107,0,0.18);background:rgba(255,107,0,0.06);color:rgba(255,107,0,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;"> | |||
<span style="font-size:1rem;">🗺️</span> Rota D — Lv.??+ | |||
</button> | |||
<button onclick="expandRoute('route-e')" class="route-pill" id="pill-route-e" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(176,108,255,0.18);background:rgba(176,108,255,0.06);color:rgba(176,108,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;"> | |||
<span style="font-size:1rem;">🗺️</span> Rota E — Lv.??+ (Endgame) | |||
</button> | |||
</ | |||
</div> | </div> | ||
<div | <!-- Route detail cards (hidden until clicked) --> | ||
<div id="route-a" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(249,197,0,0.18);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;"> | |||
< | <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(249,197,0,0.12),rgba(249,197,0,0.04));border-bottom:1px solid rgba(249,197,0,0.12);display:flex;align-items:center;justify-content:space-between;"> | ||
<div style="display:flex;align-items:center;gap:10px;"> | |||
<span style="font-size:1.3rem;">🗺️</span> | |||
<div> | |||
<div style="font-size:1rem;font-weight:900;color:#fff;">Rota A — Nome do Mapa/Local</div> | |||
< | <div style="font-size:0.70rem;color:rgba(249,197,0,0.60);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M–???M z/hr estimado</div> | ||
</div> | |||
</div> | |||
<button onclick="expandRoute('route-a')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button> | |||
</div> | </div> | ||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:0;"> | |||
<div style=" | <div style="padding:20px 22px;border-right:1px solid rgba(255,255,255,0.05);"> | ||
<div style="font-size:0.70rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:10px;">🐉 Monstros-Alvo</div> | |||
<div style="display:flex;flex-direction:column;gap:7px;"> | |||
<div style="display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);"> | |||
<span style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Monstro 1</span> | |||
<span style="font-size:0.76rem;color:#f9c500;font-weight:700;">Drop: Item X (X%)</span> | |||
</div> | |||
</div> | <div style="display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);"> | ||
<span style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Monstro 2</span> | |||
< | <span style="font-size:0.76rem;color:#f9c500;font-weight:700;">Drop: Item Y (X%)</span> | ||
</div> | |||
</div> | |||
<div style="margin-top:12px;padding:10px 12px;border-radius:8px;background:rgba(249,197,0,0.05);border:1px solid rgba(249,197,0,0.10);"> | |||
<div style="font-size:0.70rem;font-weight:700;color:rgba(249,197,0,0.65);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.08em;">Código do mapa</div> | |||
<div style="font-size:0.84rem;font-weight:800;color:#f9c500;font-family:monospace;">map_code_aqui</div> | |||
</div> | |||
</div> | |||
<div style="padding:20px 22px;"> | |||
<div style="font-size:0.70rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:10px;">🎯 Estratégia</div> | |||
<p style="font-size:0.84rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 12px;">Substitua com estratégia real para esta rota. Qual classe funciona melhor, qual skill usar, como posicionar, se tem cooldown de respawn, e se vale a pena usar buffs/consumíveis.</p> | |||
<div style="display:flex;flex-wrap:wrap;gap:5px;"> | |||
<span style="padding:3px 8px;border-radius:5px;background:rgba(249,197,0,0.07);border:1px solid rgba(249,197,0,0.16);font-size:0.70rem;color:#f9c500;font-weight:700;">Classe recomendada</span> | |||
<span style="padding:3px 8px;border-radius:5px;background:rgba(249,197,0,0.07);border:1px solid rgba(249,197,0,0.16);font-size:0.70rem;color:#f9c500;font-weight:700;">Dificuldade: ???</span> | |||
</div> | |||
</div> | |||
</div> | </div> | ||
</div> | </div> | ||
<div | <!-- Route B --> | ||
<div id="route-b" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(0,212,255,0.18);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;"> | |||
< | <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(0,212,255,0.10),rgba(0,212,255,0.03));border-bottom:1px solid rgba(0,212,255,0.10);display:flex;align-items:center;justify-content:space-between;"> | ||
<div style="display:flex;align-items:center;gap:10px;"><span style="font-size:1.3rem;">🗺️</span><div><div style="font-size:1rem;font-weight:900;color:#fff;">Rota B — Nome do Mapa/Local</div><div style="font-size:0.70rem;color:rgba(0,212,255,0.60);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div></div></div> | |||
<button onclick="expandRoute('route-b')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button> | |||
< | |||
</div> | </div> | ||
<div style="padding:20px 22px;"> | |||
<p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com os dados reais desta rota: monstros, mapa, drops mais valiosos e estratégia de farm. Siga o mesmo padrão da Rota A acima.</p> | |||
< | |||
</div> | </div> | ||
</div> | </div> | ||
<!-- Routes C, D, E — same pattern, collapsed --> | |||
<div style="font-size: | <div id="route-c" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(0,255,136,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;"> | ||
< | <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(0,255,136,0.08),rgba(0,255,136,0.02));border-bottom:1px solid rgba(0,255,136,0.08);display:flex;align-items:center;justify-content:space-between;"> | ||
<div style="display:flex;align-items:center;gap:10px;"><span style="font-size:1.3rem;">🗺️</span><div><div style="font-size:1rem;font-weight:900;color:#fff;">Rota C — Nome do Mapa/Local</div><div style="font-size:0.70rem;color:rgba(0,255,136,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div></div></div> | |||
<button onclick="expandRoute('route-c')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button> | |||
</div> | </div> | ||
<div style="padding:20px 22px;"><p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota C.</p></div> | |||
</div> | </div> | ||
<div id="route-d" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(255,107,0,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;"> | |||
<div style="padding:16px 22px;background:linear-gradient(135deg,rgba(255,107,0,0.08),rgba(255,107,0,0.02));border-bottom:1px solid rgba(255,107,0,0.08);display:flex;align-items:center;justify-content:space-between;"> | |||
<div style="display:flex;align-items:center;gap:10px;"><span style="font-size:1.3rem;">🗺️</span><div><div style="font-size:1rem;font-weight:900;color:#fff;">Rota D — Nome do Mapa/Local</div><div style="font-size:0.70rem;color:rgba(255,107,0,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div></div></div> | |||
<button onclick="expandRoute('route-d')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button> | |||
<div id="route- | |||
</div> | </div> | ||
<div style="padding:20px 22px;"><p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota D.</p></div> | |||
</div> | </div> | ||
<div id="route-e" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(176,108,255,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;"> | |||
<div style="padding:16px 22px;background:linear-gradient(135deg,rgba(176,108,255,0.08),rgba(176,108,255,0.02));border-bottom:1px solid rgba(176,108,255,0.08);display:flex;align-items:center;justify-content:space-between;"> | |||
<div style="display:flex;align-items:center;gap:10px;"><span style="font-size:1.3rem;">🗺️</span><div><div style="font-size:1rem;font-weight:900;color:#fff;">Rota E — Endgame Farming</div><div style="font-size:0.70rem;color:rgba(176,108,255,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M+ z/hr estimado</div></div></div> | |||
<button onclick="expandRoute('route-e')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button> | |||
<div style=" | |||
</div> | </div> | ||
<div style="padding:20px 22px;"><p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota E (endgame). Mencione o nível mínimo, build necessária e por que é a melhor rota para jogadores veteranos.</p></div> | |||
</div> | </div> | ||
</div> | </div> | ||
</div> | </div> | ||
| Line 604: | Line 476: | ||
<div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);background:rgba(249,197,0,0.03);"> | <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);background:rgba(249,197,0,0.03);"> | ||
<div> | <div> | ||
<div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#1 — | <div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#1 — Rota Endgame</div> | ||
<div style="font-size:0.68rem;color:rgba(122,144,176,0.55);"> | <div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Substituir com nome</div> | ||
</div> | </div> | ||
<div style="display:flex;align-items:center;gap:10px;"> | <div style="display:flex;align-items:center;gap:10px;"> | ||
| Line 611: | Line 483: | ||
<div class="eff-bar" style="height:100%;width:95%;background:linear-gradient(90deg,#f9c500,#f9a826);border-radius:999px;box-shadow:0 0 8px rgba(249,197,0,0.25);"></div> | <div class="eff-bar" style="height:100%;width:95%;background:linear-gradient(90deg,#f9c500,#f9a826);border-radius:999px;box-shadow:0 0 8px rgba(249,197,0,0.25);"></div> | ||
</div> | </div> | ||
<span style="font-size:0.82rem;font-weight:900;color:#f9c500;white-space:nowrap;min-width:72px;text-align:right;"> | <span style="font-size:0.82rem;font-weight:900;color:#f9c500;white-space:nowrap;min-width:72px;text-align:right;">???M z</span> | ||
</div> | </div> | ||
<div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv. | <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.???+</div> | ||
<div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(255,61,90,0.10);border:1px solid rgba(255,61,90,0.20);font-size:0.68rem;color:#ff3d5a;font-weight:700;">Alto</span></div> | <div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(255,61,90,0.10);border:1px solid rgba(255,61,90,0.20);font-size:0.68rem;color:#ff3d5a;font-weight:700;">Alto</span></div> | ||
</div> | </div> | ||
| Line 619: | Line 491: | ||
<!-- Row — #2 --> | <!-- Row — #2 --> | ||
<div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);"> | <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);"> | ||
<div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#2 — | <div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#2 — Trading Especializado</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Substituir com nome</div></div> | ||
<div style="display:flex;align-items:center;gap:10px;"> | <div style="display:flex;align-items:center;gap:10px;"> | ||
<div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:80%;background:linear-gradient(90deg,#00d4ff,#0099cc);border-radius:999px;"></div></div> | <div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:80%;background:linear-gradient(90deg,#00d4ff,#0099cc);border-radius:999px;"></div></div> | ||
<span style="font-size:0.82rem;font-weight:900;color:#00d4ff;white-space:nowrap;min-width:72px;text-align:right;"> | <span style="font-size:0.82rem;font-weight:900;color:#00d4ff;white-space:nowrap;min-width:72px;text-align:right;">???M z</span> | ||
</div> | </div> | ||
<div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.???+</div> | <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.???+</div> | ||
| Line 630: | Line 502: | ||
<!-- Row — #3 --> | <!-- Row — #3 --> | ||
<div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);"> | <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);"> | ||
<div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#3 — | <div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#3 — Rota Mid-Game</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Substituir com nome</div></div> | ||
<div style="display:flex;align-items:center;gap:10px;"> | <div style="display:flex;align-items:center;gap:10px;"> | ||
<div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:60%;background:linear-gradient(90deg,#00ff88,#00c870);border-radius:999px;"></div></div> | <div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:60%;background:linear-gradient(90deg,#00ff88,#00c870);border-radius:999px;"></div></div> | ||
<span style="font-size:0.82rem;font-weight:900;color:#00ff88;white-space:nowrap;min-width:72px;text-align:right;"> | <span style="font-size:0.82rem;font-weight:900;color:#00ff88;white-space:nowrap;min-width:72px;text-align:right;">???M z</span> | ||
</div> | </div> | ||
<div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv. | <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.???+</div> | ||
<div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.18);font-size:0.68rem;color:#00ff88;font-weight:700;">Baixo</span></div> | <div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.18);font-size:0.68rem;color:#00ff88;font-weight:700;">Baixo</span></div> | ||
</div> | </div> | ||
| Line 641: | Line 513: | ||
<!-- Row — #4 --> | <!-- Row — #4 --> | ||
<div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);"> | <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);"> | ||
<div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#4 — | <div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#4 — Rota Early-Game</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Substituir com nome</div></div> | ||
<div style="display:flex;align-items:center;gap:10px;"> | <div style="display:flex;align-items:center;gap:10px;"> | ||
<div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:38%;background:linear-gradient(90deg,#b06cff,#8844cc);border-radius:999px;"></div></div> | <div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:38%;background:linear-gradient(90deg,#b06cff,#8844cc);border-radius:999px;"></div></div> | ||
<span style="font-size:0.82rem;font-weight:900;color:#b06cff;white-space:nowrap;min-width:72px;text-align:right;"> | <span style="font-size:0.82rem;font-weight:900;color:#b06cff;white-space:nowrap;min-width:72px;text-align:right;">???k z</span> | ||
</div> | </div> | ||
<div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv. | <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.1+</div> | ||
<div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.18);font-size:0.68rem;color:#00ff88;font-weight:700;">Baixo</span></div> | <div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.18);font-size:0.68rem;color:#00ff88;font-weight:700;">Baixo</span></div> | ||
</div> | </div> | ||
| Line 652: | Line 524: | ||
<!-- Row — #5 --> | <!-- Row — #5 --> | ||
<div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;"> | <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;"> | ||
<div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#5 — | <div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#5 — Renda Passiva</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Quests + Open Shop</div></div> | ||
<div style="display:flex;align-items:center;gap:10px;"> | <div style="display:flex;align-items:center;gap:10px;"> | ||
<div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:22%;background:linear-gradient(90deg,#7a90b0,#5a7090);border-radius:999px;"></div></div> | <div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:22%;background:linear-gradient(90deg,#7a90b0,#5a7090);border-radius:999px;"></div></div> | ||
<span style="font-size:0.82rem;font-weight:900;color:#7a90b0;white-space:nowrap;min-width:72px;text-align:right;"> | <span style="font-size:0.82rem;font-weight:900;color:#7a90b0;white-space:nowrap;min-width:72px;text-align:right;">???k z</span> | ||
</div> | </div> | ||
<div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv. | <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.1+</div> | ||
<div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.18);font-size:0.68rem;color:#00ff88;font-weight:700;">Zero</span></div> | <div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.18);font-size:0.68rem;color:#00ff88;font-weight:700;">Zero</span></div> | ||
</div> | </div> | ||
</div> | </div> | ||
<div style="margin-top:10px;font-size:0.74rem;color:rgba(122,144,176,0.45);text-align:center;">* Valores estimados sem boosters. | <div style="margin-top:10px;font-size:0.74rem;color:rgba(122,144,176,0.45);text-align:center;">* Valores estimados sem boosters. Substituir com dados reais do servidor.</div> | ||
</div> | </div> | ||
</div> | </div> | ||
| Line 671: | Line 543: | ||
PROFITABILITY CALCULATOR | PROFITABILITY CALCULATOR | ||
═══════════════════════════════════════════════════════════ --> | ═══════════════════════════════════════════════════════════ --> | ||
<div id="calculator-section" style="background:#04060d;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05); | <div id="calculator-section" style="background:#04060d;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);"> | ||
<div style="max-width:780px;margin:0 auto;"> | <div style="max-width:780px;margin:0 auto;"> | ||
| Line 683: | Line 555: | ||
<div style="background:rgba(0,0,0,0.32);border:1px solid rgba(0,212,255,0.16);border-radius:22px;overflow:hidden;"> | <div style="background:rgba(0,0,0,0.32);border:1px solid rgba(0,212,255,0.16);border-radius:22px;overflow:hidden;"> | ||
<!-- Calculator inputs --> | |||
<div style="padding:28px 28px 20px;"> | <div style="padding:28px 28px 20px;"> | ||
<div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:20px;"> | |||
<!-- Input: hours/day --> | |||
<div style="background:rgba(0,0,0,0.30);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 18px;"> | <div style="background:rgba(0,0,0,0.30);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 18px;"> | ||
<div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:8px;">⏱ Horas/dia</div> | <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:8px;">⏱ Horas/dia</div> | ||
<div style="display:flex;align-items:center;gap:8px;"> | <div style="display:flex;align-items:center;gap:8px;"> | ||
< | <button onclick="adjustCalc('hours', -0.5)" style="width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04);color:#e8eef8;font-size:1rem;cursor:pointer;font-family:inherit;">−</button> | ||
<div id="calc-hours" style="flex:1;text-align:center;font-size:1.6rem;font-weight:900;color:#fff;">2</div> | <div id="calc-hours" style="flex:1;text-align:center;font-size:1.6rem;font-weight:900;color:#fff;">2</div> | ||
< | <button onclick="adjustCalc('hours', 0.5)" style="width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04);color:#e8eef8;font-size:1rem;cursor:pointer;font-family:inherit;">+</button> | ||
</div> | </div> | ||
</div> | </div> | ||
<div style="background:rgba(0,0,0,0.30);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 18px | <!-- Input: method select --> | ||
<div style="background:rgba(0,0,0,0.30);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 18px;"> | |||
<div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:8px;">⚔️ Método</div> | <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:8px;">⚔️ Método</div> | ||
<select id="calc-method" onchange="updateCalc()" style="width:100%;padding:8px;border-radius:8px;background:rgba(0,0,0,0.40);border:1px solid rgba(255,255,255,0.10);color:#e8eef8;font-size:0.88rem;font-family:inherit;outline:none;"> | |||
< | <option value="95">Rota Endgame (???M/hr)</option> | ||
<option value="70" selected>Rota Mid-Game (???M/hr)</option> | |||
<option value="40">Rota Early-Game (???k/hr)</option> | |||
<option value="20">Renda Passiva (???k/hr)</option> | |||
</select> | |||
< | |||
< | |||
< | |||
< | |||
</ | |||
</div> | </div> | ||
<!-- Input: booster? --> | |||
<div style="background:rgba(0,0,0,0.30);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 18px;"> | <div style="background:rgba(0,0,0,0.30);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 18px;"> | ||
<div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:8px;">⚗️ Booster Ativo?</div> | <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:8px;">⚗️ Booster Ativo?</div> | ||
<div style="display:flex;gap:8px;margin-top:4px;"> | <div style="display:flex;gap:8px;margin-top:4px;"> | ||
< | <button id="boost-no" onclick="setBooster(false)" style="flex:1;padding:8px;border-radius:8px;background:rgba(255,61,90,0.15);border:1px solid rgba(255,61,90,0.30);color:#ff3d5a;font-size:0.80rem;font-weight:800;cursor:pointer;font-family:inherit;">Não</button> | ||
< | <button id="boost-yes" onclick="setBooster(true)" style="flex:1;padding:8px;border-radius:8px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.80rem;font-weight:700;cursor:pointer;font-family:inherit;">+50%</button> | ||
</div> | </div> | ||
</div> | </div> | ||
| Line 722: | Line 592: | ||
</div> | </div> | ||
<!-- Results display --> | |||
<div style="background:linear-gradient(135deg,rgba(249,197,0,0.10),rgba(249,197,0,0.03));border:1px solid rgba(249,197,0,0.22);border-radius:16px;padding:20px 24px;"> | <div style="background:linear-gradient(135deg,rgba(249,197,0,0.10),rgba(249,197,0,0.03));border:1px solid rgba(249,197,0,0.22);border-radius:16px;padding:20px 24px;"> | ||
<div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;text-align:center;"> | <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;text-align:center;"> | ||
<div> | <div> | ||
<div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:5px;">Por Sessão</div> | <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:5px;">Por Sessão</div> | ||
<div id="result-session" style="font-size:1.6rem;font-weight:900;color:#f9c500;letter-spacing:-0.02em;"> | <div id="result-session" style="font-size:1.6rem;font-weight:900;color:#f9c500;letter-spacing:-0.02em;">???M z</div> | ||
</div> | </div> | ||
<div> | <div> | ||
<div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:5px;">Por Dia</div> | <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:5px;">Por Dia</div> | ||
<div id="result-day" style="font-size:1.6rem;font-weight:900;color:#f9c500;letter-spacing:-0.02em;"> | <div id="result-day" style="font-size:1.6rem;font-weight:900;color:#f9c500;letter-spacing:-0.02em;">???M z</div> | ||
</div> | </div> | ||
<div> | <div> | ||
<div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:5px;">Por Semana</div> | <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:5px;">Por Semana</div> | ||
<div id="result-week" style="font-size:1.6rem;font-weight:900;color:#fff;letter-spacing:-0.02em;"> | <div id="result-week" style="font-size:1.6rem;font-weight:900;color:#fff;letter-spacing:-0.02em;">???M z</div> | ||
</div> | </div> | ||
</div> | </div> | ||
<!-- Visual gauge --> | |||
<div> | <div> | ||
<div style="display:flex;justify-content:space-between;margin-bottom:6px;"> | <div style="display:flex;justify-content:space-between;margin-bottom:6px;"> | ||
<span style="font-size:0.70rem;color:rgba(122,144,176,0.55);">Progresso semanal</span> | <span style="font-size:0.70rem;color:rgba(122,144,176,0.55);">Progresso semanal</span> | ||
<span id="result-pct" style="font-size:0.70rem;font-weight:800;color:#f9c500;"> | <span id="result-pct" style="font-size:0.70rem;font-weight:800;color:#f9c500;">0%</span> | ||
</div> | </div> | ||
<div style="height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"> | <div style="height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"> | ||
<div id="result-bar" style="height:100%;width: | <div id="result-bar" style="height:100%;width:0%;background:linear-gradient(90deg,#f9c500,#f9a826);border-radius:999px;transition:width 0.5s cubic-bezier(0.22,1,0.36,1);"></div> | ||
</div> | </div> | ||
</div> | </div> | ||
</div> | </div> | ||
</div> | |||
<div style="padding:14px 28px 20px;"> | |||
<div style="font-size:0.75rem;color:rgba(122,144,176,0.45);text-align:center;">Os valores de Zeny/hr são estimativas. Substitua os números no código JS com valores reais do servidor após testes.</div> | |||
</div> | </div> | ||
</div> | |||
</div> | |||
</div> | |||
<!-- /CALCULATOR --> | |||
<!-- ═══════════════════════════════════════════════════════════ | |||
MARKET BASICS | |||
═══════════════════════════════════════════════════════════ --> | |||
<div style="background:#07080f;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);"> | |||
<div style="max-width:1040px;margin:0 auto;"> | |||
<div style="text-align:center;margin-bottom:32px;"> | |||
<div style="display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:rgba(0,212,255,0.08);border:1px solid rgba(0,212,255,0.18);margin-bottom:12px;"> | |||
<span style="font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#00d4ff;font-weight:700;">// Mercado</span> | |||
</div> | </div> | ||
<h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 8px;border:none;">Como funciona a economia</h2> | |||
<p style="color:rgba(122,144,176,0.70);font-size:0.92rem;margin:0;">Entenda onde e como vender seus itens para máximo lucro.</p> | |||
</div> | </div> | ||
<div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;"> | |||
<div style="padding:24px 20px;border-radius:16px;background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);"> | |||
<div style="font-size:1.6rem;margin-bottom:12px;">🏪</div> | |||
<div style="font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:#f9c500;font-weight:700;margin-bottom:6px;">Venda NPC</div> | |||
<h3 style="font-size:1rem;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:0.02em;">Venda imediata, preço fixo</h3> | |||
<p style="font-size:0.84rem;color:rgba(176,192,224,0.72);line-height:1.65;margin:0;">Use para itens sem valor no mercado de jogadores. Rápido mas menos lucrativo. Substitua com a lista de itens que valem mais vendendo para NPC do que para jogadores.</p> | |||
</div> | |||
<div style="padding:24px 20px;border-radius:16px;background:rgba(0,0,0,0.28);border:1px solid rgba(0,212,255,0.12);"> | |||
<div style="font-size:1.6rem;margin-bottom:12px;">👥</div> | |||
<div style="font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:#00d4ff;font-weight:700;margin-bottom:6px;">Venda P2P / Vending</div> | |||
<h3 style="font-size:1rem;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:0.02em;">Máximo lucro, requer paciência</h3> | |||
<p style="font-size:0.84rem;color:rgba(176,192,224,0.72);line-height:1.65;margin:0;">Open shop ou mercado de jogadores. Preços determinados pela oferta e demanda. Substitua com detalhes de como funciona o sistema de venda no TimeRO.</p> | |||
</div> | |||
<div style="padding:24px 20px;border-radius:16px;background:rgba(0,0,0,0.28);border:1px solid rgba(0,255,136,0.12);"> | |||
<div style="font-size:1.6rem;margin-bottom:12px;">📊</div> | |||
<div style="font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:#00ff88;font-weight:700;margin-bottom:6px;">Pesquisa de Preços</div> | |||
<h3 style="font-size:1rem;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:0.02em;">Conheça o mercado</h3> | |||
<p style="font-size:0.84rem;color:rgba(176,192,224,0.72);line-height:1.65;margin:0;">Antes de vender, pesquise os preços praticados. Mencione onde pesquisar: Discord, site oficial, ou @whosell/@whobuy in-game commands se o servidor suportar.</p> | |||
</div> | |||
</div> | |||
</div> | </div> | ||
</div> | </div> | ||
<!-- / | <!-- /MARKET BASICS --> | ||
<!-- ═══════════════════════════════════════════════════════════ | <!-- ═══════════════════════════════════════════════════════════ | ||
| Line 776: | Line 690: | ||
<div style="background:rgba(0,0,0,0.28);border:1px solid rgba(176,108,255,0.14);border-radius:22px;overflow:hidden;"> | <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(176,108,255,0.14);border-radius:22px;overflow:hidden;"> | ||
<!-- Consumable toggles --> | |||
<div style="padding:24px 24px 0;"> | <div style="padding:24px 24px 0;"> | ||
<div style="font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:14px;">🎒 Clique para adicionar ao loadout</div> | <div style="font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:14px;">🎒 Clique para adicionar ao loadout</div> | ||
<div id="loadout-items" style="display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;"> | <div id="loadout-items" style="display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;"> | ||
<div class="loadout-item" data-cost="15" data-name="HP Potion (Grande)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s | <!-- Loadout item template — cost in thousands of Zeny per session --> | ||
<div class="loadout-item" data-cost="15" data-name="HP Potion (Grande)" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | |||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | ||
<div style="flex:1;"> | <div style="flex:1;"> | ||
| Line 788: | Line 704: | ||
</div> | </div> | ||
<div class="loadout-item" data-cost="10" data-name="SP Potion" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s | <div class="loadout-item" data-cost="10" data-name="SP Potion" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | ||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | ||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">SP Potion</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">10k z / sessão (estimado)</div></div> | <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">SP Potion</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">10k z / sessão (estimado)</div></div> | ||
</div> | </div> | ||
<div class="loadout-item" data-cost="25" data-name="Boost de EXP/Drop" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s | <div class="loadout-item" data-cost="25" data-name="Boost de EXP/Drop" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | ||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | ||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Boost de EXP/Drop</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">25k z / sessão (estimado)</div></div> | <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Boost de EXP/Drop</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">25k z / sessão (estimado)</div></div> | ||
</div> | </div> | ||
<div class="loadout-item" data-cost="8" data-name="Buff de STR/AGI" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s | <div class="loadout-item" data-cost="8" data-name="Buff de STR/AGI" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | ||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | ||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Buff de STR/AGI</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">8k z / sessão (estimado)</div></div> | <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Buff de STR/AGI</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">8k z / sessão (estimado)</div></div> | ||
</div> | </div> | ||
<div class="loadout-item" data-cost="20" data-name="Consumível Raro" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s | <div class="loadout-item" data-cost="20" data-name="Consumível Raro" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | ||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | ||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Consumível Raro</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">20k z / sessão (estimado)</div></div> | <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Consumível Raro</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">20k z / sessão (estimado)</div></div> | ||
</div> | </div> | ||
<div class="loadout-item" data-cost="5" data-name="Arrow / Ammo" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s | <div class="loadout-item" data-cost="5" data-name="Arrow / Ammo" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | ||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | ||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Arrow / Ammo</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">5k z / sessão (estimado)</div></div> | <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Arrow / Ammo</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">5k z / sessão (estimado)</div></div> | ||
| Line 816: | Line 732: | ||
</div> | </div> | ||
<!-- Running total --> | |||
<div style="border-top:1px solid rgba(176,108,255,0.12);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(176,108,255,0.04);"> | <div style="border-top:1px solid rgba(176,108,255,0.12);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(176,108,255,0.04);"> | ||
<div> | <div> | ||
| Line 825: | Line 742: | ||
<div id="loadout-count" style="font-size:1.4rem;font-weight:900;color:#e8eef8;">0</div> | <div id="loadout-count" style="font-size:1.4rem;font-weight:900;color:#e8eef8;">0</div> | ||
</div> | </div> | ||
< | <button onclick="clearLoadout()" style="padding:9px 18px;border-radius:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.55);font-size:0.78rem;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:0.05em;">Limpar</button> | ||
</div> | </div> | ||
</div> | </div> | ||
<div style="margin-top:10px;font-size:0.74rem;color:rgba(122,144,176,0.40);text-align:center;">Substitua os custos em < | <div style="margin-top:10px;font-size:0.74rem;color:rgba(122,144,176,0.40);text-align:center;">Substitua os custos em <code style="background:rgba(255,255,255,0.05);padding:1px 5px;border-radius:3px;color:rgba(176,108,255,0.65);">data-cost</code> com os preços reais do servidor (em milhares de Zeny).</div> | ||
</div> | </div> | ||
</div> | </div> | ||
| Line 943: | Line 860: | ||
</div> | </div> | ||
<!-- Edit CTA --> | |||
<div style="padding:22px;border-radius:14px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.06);text-align:center;"> | |||
<div style="font-size:1rem;margin-bottom:6px;">📊</div> | |||
<div style="font-size:0.92rem;font-weight:700;color:#e8eef8;margin-bottom:4px;">Sabe um método de farm melhor?</div> | |||
<div style="font-size:0.84rem;color:rgba(122,144,176,0.60);margin-bottom:14px;">Compartilhe! Guias são mais ricos com a experiência de toda a comunidade.</div> | |||
[[Farming_Guide/talk|<span style="display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;background:rgba(249,197,0,0.08);border:1px solid rgba(249,197,0,0.18);color:rgba(249,197,0,0.70);font-size:0.82rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;">💬 Discussão do Guia</span>]] | |||
| |||
[https://timero.com.br/discord <span style="display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;background:rgba(114,137,218,0.10);border:1px solid rgba(114,137,218,0.20);color:#7289da;font-size:0.82rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;">Discord TimeRO</span>] | |||
</div> | |||
</div> | |||
</div> | |||
<!-- /RELATED --> | |||
</div> | |||
<!-- /farming-guide-root --> | |||
<script> | |||
/* ════════════════════════════════════════════════════════ | |||
FARMING GUIDE JAVASCRIPT | |||
All new functions — none shared with leveling/mvp guides. | |||
════════════════════════════════════════════════════════ */ | |||
/* ── Method tab switcher ─────────────────────────── */ | |||
var activeMethod = 'grind'; | |||
var methodColors = { | |||
grind: { bg: 'rgba(249,197,0,0.18)', color: '#f9c500' }, | |||
market: { bg: 'rgba(0,212,255,0.14)', color: '#00d4ff' }, | |||
passive: { bg: 'rgba(176,108,255,0.14)', color: '#b06cff' } | |||
}; | |||
function switchMethod(m) { | |||
activeMethod = m; | |||
/* Hide all panels */ | |||
document.querySelectorAll('.method-panel').forEach(function(p) { | |||
p.style.display = 'none'; | |||
}); | |||
/* Show selected panel */ | |||
var panel = document.getElementById('method-' + m); | |||
if (panel) { panel.style.display = 'grid'; panel.style.animation = 'method-in 0.3s ease both'; } | |||
/* Update tab buttons */ | |||
var tabs = { grind: 'grind', market: 'market', passive: 'passive' }; | |||
Object.keys(tabs).forEach(function(key) { | |||
var btn = document.getElementById('mtab-' + key); | |||
if (!btn) return; | |||
if (key === m) { | |||
var mc = methodColors[m]; | |||
btn.style.background = mc.bg; | |||
btn.style.color = mc.color; | |||
btn.style.fontWeight = '900'; | |||
} else { | |||
btn.style.background = 'transparent'; | |||
btn.style.color = 'rgba(122,144,176,0.55)'; | |||
btn.style.fontWeight = '700'; | |||
} | |||
}); | |||
} | |||
/* ── Route pill viewer ───────────────────────────── */ | |||
var openRoute = null; | |||
function expandRoute(id) { | |||
var detail = document.getElementById(id); | |||
if (!detail) return; | |||
if (openRoute === id) { | |||
/* Toggle close */ | |||
detail.style.display = 'none'; | |||
openRoute = null; | |||
var pill = document.getElementById('pill-' + id); | |||
if (pill) { pill.style.transform = ''; pill.style.fontWeight = '800'; } | |||
return; | |||
} | |||
/* Close previously open */ | |||
if (openRoute) { | |||
var prev = document.getElementById(openRoute); | |||
if (prev) prev.style.display = 'none'; | |||
var prevPill = document.getElementById('pill-' + openRoute); | |||
if (prevPill) { prevPill.style.transform = ''; prevPill.style.fontWeight = '800'; } | |||
} | |||
detail.style.display = 'block'; | |||
openRoute = id; | |||
/* Highlight active pill */ | |||
var pill = document.getElementById('pill-' + id); | |||
if (pill) { pill.style.transform = 'scale(1.04)'; pill.style.fontWeight = '900'; } | |||
/* Scroll to route */ | |||
setTimeout(function() { detail.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }, 80); | |||
} | |||
/* ── Profitability Calculator ────────────────────── */ | |||
var calcState = { | |||
hours: 2, | |||
methodRate: 70, /* estimated M z per hour — change per method option */ | |||
booster: false | |||
}; | |||
function adjustCalc(field, delta) { | |||
if (field === 'hours') { | |||
calcState.hours = Math.max(0.5, Math.min(12, calcState.hours + delta)); | |||
var el = document.getElementById('calc-hours'); | |||
if (el) el.textContent = calcState.hours; | |||
} | |||
updateCalc(); | |||
} | |||
function setBooster(on) { | |||
calcState.booster = on; | |||
var yes = document.getElementById('boost-yes'); | |||
var no = document.getElementById('boost-no'); | |||
if (yes && no) { | |||
if (on) { | |||
yes.style.background = 'rgba(0,255,136,0.16)'; | |||
yes.style.borderColor = 'rgba(0,255,136,0.35)'; | |||
yes.style.color = '#00ff88'; | |||
no.style.background = 'rgba(255,255,255,0.04)'; | |||
no.style.borderColor = 'rgba(255,255,255,0.09)'; | |||
no.style.color = 'rgba(122,144,176,0.60)'; | |||
} else { | |||
no.style.background = 'rgba(255,61,90,0.15)'; | |||
no.style.borderColor = 'rgba(255,61,90,0.30)'; | |||
no.style.color = '#ff3d5a'; | |||
yes.style.background = 'rgba(255,255,255,0.04)'; | |||
yes.style.borderColor = 'rgba(255,255,255,0.09)'; | |||
yes.style.color = 'rgba(122,144,176,0.60)'; | |||
} | |||
} | |||
updateCalc(); | |||
} | |||
function updateCalc() { | |||
var sel = document.getElementById('calc-method'); | |||
if (sel) calcState.methodRate = parseInt(sel.value) || 70; | |||
var rate = calcState.methodRate * (calcState.booster ? 1.5 : 1.0); | |||
var session = rate * calcState.hours; | |||
var day = session; | |||
var week = day * 7; | |||
/* Format: if >= 1000, show as B (billions), >= 1 show as M, else k */ | |||
function fmt(v) { | |||
if (v >= 1000) return (v / 1000).toFixed(1) + 'B z'; | |||
if (v >= 1) return v.toFixed(0) + 'M z'; | |||
return (v * 1000).toFixed(0) + 'k z'; | |||
} | |||
var el_s = document.getElementById('result-session'); | |||
var el_d = document.getElementById('result-day'); | |||
var el_w = document.getElementById('result-week'); | |||
var el_b = document.getElementById('result-bar'); | |||
var el_p = document.getElementById('result-pct'); | |||
if (el_s) el_s.textContent = fmt(session); | |||
if (el_d) el_d.textContent = fmt(day); | |||
if (el_w) el_w.textContent = fmt(week); | |||
/* Bar: max = endgame method * 12h * 7d * 1.5x booster */ | |||
var max = 95 * 1.5 * 12 * 7; | |||
var pct = Math.min(100, Math.round((week / max) * 100)); | |||
if (el_b) el_b.style.width = pct + '%'; | |||
if (el_p) el_p.textContent = pct + '%'; | |||
} | |||
/* ── Loadout Builder ─────────────────────────────── */ | |||
var loadoutTotal = 0; | |||
var loadoutCount = 0; | |||
function toggleLoadout(el) { | |||
var cost = parseInt(el.dataset.cost) || 0; | |||
var box = el.querySelector('.li-check'); | |||
var on = el.dataset.selected === '1'; | |||
if (on) { | |||
el.dataset.selected = '0'; | |||
loadoutTotal -= cost; | |||
loadoutCount--; | |||
if (box) { box.textContent = ''; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; } | |||
el.style.background = 'rgba(255,255,255,0.03)'; | |||
el.style.borderColor = 'rgba(255,255,255,0.07)'; | |||
} else { | |||
el.dataset.selected = '1'; | |||
loadoutTotal += cost; | |||
loadoutCount++; | |||
if (box) { box.textContent = '✓'; box.style.background = 'rgba(176,108,255,0.20)'; box.style.borderColor = 'rgba(176,108,255,0.50)'; box.style.color = '#b06cff'; } | |||
el.style.background = 'rgba(176,108,255,0.07)'; | |||
el.style.borderColor = 'rgba(176,108,255,0.22)'; | |||
} | |||
var tot = document.getElementById('loadout-total'); | |||
var cnt = document.getElementById('loadout-count'); | |||
if (tot) tot.textContent = loadoutTotal >= 1000 | |||
? (loadoutTotal / 1000).toFixed(1) + 'M z' | |||
: loadoutTotal + 'k z'; | |||
if (cnt) cnt.textContent = loadoutCount; | |||
} | |||
function clearLoadout() { | |||
loadoutTotal = 0; loadoutCount = 0; | |||
document.querySelectorAll('.loadout-item').forEach(function(el) { | |||
el.dataset.selected = '0'; | |||
var box = el.querySelector('.li-check'); | |||
if (box) { box.textContent = ''; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; box.style.color = ''; } | |||
el.style.background = 'rgba(255,255,255,0.03)'; | |||
el.style.borderColor = 'rgba(255,255,255,0.07)'; | |||
}); | |||
var tot = document.getElementById('loadout-total'); if (tot) tot.textContent = '0k z'; | |||
var cnt = document.getElementById('loadout-count'); if (cnt) cnt.textContent = '0'; | |||
} | |||
/* ── Efficiency bars animate on scroll ──────────── */ | |||
(function() { | |||
var animated = false; | |||
var observer = new IntersectionObserver(function(entries) { | |||
entries.forEach(function(e) { | |||
if (e.isIntersecting && !animated) { | |||
animated = true; | |||
document.querySelectorAll('.eff-bar').forEach(function(bar, i) { | |||
var w = bar.style.width; | |||
bar.style.width = '0'; | |||
bar.style.transition = 'width 0.8s ' + (i * 0.08) + 's cubic-bezier(0.22,1,0.36,1)'; | |||
setTimeout(function() { bar.style.width = w; }, 50); | |||
}); | |||
} | |||
}); | |||
}, { threshold: 0.2 }); | |||
var section = document.querySelector('.eff-bar'); | |||
if (section) observer.observe(section.closest('div') || section); | |||
})(); | |||
/* ── Init ────────────────────────────────────────── */ | |||
document.addEventListener('DOMContentLoaded', function() { | |||
var sb = document.getElementById('settingsButton'), sm = document.getElementById('settingsMenu'); | |||
if (sb && sm) sb.addEventListener('click', function() { sm.style.right = sm.style.right === '20px' ? '-300px' : '20px'; }); | |||
/* Init first method tab */ | |||
switchMethod('grind'); | |||
/* Init calculator */ | |||
updateCalc(); | |||
/* Smooth anchors */ | |||
document.querySelectorAll('a[href^="#"]').forEach(function(a) { | |||
a.addEventListener('click', function(e) { | |||
var id = this.getAttribute('href').slice(1), el = document.getElementById(id); | |||
if (el) { e.preventDefault(); el.scrollIntoView({ behavior: 'smooth', block: 'start' }); } | |||
}); | |||
}); | |||
/* Mobile padding */ | |||
if (window.innerWidth < 900) { | |||
document.querySelectorAll( | |||
'[style*="padding:52px 64px"],[style*="padding:48px 64px"],[style*="padding:28px 64px"]' | |||
).forEach(function(el) { el.style.paddingLeft = '18px'; el.style.paddingRight = '18px'; }); | |||
} | |||
}); | |||
</script> | |||
[[Category:Guides]] | [[Category:Guides]] | ||
[[Category:Economy]] | [[Category:Economy]] | ||
[[Category:Farming]] | [[Category:Farming]] | ||
Revision as of 17:03, 30 April 2026
// Métodos de Farming
Escolha sua abordagem
Cada estilo tem vantagens diferentes. Clique para explorar.
O método mais direto: você mata monstros, coleta os drops e vende no mercado. O lucro depende da eficiência de kills e do valor dos drops do mapa escolhido.
Substitua com as melhores rotas de grind ativo do servidor. Mencione quais classes têm vantagem, quais monstros dropar os itens mais valiosos e qual é o range ideal de nível.
- Lucro imediato em Zeny
- EXP simultânea
- Drops raros possíveis
- Requer atenção ativa
- Custo de consumíveis
- Variação no lucro
Zeny/hora (estimado) ???M–???M
Dificuldade Moderada
Consistência Alta
Iniciantes Classes DPS Lv. 40+
// Rotas de Farm
Melhores locais de farming
Clique em uma localização para ver a rota completa e estratégia.
<button onclick="expandRoute('route-a')" class="route-pill" id="pill-route-a" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(249,197,0,0.20);background:rgba(249,197,0,0.07);color:rgba(249,197,0,0.80);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
🗺️ Rota A — Lv.??+
</button>
<button onclick="expandRoute('route-b')" class="route-pill" id="pill-route-b" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,212,255,0.18);background:rgba(0,212,255,0.06);color:rgba(0,212,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
🗺️ Rota B — Lv.??+
</button>
<button onclick="expandRoute('route-c')" class="route-pill" id="pill-route-c" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,255,136,0.18);background:rgba(0,255,136,0.06);color:rgba(0,255,136,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
🗺️ Rota C — Lv.??+
</button>
<button onclick="expandRoute('route-d')" class="route-pill" id="pill-route-d" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(255,107,0,0.18);background:rgba(255,107,0,0.06);color:rgba(255,107,0,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
🗺️ Rota D — Lv.??+
</button>
<button onclick="expandRoute('route-e')" class="route-pill" id="pill-route-e" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(176,108,255,0.18);background:rgba(176,108,255,0.06);color:rgba(176,108,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
🗺️ Rota E — Lv.??+ (Endgame)
</button>
// Ranking de Eficiência
Comparativo de métodos
Zeny por hora estimado em condições ideais. Valores variam conforme class e build.
// Calculadora
Calculadora de Lucro
Estime quanto Zeny você pode acumular com base na sua rotina de jogo.
// Mercado
Como funciona a economia
Entenda onde e como vender seus itens para máximo lucro.
Venda imediata, preço fixo
Use para itens sem valor no mercado de jogadores. Rápido mas menos lucrativo. Substitua com a lista de itens que valem mais vendendo para NPC do que para jogadores.
Máximo lucro, requer paciência
Open shop ou mercado de jogadores. Preços determinados pela oferta e demanda. Substitua com detalhes de como funciona o sistema de venda no TimeRO.
Conheça o mercado
Antes de vender, pesquise os preços praticados. Mencione onde pesquisar: Discord, site oficial, ou @whosell/@whobuy in-game commands se o servidor suportar.
// Loadout Builder
Monte seu loadout de farming
Selecione os consumíveis que você usa por sessão e veja o custo total. Ajuda a calcular o lucro real.
data-cost com os preços reais do servidor (em milhares de Zeny).
// Dicas Avançadas
Maximize cada hora de farm
Detalhes que a maioria dos jogadores ignora e fazem diferença real no lucro.
Guias relacionados
🌿BASEGuia de LevelingEvolua seu personagem enquanto faz Zeny no caminho.Ler →
💀AVANÇADOCaça a MVPsMVPs dropam os itens mais valiosos do servidor. Alta recompensa.Ler →
💹SISTEMAEconomia do ServidorEntenda o fluxo de Zeny, inflação e como o mercado funciona no macro.Ler →
💬 Discussão do Guia Discord TimeRO
<script>
/* ════════════════════════════════════════════════════════
FARMING GUIDE JAVASCRIPT All new functions — none shared with leveling/mvp guides.
════════════════════════════════════════════════════════ */
/* ── Method tab switcher ─────────────────────────── */ var activeMethod = 'grind'; var methodColors = {
grind: { bg: 'rgba(249,197,0,0.18)', color: '#f9c500' },
market: { bg: 'rgba(0,212,255,0.14)', color: '#00d4ff' },
passive: { bg: 'rgba(176,108,255,0.14)', color: '#b06cff' }
};
function switchMethod(m) {
activeMethod = m;
/* Hide all panels */
document.querySelectorAll('.method-panel').forEach(function(p) {
p.style.display = 'none';
});
/* Show selected panel */
var panel = document.getElementById('method-' + m);
if (panel) { panel.style.display = 'grid'; panel.style.animation = 'method-in 0.3s ease both'; }
/* Update tab buttons */
var tabs = { grind: 'grind', market: 'market', passive: 'passive' };
Object.keys(tabs).forEach(function(key) {
var btn = document.getElementById('mtab-' + key);
if (!btn) return;
if (key === m) {
var mc = methodColors[m];
btn.style.background = mc.bg;
btn.style.color = mc.color;
btn.style.fontWeight = '900';
} else {
btn.style.background = 'transparent';
btn.style.color = 'rgba(122,144,176,0.55)';
btn.style.fontWeight = '700';
}
});
}
/* ── Route pill viewer ───────────────────────────── */ var openRoute = null;
function expandRoute(id) {
var detail = document.getElementById(id); if (!detail) return;
if (openRoute === id) {
/* Toggle close */
detail.style.display = 'none';
openRoute = null;
var pill = document.getElementById('pill-' + id);
if (pill) { pill.style.transform = ; pill.style.fontWeight = '800'; }
return;
}
/* Close previously open */
if (openRoute) {
var prev = document.getElementById(openRoute);
if (prev) prev.style.display = 'none';
var prevPill = document.getElementById('pill-' + openRoute);
if (prevPill) { prevPill.style.transform = ; prevPill.style.fontWeight = '800'; }
}
detail.style.display = 'block'; openRoute = id;
/* Highlight active pill */
var pill = document.getElementById('pill-' + id);
if (pill) { pill.style.transform = 'scale(1.04)'; pill.style.fontWeight = '900'; }
/* Scroll to route */
setTimeout(function() { detail.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }, 80);
}
/* ── Profitability Calculator ────────────────────── */ var calcState = {
hours: 2, methodRate: 70, /* estimated M z per hour — change per method option */ booster: false
};
function adjustCalc(field, delta) {
if (field === 'hours') {
calcState.hours = Math.max(0.5, Math.min(12, calcState.hours + delta));
var el = document.getElementById('calc-hours');
if (el) el.textContent = calcState.hours;
}
updateCalc();
}
function setBooster(on) {
calcState.booster = on;
var yes = document.getElementById('boost-yes');
var no = document.getElementById('boost-no');
if (yes && no) {
if (on) {
yes.style.background = 'rgba(0,255,136,0.16)';
yes.style.borderColor = 'rgba(0,255,136,0.35)';
yes.style.color = '#00ff88';
no.style.background = 'rgba(255,255,255,0.04)';
no.style.borderColor = 'rgba(255,255,255,0.09)';
no.style.color = 'rgba(122,144,176,0.60)';
} else {
no.style.background = 'rgba(255,61,90,0.15)';
no.style.borderColor = 'rgba(255,61,90,0.30)';
no.style.color = '#ff3d5a';
yes.style.background = 'rgba(255,255,255,0.04)';
yes.style.borderColor = 'rgba(255,255,255,0.09)';
yes.style.color = 'rgba(122,144,176,0.60)';
}
}
updateCalc();
}
function updateCalc() {
var sel = document.getElementById('calc-method');
if (sel) calcState.methodRate = parseInt(sel.value) || 70;
var rate = calcState.methodRate * (calcState.booster ? 1.5 : 1.0); var session = rate * calcState.hours; var day = session; var week = day * 7;
/* Format: if >= 1000, show as B (billions), >= 1 show as M, else k */
function fmt(v) {
if (v >= 1000) return (v / 1000).toFixed(1) + 'B z';
if (v >= 1) return v.toFixed(0) + 'M z';
return (v * 1000).toFixed(0) + 'k z';
}
var el_s = document.getElementById('result-session');
var el_d = document.getElementById('result-day');
var el_w = document.getElementById('result-week');
var el_b = document.getElementById('result-bar');
var el_p = document.getElementById('result-pct');
if (el_s) el_s.textContent = fmt(session); if (el_d) el_d.textContent = fmt(day); if (el_w) el_w.textContent = fmt(week);
/* Bar: max = endgame method * 12h * 7d * 1.5x booster */ var max = 95 * 1.5 * 12 * 7; var pct = Math.min(100, Math.round((week / max) * 100)); if (el_b) el_b.style.width = pct + '%'; if (el_p) el_p.textContent = pct + '%';
}
/* ── Loadout Builder ─────────────────────────────── */ var loadoutTotal = 0; var loadoutCount = 0;
function toggleLoadout(el) {
var cost = parseInt(el.dataset.cost) || 0;
var box = el.querySelector('.li-check');
var on = el.dataset.selected === '1';
if (on) {
el.dataset.selected = '0';
loadoutTotal -= cost;
loadoutCount--;
if (box) { box.textContent = ; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; }
el.style.background = 'rgba(255,255,255,0.03)';
el.style.borderColor = 'rgba(255,255,255,0.07)';
} else {
el.dataset.selected = '1';
loadoutTotal += cost;
loadoutCount++;
if (box) { box.textContent = '✓'; box.style.background = 'rgba(176,108,255,0.20)'; box.style.borderColor = 'rgba(176,108,255,0.50)'; box.style.color = '#b06cff'; }
el.style.background = 'rgba(176,108,255,0.07)';
el.style.borderColor = 'rgba(176,108,255,0.22)';
}
var tot = document.getElementById('loadout-total');
var cnt = document.getElementById('loadout-count');
if (tot) tot.textContent = loadoutTotal >= 1000
? (loadoutTotal / 1000).toFixed(1) + 'M z'
: loadoutTotal + 'k z';
if (cnt) cnt.textContent = loadoutCount;
}
function clearLoadout() {
loadoutTotal = 0; loadoutCount = 0;
document.querySelectorAll('.loadout-item').forEach(function(el) {
el.dataset.selected = '0';
var box = el.querySelector('.li-check');
if (box) { box.textContent = ; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; box.style.color = ; }
el.style.background = 'rgba(255,255,255,0.03)';
el.style.borderColor = 'rgba(255,255,255,0.07)';
});
var tot = document.getElementById('loadout-total'); if (tot) tot.textContent = '0k z';
var cnt = document.getElementById('loadout-count'); if (cnt) cnt.textContent = '0';
}
/* ── Efficiency bars animate on scroll ──────────── */ (function() {
var animated = false;
var observer = new IntersectionObserver(function(entries) {
entries.forEach(function(e) {
if (e.isIntersecting && !animated) {
animated = true;
document.querySelectorAll('.eff-bar').forEach(function(bar, i) {
var w = bar.style.width;
bar.style.width = '0';
bar.style.transition = 'width 0.8s ' + (i * 0.08) + 's cubic-bezier(0.22,1,0.36,1)';
setTimeout(function() { bar.style.width = w; }, 50);
});
}
});
}, { threshold: 0.2 });
var section = document.querySelector('.eff-bar');
if (section) observer.observe(section.closest('div') || section);
})();
/* ── Init ────────────────────────────────────────── */ document.addEventListener('DOMContentLoaded', function() {
var sb = document.getElementById('settingsButton'), sm = document.getElementById('settingsMenu');
if (sb && sm) sb.addEventListener('click', function() { sm.style.right = sm.style.right === '20px' ? '-300px' : '20px'; });
/* Init first method tab */
switchMethod('grind');
/* Init calculator */ updateCalc();
/* Smooth anchors */
document.querySelectorAll('a[href^="#"]').forEach(function(a) {
a.addEventListener('click', function(e) {
var id = this.getAttribute('href').slice(1), el = document.getElementById(id);
if (el) { e.preventDefault(); el.scrollIntoView({ behavior: 'smooth', block: 'start' }); }
});
});
/* Mobile padding */
if (window.innerWidth < 900) {
document.querySelectorAll(
'[style*="padding:52px 64px"],[style*="padding:48px 64px"],[style*="padding:28px 64px"]'
).forEach(function(el) { el.style.paddingLeft = '18px'; el.style.paddingRight = '18px'; });
}
}); </script>