Vorlage:Charactersheet
Aus Meddlerde
Character Sheet
{{{name}}}
| Class: | {{{class}}} | Level: | {{{level}}} |
| Race: | {{{race}}} | Background: | {{{background}}} |
| Armor Class: | {{{armorClass}}} | Hit Points: | {{{hitPoints}}} |
| Strength: | {{{strength}}} ({{{strengthBonus}}}) | Dexterity: | {{{dexterity}}} ({{{dexterityBonus}}}) |
| Constitution: | {{{constitution}}} ({{{constitutionBonus}}}) | Intelligence: | {{{intelligence}}} ({{{intelligenceBonus}}}) |
| Wisdom: | {{{wisdom}}} ({{{wisdomBonus}}}) | Charisma: | {{{charisma}}} ({{{charismaBonus}}}) |
Saving Throws
| Strength: | Dexterity: |
| Constitution: | Intelligence: |
| Wisdom: | Charisma: |
Skills
| Acrobatics: | Animal Handling: | Arcana: |
| Athletics: | Deception: | History: |
| Insight: | Intimidation: | Investigation: |
| Medicine: | Nature: | Perception: |
| Performance: | Persuasion: | Religion: |
| Sleight of Hand: | Stealth: | Survival: |
<script> function calculateBonus(stat) {
return Math.floor((stat - 10) / 2);
}
function calculateSkill(baseBonus, proficiencyBonus, isProficient, isExpert) {
let skillBonus = baseBonus; if (isProficient) skillBonus += proficiencyBonus; if (isExpert) skillBonus += proficiencyBonus; return skillBonus;
}
document.addEventListener("DOMContentLoaded", function() {
const level = parseInt("{{{level}}}");
const proficiencyBonus = Math.floor((level - 1) / 4) + 2;
const stats = {
strength: parseInt("{{{strength}}}"),
dexterity: parseInt("{{{dexterity}}}"),
constitution: parseInt("{{{constitution}}}"),
intelligence: parseInt("{{{intelligence}}}"),
wisdom: parseInt("{{{wisdom}}}"),
charisma: parseInt("{{{charisma}}}")
};
const bonuses = {
strength: calculateBonus(stats.strength),
dexterity: calculateBonus(stats.dexterity),
constitution: calculateBonus(stats.constitution),
intelligence: calculateBonus(stats.intelligence),
wisdom: calculateBonus(stats.wisdom),
charisma: calculateBonus(stats.charisma)
};
const savingThrows = {
strength: calculateSkill(bonuses.strength, proficiencyBonus, true, false),
dexterity: calculateSkill(bonuses.dexterity, proficiencyBonus, true, false),
constitution: calculateSkill(bonuses.constitution, proficiencyBonus, true, false),
intelligence: calculateSkill(bonuses.intelligence, proficiencyBonus, false, false),
wisdom: calculateSkill(bonuses.wisdom, proficiencyBonus, false, false),
charisma: calculateSkill(bonuses.charisma, proficiencyBonus, false, false)
};
document.getElementById("strengthSave").textContent = savingThrows.strength;
document.getElementById("dexteritySave").textContent = savingThrows.dexterity;
document.getElementById("constitutionSave").textContent = savingThrows.constitution;
document.getElementById("intelligenceSave").textContent = savingThrows.intelligence;
document.getElementById("wisdomSave").textContent = savingThrows.wisdom;
document.getElementById("charismaSave").textContent = savingThrows.charisma;
const skills = {
acrobatics: calculateSkill(bonuses.dexterity, proficiencyBonus, true, false),
animalHandling: calculateSkill(bonuses.wisdom, proficiencyBonus, false, false),
arcana: calculateSkill(bonuses.intelligence, proficiencyBonus, false, false),
athletics: calculateSkill(bonuses.strength, proficiencyBonus, true, false),
deception: calculateSkill(bonuses.charisma, proficiencyBonus, false, false),
history: calculateSkill(bonuses.intelligence, proficiencyBonus, false, false),
insight: calculateSkill(bonuses.wisdom, proficiencyBonus, false, false),
intimidation: calculateSkill(bonuses.charisma, proficiencyBonus, false, false),
investigation: calculateSkill(bonuses.intelligence, proficiencyBonus, false, false),
medicine: calculateSkill(bonuses.wisdom, proficiencyBonus, false, false),
nature: calculateSkill(bonuses.intelligence, proficiencyBonus, false, false),
perception: calculateSkill(bonuses.wisdom, proficiencyBonus, false, false),
performance: calculateSkill(bonuses.charisma, proficiencyBonus, false, false),
persuasion: calculateSkill(bonuses.charisma, proficiencyBonus, false, false),
religion: calculateSkill(bonuses.intelligence, proficiencyBonus, false, false),
sleightOfHand: calculateSkill(bonuses.dexterity, proficiencyBonus, false, false),
stealth: calculateSkill(bonuses.dexterity, proficiencyBonus, false, false),
survival: calculateSkill(bonuses.wisdom, proficiencyBonus, false, false)
};
document.getElementById("acrobatics").textContent = skills.acrobatics;
document.getElementById("animalHandling").textContent = skills.animalHandling;
document.getElementById("arcana").textContent = skills.arcana;
document.getElementById("athletics").textContent = skills.athletics;
document.getElementById("deception").textContent = skills.deception;
document.getElementById("history").textContent = skills.history;
document.getElementById("insight").textContent = skills.insight;
document.getElementById("intimidation").textContent = skills.intimidation;
document.getElementById("investigation").textContent = skills.investigation;
document.getElementById("medicine").textContent = skills.medicine;
document.getElementById("nature").textContent = skills.nature;
document.getElementById("perception").textContent = skills.perception;
document.getElementById("performance").textContent = skills.performance;
document.getElementById("persuasion").textContent = skills.persuasion;
document.getElementById("religion").textContent = skills.religion;
document.getElementById("sleightOfHand").textContent = skills.sleightOfHand;
document.getElementById("stealth").textContent = skills.stealth;
document.getElementById("survival").textContent = skills.survival;
}); </script>
