|
|
| Zeile 56: |
Zeile 56: |
| <select id="klasse"> | | <select id="klasse"> |
| <option value="">Keine</option> | | <option value="">Keine</option> |
| | <option value="Arbeiter">Arbeiter</option> |
| | <option value="Barde">Barde</option> |
| | <option value="Bote">Bote</option> |
| | <option value="Gelehrter">Gelehrter</option> |
| | <option value="Gläubiger">Gläubiger</option> |
| | <option value="Kind">Kind</option> |
| <option value="Krieger">Krieger</option> | | <option value="Krieger">Krieger</option> |
| <option value="Magier">Magier</option> | | <option value="Schurke">Schurke</option> |
| | <option value="Schütze">Schütze</option> |
| | <option value="Seelenkünstler">Seelenkünstler</option> |
| | <option value="Soldat">Soldat</option> |
| | <option value="Techniker">Techniker</option> |
| | <option value="Vagabunde">Vagabunde</option> |
| </select> | | </select> |
|
| |
|
| Zeile 63: |
Zeile 74: |
| <select id="subklasse"> | | <select id="subklasse"> |
| <option value="">Keine (+15 GP Ausgleich)</option> | | <option value="">Keine (+15 GP Ausgleich)</option> |
| <option value="Berserker">Berserker</option> | | <option value="Auserwählter">Auserwählter</option> |
| <option value="Hexenmeister">Hexenmeister</option> | | <option value="Diener">Diener</option> |
| | <option value="Drogenjunkie">Drogenjunkie</option> |
| | <option value="Dummkopf">Dummkopf</option> |
| | <option value="Dunkler Künstler">Dunkler Künstler</option> |
| | <option value="Gesetzloser">Gesetzloser</option> |
| | <option value="Glücksspieler">Glücksspieler</option> |
| | <option value="Händler">Händler</option> |
| | <option value="Koch">Koch</option> |
| | <option value="Kopfgeldjäger">Kopfgeldjäger</option> |
| | <option value="Ödländer">Ödländer</option> |
| | <option value="Okkultist">Okkultist</option> |
| | <option value="Pazifist">Pazifist</option> |
| | <option value="Politiker">Politiker</option> |
| | <option value="Revolutionär">Revolutionär</option> |
| | <option value="Seefahrer">Seefahrer</option> |
| | <option value="Spion">Spion</option> |
| | <option value="Mutant">Mutant</option> |
| </select> | | </select> |
|
| |
|
| Zeile 102: |
Zeile 129: |
| <script> | | <script> |
| const attributeListe = [ | | const attributeListe = [ |
| "Agilität", "Ausdauer", "Charisma", "Geschick",
| | "Agilität", "Ausdauer", "Charisma", "Geschick", |
| "Intelligenz", "Konstitution", "Resistenz",
| | "Intelligenz", "Konstitution", "Resistenz", |
| "Stärke", "Wahrnehmung"
| | "Stärke", "Wahrnehmung" |
| ]; | | ]; |
|
| |
|
| const basisPunkte = 160; | | const basisPunkte = 160; |
|
| |
|
| const klassenBoni = { | | const klassenBoni = Object.fromEntries([ |
| "Arbeiter": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| | "Arbeiter", "Barde", "Bote", "Gelehrter", "Gläubiger", "Kind", "Krieger", "Schurke", |
| "Barde": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| | "Schütze", "Seelenkünstler", "Soldat", "Techniker", "Vagabunde" |
| "Bote": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| | ].map(name => [name, Object.fromEntries(attributeListe.map(attr => [attr, 0]))])); |
| "Gelehrter": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Gläubiger": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Kind": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Krieger": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Schurke": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Schütze": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Seelenkünstler": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Soldat": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Techniker": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Vagabunde": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 } | |
| };
| |
| | |
| const subklassenBoni = {
| |
| "Auserwählter": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Diener": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Drogenjunkie": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Dummkopf": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Dunkler Künstler": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Gesetzloser": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Glücksspieler": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Händler": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Koch": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Kopfgeldjäger": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Ödländer": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Okkultist": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Pazifist": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Politiker": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Revolutionär": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Seefahrer": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Spion": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 },
| |
| "Mutant": { "Agilität": 0, "Ausdauer": 0, "Charisma": 0, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 }
| |
| };
| |
|
| |
|
| | const subklassenBoni = Object.fromEntries([ |
| | "Auserwählter", "Diener", "Drogenjunkie", "Dummkopf", "Dunkler Künstler", "Gesetzloser", |
| | "Glücksspieler", "Händler", "Koch", "Kopfgeldjäger", "Ödländer", "Okkultist", |
| | "Pazifist", "Politiker", "Revolutionär", "Seefahrer", "Spion", "Mutant" |
| | ].map(name => [name, Object.fromEntries(attributeListe.map(attr => [attr, 0]))])); |
|
| |
|
| const rassenBoni = { | | const rassenBoni = { |
| "Mensch": { "Agilität": 0, "Ausdauer": 0, "Charisma": 1, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 }, | | "Mensch": { "Agilität": 0, "Ausdauer": 0, "Charisma": 1, "Geschick": 0, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 }, |
| "Elf": { "Agilität": 1, "Ausdauer": 0, "Charisma": 0, "Geschick": 1, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 } | | "Elf": { "Agilität": 1, "Ausdauer": 0, "Charisma": 0, "Geschick": 1, "Intelligenz": 0, "Konstitution": 0, "Resistenz": 0, "Stärke": 0, "Wahrnehmung": 0 } |
| }; | | }; |
|
| |
|
| Zeile 173: |
Zeile 173: |
|
| |
|
| function getBonus(boni, key) { | | function getBonus(boni, key) { |
| return boni[key] || attributeListe.reduce((acc, attr) => (acc[attr] = 0, acc), {}); | | return boni[key] || Object.fromEntries(attributeListe.map(attr => [attr, 0])); |
| } | | } |
|
| |
|
| Zeile 250: |
Zeile 250: |
| } | | } |
|
| |
|
| // Automatisch bei jeder Eingabe aktualisieren
| |
| document.addEventListener("DOMContentLoaded", function () { | | document.addEventListener("DOMContentLoaded", function () { |
| const inputs = document.querySelectorAll("select, input[type='number']"); | | const inputs = document.querySelectorAll("select, input[type='number']"); |