// evaluator
0 / 0 files ⏱ 0:00
Turn
if(field.sub) { const _rtRaw = gr(ST.fi, ST.ti, ST.mi).scores['RT']; const _rtVals = Array.isArray(_rtRaw) ? _rtRaw : (_rtRaw!==undefined?[Number(_rtRaw)]:[]); const _rtSubs = Array.isArray(gr(ST.fi, ST.ti, ST.mi).scores['RT_sub']) ? gr(ST.fi, ST.ti, ST.mi).scores['RT_sub'] : []; [1,2].forEach(rv => { if (!_rtVals.includes(rv) || !field.sub[rv]) return; const slbl = document.createElement('div'); slbl.className = 'sub-label'; slbl.textContent = 'Sub-type (' + (rv===1?'Skill-based':'Action-oriented') + '):'; const so = document.createElement('div'); so.className = 'score-options'; field.sub[rv].forEach(s => { const btn = document.createElement('button'); btn.className = 'score-btn' + (_rtSubs.includes(s)?' sel':''); btn.textContent = s; btn.addEventListener('click', () => { const cur = gr(ST.fi, ST.ti, ST.mi); const subs = Array.isArray(cur.scores['RT_sub']) ? [...cur.scores['RT_sub']] : []; const pos = subs.indexOf(s); if (pos>=0) subs.splice(pos,1); else subs.push(s); cur.scores['RT_sub'] = subs; renderAll(); saveProgress(); }); so.appendChild(btn); }); g.append(slbl, so); }); }