aboutsummaryrefslogtreecommitdiff
path: root/content/pages/aoo/aoo.rst
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@dailly.me>2026-06-21 09:39:13 +0200
committerSébastien Dailly <sebastien@dailly.me>2026-06-21 09:39:13 +0200
commitd6dcc8b1a0c9cfaa6f95119a171081a26a62c776 (patch)
treeb909f28edef86b21bf49a94ab2ff6ee6244e014e /content/pages/aoo/aoo.rst
parent25573f4ecc188934749f39421aa2fc78091c7f34 (diff)
Application on the blog never commited yetHEADmaster
Diffstat (limited to 'content/pages/aoo/aoo.rst')
-rwxr-xr-xcontent/pages/aoo/aoo.rst199
1 files changed, 199 insertions, 0 deletions
diff --git a/content/pages/aoo/aoo.rst b/content/pages/aoo/aoo.rst
new file mode 100755
index 0000000..211583d
--- /dev/null
+++ b/content/pages/aoo/aoo.rst
@@ -0,0 +1,199 @@
+.. -*- mode: rst -*-
+.. -*- coding: utf-8 -*-
+
+Calculette AOO
+==============
+
+:status: hidden
+:save_as: pages/aoo/index.html
+:url: pages/aoo/
+:tags: application
+:date: 2024-02
+:summary:
+
+ Une calculette pour optimiser son personnage à `Age of Olympia`_
+
+ .. _`Age of Olympia`: https://age-of-olympia.net/
+
+.. raw:: html
+
+
+ <style>
+ /* Main column */
+ input[type='text'] { font-size: 24px; }
+
+ fieldset {
+ display: table;
+ }
+ fieldset div {
+ display: table-row;
+ }
+
+ fieldset label {
+ display: table-cell;
+ padding-right: 20px;
+ vertical-align: middle;
+ }
+
+ textarea {
+ width: 100%;
+ height: 300px;
+ font-size: 1em;
+ }
+
+ th, td {
+ border: 1px solid rgb(160 160 160);
+ padding: 8px 10px;
+ }
+
+ th[scope='col'] {
+ background-color: #505050;
+ color: #fff;
+ }
+
+ th[scope='row'] { background-color: #d6ecd4; }
+
+ td { text-align: center; }
+
+ tr:nth-of-type(even) { background-color: #eee; }
+
+ table {
+ border-collapse: collapse;
+ border: 2px solid rgb(140 140 140);
+ letter-spacing: 1px;
+ font-size: 0.8em;
+ }
+
+ </style>
+
+ <div>
+ <noscript>Sorry, you need to enable JavaScript to see this page.</noscript>
+ <script id="lib" type="text/javascript" defer="defer" src="aoo.js"></script>
+ <script>
+ var script = document.getElementById('lib');
+ script.addEventListener('load', function() {
+ lib.run();
+ });
+ </script>
+ </div>
+
+
+Données initiales
+-----------------
+
+Caractéristiques du joueur :
+
+.. raw:: html
+
+ <form id="form" >
+ <div class="columns">
+ <fieldset class="colum">
+
+ Caractéristiques de base + équipement
+
+ <div>
+ <label for="a">A</label>
+ <input type="number" id="a" name="a" value="2"/>
+ </div>
+ <div>
+ <label for="m">M</label>
+ <input type="number" id="m" name="m" value="5"/>
+ </div>
+ <div>
+ <label for="fm">FM</label>
+ <input type="number" id="fm" name="fm" value="9"/>
+ </div>
+ <div>
+ <label for="rm">RM</label>
+ <input type="number" id="rm" name="rm" value="7"/>
+ </div>
+ <div>
+ <label for="pm">PM</label>
+ <input type="number" id="pm" name="pm" value="40"/>
+ </div>
+ </fieldset>
+ <fieldset class="colum">
+
+ Augmentations déjà consommées
+
+ <div>
+ <label for="a">A</label>
+ <input type="number" id="a_bonus" name="a" value="0"/>
+ </div>
+ <div>
+ <label for="m">M</label>
+ <input type="number" id="m_bonus" name="m" value="0"/>
+ </div>
+ <div>
+ <label for="fm">FM</label>
+ <input type="number" id="fm_bonus" name="fm" value="0"/>
+ </div>
+ <div>
+ <label for="rm">RM</label>
+ <input type="number" id="rm_bonus" name="rm" value="0"/>
+ </div>
+ <div>
+ <label for="pm">PM</label>
+ <input type="number" id="pm_bonus" name="pm" value="0"/>
+ </div>
+ </fieldset>
+ </div>
+
+Contraintes :
+
+.. raw:: html
+
+ <div class="row">
+ <fieldset>
+ <div>
+ <label for="xp">XP à dépenser</label>
+ <input type="number" id="xp" name="xp" value="1000"/>
+ </div>
+ <div>
+ <label for="tours">Tour de combats</label>
+ <input type="number" id="tours" name="tours" value="5"/>
+ </div>
+ <div>
+ <label for="cost">Couts du sort</label>
+ <input type="number" id="cost" name="cost" value="8"/>
+ </div>
+ <div>
+ <label for="dammage">Dégats du sort</label>
+ <input type="number" id="dammage" name="dammage" value="6"/>
+ </div>
+ <div>
+ <label for="fm_oponent">FM de l’adversaire</label>
+ <input type="number" id="fm_oponent" name="fm_oponent" value="10"/>
+ </div>
+ </fieldset>
+ </div>
+ <input id="send" type="submit" value="Charger"/>
+ </form>
+
+Résultats
+---------
+
+.. raw:: html
+
+ <textarea id="result" >
+ </textarea>
+
+Calcule les augmentations optimales pour orienter un personnage dans la magie.
+Le script va calculer les différents effets des augmentations et présenter
+celle permettant de faire le maximum de dégats.
+
+La calculette considère que l’adversaire a une M de 5. Cela peut etre ajusté en
+réduisant les dégats du sorts si l’on souhaite.
+
+La calculette va inclure les bonus déjà acquis dans le calcul des points
+d’expérience pour le build. Vous avez juste besoin de préciser combien vous
+voulez dépenser.
+
+Tables
+------
+
+.. raw:: html
+
+ <div id="tables_div"/>
+
+