brouillon8
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| brouillon8 [2026/04/22 20:20] – créée nanaki | brouillon8 [2026/04/28 19:04] (Version actuelle) – nanaki | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | Essai 3 | ||
| + | < | ||
| + | < | ||
| + | <meta charset=" | ||
| + | < | ||
| - | <tr class=" | + | <style> |
| - | <td class=" | + | body { font-family: Arial; background:# |
| - | <td>6 MP</ | + | h1,h2 { color: |
| - | < | + | .box { border:1px solid gold; padding: |
| - | </tr> | + | select, |
| + | button { padding: | ||
| + | </style> | ||
| + | </head> | ||
| - | <tr class=" | + | <body> |
| - | <td class=" | + | |
| - | <td>6 MP</ | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class=" | + | <h1>Simulateur</h1> |
| - | <td class=" | + | |
| - | <td>6 MP</ | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class=" | + | <div class=" |
| - | <td class="race-Communs">Communs</ | + | Race |
| - | <td>4 MP</ | + | <select id=" |
| - | < | + | </div> |
| - | </tr> | + | |
| - | <tr class=" | + | <div class=" |
| - | <td class="race-Communs">Communs</ | + | Stats |
| - | <td>4 MP</ | + | <div id="stats"></ |
| - | < | + | </div> |
| - | </tr> | + | |
| - | <tr class=" | + | <div class=" |
| - | <td class="race-Communs">Communs</td><td>Épuisement arcanique</ | + | Équipement<br> |
| - | <td>4 MP</td><td>Essoufflement (X/3)</td><td>Autre</td><td>min 2</td> | + | Tête <select id="head"></ |
| - | <td>Ne fait pas de dégâts. Jet de FM pur. Essouflement(X/ | + | Cou <select id=" |
| - | </tr> | + | Dos <select id=" |
| + | Main droite | ||
| + | Main gauche | ||
| + | Corps <select id=" | ||
| + | Anneau | ||
| + | Pieds <select id=" | ||
| + | </div> | ||
| - | <tr class=" | + | <div class=" |
| - | <td class="race-Communs">Communs</ | + | Compétences |
| - | <td>4 MP</ | + | <div id="skills"></ |
| - | < | + | </div> |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | <button onclick="calculate()">Calculer</button> |
| - | <td class=" | + | <button onclick=" |
| - | <td>4 MP</ | + | |
| - | <td> | + | |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | <pre id="result"></ |
| - | <td class=" | + | |
| - | <td>6 MP</ | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class=" | + | <script> |
| - | <td class=" | + | |
| - | <td>6 MP</ | + | |
| - | < | + | |
| - | </tr> | + | |
| - | < | + | // ===== DATA ===== |
| - | <tr class=" | + | const races = { |
| - | <td class=" | + | Elfe: |
| - | <td>6 MP</ | + | Nain: |
| - | < | + | Géant: |
| - | </tr> | + | Olympien: |
| + | HS: | ||
| + | }; | ||
| - | <tr class=" | ||
| - | <td class=" | ||
| - | <td>4 PM</ | ||
| - | < | ||
| - | </tr> | ||
| - | <tr class=" | + | const costTable |
| - | <td class=" | + | cc: |
| - | <td>4 PM</ | + | pv:[4,2,1], mvt:[100,50,30] |
| - | < | + | }; |
| - | </tr> | + | |
| - | <tr class="Géant"> | + | const equipments |
| - | <td class="race-Géant"> | + | {name:"Lance elfe", |
| - | <td>4 PM</ | + | {name:"Targe", |
| - | < | + | {name:" |
| - | </tr> | + | {name:" |
| + | ]; | ||
| + | const skills = [" | ||
| + | // ===== DOM ===== | ||
| + | const raceSelect = document.getElementById(" | ||
| + | const statsDiv = document.getElementById(" | ||
| + | const skillsDiv = document.getElementById(" | ||
| - | <tr class="Communs"> | + | const head = document.getElementById("head"); |
| - | <td class="race-Communs"> | + | const neck = document.getElementById("neck"); |
| - | <td>8 MP</ | + | const cape = document.getElementById(" |
| - | < | + | const rightHand = document.getElementById(" |
| - | </tr> | + | const leftHand = document.getElementById(" |
| + | const body = document.getElementById(" | ||
| + | const ring = document.getElementById(" | ||
| + | const feet = document.getElementById(" | ||
| - | <tr class=" | + | // ===== INIT ===== |
| - | <td class=" | + | |
| - | <td>7 PM</ | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class=" | + | // race |
| - | <td class=" | + | for(let r in races){ |
| - | <td>8 MP</ | + | raceSelect.innerHTML += `<option>${r}</option>`; |
| - | <td>Donne à la cible Maladresse (x2) et Vulnérabilité (x2)</td>< | + | } |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | // stats |
| - | <td class="race-Communs">Communs</ | + | for(let s in costTable){ |
| - | <td>6 MP</ | + | statsDiv.innerHTML += `${s} <input type="number" |
| - | < | + | } |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | // skills |
| - | < | + | skills.forEach(s=> |
| - | <td>6 MP</ | + | skillsDiv.innerHTML += `<label>< |
| - | < | + | }); |
| - | </tr> | + | |
| - | <tr class=" | + | // slots reset |
| - | <td class="race-Elfe">Elfe</td>< | + | function resetSlots(){ |
| - | <td>5 PM</ | + | [head, |
| - | < | + | sel.innerHTML = `<option value=""> |
| - | </tr> | + | }); |
| + | } | ||
| + | // remplir équipements | ||
| + | function fillEquip(){ | ||
| + | let r = raceSelect.value; | ||
| - | <tr class=" | + | equipments.forEach((e, |
| - | <td class="race-HS"> | + | if(e.race!=="all" |
| - | <td>6 PM</ | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | if(e.slot==="weapon"||e.slot===" |
| - | <td class="race-Communs">Communs</td>< | + | if(e.slot===" |
| - | < | + | if(e.slot===" |
| - | <td>Augmente les dégâts subis</td>< | + | }); |
| - | </tr> | + | } |
| - | <tr class="Olympien"> | + | // update |
| - | <td class=" | + | raceSelect.addEventListener("change", ()=>{ |
| - | <td>7 PM</ | + | resetSlots(); |
| - | < | + | fillEquip(); |
| - | </tr> | + | }); |
| - | <tr class=" | + | resetSlots(); |
| - | <td class=" | + | fillEquip(); |
| - | <td>6 PM</ | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class="Communs"> | + | // 2 mains |
| - | <td class="race-Communs"> | + | rightHand.addEventListener("change", ()=>{ |
| - | <td>6 MP</ | + | let v = rightHand.value; |
| - | < | + | if(v==="" |
| - | </tr> | + | |
| - | <tr class="Olympien"> | + | let item = equipments[v]; |
| - | <td class="race-Olympien"> | + | if(item.slot==="weapon2h"){ |
| - | <td>4 PM</ | + | leftHand.value="" |
| - | < | + | leftHand.disabled=true; |
| - | </tr> | + | }else{ |
| + | leftHand.disabled=false; | ||
| + | } | ||
| + | }); | ||
| - | <tr class=" | + | // ===== CALCUL ===== |
| - | <td class=" | + | function calculate(){ |
| - | < | + | |
| - | < | + | |
| - | </tr> | + | |
| - | <tr class=" | + | let char = {...races[raceSelect.value]}; |
| - | <td class=" | + | let total = 0; |
| - | <td>4 MP</ | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>4 PM</ | + | |
| - | < | + | |
| - | </tr> | + | |
| + | // stats | ||
| + | for(let s in costTable){ | ||
| + | let v = parseInt(document.getElementById(s).value)||0; | ||
| + | char[s]+=v; | ||
| + | } | ||
| - | <tr class=" | + | // equip |
| - | <td class="race-Communs"> | + | [rightHand, |
| - | <td>8 MP</ | + | if(sel.value==="" |
| - | < | + | let e = equipments[sel.value]; |
| - | </tr> | + | for(let stat in e.stats){ |
| + | char[stat]=(char[stat]||0)+e.stats[stat]; | ||
| + | } | ||
| + | }); | ||
| - | <tr class=" | + | // affichage |
| - | <td class=" | + | result.innerText = JSON.stringify(char,null,2); |
| - | <td>4 MP</ | + | } |
| - | < | + | |
| - | </tr> | + | |
| + | // ===== EXPORT ===== | ||
| + | function exportWiki(){ | ||
| - | <tr class="Géant"> | + | let txt=" |
| - | <td class=" | + | txt+="Race: "+raceSelect.value+"\n\n"; |
| - | <td>6 PM</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>6 MP</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>6 MP</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class="Communs"> | + | |
| - | <td class=" | + | |
| - | <td>0 MP, 5 PV, 2 Mvt</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>2 MP, 1 Mvt</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- ================= NIVEAU 3 ================= --> | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>8 MP</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>8 MP</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>4 MP</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>8 MP</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- ================= NIVEAU 4 ================= --> | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>8 PM</ | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>8 PM</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>8 PM</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>8 PM</ | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- ================= NIVEAU 5 ================= --> | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- ===== NIVEAU 2 ===== --> | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class="Communs"> | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- ===== NIVEAU 3 ===== --> | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- ===== NIVEAU 4 ===== --> | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class="Communs"> | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>2 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>2 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>2 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>2 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>2 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- ================= NIVEAU 2 ================= --> | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>4 MP, 1 Mvt</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>6 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>4 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- ================= NIVEAU 3 ================= --> | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- ================= NIVEAU 4 ================= --> | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>X MP, Y Mvt, 1A</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | <tr class="Communs"> | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | <td>6 MP</ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <tr class=" | + | |
| - | <td class=" | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </tr> | + | |
| + | document.querySelectorAll(" | ||
| + | txt+=" | ||
| + | }); | ||
| + | result.innerText=txt; | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
brouillon8.1776882026.txt.gz · Dernière modification : 2026/04/22 20:20 de nanaki
