Cards: Difference between revisions

From TimeRO Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 553: Line 553:




<!-- ═══ RELATED LINKS ══════════════════════════════════════ -->
<div style="background:#05060e;padding:48px 64px;">
  <div style="max-width:860px;margin:0 auto;">
    <div style="text-align:center;margin-bottom:24px;">
      <h2 style="font-size:1.4rem;font-weight:900;color:#fff;margin:0;border:none;">Ver também</h2>
    </div>
    <div style="display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;">
      [[Arcane Item System|<div style="padding:18px 16px;border-radius:12px;background:rgba(0,0,0,0.28);border:1px solid rgba(124,106,255,0.16);cursor:pointer;">
        <div style="font-size:1.4rem;margin-bottom:7px;">✨</div>
        <div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:4px;">Sistema Arcano</div>
        <div style="font-size:0.78rem;color:rgba(122,144,176,0.65);line-height:1.55;">Outro sistema de progressão exclusivo do TimeRO.</div>
        <div style="margin-top:10px;font-size:0.70rem;font-weight:700;color:#9d8fff;letter-spacing:0.06em;text-transform:uppercase;">Explorar →</div>
      </div>]]
      [[MVP Hunting Guide|<div style="padding:18px 16px;border-radius:12px;background:rgba(0,0,0,0.28);border:1px solid rgba(255,61,90,0.14);cursor:pointer;">
        <div style="font-size:1.4rem;margin-bottom:7px;">💀</div>
        <div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:4px;">Cartas de MVP</div>
        <div style="font-size:0.78rem;color:rgba(122,144,176,0.65);line-height:1.55;">Como obter as cartas mais raras: guia completo de caça a MVPs.</div>
        <div style="margin-top:10px;font-size:0.70rem;font-weight:700;color:#ff3d5a;letter-spacing:0.06em;text-transform:uppercase;">Ver guia →</div>
      </div>]]
      [[Farming Guide|<div style="padding:18px 16px;border-radius:12px;background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);cursor:pointer;">
        <div style="font-size:1.4rem;margin-bottom:7px;">💰</div>
        <div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:4px;">Farming para Cartas</div>
        <div style="font-size:0.78rem;color:rgba(122,144,176,0.65);line-height:1.55;">Melhores rotas para acumular Zeny e comprar cartas no mercado.</div>
        <div style="margin-top:10px;font-size:0.70rem;font-weight:700;color:#f9c500;letter-spacing:0.06em;text-transform:uppercase;">Ver guia →</div>
      </div>]]
    </div>
    <div style="text-align:center;font-size:0.80rem;color:rgba(122,144,176,0.40);">
      [[Card_System/talk|💬 Discussão]] &nbsp;·&nbsp; [[Special:RecentChanges|📝 Últimas edições]] &nbsp;·&nbsp; [https://timero.com.br 🌐 Site Oficial]
    </div>
  </div>
</div>
<!-- /RELATED -->
</div><!-- /card-system-root -->
<script>
/* ════════════════════════════════════════════════════════════
  CARD SYSTEM PAGE — All-new JavaScript
  Functions: searchCards, filterCategory, sortTable,
              openCardDetail, toggleChangedOnly,
              toggleGroup, toggleFaqEntry, renderTable
════════════════════════════════════════════════════════════ */
/* ── Card data ──────────────────────────────────────────── */
var CARDS = [
  {id:4001,name:'Poring Card',source:'Poring',slot:'Accessory',cat:'misc',old:'+5 LUK',nw:'+7 LUK, +3% Zeny from monsters',changed:true,group:'novice'},
  {id:4002,name:'Lunatic Card',source:'Lunatic',slot:'Accessory',cat:'misc',old:'+10 Critical',nw:'+12 Critical, +2% Critical damage',changed:true,group:'novice'},
  {id:4003,name:'Spore Card',source:'Spore',slot:'Armor',cat:'armor',old:'+1 VIT',nw:'+2 VIT, +50 MaxHP',changed:true,group:'novice'},
  {id:4004,name:'Zombie Card',source:'Zombie',slot:'Armor',cat:'armor',old:'+10% Max HP',nw:'+12% Max HP, Undead resist +5%',changed:true,group:'undead'},
  {id:4005,name:'Archer Skeleton Card',source:'Archer Skeleton',slot:'Weapon',cat:'weapon',old:'+10% ranged damage',nw:'+12% ranged damage, +1 DEX',changed:true,group:'undead'},
  {id:4006,name:'Mummy Card',source:'Mummy',slot:'Weapon',cat:'weapon',old:'+15 Attack Speed (Haste)',nw:'+15 Haste, +5% damage vs Medium enemies',changed:true,group:'undead'},
  {id:4007,name:'Skeleton Card',source:'Skeleton',slot:'Weapon',cat:'weapon',old:'+20% damage vs Medium',nw:'+22% damage vs Medium, +1 STR',changed:true,group:'undead'},
  {id:4008,name:'Skel-Worker Card',source:'Skel-Worker',slot:'Weapon',cat:'weapon',old:'+15% damage vs Medium/Large',nw:'+15% damage vs Medium/Large, +15 ATK',changed:true,group:'undead'},
  {id:4009,name:'Drainliar Card',source:'Drainliar',slot:'Weapon',cat:'weapon',old:'+20% damage vs Small',nw:'+20% damage vs Small, +5% lifesteal',changed:true,group:'beast'},
  {id:4010,name:'Thara Frog Card',source:'Thara Frog',slot:'Shield',cat:'armor',old:'-30% damage from Demi-Human',nw:'-30% dmg Demi-Human, +1% reflect',changed:false,group:'aqua'},
  {id:4011,name:'Hydra Card',source:'Hydra',slot:'Weapon',cat:'weapon',old:'+20% damage vs Demi-Human',nw:'+20% damage vs Demi-Human (unchanged)',changed:false,group:'aqua'},
  {id:4012,name:'Orc Warrior Card',source:'Orc Warrior',slot:'Weapon',cat:'weapon',old:'+3 STR',nw:'+4 STR, +10 ATK',changed:true,group:'brute'},
  {id:4013,name:'Orc Zombie Card',source:'Orc Zombie',slot:'Headgear',cat:'headgear',old:'INT +2, MDEF +5',nw:'INT +3, MDEF +7, SP Regen +5%',changed:true,group:'undead'},
  {id:4014,name:'Orc Skeleton Card',source:'Orc Skeleton',slot:'Weapon',cat:'weapon',old:'+3% Critical chance',nw:'+5% Critical chance, Ignore DEF 5%',changed:true,group:'undead'},
  {id:4015,name:'Andre Card',source:'Andre',slot:'Weapon',cat:'weapon',old:'+15 ATK',nw:'+18 ATK, +2% damage to Brute',changed:true,group:'insect'},
  {id:4016,name:'Deniro Card',source:'Deniro',slot:'Weapon',cat:'weapon',old:'+5% damage vs Insect',nw:'+8% damage vs Insect, +1 DEX',changed:true,group:'insect'},
  {id:4017,name:'Vitata Card',source:'Vitata',slot:'Accessory',cat:'misc',old:'Heal +15%',nw:'Heal +18%, SP cost -3%',changed:true,group:'insect'},
  {id:4018,name:'Creamy Card',source:'Creamy',slot:'Accessory',cat:'misc',old:'Teleport Lv1 usable',nw:'Teleport Lv2 usable, Flee +5',changed:true,group:'insect'},
  {id:4019,name:'Poporing Card',source:'Poporing',slot:'Armor',cat:'armor',old:'Poison resist +30%',nw:'Poison resist +40%, Neutral resist +2%',changed:true,group:'plant'},
  {id:4020,name:'Marina Card',source:'Marina',slot:'Weapon',cat:'weapon',old:'Freeze chance +5%',nw:'Freeze chance +7%, Water damage +3%',changed:true,group:'aqua'},
  {id:4021,name:'Magnolia Card',source:'Magnolia',slot:'Accessory',cat:'misc',old:'Curse resist +50%',nw:'Curse resist +70%, LUK +2',changed:true,group:'aqua'},
  {id:4022,name:'Cornutus Card',source:'Cornutus',slot:'Shield',cat:'armor',old:'Melee reflect 5%',nw:'Melee reflect 7%, DEF +3',changed:true,group:'fish'},
  {id:4023,name:'Marin Card',source:'Marin',slot:'Armor',cat:'armor',old:'Freeze resist +50%',nw:'Freeze resist +65%, Cold resist +10%',changed:true,group:'aqua'},
  {id:4024,name:'Drops Card',source:'Drops',slot:'Headgear',cat:'headgear',old:'DEX +2',nw:'DEX +3, Ranged ATK +2%',changed:true,group:'plant'},
  {id:4025,name:'Elder Willow Card',source:'Elder Willow',slot:'Weapon',cat:'weapon',old:'INT +2',nw:'INT +3, MATK +10',changed:true,group:'plant'},
  {id:4026,name:'Caramel Card',source:'Caramel',slot:'Footgear',cat:'armor',old:'AGI +1',nw:'AGI +2, Movement Speed +3%',changed:true,group:'brute'},
  {id:4027,name:'Flora Card',source:'Flora',slot:'Weapon',cat:'weapon',old:'+5% damage vs Insect/Fish',nw:'+7% damage vs Insect/Fish, +5 ATK',changed:true,group:'plant'},
  {id:4028,name:'Myst Case Card',source:'Myst Case',slot:'Headgear',cat:'headgear',old:'DEX +1, INT +1',nw:'DEX +2, INT +2, SP +30',changed:true,group:'formless'},
  {id:4029,name:'Cookie Card',source:'Cookie',slot:'Headgear',cat:'headgear',old:'MDEF +1',nw:'MDEF +2, INT +1',changed:true,group:'formless'},
  {id:4030,name:'Hode Card',source:'Hode',slot:'Armor',cat:'armor',old:'Earth resist +20%',nw:'Earth resist +25%, DEF vs Earth +5',changed:true,group:'brute'},
  {id:4031,name:'Desert Wolf Babe Card',source:'Desert Wolf Baby',slot:'Weapon',cat:'weapon',old:'+7% damage vs Small',nw:'+10% damage vs Small, +1 AGI',changed:true,group:'brute'},
  {id:4032,name:'Scorpion Card',source:'Scorpion',slot:'Weapon',cat:'weapon',old:'+3% damage vs Insect/Fish',nw:'+5% damage vs Insect/Fish, Poison+3%',changed:true,group:'insect'},
  {id:4033,name:'Verit Card',source:'Verit',slot:'Footgear',cat:'armor',old:'Max HP +8%, Max SP +8%',nw:'Max HP +10%, Max SP +10%',changed:true,group:'undead'},
  {id:4034,name:'Hunter Fly Card',source:'Hunter Fly',slot:'Weapon',cat:'weapon',old:'3% chance drain 5% HP on hit',nw:'5% chance drain 7% HP on hit',changed:true,group:'insect'},
  {id:4035,name:'Hornet Card',source:'Hornet',slot:'Weapon',cat:'weapon',old:'ATK +3',nw:'ATK +5, +2% damage vs non-boss',changed:true,group:'insect'},
  {id:4036,name:'Wormtail Card',source:'Wormtail',slot:'Accessory',cat:'misc',old:'Perfect Dodge +2',nw:'Perfect Dodge +3, Flee +5',changed:true,group:'insect'},
  {id:4037,name:'Anacondaq Card',source:'Anacondaq',slot:'Weapon',cat:'weapon',old:'Poison chance +3%',nw:'Poison chance +5%, Poison dmg +10%',changed:true,group:'brute'},
  {id:4038,name:'Savage Card',source:'Savage',slot:'Armor',cat:'armor',old:'VIT +3',nw:'VIT +4, MaxHP +80',changed:true,group:'brute'},
  {id:4039,name:'Wild Rose Card',source:'Wild Rose',slot:'Footgear',cat:'armor',old:'AGI +2, Perfect Dodge +1',nw:'AGI +3, Perfect Dodge +2',changed:true,group:'brute'},
  {id:4040,name:'Peco Peco Egg Card',source:'Peco Peco Egg',slot:'Armor',cat:'armor',old:'VIT +1',nw:'VIT +2, Knockback resist +5%',changed:true,group:'brute'},
  {id:4041,name:'Condor Card',source:'Condor',slot:'Headgear',cat:'headgear',old:'Flee +10',nw:'Flee +12, Perfect Dodge +1',changed:true,group:'brute'},
  {id:4042,name:'Rocker Card',source:'Rocker',slot:'Armor',cat:'armor',old:'DEF +1',nw:'DEF +2, Neutral resist +2%',changed:true,group:'insect'},
  {id:4043,name:'Smokie Card',source:'Smokie',slot:'Accessory',cat:'misc',old:'Cloaking Lv1 usable',nw:'Cloaking Lv2 usable, AGI +1',changed:true,group:'brute'},
  {id:4044,name:'Familiar Card',source:'Familiar',slot:'Weapon',cat:'weapon',old:'+2% damage at night',nw:'+5% damage at night, Dark resist +5%',changed:true,group:'brute'},
  {id:4045,name:'Poison Spore Card',source:'Poison Spore',slot:'Weapon',cat:'weapon',old:'Poison chance +5%',nw:'Poison chance +7%, INT +1',changed:true,group:'plant'},
  {id:4046,name:'Geographer Card',source:'Geographer',slot:'Armor',cat:'armor',old:'HP Regen +50%',nw:'HP Regen +65%, Natural heal +10%',changed:true,group:'plant'},
  {id:4047,name:'Coco Card',source:'Coco',slot:'Accessory',cat:'misc',old:'AGI +2',nw:'AGI +3, Flee +3',changed:true,group:'brute'},
  {id:4048,name:'Jakk Card',source:'Jakk',slot:'Weapon',cat:'weapon',old:'Fire property +20%',nw:'Fire property +22%, Fire MATK +5%',changed:true,group:'formless'},
  {id:4049,name:'Bathory Card',source:'Bathory',slot:'Armor',cat:'armor',old:'Shadow element armor',nw:'Shadow element, Dark resist +10%',changed:false,group:'undead'},
  {id:4050,name:'Succubus Card',source:'Succubus',slot:'Accessory',cat:'misc',old:'Max SP +12%',nw:'Max SP +15%, SP drain +2% on kill',changed:true,group:'demon'},
];
/* ── Group data ─────────────────────────────────────────── */
var GROUPS = {
  novice:{label:'Iniciantes',icon:'🌿',color:'#00ff88',count:3,min:3,effect:'Lv.1 de todos os personagens da conta ganham +50 EXP base por kill.'},
  undead:{label:'Mortos-Vivos',icon:'💀',color:'#a0a0c0',count:9,min:5,effect:'Resistência a Shadow +5% permanente em toda a conta.'},
  aqua:{label:'Aquáticos',icon:'🌊',color:'#00d4ff',count:5,min:4,effect:'+3% de drop rate de monstros aquáticos em toda a conta.'},
  brute:{label:'Brutos',icon:'🐾',color:'#f9a826',count:12,min:6,effect:'AGI +2 permanente em toda a conta ao usar montaria.'},
  insect:{label:'Insetos',icon:'🦟',color:'#a8d800',count:9,min:5,effect:'Dano a Insetos +5% permanente em toda a conta.'},
  plant:{label:'Plantas',icon:'🌸',color:'#ff8aad',count:6,min:4,effect:'Regen de HP natural +15% permanente em toda a conta.'},
  demon:{label:'Demônios',icon:'😈',color:'#ff3d5a',count:1,min:1,effect:'Max SP +5% permanente em toda a conta.'},
  formless:{label:'Sem-Forma',icon:'⚗️',color:'#b06cff',count:3,min:3,effect:'MDEF +5 permanente em toda a conta.'},
  fish:{label:'Peixes',icon:'🐟',color:'#5ee8ff',count:1,min:1,effect:'Reflect melee +2% permanente em toda a conta.'},
  beast:{label:'Bestas',icon:'🐺',color:'#ffb347',count:1,min:1,effect:'Lifesteal +3% de todo ataque físico em toda a conta.'},
};
/* ── State ───────────────────────────────────────────────── */
var state = {
  query: '', category: 'all', changedOnly: false,
  sortCol: 'id', sortDir: 'asc', openDetailId: null
};
/* Slot → display label + color */
var slotMeta = {
  weapon:  {label:'Arma',      color:'#ff3d5a', bg:'rgba(255,61,90,0.09)'},
  armor:    {label:'Armadura',  color:'#00d4ff', bg:'rgba(0,212,255,0.08)'},
  misc:    {label:'Acessório', color:'#f9a826', bg:'rgba(249,168,38,0.09)'},
  headgear: {label:'Headgear',  color:'#b06cff', bg:'rgba(176,108,255,0.09)'},
};
/* ── Filter + render ────────────────────────────────────── */
function getFiltered() {
  var q = state.query.toLowerCase();
  return CARDS.filter(function(c) {
    if (state.changedOnly && !c.changed) return false;
    if (state.category !== 'all' && c.cat !== state.category) return false;
    if (q && !(
      c.name.toLowerCase().includes(q) ||
      String(c.id).includes(q) ||
      c.source.toLowerCase().includes(q)
    )) return false;
    return true;
  }).sort(function(a, b) {
    var av, bv;
    if (state.sortCol === 'id')  { av = a.id;  bv = b.id; }
    else if (state.sortCol === 'name') { av = a.name; bv = b.name; }
    else if (state.sortCol === 'slot') { av = a.slot; bv = b.slot; }
    else { av = a.id; bv = b.id; }
    if (av < bv) return state.sortDir === 'asc' ? -1 : 1;
    if (av > bv) return state.sortDir === 'asc' ?  1 : -1;
    return 0;
  });
}
function renderTable() {
  var filtered = getFiltered();
  var body = document.getElementById('card-table-body');
  var empty = document.getElementById('table-empty');
  var badge = document.getElementById('card-count-badge');
  if (badge) badge.textContent = filtered.length + ' carta' + (filtered.length !== 1 ? 's' : '');
  if (!body) return;
  if (filtered.length === 0) {
    body.innerHTML = '';
    if (empty) empty.style.display = 'block';
    return;
  }
  if (empty) empty.style.display = 'none';
  var html = '';
  filtered.forEach(function(c, idx) {
    var sm  = slotMeta[c.cat] || {label: c.slot, color:'#e8eef8', bg:'rgba(255,255,255,0.06)'};
    var gInfo = GROUPS[c.group] || {};
    var gColor = gInfo.color || '#7c6aff';
    var changedBadge = c.changed
      ? '<span style="padding:2px 7px;border-radius:4px;background:rgba(124,106,255,0.14);border:1px solid rgba(124,106,255,0.30);font-size:0.60rem;font-weight:900;color:#9d8fff;letter-spacing:0.08em;text-transform:uppercase;">⚡ Alterada</span>'
      : '<span style="padding:2px 7px;border-radius:4px;background:rgba(122,144,176,0.07);border:1px solid rgba(122,144,176,0.16);font-size:0.60rem;font-weight:700;color:rgba(122,144,176,0.55);letter-spacing:0.08em;text-transform:uppercase;">Igual</span>';
    var isOpen = state.openDetailId === c.id;
    var rowBg  = isOpen ? 'rgba(124,106,255,0.06)' : (idx%2===0 ? 'rgba(0,0,0,0)' : 'rgba(255,255,255,0.018)');
    html += '<div class="card-row" data-id="' + c.id + '" onclick="openCardDetail(' + c.id + ')" '
          + 'style="display:grid;grid-template-columns:70px 1fr 140px 100px 28px;gap:0;'
          + 'background:' + rowBg + ';border-bottom:1px solid rgba(255,255,255,0.04);cursor:pointer;transition:background 0.14s;">'
          + '<div style="padding:13px 14px;display:flex;align-items:center;border-right:1px solid rgba(255,255,255,0.04);">'
          + '<span style="font-family:monospace;font-size:0.78rem;font-weight:800;color:rgba(124,106,255,0.65);">#' + c.id + '</span></div>'
          + '<div style="padding:13px 14px;display:flex;align-items:center;gap:12px;border-right:1px solid rgba(255,255,255,0.04);">'
          + '<div style="width:32px;height:32px;border-radius:8px;background:' + gColor + '18;border:1px solid ' + gColor + '2a;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;">' + (gInfo.icon||'♦') + '</div>'
          + '<div>'
          + '<div style="font-size:0.88rem;font-weight:800;color:#fff;">' + c.name + '</div>'
          + '<div style="font-size:0.70rem;color:rgba(122,144,176,0.55);margin-top:1px;">🐉 ' + c.source + ' &nbsp;·&nbsp; ' + (gInfo.label||c.group) + '</div>'
          + '</div></div>'
          + '<div style="padding:13px 14px;display:flex;align-items:center;border-right:1px solid rgba(255,255,255,0.04);">'
          + '<span style="padding:3px 9px;border-radius:5px;background:' + sm.bg + ';border:1px solid ' + sm.color + '2a;font-size:0.70rem;font-weight:700;color:' + sm.color + ';">' + sm.label + ' · ' + c.slot + '</span></div>'
          + '<div style="padding:13px 14px;display:flex;align-items:center;border-right:1px solid rgba(255,255,255,0.04);">' + changedBadge + '</div>'
          + '<div style="padding:13px 10px;display:flex;align-items:center;justify-content:center;">'
          + '<span style="color:rgba(122,144,176,0.40);font-size:0.65rem;transform:' + (isOpen?'rotate(180deg)':'') + ';display:inline-block;transition:transform 0.2s;">' + (isOpen ? '▲' : '▼') + '</span></div>'
          + '</div>';
    /* Inline detail panel */
    if (isOpen) {
      var gEff = gInfo.effect || '';
      html += '<div style="border-bottom:1px solid rgba(255,255,255,0.05);background:rgba(124,106,255,0.04);">'
            + '<div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;">'
            /* Old effect */
            + '<div style="padding:16px 18px;border-right:1px solid rgba(255,255,255,0.05);">'
            + '<div style="font-size:0.60rem;letter-spacing:0.13em;text-transform:uppercase;color:rgba(255,61,90,0.55);font-weight:700;margin-bottom:7px;">❌ Efeito Antigo</div>'
            + '<div style="font-size:0.86rem;color:rgba(232,238,248,0.65);line-height:1.60;text-decoration:line-through;opacity:0.75;">' + c.old + '</div>'
            + '</div>'
            /* New effect */
            + '<div style="padding:16px 18px;border-right:1px solid rgba(255,255,255,0.05);background:rgba(124,106,255,0.04);">'
            + '<div style="font-size:0.60rem;letter-spacing:0.13em;text-transform:uppercase;color:rgba(124,106,255,0.70);font-weight:700;margin-bottom:7px;">✅ Novo Efeito (TimeRO)</div>'
            + '<div style="font-size:0.92rem;font-weight:700;color:#fff;line-height:1.60;">' + c.nw + '</div>'
            + '</div>'
            /* Collection bonus */
            + '<div style="padding:16px 18px;">'
            + '<div style="font-size:0.60rem;letter-spacing:0.13em;text-transform:uppercase;color:rgba(249,197,0,0.60);font-weight:700;margin-bottom:7px;">✨ Bônus de Coleção</div>'
            + '<div style="font-size:0.76rem;color:rgba(249,197,0,0.85);line-height:1.60;font-weight:600;">' + (gInfo.icon||'♦') + ' ' + (gInfo.label||c.group) + '</div>'
            + '<div style="font-size:0.80rem;color:rgba(176,192,224,0.75);line-height:1.60;margin-top:3px;">' + gEff + '</div>'
            + '</div>'
            + '</div></div>';
    }
  });
  body.innerHTML = html;
}
/* ── Search + Filters ───────────────────────────────────── */
function searchCards() {
  state.query = (document.getElementById('card-search')||{}).value || '';
  state.openDetailId = null;
  renderTable();
}
function filterCategory(cat) {
  state.category = cat;
  state.openDetailId = null;
  /* Update tab styles */
  ['all','weapon','armor','misc','headgear'].forEach(function(k) {
    var btn = document.getElementById('cat-' + k);
    if (!btn) return;
    if (k === cat) {
      btn.style.background = 'linear-gradient(135deg,rgba(124,106,255,0.22),rgba(124,106,255,0.10))';
      btn.style.color = '#9d8fff';
      btn.style.fontWeight = '900';
    } else {
      btn.style.background = 'transparent';
      btn.style.fontWeight = '700';
    }
  });
  renderTable();
}
function toggleChangedOnly() {
  var cb = document.getElementById('changed-toggle');
  state.changedOnly = cb ? cb.checked : false;
  state.openDetailId = null;
  renderTable();
}
/* ── Column sort ────────────────────────────────────────── */
function sortTable(col) {
  if (state.sortCol === col) {
    state.sortDir = state.sortDir === 'asc' ? 'desc' : 'asc';
  } else {
    state.sortCol = col;
    state.sortDir = 'asc';
  }
  /* Update sort indicators */
  ['id','name','slot'].forEach(function(k) {
    var el = document.getElementById('si-' + k);
    if (!el) return;
    if (k === col) {
      el.textContent = state.sortDir === 'asc' ? '↑' : '↓';
      el.style.color = '#9d8fff';
    } else {
      el.textContent = '↕';
      el.style.color = 'rgba(122,144,176,0.35)';
    }
  });
  /* Update header colors */
  document.querySelectorAll('.th-cell.sortable').forEach(function(th) {
    th.style.color = th.dataset.col === col ? '#9d8fff' : 'rgba(122,144,176,0.55)';
  });
  renderTable();
}
/* ── Inline row detail ──────────────────────────────────── */
function openCardDetail(id) {
  state.openDetailId = state.openDetailId === id ? null : id;
  renderTable();
  if (state.openDetailId) {
    setTimeout(function() {
      var rows = document.querySelectorAll('.card-row');
      rows.forEach(function(r) {
        if (parseInt(r.dataset.id) === id) {
          r.scrollIntoView({behavior:'smooth', block:'nearest'});
        }
      });
    }, 60);
  }
}
/* ── Collection group expand ────────────────────────────── */
function toggleGroup(card) {
  var detail  = card.querySelector('.cg-detail');
  var chevron = card.querySelector('.cg-chevron');
  if (!detail) return;
  var open = detail.style.display !== 'none';
  detail.style.display = open ? 'none' : 'block';
  if (chevron) chevron.style.transform = open ? '' : 'rotate(180deg)';
}
/* ── FAQ ────────────────────────────────────────────────── */
function toggleFaqEntry(entry) {
  var body    = entry.querySelector('.faq-body');
  var chevron = entry.querySelector('.faq-chev');
  if (!body) return;
  var open = body.style.display !== 'none';
  body.style.display = open ? 'none' : 'block';
  if (chevron) chevron.style.transform = open ? '' : 'rotate(180deg)';
}
/* ── 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'; });
  /* Initial render */
  renderTable();
  /* Search focus style */
  var si = document.getElementById('card-search');
  if (si) {
    si.addEventListener('focus', function() { this.style.borderColor = 'rgba(124,106,255,0.40)'; this.style.boxShadow = '0 0 0 3px rgba(124,106,255,0.10)'; });
    si.addEventListener('blur',  function() { this.style.borderColor = 'rgba(255,255,255,0.09)'; this.style.boxShadow = ''; });
  }
  /* Mobile padding */
  if (window.innerWidth < 900) {
    document.querySelectorAll('[style*="padding:52px 64px"],[style*="padding:48px 64px"],[style*="padding:56px 64px"]').forEach(function(el) {
      el.style.paddingLeft  = '16px';
      el.style.paddingRight = '16px';
    });
  }
});
</script>


[[Category:Systems]]
[[Category:Systems]]
[[Category:Cards]]
[[Category:Cards]]
[[Category:Collection]]
[[Category:Collection]]

Revision as of 20:20, 29 April 2026


     TimeRO Wiki
     
     Sistemas
     
     Sistema de Cartas
     ♦ Sistema Arcano
     ✨ 47 Cartas Balanceadas
     📚 50 Cartas Documentadas
     🌟 10 Grupos de Coleção

Sistema de
Cartas Balanceadas

Todas as cartas do TimeRO foram revisadas, rebalanceadas e integradas ao novo Sistema de Coleção — efeitos permanentes para toda a conta ao completar grupos temáticos.

       Cartas alteradas:
       47 / 50
       Grupos de coleção:
       10
       Atualização:
       Mar 2025


       // Como funciona

Sistema de Coleção de Cartas

Um sistema de progressão de conta — bônus permanentes para todos os personagens.

🗡️
PASSO 1
Obter a carta
Derrote o monstro correspondente e colete a carta no loot. Drop rate customizado no TimeRO.
🃏
PASSO 2
Equipar em item
Encaixe a carta no slot correto de um equipamento para ativar o efeito balanceado.
📚
PASSO 3
Adicionar à Coleção
Use o NPC ou comando do servidor para registrar a carta na Coleção da sua conta.
PASSO 4
Bônus Permanente
Complete um grupo e ganhe bônus permanente em todos os personagens da conta para sempre.
       🔒
Irreversível
Uma vez adicionada à coleção, a carta não pode ser removida. O bônus é permanente.
       👥
Toda a conta
Os bônus de coleção se aplicam a todos os personagens da mesma conta, presentes e futuros.
       📊
Grupos Temáticos
Cartas são agrupadas por raça de monstro. Complete cada grupo para desbloquear seu bônus único.


       // Banco de Dados

Todas as Cartas Balanceadas

Clique em qualquer carta para ver efeito antigo vs novo e bônus de coleção.

         🔍
         <input id="card-search" type="text" oninput="searchCards()" placeholder="Buscar por nome, ID ou monstro..." style="width:100%;padding:10px 12px 10px 36px;border-radius:10px;background:rgba(0,0,0,0.40);border:1px solid rgba(255,255,255,0.09);color:#e8eef8;font-size:0.90rem;font-family:inherit;outline:none;transition:border-color 0.18s;">
       <label style="display:inline-flex;align-items:center;gap:9px;cursor:pointer;padding:9px 16px;border-radius:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);font-size:0.82rem;font-weight:700;color:rgba(122,144,176,0.70);user-select:none;white-space:nowrap;" for="changed-toggle">
         <input type="checkbox" id="changed-toggle" onchange="toggleChangedOnly()" style="accent-color:#7c6aff;width:16px;height:16px;">
         ⚡ Apenas alteradas
       </label>
50 cartas
       <button id="cat-all"      onclick="filterCategory('all')"     style="padding:8px 16px;border:none;background:linear-gradient(135deg,rgba(124,106,255,0.22),rgba(124,106,255,0.10));color:#9d8fff;font-size:0.78rem;font-weight:900;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);letter-spacing:0.04em;">Todas</button>
       <button id="cat-weapon"   onclick="filterCategory('weapon')"  style="padding:8px 16px;border:none;background:transparent;color:rgba(255,61,90,0.65);font-size:0.78rem;font-weight:700;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);">⚔️ Armas</button>
       <button id="cat-armor"    onclick="filterCategory('armor')"   style="padding:8px 16px;border:none;background:transparent;color:rgba(0,212,255,0.65);font-size:0.78rem;font-weight:700;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);">🛡 Armaduras</button>
       <button id="cat-misc"     onclick="filterCategory('misc')"    style="padding:8px 16px;border:none;background:transparent;color:rgba(249,168,38,0.65);font-size:0.78rem;font-weight:700;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);">💎 Acessórios</button>
       <button id="cat-headgear" onclick="filterCategory('headgear')" style="padding:8px 16px;border:none;background:transparent;color:rgba(176,108,255,0.65);font-size:0.78rem;font-weight:700;cursor:pointer;font-family:inherit;">🎩 Headgear</button>
ID
Carta / Monstro
Slot
Status


       // Grupos de Coleção

Complete grupos para bônus permanentes

Clique em qualquer grupo para ver as cartas necessárias.

🌿
GRUPO · NOVICE
Iniciantes
3
Cartas
   
   Bônus:
   Lv.1 de todos os personagens da conta ganham +50 EXP base por kill.
Min: 3 cartas
💀
GRUPO · UNDEAD
Mortos-Vivos
9
Cartas
   
   Bônus:
   Resistência a Shadow +5% permanente em toda a conta.
Min: 5 cartas
🌊
GRUPO · AQUA
Aquáticos
5
Cartas
   
   Bônus:
   +3% de drop rate de monstros aquáticos em toda a conta.
Min: 4 cartas
🐾
GRUPO · BRUTE
Brutos
12
Cartas
   
   Bônus:
   AGI +2 permanente em toda a conta ao usar montaria.
Min: 6 cartas
🦟
GRUPO · INSECT
Insetos
9
Cartas
   
   Bônus:
   Dano a Insetos +5% permanente em toda a conta.
Min: 5 cartas
🌸
GRUPO · PLANT
Plantas
6
Cartas
   
   Bônus:
   Regen de HP natural +15% permanente em toda a conta.
Min: 4 cartas
😈
GRUPO · DEMON
Demônios
1
Cartas
   
   Bônus:
   Max SP +5% permanente em toda a conta.
Min: 1 cartas
⚗️
GRUPO · FORMLESS
Sem-Forma
3
Cartas
   
   Bônus:
   MDEF +5 permanente em toda a conta.
Min: 3 cartas
🐟
GRUPO · FISH
Peixes
1
Cartas
   
   Bônus:
   Reflect melee +2% permanente em toda a conta.
Min: 1 cartas
🐺
GRUPO · BEAST
Bestas
1
Cartas
   
   Bônus:
   Lifesteal +3% de todo ataque físico em toda a conta.
Min: 1 cartas


       // Dúvidas

Perguntas Frequentes

         Posso adicionar a mesma carta à coleção mais de uma vez?
         
         O bônus de coleção se aplica ao personagem que coletou ou a toda a conta?
         
         Os efeitos das cartas foram todos aumentados ou podem ter sido reduzidos?
         
         Como adicionar uma carta à coleção in-game?
         
         Os bônus de diferentes grupos se acumulam?