Outils pour utilisateurs

Outils du site


brouillon6

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
brouillon6 [2026/05/01 00:16] nanakibrouillon6 [2026/05/02 00:09] (Version actuelle) nanaki
Ligne 1: Ligne 1:
-Voici un simulateur en version beta, n'hésitez pas à faire vos remarques sur le discord ou le forum. 
- 
 <html> <html>
 <head> <head>
Ligne 10: Ligne 8:
   font-family: Arial;   font-family: Arial;
   background:#0b1a13;   background:#0b1a13;
-  color:#e0d3a3;+  color:#7dd3fc;
   padding:10px;   padding:10px;
 } }
- 
 h1,h2 { color:gold;} h1,h2 { color:gold;}
- +.box { border:1px solid gold; padding:10px; margin-bottom:10px; }
-.box { +
-  border:1px solid gold; +
-  padding:10px; +
-  margin-bottom:10px; +
-} +
 select { margin:3px; max-width:150px; } select { margin:3px; max-width:150px; }
-input { margin:3px; width:50px; } +input { margin:3px; width:60px; } 
- +.statLine { display:flex; justify-content:space-between; max-width:260px;
-.statLine { +.result { background:#000; color:#00ffcc; padding:10px; white-space:pre-wrap;
-  display:flex; +.small { font-size:12px; color:#aaa; }
-  justify-content:space-between; +
-  max-width:260px; +
-} +
- +
-.result { +
-  background:#000; +
-  color:#00ffcc; +
-  padding:10px; +
-  white-space:pre-wrap; +
-} +
- +
-.small { +
-  font-size:12px; +
-  color:#aaa; +
-}+
 </style> </style>
 </head> </head>
Ligne 47: Ligne 23:
 <body> <body>
  
-<h1>Simulateur</h1>+<h1>🎲 Simulateur</h1>
  
 <div class="box"> <div class="box">
 Race : Race :
 <select id="race"></select> <select id="race"></select>
- 
 <h3>Stats de base</h3> <h3>Stats de base</h3>
 <pre id="baseStats"></pre> <pre id="baseStats"></pre>
Ligne 65: Ligne 40:
 <div class="box"> <div class="box">
 <h3>Équipement (3 max + 1 anneau)</h3> <h3>Équipement (3 max + 1 anneau)</h3>
- 
 Tête <select id="head"></select> <span id="headStats"></span><br> Tête <select id="head"></select> <span id="headStats"></span><br>
 Cou <select id="neck"></select> <span id="neckStats"></span><br> Cou <select id="neck"></select> <span id="neckStats"></span><br>
Ligne 74: Ligne 48:
 Anneau <select id="ring"></select> <span id="ringStats"></span><br> Anneau <select id="ring"></select> <span id="ringStats"></span><br>
 Pieds <select id="feet"></select> <span id="feetStats"></span> Pieds <select id="feet"></select> <span id="feetStats"></span>
- 
 <div id="limitWarn" style="color:red;"></div> <div id="limitWarn" style="color:red;"></div>
 </div> </div>
Ligne 81: Ligne 54:
 <h3>Passifs</h3> <h3>Passifs</h3>
 <div id="skills"></div> <div id="skills"></div>
 +</div>
 +
 +<!-- ================= POUSSEE ================= -->
 +<div class="box">
 +<h3>Simulateur de poussée</h3>
 +
 +Force assaillant <input id="pushF" type="number" value="10">
 +Renforcement <select id="pushBuff"><option value="0">0</option><option value="6">+6</option></select><br>
 +
 +Endurance <input id="pushE" type="number" value="5">
 +Agilité <input id="pushAgi" type="number" value="5"><br>
 +
 +PV actuels <input id="pushPV" type="number" value="50"><br>
 +
 +Instabilité <select id="pushDebuff"><option value="0">0</option><option value="-6">-6</option></select>
 +Stabilité <select id="pushStab"><option value="0">0</option><option value="6">+6</option><option value="12">+12</option><option value="18">+18</option></select>
 +
 +<pre id="pushResult" class="result"></pre>
 </div> </div>
  
Ligne 91: Ligne 82:
 // ===== RACES ===== // ===== RACES =====
 const races = { const races = {
-Elfe:{cc:9,ct:10,f:9,e:4,agi:9,p:5,mvt:5,pv:55,pm:30,r:4,rm:6,fm:8,m:6}, +Elfe:{a:2,cc:9,ct:10,f:9,e:4,agi:9,p:5,mvt:5,pv:55,pm:30,r:4,rm:6,fm:8,m:6}, 
-Nain:{cc:11,ct:8,f:11,e:6,agi:6,p:4,mvt:4,pv:50,pm:15,r:5,rm:4,fm:10,m:3}, +Nain:{a:2,cc:11,ct:8,f:11,e:6,agi:6,p:4,mvt:4,pv:50,pm:15,r:5,rm:4,fm:10,m:3}, 
-Géant:{cc:9,ct:10,f:12,e:4,agi:7,p:4,mvt:5,pv:65,pm:20,r:5,rm:5,fm:6,m:5}, +Géant:{a:2,cc:9,ct:10,f:12,e:4,agi:7,p:4,mvt:5,pv:65,pm:20,r:5,rm:5,fm:6,m:5}, 
-Olympien:{cc:10,ct:9,f:10,e:5,agi:8,p:4,mvt:5,pv:60,pm:30,r:5,rm:6,fm:7,m:5}, +Olympien:{a:2,cc:10,ct:9,f:10,e:5,agi:8,p:4,mvt:5,pv:60,pm:30,r:5,rm:6,fm:7,m:5}, 
-HS:{cc:8,ct:9,f:7,e:3,agi:11,p:5,mvt:6,pv:45,pm:40,r:3,rm:7,fm:9,m:5}+HS:{a:2,cc:8,ct:9,f:7,e:3,agi:11,p:5,mvt:6,pv:45,pm:40,r:3,rm:7,fm:9,m:5}
 }; };
  
 // ===== COST ===== // ===== COST =====
 const costTable = { const costTable = {
 +a:[800,200,100],
 cc:[100,50,30], ct:[110,50,30], cc:[100,50,30], ct:[110,50,30],
 f:[120,55,30], e:[120,55,30], f:[120,55,30], e:[120,55,30],
Ligne 123: Ligne 115:
 ]; ];
  
- 
-const spells = [ 
- 
-{name:"Peau de granit",pm:4,effects:{protection:2}}, 
-{name:"Coup précis",pm:4,effects:{precision:2}}, 
-{name:"Maladresse",pm:4,effects:{maladresse:2}}, 
-{name:"Vulnérabilité",pm:6,effects:{vulnerabilite:2}}, 
- 
-{name:"Puissance de la nature",pm:8,effects:{precision:2,protection:2}}, 
-{name:"Aide",pm:8,effects:{precision:4}}, 
-{name:"Malchance",pm:8,effects:{maladresse:4}}, 
-{name:"Fatigue",pm:12,effects:{vulnerabilite:4}}, 
- 
-{name:"Réflexes accrus",pm:8,effects:{protection:4}}, 
-{name:"Bénédiction",pm:15,effects:{protection:4,precision:4}}, 
-{name:"Puissance du lutin capricieux",pm:20,effects:{maladresse:4,vulnerabilite:4}}, 
- 
-{name:"Exténuation",pm:25,effects:{vulnerabilite:8}}, 
-{name:"Sauvegarde",pm:20,effects:{protection:8}}, 
-{name:"Guigne",pm:20,effects:{maladresse:8}}, 
-{name:"Virtuose",pm:20,effects:{precision:8}} 
- 
-]; 
  
 const equipments = [ const equipments = [
Ligne 265: Ligne 234:
  
 ]; ];
 +
  
 // ===== INIT ===== // ===== INIT =====
Ligne 507: Ligne 477:
 // init // init
 autoCalculate(); autoCalculate();
 +
 +
 +
 +// ===== POUSSEE =====
 +function calculatePush(){
 +
 +let F=+pushF.value;
 +let buff=+pushBuff.value;
 +
 +let E=+pushE.value;
 +let agi=+pushAgi.value;
 +let pv=+pushPV.value;
 +
 +let instability=+pushDebuff.value;
 +let stability=+pushStab.value;
 +
 +let attaque=F+buff;
 +let defense=Math.max(E+4,agi)+(pv/10)+instability+stability;
 +
 +pushResult.textContent=
 +"Attaque: "+attaque+
 +"\nDéfense: "+defense.toFixed(1)+
 +"\n"+(attaque>=defense?"✅ PUSH":"❌ FAIL");
 +}
 +
 +// ===== EVENTS =====
 +document.querySelectorAll("input").forEach(i=>i.addEventListener("input",()=>{
 +updateCost(); calculate(); calculatePush();
 +}));
 +
 +document.querySelectorAll("select").forEach(i=>i.addEventListener("change",()=>{
 +updateCost(); calculate(); calculatePush();
 +}));
 +
 +// ===== INIT =====
 +updateCost();
 +calculate();
 +calculatePush();
  
 </script> </script>
 </body> </body>
 </html> </html>
brouillon6.1777587397.txt.gz · Dernière modification : 2026/05/01 00:16 de nanaki