diff --git a/IAS-Freude-schoener-Goetterfunken/README.md b/IAS-Freude-schoener-Goetterfunken/README.md index 65ac43fa44..80c2939e8a 100644 --- a/IAS-Freude-schoener-Goetterfunken/README.md +++ b/IAS-Freude-schoener-Goetterfunken/README.md @@ -18,6 +18,12 @@ Das Projekt wurde inspiriert von Hitdice, die auch den Entwicklungsprozess in ve # History +## 2022-02-07 +- Version 1.3 veröffentlicht + +## 2022-01-16 +- Feature: Ergebnisse der Haerausfoderungen direkt auswerten ("Ja", "Ja, und", usw.) + ## 2021-11-28 - Feature: Hoher Kontrast einstellbar diff --git a/IAS-Freude-schoener-Goetterfunken/fsg.css b/IAS-Freude-schoener-Goetterfunken/fsg.css index ccc27dd4e4..009e032982 100644 --- a/IAS-Freude-schoener-Goetterfunken/fsg.css +++ b/IAS-Freude-schoener-Goetterfunken/fsg.css @@ -1,8 +1,8 @@ /* EDITED by Gorthian INSPIRED by Hitdice (https://www.youtube.com/c/Hitdice) - Version 1.2 - Letzte Änderung 2021-11-28 + Version 1.3 + Letzte Änderung 2022-01-16 GitHub https://github.com/Gorthian/FSG_CharacterSheet_Roll20 Wiki https://github.com/Gorthian/FSG_CharacterSheet_Roll20/wiki @@ -310,6 +310,10 @@ div.sheet-sidebar select { width : 40px; } +div.sheet-sidebar select.sheet-fullwidth { + width : 90%; +} + td.sheet-align-right { text-align : center; width : 20px; diff --git a/IAS-Freude-schoener-Goetterfunken/fsg.html b/IAS-Freude-schoener-Goetterfunken/fsg.html index 17f5544d8b..9b2d0dade6 100644 --- a/IAS-Freude-schoener-Goetterfunken/fsg.html +++ b/IAS-Freude-schoener-Goetterfunken/fsg.html @@ -1,8 +1,8 @@ @@ -442,24 +464,41 @@ /* Funktionen */ /********************************/ + function calcChallengeLevel(iLevel) { + let sLevel = "" + + if (iLevel < -15) {sLevel = getTranslationByKey("challenge-level-0-u");} else //-16 und weniger -> Verboten + if (iLevel < -10) {sLevel = getTranslationByKey("challenge-level-1-u");} else //-11 bis -15 -> Nein, und + if (iLevel < -5) {sLevel = getTranslationByKey("challenge-level-2-u");} else //-6 bis -10 -> Nein + if (iLevel < 0) {sLevel = getTranslationByKey("challenge-level-3-u");} else //-1 bis -5 -> Nein, aber + if (iLevel < 10) {sLevel = getTranslationByKey("challenge-level-4-u");} else //0 bis 9 -> Ja, aber + if (iLevel < 20) {sLevel = getTranslationByKey("challenge-level-5-u");} else //10 bis 19 -> Ja + {sLevel = getTranslationByKey("challenge-level-6-u");} //20 und mehr -> Ja, und + + return sLevel; + } + function rollChallenge() { console.log("rollChallenge"); - getAttrs(["challenge_pool","challenge_dices"], function (values){ + getAttrs(["challenge_pool","challenge_dices","challenge_difficulty"], function (values){ let iChallengePool = values["challenge_pool"]||0; let iChallengeDices = values["challenge_dices"]||1; + let iChallengeDifficulty = values["challenge_difficulty"]||15; let iCounter = 1; let iRollSum = iChallengePool; let sRoll = ""; - sRoll = "&{template:challenge} {{pool=@{challenge_pool}}} {{result=[[1d10]]}}" + sRoll = "&{template:challenge} {{difficulty=@{challenge_difficulty}}} {{pool=@{challenge_pool}}} {{result=[[1d10]]}} {{level=[[1d10]]}}" while (iCounter <= iChallengeDices) { sRoll = sRoll + " {{" + iCounter + "=[[1d10]]}}" iCounter = iCounter + 1; } startRoll(sRoll, (results) => { - let aAttributes = {}; + let aAttributes = {}; + let iLevel = 0; + let sLevel = ""; iCounter = iCounter - 1; while (iCounter > 0) @@ -468,11 +507,15 @@ aAttributes["challenge_roll_" + iCounter] = results.results[iCounter].result; iCounter = iCounter - 1; } - setAttrs(aAttributes); + iLevel = iRollSum - iChallengeDifficulty; + sLevel = calcChallengeLevel(iLevel); + setAttrs(aAttributes); + finishRoll( results.rollId, { - result: iRollSum + result: iRollSum, + level: sLevel } ); }); @@ -482,7 +525,7 @@ function rerollChallenge() { console.log("rerollChallenge") - getAttrs(["challenge_pool","challenge_dices","challenge_reroll_dice","challenge_roll_1","challenge_roll_2","challenge_roll_3","challenge_roll_4","challenge_roll_5"], function (values){ + getAttrs(["challenge_pool","challenge_dices","challenge_reroll_dice","challenge_roll_1","challenge_roll_2","challenge_roll_3","challenge_roll_4","challenge_roll_5","challenge_difficulty"], function (values){ let iChallengePool = values["challenge_pool"]||0; let iChallengeRerollDice = values["challenge_reroll_dice"]||1; let iChallengeDices = values["challenge_dices"]||1; @@ -491,11 +534,12 @@ let iChallengeDice3 = values["challenge_roll_3"]||0; let iChallengeDice4 = values["challenge_roll_4"]||0; let iChallengeDice5 = values["challenge_roll_5"]||0; + let iChallengeDifficulty = values["challenge_difficulty"]||15; let sRoll = ""; let iCounter = 1; let iRollSum = iChallengePool; - sRoll = "&{template:challenge} {{pool=@{challenge_pool}}} {{result=[[1d10]]}}" + sRoll = "&{template:challenge} {{difficulty=@{challenge_difficulty}}} {{pool=@{challenge_pool}}} {{result=[[1d10]]}} {{level=[[1d10]]}}" while (iCounter <= iChallengeDices) { if (iCounter == iChallengeRerollDice) { @@ -509,6 +553,8 @@ console.log(sRoll); startRoll(sRoll, (results) => { let aAttributes = {}; + let iLevel = 0; + let sLevel = ""; iCounter = iCounter - 1; while (iCounter > 0) @@ -519,15 +565,19 @@ } else { iRollSum = iRollSum + eval("iChallengeDice" + iCounter); aAttributes["challenge_roll_" + iCounter] = eval("iChallengeDice" + iCounter); - } + } iCounter = iCounter - 1; } + iLevel = iRollSum - iChallengeDifficulty; + sLevel = calcChallengeLevel(iLevel); + setAttrs(aAttributes); finishRoll( results.rollId, { - result: iRollSum + result: iRollSum, + level: sLevel } ); }); diff --git a/IAS-Freude-schoener-Goetterfunken/translation.json b/IAS-Freude-schoener-Goetterfunken/translation.json index 5dbe23f143..4fef69a727 100644 --- a/IAS-Freude-schoener-Goetterfunken/translation.json +++ b/IAS-Freude-schoener-Goetterfunken/translation.json @@ -51,5 +51,23 @@ "dice-u": "Würfel", "result-u": "Ergebnis", "challenge-formula-u": "Wurf", - "reroll-u": "Würfel neu werfen" + "reroll-u": "Würfel neu werfen", + "difficulty-u": "Schwierigkeit", + "difficulty-0-u": "0 - Kinderspiel", + "difficulty-5-u": "5 - Trivial", + "difficulty-10-u": "10 - Einfach", + "difficulty-15-u": "15 - Routine", + "difficulty-20-u": "20 - Fordernd", + "difficulty-25-u": "25 - Schwierig", + "difficulty-30-u": "30 - Kaum zu schaffen", + "difficulty-40-u": "40 - Übermenschlich", + "difficulty-50-u": "50 - Unglaublich", + "difficulty-60-u": "60 - Legendär", + "challenge-level-0-u": "Nicht erlaubt", + "challenge-level-1-u": "Nein, und", + "challenge-level-2-u": "Nein", + "challenge-level-3-u": "Nein, aber", + "challenge-level-4-u": "Ja, aber", + "challenge-level-5-u": "Ja", + "challenge-level-6-u": "Ja, und" } \ No newline at end of file