diff --git a/Splittermond/Sheet.html b/Splittermond/Sheet.html index 223cee2816..de223c659e 100644 --- a/Splittermond/Sheet.html +++ b/Splittermond/Sheet.html @@ -593,6 +593,7 @@ + Verteidigung @@ -1334,9 +1335,9 @@ Lebenspunkte - K: - E: - V: + K: + E: + V: Schadensmodifikator @@ -1353,9 +1354,9 @@ Fokus - K: - E: - V: + K: + E: + V: Splitterpunkte @@ -1373,7 +1374,7 @@ Zauberpatzer - + @@ -2052,9 +2053,13 @@

Letzte Updates


+

19.02.2019

+

12.02.2019

29.01.2019

  • Formatierung / Größe der Modifikatorliste angepasst
  • -

    22.01.2019

    - -

    08.01.2019

    -

    Mit Dank an alle begeisterten Splittermond-Spieler, die diesen Charakterbogen nutzen und mit ihrem Feedback für stetige Verbesserungen sorgen!

    @@ -3413,6 +3409,10 @@ on("change:repeating_staerken:staerkenwert change:repeating_staerken:staerke", f hiddenlifereg: +staerkenwert }) break; + case "stabile magie": + setAttrs({ + hiddensbm: +staerkenwert + }) } } else if (!(staerkenwert) && (staerke != "")) { setAttrs({ @@ -3450,7 +3450,8 @@ on("remove:repeating_staerken", function(eventInfo) { hiddensr: 0, hiddenini: 0, schemerzresistenz: 0, - hiddensplitterpunkte: 0 + hiddensplitterpunkte: 0, + hiddensbm: 0 }); } else { _.each(idarray, function(currentID, i) { @@ -3468,7 +3469,7 @@ on("remove:repeating_staerken", function(eventInfo) { }); on("change:stcopy2", function(eventInfo) { - getAttrs(["stcopy2", "stcopy1", "hiddenlp", "hiddenfokus", "hiddengsw", "hiddengw", "hiddenkw", "hiddensr", "hiddenini", "schmerzresistenz", "hiddensplitterpunkte", "hiddenfokreg", "hiddenlifereg"], function(v) { + getAttrs(["stcopy2", "stcopy1", "hiddenlp", "hiddenfokus", "hiddengsw", "hiddengw", "hiddenkw", "hiddensr", "hiddenini", "schmerzresistenz", "hiddensplitterpunkte", "hiddenfokreg", "hiddenlifereg", "hiddensbm"], function(v) { var stcopytemp1 = v.stcopy1.toString().split(","); var stcopytemp2 = v.stcopy2; var countmatch = stcopytemp2.toString().match(/^\d+/g); @@ -3526,6 +3527,10 @@ on("change:stcopy2", function(eventInfo) { setAttrs({ hiddenlifereg: 0 }); + } else if (temp[0].toLowerCase() == "stabile magie" && v.hiddensbm > 0) { + setAttrs({ + hiddensbm: 0 + }); } } } @@ -4650,7 +4655,8 @@ on("change:startimport", function(f) { hiddensr: 0, hiddenini: 0, schemerzresistenz: 0, - hiddensplitterpunkte: 0 + hiddensplitterpunkte: 0, + hiddensbm: 0 }); getSectionIDs("repeating_staerken", function(idarray) { for(var i=0; i < idarray.length; i++) { @@ -6344,25 +6350,8 @@ on("change:fokusv change:fokuse change:fokusk change:fokuskzue", function(f) { }); on("change:verschnaufpause change:ruhephase", function(f) { - getAttrs(["ruhephase", "fokus_k", "fokus_e"], function(v) { - if (v.ruhephase) { - let fokus_e = +v.fokus_e; - let fokus_k = +v.fokus_k; - setAttrs({ - fokus_e: +fokus_e + +fokus_k, - fokus_k: 0 - }); - } - }); - getAttrs(["fokus_k", "fokus_e", "fokus_v", "fokus_t", "lebenspunkte_k", "lebenspunkte_e", "lebenspunkte_v", "lebenspunkte_t", "regbonus", "verschnaufpause", "ruhephase", "konstitution", "willenskraft", "lebenspunkte", "fokus", "hiddenfokreg", "hiddenlifereg"], function(v) { - let fokus_t = +v.fokus_t; - let fokus_v = +v.fokus_v; - let fokus_e = +v.fokus_e; - let fokus_k = +v.fokus_k; - let lp_t = +v.lebenspunkte_t; - let lp_v = +v.lebenspunkte_v; - let lp_e = +v.lebenspunkte_e; - let lp_k = +v.lebenspunkte_k; + getAttrs(["ruhephase", "fokus_k", "fokus_e", "fokus_k", "fokus_e", "fokus_v", "fokus_t", "lebenspunkte_k", "lebenspunkte_e", "lebenspunkte_v", "lebenspunkte_t", "regbonus", "verschnaufpause", "ruhephase", "konstitution", "willenskraft", "lebenspunkte", "fokus", "hiddenfokreg", "hiddenlifereg"], function(v) { + let update = {}; let kon = +v.konstitution; let wil = +v.willenskraft; let lifereg = +v.hiddenlifereg; @@ -6370,35 +6359,53 @@ on("change:verschnaufpause change:ruhephase", function(f) { let regbonus = +v.regbonus; let konbonus = 2; let wilbonus = 2; - setAttrs({ - lebenspunkte_t: +lp_t + +lp_e, - lebenspunkte_e: 0, - fokus_t: +fokus_t + fokus_e, - fokus_e: 0, - verschnaufpause: false - }); - lp_t += +lp_e; - fokus_t += fokus_e; - if (v.ruhephase == true) { + update["fokus_t"] = +v.fokus_t; + update["fokus_v"] = +v.fokus_v; + update["fokus_e"] = +v.fokus_e; + update["fokus_k"] = +v.fokus_k; + update["lebenspunkte_t"] = +v.lebenspunkte_t; + update["lebenspunkte_v"] = +v.lebenspunkte_v; + update["lebenspunkte_e"] = +v.lebenspunkte_e; + update["lebenspunkte_k"] = +v.lebenspunkte_k; + if (v.ruhephase) { + let liferegtotal = 0; + let fokregtotal = 0; if (lifereg == 1) { konbonus = 3; } if (fokreg == 1) { wilbonus = 3; } - let lpges = Math.min(+lp_t + +regbonus + (+kon * +konbonus), (+v.lebenspunkte * 5 - +lp_k)); - let lpv = Math.max(+lp_v - +regbonus - (+kon * +konbonus), 0); - let fokges = Math.min(+fokus_t + (+wil * +wilbonus), +v.fokus); - let fokv = Math.max(+fokus_v - (+wil * +wilbonus), 0); - setAttrs({ - lebenspunkte_t: +lpges, - lebenspunkte_v: +lpv, - fokus_t: +fokges, - fokus_v: +fokv, - ruhephase: false, - regbonus: 0 - }); + update["fokus_e"] += update["fokus_k"]; + update["fokus_k"] = 0; + update["lebenspunkte_e"] += update["lebenspunkte_k"]; + update["lebenspunkte_k"] = 0; + liferegtotal = +regbonus + (+kon * +konbonus); + fokregtotal = +wil * +wilbonus; + if (update["lebenspunkte_t"] + +liferegtotal > (+v.lebenspunkte * 5)) { + liferegtotal = ((+v.lebenspunkte * 5) - update["lebenspunkte_t"]); + } + if (update["fokus_t"] + +fokregtotal > +v.fokus) { + fokregtotal = +v.fokus - update["fokus_t"]; + } + if (liferegtotal > update["lebenspunkte_v"]) { + liferegtotal = update["lebenspunkte_v"]; + } + if (fokregtotal > update["fokus_v"]) { + fokregtotal = update["fokus_v"]; + } + update["lebenspunkte_t"] += +liferegtotal; + update["lebenspunkte_v"] -= +liferegtotal; + update["fokus_t"] += +fokregtotal; + update["fokus_v"] -= +fokregtotal; } + update["fokus_t"] += update["fokus_e"]; + update["fokus_e"] = 0; + update["lebenspunkte_t"] += update["lebenspunkte_e"]; + update["lebenspunkte_e"] = 0; + update["ruhephase"] = false; + update["verschnaufpause"] = false; + setAttrs(update); }); }); @@ -6522,5 +6529,14 @@ on("change:repeating_zauber:directcalc", function(f) { }); }); +on("change:hiddensbm", function(f) { + getAttrs(["hiddensbm"], function(v) { + if (+v.hiddensbm > 1) { + setAttrs({ + hiddensbm: 1 + }); + } + }); +}); \ No newline at end of file diff --git a/Splittermond/sheet.json b/Splittermond/sheet.json index b60648bfdb..bad0ea3037 100644 --- a/Splittermond/sheet.json +++ b/Splittermond/sheet.json @@ -4,5 +4,5 @@ "authors": "Loki", "roll20userid": "800624", "preview": "SMExample.png", - "instructions": "This is the first CharacterSheet for the german RPG Splittermond. It's not very beautiful, but functional." + "instructions": "Splittermond is a (untranslated) german RPG, produced and maintained by the german Uhrwerk-Verlag. \n Learn more about it at the official [website](https://splittermond.de/). \n For issues, ideas, suggestions and critique reach out for me on [roll20](https://app.roll20.net/users/800624), [github](https://github.com/ap3h3ad) or [Drachenzwinge](https://www.drachenzwinge.de/forum/index.php?action=profile;u=8933)." }