Icarus Adventure System - Freude schöner Götterfunken

# Allgemein

Dieser Bogen für das Setting **Freude, schöner Götterfunke** unter dem Regelwerk **Icarus Adventure System** entstand als Communityprojekt in direkter Zusammenarbeit mit Donnerhaus.
Das Projekt wurde inspiriert von Hitdice, die auch den Entwicklungsprozess in verschiedenen YouTube-Videos begleitet haben.

- Donnerhaus: https://www.donnerhaus.eu/
- Icarus Adventure System: https://www.donnerhaus.eu/spiele/icarus/
- Freude schöner Götterfunke: https://www.donnerhaus.eu/spiele/freude/
- Hitdice: https://www.youtube.com/c/hitdice

# Hilfe zum Sheet

- Autor: https://github.com/Gorthian
- Wiki: https://github.com/Gorthian/FSG_CharacterSheet_Roll20/wiki
- Bugs & Features: https://github.com/Gorthian/FSG_CharacterSheet_Roll20/issues
- Forum: https://github.com/Gorthian/FSG_CharacterSheet_Roll20/discussions

# 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

## 2021-11-23
- Bugfix: Reroll bei 5 Würfeln

## VLOG 2021-11-20
- Drittes Video mit Hitdice

## 2021-11-14
- Bugfix: Pfeile in Eingabefeldern in Chrome und Edge verbergen
This commit is contained in:
Gorthian
2022-02-07 12:30:55 +01:00
parent b6d4148306
commit 14b66c43f5
4 changed files with 94 additions and 16 deletions
@@ -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
+6 -2
View File
@@ -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;
+63 -13
View File
@@ -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-02-07
GitHub https://github.com/Gorthian/FSG_CharacterSheet_Roll20
Wiki https://github.com/Gorthian/FSG_CharacterSheet_Roll20/wiki
@@ -213,6 +213,22 @@
<div class="sheet-box sheet-sidebar">
<span class="sheet-title" data-i18n="challenge-u"></span>
<table>
<tr>
<td colspan="3">
<select class="sheet-fullwidth" name="attr_challenge_difficulty">
<option value="0" data-i18n="difficulty-0-u">0</option>
<option value="5" data-i18n="difficulty-5-u">5</option>
<option value="10" data-i18n="difficulty-10-u">10</option>
<option value="15" data-i18n="difficulty-15-u">15</option>
<option value="20" data-i18n="difficulty-20-u">20</option>
<option value="25" data-i18n="difficulty-25-u">25</option>
<option value="30" data-i18n="difficulty-30-u">30</option>
<option value="40" data-i18n="difficulty-40-u">40</option>
<option value="50" data-i18n="difficulty-50-u">50</option>
<option value="60" data-i18n="difficulty-60-u">60</option>
</select>
</td>
</tr>
<tr>
<td colspan="2">
<span class="sheet-label" name="attr_challenge_attribute_name"></span>
@@ -349,6 +365,7 @@
</table>
<div style="height:100% !important; text-align: center; vertical-align: center;">
<button type="action" class="sheet-challenge" name="act_challenge"></button>
<button type="action" class="sheet-reroll" name="act_reroll"><span data-i18n="reroll-u"></span></button>
<select class="sheet-reroll" name="attr_challenge_reroll_dice">
<option value="1" selected>1</option>
@@ -395,16 +412,21 @@
<div class="sheet-template-key"><span data-i18n="pool-u"></span>:</div>
<div class="sheet-template-value">{{pool}}</div>
</div>
{{#allprops() pool result}}
<div class="sheet-template-row">
<div class="sheet-template-key"><span data-i18n="difficulty-u"></span>:</div>
<div class="sheet-template-value">{{difficulty}}</div>
</div>
{{#allprops() pool result difficulty level}}
<div class="sheet-template-row">
<div class="sheet-template-key"><span data-i18n="dice-u"></span> {{key}}:</div>
<div class="sheet-template-value">{{value}}</div>
</div>
{{/allprops() pool result}}
{{/allprops() pool result difficulty level}}
<div class="sheet-template-row">
<div class="sheet-template-key"><span data-i18n="result-u"></span>:</div>
<div class="sheet-template-value">{{computed::result}}</div>
</div>
<div class="sheet-template-header">{{computed::level}}</div>
</div>
</rolltemplate>
<!-- Sheet Workers //-->
@@ -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
}
);
});
@@ -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"
}