Makro:RollKnowledge
Siirry navigaatioon
Siirry hakuun
Tämän makron avulla voit helpommin käyttää jotain Knowledge-taitoa joutumatta ensin etsimään sitä hahmolomakkeelta.
Luo uusi makro klikkaamalla alalaidan palkista tyhjää kohtaa.
Sinulle aukeaa New Macro-ikkuna.
Nimeä makro esim. RollSKnowledge.
Vaihda tyypiksi script.
Lisää alla oleva koodi makroon.
const tokens = canvas.tokens.controlled; const caster = tokens[0]; if (tokens.length !== 1) { ui.notifications.warn("Please select a token"); } else { const knowledgeTypes = [ "Arcana", "Dungeoneering", "Engineering", "Geography", "History", "Local", "Nature", "Nobility", "Planes", "Religion", ]; const knowledgeData = []; knowledgeTypes.forEach((type) => { const knowledgeDatum = caster.actor.data.data.skills[`k${type.toLowerCase().substring(0, 2)}`]; knowledgeDatum.name = type; knowledgeData.push(knowledgeDatum); }); const knownKnowledge = knowledgeData.filter((datum) => datum.rank > 0); if (knownKnowledge.length < 1) { ui.notifications.warn("You know nothing."); } else { const buttons = {}; knownKnowledge.forEach((type) => { buttons[type.name] = { label: type.name, callback: () => { rollCheck(type.name, type.mod); }, }; }); new Dialog({ title: "Roll Knowledge!", content: `<p>Choose a knowledge skill</p>`, buttons: buttons, }).render(true); } } function rollCheck(name, mod) { const roll = new Roll(`1d20 + ${mod}`); roll.roll(); roll.toMessage({ flavor: `Knowledge ${name} check`, speaker: { alias: token.actor.data.name }, }); }
Tämä makro huomioi sen, että jos hahmollasi ei ole koulutusta taidossa, niin se ei myöskään näytä ko. taitoa valinnassa.