mw:Hausregeln/Fertigkeitenliste/Rechner

<script type="text/javascript"> function calculateNewSkillValue() { var mult = 30; if (document.skillCalculator.skillComplex.checked == true) { mult = 32; } document.getElementById("baseCost").innerHTML = mult; var error = false; if (isNaN(document.skillCalculator.attr1.value) ) { document.skillCalculator.attr1.style.backgroundColor = "red"; error = true; } else { document.skillCalculator.attr1.style.backgroundColor = "white"; } if (isNaN(document.skillCalculator.attr2.value) ) { document.skillCalculator.attr2.style.backgroundColor = "red"; error = true; } else { document.skillCalculator.attr2.style.backgroundColor = "white"; } if (isNaN(document.skillCalculator.linkSkill.value) ) { document.skillCalculator.linkSkill.style.backgroundColor = "red"; error = true; } else { document.skillCalculator.linkSkill.style.backgroundColor = "white"; } var mod = 0; if (document.skillCalculator.fastLearner.checked == true) mod += 2; if (document.skillCalculator.slowLearner.checked == true) mod -= 2; if (document.skillCalculator.naturalAptitude.checked == true) mod += 4; if (document.skillCalculator.marked.checked == true) mod += 1; document.getElementById("costMod").innerHTML = ( (mod >= 0)?"+ ":"- ") + Math.abs(mod); if (error) { document.getElementById("multiplier").innerHTML = ") = ?" } else { mult -= ( (document.skillCalculator.attr1.value != '') ? parseInt(document.skillCalculator.attr1.value, 10) : 0) + ( (document.skillCalculator.attr2.value != '') ? parseInt(document.skillCalculator.attr2.value, 10) : 0) + mod; var ls =( (document.skillCalculator.linkSkill.value != '') ? parseInt(document.skillCalculator.linkSkill.value, 10) : 0); if (ls > parseInt(document.skillCalculator.targetLevel.value) ) mult -= ls; document.getElementById("multiplier").innerHTML = ") = " + mult; } if (isNaN(document.skillCalculator.targetLevel.value) ) { document.skillCalculator.targetLevel.style.backgroundColor = "red"; error = true; } else { document.skillCalculator.targetLevel.style.backgroundColor = "white"; } if (error) { document.getElementById("result").innerHTML = "?"; } else if (parseInt(document.skillCalculator.targetLevel.value) == 0) { document.getElementById("result").innerHTML = (document.skillCalculator.skillComplex.checked == true)?20:10; } else { document.getElementById("result").innerHTML = Math.max(mult * parseInt(document.skillCalculator.targetLevel.value), 0); } } </script> <form name="skillCalculator" action="#"> <table style="text-align: center"> <tr><td> </td><td>Attributswerte</td><td>Verb. Ftk.</td><td>Begabung</td><td> </td></tr> <tr><td><span id="baseCost">30</span> - (</td><td><input type="text" size="2" maxlength="2" value="0" name="attr1" onchange="calculateNewSkillValue()" onKeyUp="calculateNewSkillValue()" /> + <input type="text" size="2" maxlength="2" value="0" name="attr2" onchange="calculateNewSkillValue()" onKeyUp="calculateNewSkillValue()" /></td><td> + <input type="text" size="2" maxlength="2" value="0" name="linkSkill" onchange="calculateNewSkillValue()" onKeyUp="calculateNewSkillValue()" /></td><td id="costMod">+ 0</td><td id="multiplier">) = 30</td></tr> <tr><td style="text-align:left" colspan="4"><input type="checkbox" name="skillComplex" onchange="calculateNewSkillValue()" />Komplexe Fertigkeit</td><td>*</td></tr> <tr><td style="text-align:left" colspan="4"><input type="checkbox" name="fastLearner" onchange="calculateNewSkillValue()" />Fast Learner/Schnelllerner</td><td>neue Stufe</td></tr> <tr><td colspan="4" style="text-align:left"><input type="checkbox" name="slowLearner" onchange="calculateNewSkillValue()" />Slow Learner/Langsamlerner</td><td><input type="text" size="2" maxlength="2" value="0" name="targetLevel" onchange="calculateNewSkillValue()" onKeyUp="calculateNewSkillValue()" /></td></tr> <tr><td colspan="4" style="text-align:left"><input type="checkbox" name="naturalAptitude" onchange="calculateNewSkillValue()" />Natural Aptitude/natürliche Begabung</td><td>=</td></tr> <tr><td colspan="4" style="text-align:left"><input type="checkbox" name="marked" onchange="calculateNewSkillValue()" />Verbilligt</td><td style="font-weight:bolder" id="result">0</td></tr> </table> </form>

Dieser Rechner kann die XP-Kosten für eine Fertigkeitserhöhung errechnen. Bei Attributswerte muß die Höhe der beiden Attribute angegeben werden, auf denen die Fertigkeit basiert (siehe Fertigkeitenliste). Verb. Ftk. steht für Verbundene Fertigkeit; hier trägt man den Wert der höchsten verbundenen Fertigkeit ein, falls vorhanden. Den neuen Wert, auf den erhöht werden soll, trägt man bei neue Stufe ein, falls der neue Wert 0 ist, also die Fertigkeit neu erlernt wird, sind die Kosten übrigens nur davon abhängig, ob die Fertigkeit komplex (20 XP) ist oder nicht (10 XP); alle anderen Werte sind dann egal. Bei Komplexe Fertigkeit macht man einen Haken, wenn die entsprechende Fertigkeit komplex ist. Slow Learner, Fast Learner und Natural Aptitude markiert man, wenn man die entsprechende Eigenschaft besitzt und Verbilligt wird markiert, wenn man einen "Strich" an der Fertigkeit hat, weil man sie bereits seit der letzten Erhöhung erfolgreich benutzt hatte.